Joern Rennecke <joern.renne...@embecosm.com> writes:

> 2013-05-24  Joern Rennecke <joern.renne...@embecosm.com>
>
>       PR rtl-optimization/56833
>       * postreload.c (move2add_record_mode): New function.
>       (move2add_record_sym_value, move2add_valid_value_p): Likewise.
>       (move2add_use_add2_insn): Use move2add_record_sym_value.
>       (move2add_use_add3_insn): Likewise.
>       (reload_cse_move2add): Use move2add_valid_value_p and
>       move2add_record_mode.  Invalidate call-clobbered and REG_INC
>       affected regs by setting reg_mode to VOIDmode.
>       (move2add_note_store): Don't pretend the inside of a SUBREG is
>       the actual destination.  Invalidate single/leading registers by
>       setting reg_mode to VOIDmode.
>       Use move2add_record_sym_value, move2add_valid_value_p and
>       move2add_record_mode.

This breaks m68k.

Executing on host: /daten/aranym/gcc/gcc-20130528/Build/gcc/xgcc 
-B/daten/aranym/gcc/gcc-20130528/Build/gcc/ 
/daten/aranym/gcc/gcc-20130528/gcc/testsuite/gcc.c-torture/execute/920501-6.c  
-fno-diagnostics-show-caret -fdiagnostics-color=never  -w  -O1   -lm   -o 
/daten/aranym/gcc/gcc-20130528/Build/gcc/testsuite/gcc/920501-6.x1    (timeout 
= 300)
spawn /daten/aranym/gcc/gcc-20130528/Build/gcc/xgcc 
-B/daten/aranym/gcc/gcc-20130528/Build/gcc/ 
/daten/aranym/gcc/gcc-20130528/gcc/testsuite/gcc.c-torture/execute/920501-6.c 
-fno-diagnostics-show-caret -fdiagnostics-color=never -w -O1 -lm -o 
/daten/aranym/gcc/gcc-20130528/Build/gcc/testsuite/gcc/920501-6.x1.
PASS: gcc.c-torture/execute/920501-6.c compilation,  -O1 
Executing on aranym: 
LD_LIBRARY_PATH=:/daten/aranym/gcc/gcc-20130528/Build/gcc:/daten/aranym/gcc/gcc-20130528/Build/gcc
 timeout 600 /daten/aranym/gcc/gcc-20130528/Build/gcc/testsuite/gcc/920501-6.x1 
   (timeout = 300)
Executed /daten/aranym/gcc/gcc-20130528/Build/gcc/testsuite/gcc/920501-6.x1, 
status 1
Output: bash: line 1:  2912 Aborted                 
LD_LIBRARY_PATH=:/daten/aranym/gcc/gcc-20130528/Build/gcc:/daten/aranym/gcc/gcc-20130528/Build/gcc
 timeout 600 /daten/aranym/gcc/gcc-20130528/Build/gcc/testsuite/gcc/920501-6.x1
child process exited abnormally
FAIL: gcc.c-torture/execute/920501-6.c execution,  -O1 

old:
 1f0:   4282            clrl %d2
 1f2:   263c 498f 0a91  movel #1234111121,%d3

new:
 1f0:   143c ff91       moveb #-111,%d2

This is generating the constant 1234111121LL.

Andreas.

-- 
Andreas Schwab, SUSE Labs, sch...@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."

Reply via email to