[Bug target/63709] New: msp430 Y constraint generates unacceptable constant in large mode
pab at pabigot dot com
gcc-bugzilla@gcc.gnu.org
Sat Nov 1 23:02:00 GMT 2014
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63709
Bug ID: 63709
Summary: msp430 Y constraint generates unacceptable constant in
large mode
Product: gcc
Version: 5.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: pab at pabigot dot com
Building trunk gcc at SVN 217005 produces the following from make all-target:
# If this is the top-level multilib, build all the other
# multilibs.
/tmp/gcc/./gcc/xgcc -B/tmp/gcc/./gcc/
-B/usr/local/gcc-msp430-elf-dev-20141101/msp430-elf/bin/
-B/usr/local/gcc-msp430-elf-dev-20141101/msp430-elf/lib/ -isystem
/usr/local/gcc-msp430-elf-dev-20141101/msp430-elf/include -isystem
/usr/local/gcc-msp430-elf-dev-20141101/msp430-elf/sys-include -g -O2 -mlarge
-O2 -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -W -Wall -Wwrite-strings
-Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition
-isystem ./include -Os -ffunction-sections -fdata-sections -mhwmult=none -g
-DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -Dinhibit_libc -Os
-ffunction-sections -fdata-sections -mhwmult=none -I. -I. -I../../.././gcc
-I/opt/gcc/libgcc -I/opt/gcc/libgcc/. -I/opt/gcc/libgcc/../gcc
-I/opt/gcc/libgcc/../include -DHAVE_CC_TLS -DUSE_EMUTLS -o unwind-dw2.o -MT
unwind-dw2.o -MD -MP -MF unwind-dw2.dep -fexceptions -c
/opt/gcc/libgcc/unwind-dw2.c -fvisibility=hidden -DHIDE_EXPORTS
/tmp/ccdnPFDw.s: Assembler messages:
/tmp/ccdnPFDw.s:3439: Error: value 0xfff80000 out of extended range.
make[3]: *** [unwind-dw2.o] Error 1
The offending generated code is:
.LBB296:
.loc 2 208 0
CMP.B #0, 148(R5) { JEQ .L400
.loc 2 209 0
BISX.A #-524288, 96(R10)
.LVL485:
BRA #.L379
.LVL486:
.L400:
.loc 2 211 0
ANDX.A #524287, 96(R10)
.LVL487:
Either gcc needs to truncate values to fit within the 20-bit/16-bit limits or
the check in binutils needs to be relaxed.
More information about the Gcc-bugs
mailing list