Bug 62284 - [4.8 Regression] AVR unable to find register to spill in the class POINTER_REGS
Summary: [4.8 Regression] AVR unable to find register to spill in the class POINTER_REGS
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: other (show other bugs)
Version: 4.8.3
: P4 normal
Target Milestone: 4.9.2
Assignee: Not yet assigned to anyone
URL:
Keywords: ice-on-valid-code, ra
Depends on:
Blocks: 56183
  Show dependency treegraph
 
Reported: 2014-08-27 14:18 UTC by Joel Sherrill
Modified: 2015-06-23 08:54 UTC (History)
1 user (show)

See Also:
Host:
Target: avr
Build:
Known to work: 4.9.2
Known to fail: 4.8.3, 4.8.5
Last reconfirmed: 2014-10-23 00:00:00


Attachments
Preprocessed RTEMS flashdisk.c which triggers error (35.07 KB, application/x-bzip)
2014-08-27 14:56 UTC, Joel Sherrill
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Joel Sherrill 2014-08-27 14:18:25 UTC
avr-rtems4.11-gcc --pipe -DHAVE_CONFIG_H   -I.. -I../../cpukit/../../../avrtest/lib/include   -mmcu=atmega128 -Os -g -Wall -Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes -Wnested-externs -MT src/bdpart-write.o -MD -MP -MF $depbase.Tpo -c -o src/bdpart-write.o ../../../../../../rtems/c/src/../../cpukit/libblock/src/bdpart-write.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo src/media-path.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
avr-rtems4.11-gcc --pipe -DHAVE_CONFIG_H   -I.. -I../../cpukit/../../../avrtest/lib/include   -mmcu=atmega128 -Os -g -Wall -Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes -Wnested-externs -MT src/media-path.o -MD -MP -MF $depbase.Tpo -c -o src/media-path.o ../../../../../../rtems/c/src/../../cpukit/libblock/src/media-path.c &&\
mv -f $depbase.Tpo $depbase.Po
../../../../../../rtems/c/src/../../cpukit/libblock/src/flashdisk.c: In function 'rtems_fdisk_recycle_segment':
../../../../../../rtems/c/src/../../cpukit/libblock/src/flashdisk.c:1402:1: error: unable to find a register to spill in class 'POINTER_REGS'
 }
 ^
../../../../../../rtems/c/src/../../cpukit/libblock/src/flashdisk.c:1402:1: error: this is the insn:
(insn 364 363 365 16 (set (reg:HI 26 r26)
        (reg/v/f:HI 67 [ dpd ])) ../../../../../../rtems/c/src/../../cpukit/libblock/src/flashdisk.c:1315 82 {*movhi}
     (nil))
../../../../../../rtems/c/src/../../cpukit/libblock/src/flashdisk.c:1402: confused by earlier errors, bailing out
Comment 1 Joel Sherrill 2014-08-27 14:56:40 UTC
Created attachment 33406 [details]
Preprocessed RTEMS flashdisk.c which triggers error
Comment 2 Joel Sherrill 2014-08-27 14:58:06 UTC
Fails at -O1, -O2, and -Os. Builds at -O0.

avr-rtems4.11-gcc -mmcu=atmega128 -Os -c pr62284.c
Comment 3 Georg-Johann Lay 2014-10-23 14:05:15 UTC
confirmed for 4.8
Comment 4 Jakub Jelinek 2014-12-19 13:29:58 UTC
GCC 4.8.4 has been released.
Comment 5 Richard Biener 2015-06-23 08:54:12 UTC
Fixed for 4.9.2.