With revision 162417 this test passed.
>From revision 162418 and on, these tests (or "this test" as abs-3.c is
effectively the same as abs-2.c) has failed as follows:
Running
/tmp/badabs/gcc/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp ...
FAIL: gcc.c-torture/execute/builtins/abs-2.c execution,  -O2 
FAIL: gcc.c-torture/execute/builtins/abs-2.c execution,  -O3
-fomit-frame-pointer 
FAIL: gcc.c-torture/execute/builtins/abs-2.c execution,  -O3 -g 
FAIL: gcc.c-torture/execute/builtins/abs-2.c execution,  -Os 
FAIL: gcc.c-torture/execute/builtins/abs-2.c execution,  -O2 -flto 
FAIL: gcc.c-torture/execute/builtins/abs-2.c execution,  -O2 -fwhopr 
FAIL: gcc.c-torture/execute/builtins/abs-3.c execution,  -O2 
FAIL: gcc.c-torture/execute/builtins/abs-3.c execution,  -O3
-fomit-frame-pointer 
FAIL: gcc.c-torture/execute/builtins/abs-3.c execution,  -O3 -g 
FAIL: gcc.c-torture/execute/builtins/abs-3.c execution,  -Os 
FAIL: gcc.c-torture/execute/builtins/abs-3.c execution,  -O2 -flto 
FAIL: gcc.c-torture/execute/builtins/abs-3.c execution,  -O2 -fwhopr 

With the message in the logfile being:
...
PASS: gcc.c-torture/execute/builtins/abs-2.c compilation,  -O2 
program stopped with signal 6.
FAIL: gcc.c-torture/execute/builtins/abs-2.c execution,  -O2 
...
(i.e. abort being called)

Author of patch in suspect revision range CC:ed.

At a glance, the code change causes a register containing 0 to be used as
containing 0xffffffff for the low-part of 9223372036854775807LL ((1<<63)-1),
i.e. a mis-tracking of a DImode subreg.

I'll attach a smaller test-case and an assembly diff pointing out the wrong
code.


-- 
           Summary: [4.6 Regression]: gcc.c-torture/execute/builtins/abs-2.c
                    and abs-3.c due to "track subwords of DImode allocnos"
           Product: gcc
           Version: 4.6.0
            Status: UNCONFIRMED
          Keywords: wrong-code
          Severity: normal
          Priority: P3
         Component: rtl-optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: hp at gcc dot gnu dot org
  GCC host triplet: x86_64-unknown-linux-gnu
GCC target triplet: cris-axis-elf


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

Reply via email to