------- Comment #18 from burnus at gcc dot gnu dot org  2009-09-11 22:07 -------
I looked at the assembler and the result is the following (non volatile vs.
volatile) [which is essentially the same with REAL(8) and REAL(4)]:

@@ -9,7 +9,7 @@
        movl    %esp, %ebp
        subl    $392, %esp
        movl    $.LC0, -360(%ebp)
-       movl    $9, -356(%ebp)
+       movl    $8, -356(%ebp)
        movl    $128, -368(%ebp)
        movl    $5, -364(%ebp)
        leal    -368(%ebp), %eax
@@ -33,16 +33,16 @@
        flds    -24(%ebp)
        flds    -24(%ebp)
        fmulp   %st, %st(1)
-       fstps   -12(%ebp)
+       fstps   -16(%ebp)
        flds    -28(%ebp)
        flds    -28(%ebp)
        fmulp   %st, %st(1)
-       fstps   -16(%ebp)
-       flds    -12(%ebp)
-       fsubs   -16(%ebp)
+       fstps   -12(%ebp)
+       flds    -16(%ebp)
+       fsubs   -12(%ebp)
        fstps   -20(%ebp)
        movl    $.LC0, -360(%ebp)
-       movl    $16, -356(%ebp)
+       movl    $15, -356(%ebp)
        movl    $128, -368(%ebp)
        movl    $6, -364(%ebp)
        leal    -368(%ebp), %eax


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41335

Reply via email to