gcc/ * config/sh/sh.h (PREFERRED_RELOAD_CLASS): Test PIC_ADDR_P instead of PIC_DIRECT_ADDR_P. (SECONDARY_INPUT_RELOAD_CLASS): Likewise. (IS_LITERAL_OR_SYMBOLIC_S16_P, IS_LITERAL_OR_SYMBOLIC_U16_P): Delete. (IS_NON_EXPLICIT_CONSTANT_P): Don't test PIC_OFFSET_P. (PIC_OFFSET_P): Rename to... (PCREL_SYMOFF_P): ...this. (PIC_DIRECT_ADDR_P): Delete. (MOVI_SHORI_BASE_OPERAND_P): Check PCREL_SYMOFF_P instead of PIC_OFFSET_P. (OUTPUT_ADDR_CONST_EXTRA): Don't require unspecs to have a single argument. Handle UNSPEC_EXTRACT_S16, UNSPEC_EXTRACT_U16, UNSPEC_SYMOFF and UNSPEC_PCREL_SYMOFF. * config/sh/sh.c (print_operand): Remove CONST handling. (unspec_caller_rtx_p): Rewrite to use split_const and check the operands of UNSPEC bases. (fixup_mova): Replace (unspec [(minus A B)] UNSPEC_PIC) with (unspec [A B] UNSPEC_SYMOFF). (nonpic_symbol_mentioned_p): Check for UNSPEC_SYMOFF and UNSPEC_PCREL_SYMOFF. (sh_secondary_reload): Test PIC_ADDR_P instead of PIC_DIRECT_ADDR_P. * config/sh/sh.md (UNSPEC_EXTRACT_S16): New unspec. (UNSPEC_EXTRACT_U16): Likewise. (UNSPEC_SYMOFF): Likewise. (UNSPEC_PCREL_SYMOFF): Likewise. (movsi_const): Use UNSPEC_EXTRACT_*16s to extract 16-bit portions of constants. (movsi_const_16bit): Likewise. (movdi_const, movdi_const_32bit, movdi_const_16bit): Likewise. (GOTaddr2picreg): Replace (unspec [(minus A (minus B pc))] UNSPEC_PIC) with (unspec [A B] UNSPEC_PCREL_SYMOFF). (sym_label2reg): Replace (minus (const (unspec [A] UNSPEC_PIC)) B) with (unspec [A B] UNSPEC_SYMOFF). (symPLT_label2reg): Replace (minus A (minus B pc)) with (unspec [A B] PCREL_UNSPEC_SYMOFF). * config/sh/constraints.md (Css): Check for an UNSPEC_EXTRACT_S16. (Csu): Likewise UNSPEC_EXTRACT_U16. (Csy): Test PIC_ADDR_P instead of PIC_DIRECT_ADDR_P. (Cpg): Update after changes to IS_NON_EXPLICIT_CONSTANT_P. From-SVN: r141046
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
coff.h | Loading commit data... | |
constraints.md | Loading commit data... | |
crt1.asm | Loading commit data... | |
crti.asm | Loading commit data... | |
crtn.asm | Loading commit data... | |
divcost-analysis | Loading commit data... | |
divtab-sh4-300.c | Loading commit data... | |
divtab-sh4.c | Loading commit data... | |
divtab.c | Loading commit data... | |
elf.h | Loading commit data... | |
embed-elf.h | Loading commit data... | |
lib1funcs-4-300.asm | Loading commit data... | |
lib1funcs-Os-4-200.asm | Loading commit data... | |
lib1funcs.asm | Loading commit data... | |
lib1funcs.h | Loading commit data... | |
libgcc-excl.ver | Loading commit data... | |
libgcc-glibc.ver | Loading commit data... | |
linux-atomic.asm | Loading commit data... | |
linux-unwind.h | Loading commit data... | |
linux.h | Loading commit data... | |
little.h | Loading commit data... | |
netbsd-elf.h | Loading commit data... | |
newlib.h | Loading commit data... | |
predicates.md | Loading commit data... | |
rtems.h | Loading commit data... | |
rtemself.h | Loading commit data... | |
sh-c.c | Loading commit data... | |
sh-modes.def | Loading commit data... | |
sh-protos.h | Loading commit data... | |
sh.c | Loading commit data... | |
sh.h | Loading commit data... | |
sh.md | Loading commit data... | |
sh.opt | Loading commit data... | |
sh1.md | Loading commit data... | |
sh4-300.md | Loading commit data... | |
sh4.md | Loading commit data... | |
sh4a.md | Loading commit data... | |
sh64.h | Loading commit data... | |
shmedia.h | Loading commit data... | |
shmedia.md | Loading commit data... | |
sshmedia.h | Loading commit data... | |
superh.h | Loading commit data... | |
superh.opt | Loading commit data... | |
superh64.h | Loading commit data... | |
symbian-post.h | Loading commit data... | |
symbian-pre.h | Loading commit data... | |
symbian.c | Loading commit data... | |
t-1e | Loading commit data... | |
t-elf | Loading commit data... | |
t-linux | Loading commit data... | |
t-linux64 | Loading commit data... | |
t-mlib-sh1 | Loading commit data... | |
t-mlib-sh2 | Loading commit data... | |
t-mlib-sh2a | Loading commit data... | |
t-mlib-sh2a-nofpu | Loading commit data... | |
t-mlib-sh2a-single | Loading commit data... | |
t-mlib-sh2a-single-only | Loading commit data... | |
t-mlib-sh2e | Loading commit data... | |
t-mlib-sh3 | Loading commit data... | |
t-mlib-sh3e | Loading commit data... | |
t-mlib-sh4 | Loading commit data... | |
t-mlib-sh4-nofpu | Loading commit data... | |
t-mlib-sh4-single | Loading commit data... | |
t-mlib-sh4-single-only | Loading commit data... | |
t-mlib-sh4a | Loading commit data... | |
t-mlib-sh4a-nofpu | Loading commit data... | |
t-mlib-sh4a-single | Loading commit data... | |
t-mlib-sh4a-single-only | Loading commit data... | |
t-mlib-sh4al | Loading commit data... | |
t-mlib-sh5-32media | Loading commit data... | |
t-mlib-sh5-32media-nofpu | Loading commit data... | |
t-mlib-sh5-64media | Loading commit data... | |
t-mlib-sh5-64media-nofpu | Loading commit data... | |
t-mlib-sh5-compact | Loading commit data... | |
t-mlib-sh5-compact-nofpu | Loading commit data... | |
t-netbsd | Loading commit data... | |
t-netbsd-sh5-64 | Loading commit data... | |
t-rtems | Loading commit data... | |
t-sh | Loading commit data... | |
t-sh64 | Loading commit data... | |
t-superh | Loading commit data... | |
t-symbian | Loading commit data... | |
t-vxworks | Loading commit data... | |
ushmedia.h | Loading commit data... | |
vxworks.h | Loading commit data... |