------- Comment #6 from jakub at gcc dot gnu dot org  2009-09-10 11:45 -------
I bet the bug is in r151573, tree-ssa-math-opts.s difference between stage1
compiled tree-ssa-math-opts.c done using a day old stage1 cc1 and current
stage1 cc1 is:
@@ -1050,7 +1050,7 @@ find_bswap_1:
        addl    $-1, 64(%esp)
        movl    %edx, 68(%esp)
        movl    64(%esp), %edx
-       adcl    $-1, 68(%esp)
+       adcl    $0, 68(%esp)
        movl    68(%esp), %ecx
        andl    %edx, (%edi)
        andl    %ecx, 4(%edi)
@@ -1368,7 +1368,7 @@ find_bswap_1:
        addl    $-1, 80(%esp)
        movl    %edx, 84(%esp)
        movl    80(%esp), %edx
-       adcl    $-1, 84(%esp)
+       adcl    $0, 84(%esp)
        movl    84(%esp), %ecx
        andl    (%edi), %edx
        andl    4(%edi), %ecx
@@ -1738,7 +1738,7 @@ execute_optimize_bswap:
        movl    40(%esp), %eax
        movl    %edx, 44(%esp)
        movl    40(%esp), %edx
-       adcl    $-1, 44(%esp)
+       adcl    $0, 44(%esp)
        movl    44(%esp), %ecx
        andl    $67305985, %eax
        movl    %eax, 56(%esp)
which strongly suggests the shifting got broken.


-- 


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

Reply via email to