This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Testresults for [PATCH]: Rewrite AVR backend's rtx_costs (take 3)


Hi,

I have been testing Roger Sayles patch 
(http://gcc.gnu.org/ml/gcc-patches/2005-01/msg02224.html) together with the 
MODES_TIEABLE 1 change suggested by Andy Hutchinson. 
Tests were run with the simulavr simulator for the atmega128 platform.

Now for the first time head 4.0.0 outperforms 3.4.3 considerably concerning 
the code size (e.g. 3.4.3 without -fnew-ra about 0x3A12, 3.4.3 with -fnew-ra 
0x3712, head 4.0.0 with both changes and -morder1: now 0x361C).

Looking at the testsuite results with the simulator, I have observed a single 
regression:

Comparison of head 4.0.0 with head 4.0.0 and both, Roger Sayles patch *and* 
MODES_TIEABLE defined to yield 1 in avr.h:
>Tests that now fail, but worked before:
>
>gcc.dg/struct-by-value-1.c (test for excess errors)

Considering the code-size reduction, I think that Roger Sayles patch is 
clearly a win for the avr target. Maybe one could figure out the origin of 
the one regression. Despite that, I think that the considerable code 
size-reduction will probably motivate quite some avr-developers to test the 
new 4.0.0. .

Best regards,

Björn

P.S.:

This is the additional error message from the testsuite log file:

Executing on host: /home/bmh/gnucvs/head/build/gcc/xgcc 
-B/home/bmh/gnucvs/head/build/gcc/ /home/bmh/gnucvs/head/gcc/gcc/testsuite/gcc.dg/struct-by-value-1.c   
-O2 -DSTACK_SIZE=400 -DNO_TRAMPOLINES  -DSIGNAL_SUPPRESS 
-mmcu=atmega128  /home/bmh/dejagnuboards/exit.c  -lm   
-o ./struct-by-value-1.exe    (timeout = 300)
/home/bmh/gnucvs/head/gcc/gcc/testsuite/gcc.dg/struct-by-value-1.c: In 
function 'testit19':
/home/bmh/gnucvs/head/gcc/gcc/testsuite/gcc.dg/struct-by-value-1.c:58: error: 
unable to find a register to spill in class 'BASE_POINTER_REGS'
/home/bmh/gnucvs/head/gcc/gcc/testsuite/gcc.dg/struct-by-value-1.c:58: error: 
this is the insn:
(insn 77 53 57 0 (set (reg:QI 24 r24)
        (mem:QI (plus:HI (reg/f:HI 28 r28)
                (const_int 1 [0x1])) [42 S1 A8])) 9 {*movqi} (nil)
    (nil))
/home/bmh/gnucvs/head/gcc/gcc/testsuite/gcc.dg/struct-by-value-1.c:58: 
internal compiler error: in spill_failure, at reload1.c:1872
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
compiler exited with status 1
output is:
/home/bmh/gnucvs/head/gcc/gcc/testsuite/gcc.dg/struct-by-value-1.c: In 
function 'testit19':
/home/bmh/gnucvs/head/gcc/gcc/testsuite/gcc.dg/struct-by-value-1.c:58: error: 
unable to find a register to spill in class 'BASE_POINTER_REGS'
/home/bmh/gnucvs/head/gcc/gcc/testsuite/gcc.dg/struct-by-value-1.c:58: error: 
this is the insn:
(insn 77 53 57 0 (set (reg:QI 24 r24)
        (mem:QI (plus:HI (reg/f:HI 28 r28)
                (const_int 1 [0x1])) [42 S1 A8])) 9 {*movqi} (nil)
    (nil))
/home/bmh/gnucvs/head/gcc/gcc/testsuite/gcc.dg/struct-by-value-1.c:58: 
internal compiler error: in spill_failure, at reload1.c:1872
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.

FAIL: gcc.dg/struct-by-value-1.c (test for excess errors)
Excess errors:
/home/bmh/gnucvs/head/gcc/gcc/testsuite/gcc.dg/struct-by-value-1.c:58: error: 
unable to find a register to spill in class 'BASE_POINTER_REGS'
/home/bmh/gnucvs/head/gcc/gcc/testsuite/gcc.dg/struct-by-value-1.c:58: error: 
this is the insn:
(insn 77 53 57 0 (set (reg:QI 24 r24)
        (mem:QI (plus:HI (reg/f:HI 28 r28)
                (const_int 1 [0x1])) [42 S1 A8])) 9 {*movqi} (nil)
    (nil))
/home/bmh/gnucvs/head/gcc/gcc/testsuite/gcc.dg/struct-by-value-1.c:58: 
internal compiler error: in spill_failure, at reload1.c:1872

WARNING: gcc.dg/struct-by-value-1.c compilation failed to produce executable


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]