------- Comment #4 from dominiq at lps dot ens dot fr  2010-04-10 16:42 -------
Created an attachment (id=20357)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20357&action=view)
Miscompiled assembly for subroutine S3302

The diff between the working (-) and miscompiled (+) assembly files is

--- s33022_w.s  2010-04-10 13:04:09.000000000 +0200
+++ s33022_n.s  2010-04-10 13:04:31.000000000 +0200
@@ -311,13 +311,13 @@ L28:
        movsd   -144(%rbp), %xmm3
        mulsd   %xmm9, %xmm1
        mulsd   %xmm4, %xmm3
-       subsd   -144(%rbp), %xmm14
+       subsd   -136(%rbp), %xmm14
        movsd   -136(%rbp), %xmm9
        divsd   %xmm10, %xmm1
        subsd   %xmm2, %xmm9
        addsd   LC18(%rip), %xmm14
        movsd   %xmm9, -104(%rbp)
-       subsd   -136(%rbp), %xmm14
+       subsd   -144(%rbp), %xmm14
        movsd   (%r8), %xmm10
        movsd   %xmm10, -216(%rbp)
        mulsd   %xmm7, %xmm10
@@ -454,16 +454,13 @@ L28:
        movsd   -88(%rbp), %xmm6
        mulsd   %xmm4, %xmm3
        mulsd   %xmm2, %xmm6
-       xorpd   LC12(%rip), %xmm12
+       mulsd   -232(%rbp), %xmm15
        addsd   -200(%rbp), %xmm14
        mulsd   %xmm9, %xmm3
-       mulsd   -232(%rbp), %xmm15
-       subsd   -216(%rbp), %xmm12
        movsd   %xmm3, -456(%rbp)
        movapd  %xmm13, %xmm3
        mulsd   %xmm1, %xmm14
        addsd   %xmm13, %xmm3
-       mulsd   -80(%rbp), %xmm12
        addsd   %xmm6, %xmm3
        movsd   -120(%rbp), %xmm6
        addsd   %xmm6, %xmm6
@@ -495,13 +492,17 @@ L28:
        mulsd   -112(%rbp), %xmm14
        mulsd   %xmm0, %xmm3
        addsd   %xmm3, %xmm15
-       movsd   -144(%rbp), %xmm3
-       subsd   -120(%rbp), %xmm3
-       subsd   %xmm12, %xmm15
+       movsd   -216(%rbp), %xmm3
+       xorpd   LC12(%rip), %xmm3
+       subsd   %xmm12, %xmm3
        movsd   -136(%rbp), %xmm12
        subsd   -120(%rbp), %xmm12
-       mulsd   %xmm8, %xmm3
+       mulsd   -80(%rbp), %xmm3
        mulsd   -96(%rbp), %xmm12
+       subsd   %xmm3, %xmm15
+       movsd   -144(%rbp), %xmm3
+       subsd   -120(%rbp), %xmm3
+       mulsd   %xmm8, %xmm3
        addsd   %xmm12, %xmm3
        movapd  %xmm4, %xmm12
        mulsd   %xmm0, %xmm12


-- 


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

Reply via email to