PR target/53914 PR target/54009 * config/rs6000/constraints.md (Y): Use mem_operand_gpr. * config/rs6000/predicates.md (word_offset_memref_operand): Delete. Adjust all rs6000_legitimate_offset_address_p calls. * config/rs6000/rs6000-protos.h (mem_operand_gpr): Declare. (rs6000_secondary_reload_gpr): Declare. (rs6000_legitimate_offset_address_p): Update prototype. (rs6000_offsettable_memref_p): Delete. (rs6000_secondary_reload_ppc64): Delete. * config/rs6000/rs6000.c (address_offset): New function. (mem_operand_gpr): Likewise. (rs6000_legitimate_offset_address_p): Add worst_case param. When not worst_case assume class of regs with least restrictive offsets. Adjust all calls. (legitimate_lo_sum_address_p): Simplify register mode tests. (rs6000_legitimize_address): Likewise. Assume best case offset addressing. Combine ELF and MACHO lo_sum code. (rs6000_mode_dependent_address): Correct offset addressing limits. (rs6000_offsettable_memref_p): Make static, add reg_mode param. Use reg_mode to help rs6000_legitimate_offset_address_p. (rs6000_secondary_reload): Use address_offset. Handle 32-bit multi gpr load/store when offset too large. (rs6000_secondary_reload_gpr): Renamed rs6000_secondary_reload_ppc64. (rs6000_split_multireg_move): Adjust rs6000_offsettable_memref_p calls. * config/rs6000/rs6000.md (movdf_hardfloat32): Use 'Y' constraint for gpr load/store. Order alternatives as r->Y,Y->r,r->r and d->m,m->d,d->d. Correct size of gpr load/store. (movdf_softfloat32): Use 'Y' constraint for gpr load/store. Order alternatives. (movti_ppc64): Likewise. (movdi_internal32): Likewise. Also disparage fprs. (movdi_mfpgpr, movdi_internal64): Likewise. (movtf_internal): Use 'm' for fpr load/store. Order alternatives. (movtf_softfloat): Order alternatives. (extenddftf2_internal): Use 'm' and 'Y' for store. (movti_power, movti_string): Use 'Y' for gpr load/store. Order. (stack_protect_setdi, stack_protect_testdi): Likewise. (movdf_hardfloat64_mfpgpr, movdf_hardfloat64): Order alternatives. (movdf_softfloat64): Likewise. (reload_<mode>_store): Adjust reload_di_store to provide reload_si_store as well. (reload_<mode>_load): Likewise. From-SVN: r189801
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
alpha | Loading commit data... | |
arm | Loading commit data... | |
avr | Loading commit data... | |
bfin | Loading commit data... | |
c6x | Loading commit data... | |
cr16 | Loading commit data... | |
cris | Loading commit data... | |
epiphany | Loading commit data... | |
fr30 | Loading commit data... | |
frv | Loading commit data... | |
h8300 | Loading commit data... | |
i386 | Loading commit data... | |
ia64 | Loading commit data... | |
iq2000 | Loading commit data... | |
lm32 | Loading commit data... | |
m32c | Loading commit data... | |
m32r | Loading commit data... | |
m68k | Loading commit data... | |
mcore | Loading commit data... | |
mep | Loading commit data... | |
microblaze | Loading commit data... | |
mips | Loading commit data... | |
mmix | Loading commit data... | |
mn10300 | Loading commit data... | |
moxie | Loading commit data... | |
pa | Loading commit data... | |
pdp11 | Loading commit data... | |
picochip | Loading commit data... | |
rl78 | Loading commit data... | |
rs6000 | Loading commit data... | |
rx | Loading commit data... | |
s390 | Loading commit data... | |
score | Loading commit data... | |
sh | Loading commit data... | |
sparc | Loading commit data... | |
spu | Loading commit data... | |
stormy16 | Loading commit data... | |
tilegx | Loading commit data... | |
tilepro | Loading commit data... | |
v850 | Loading commit data... | |
vax | Loading commit data... | |
vms | Loading commit data... | |
xtensa | Loading commit data... | |
README | Loading commit data... | |
darwin-c.c | Loading commit data... | |
darwin-driver.c | Loading commit data... | |
darwin-f.c | Loading commit data... | |
darwin-ppc-ldouble-patch.def | Loading commit data... | |
darwin-protos.h | Loading commit data... | |
darwin-sections.def | Loading commit data... | |
darwin.c | Loading commit data... | |
darwin.h | Loading commit data... | |
darwin.opt | Loading commit data... | |
darwin10.h | Loading commit data... | |
darwin9.h | Loading commit data... | |
dbx.h | Loading commit data... | |
dbxcoff.h | Loading commit data... | |
dbxelf.h | Loading commit data... | |
default-c.c | Loading commit data... | |
elfos.h | Loading commit data... | |
flat.h | Loading commit data... | |
freebsd-nthr.h | Loading commit data... | |
freebsd-spec.h | Loading commit data... | |
freebsd-stdint.h | Loading commit data... | |
freebsd.h | Loading commit data... | |
freebsd.opt | Loading commit data... | |
fused-madd.opt | Loading commit data... | |
g.opt | Loading commit data... | |
glibc-stdint.h | Loading commit data... | |
gnu-user.h | Loading commit data... | |
gnu-user.opt | Loading commit data... | |
gnu.h | Loading commit data... | |
host-darwin.c | Loading commit data... | |
host-darwin.h | Loading commit data... | |
host-hpux.c | Loading commit data... | |
host-linux.c | Loading commit data... | |
host-solaris.c | Loading commit data... | |
hpux-stdint.h | Loading commit data... | |
hpux11.opt | Loading commit data... | |
initfini-array.h | Loading commit data... | |
kfreebsd-gnu.h | Loading commit data... | |
knetbsd-gnu.h | Loading commit data... | |
kopensolaris-gnu.h | Loading commit data... | |
linux-android.h | Loading commit data... | |
linux-android.opt | Loading commit data... | |
linux.h | Loading commit data... | |
linux.opt | Loading commit data... | |
lynx.h | Loading commit data... | |
lynx.opt | Loading commit data... | |
netbsd-elf.h | Loading commit data... | |
netbsd-elf.opt | Loading commit data... | |
netbsd.h | Loading commit data... | |
netbsd.opt | Loading commit data... | |
newlib-stdint.h | Loading commit data... | |
openbsd-libpthread.h | Loading commit data... | |
openbsd-oldgas.h | Loading commit data... | |
openbsd-stdint.h | Loading commit data... | |
openbsd.h | Loading commit data... | |
openbsd.opt | Loading commit data... | |
print-sysroot-suffix.sh | Loading commit data... | |
rpath.opt | Loading commit data... | |
rtems.h | Loading commit data... | |
rtems.opt | Loading commit data... | |
sol2-10.h | Loading commit data... | |
sol2-bi.h | Loading commit data... | |
sol2-c.c | Loading commit data... | |
sol2-cxx.c | Loading commit data... | |
sol2-protos.h | Loading commit data... | |
sol2-stubs.c | Loading commit data... | |
sol2.c | Loading commit data... | |
sol2.h | Loading commit data... | |
sol2.opt | Loading commit data... | |
t-darwin | Loading commit data... | |
t-libunwind | Loading commit data... | |
t-lynx | Loading commit data... | |
t-openbsd | Loading commit data... | |
t-pnt16-warn | Loading commit data... | |
t-rtems | Loading commit data... | |
t-slibgcc | Loading commit data... | |
t-sol2 | Loading commit data... | |
t-sysroot-suffix | Loading commit data... | |
t-vxworks | Loading commit data... | |
tm-dwarf2.h | Loading commit data... | |
usegas.h | Loading commit data... | |
usegld.h | Loading commit data... | |
vx-common.h | Loading commit data... | |
vxworks-dummy.h | Loading commit data... | |
vxworks.c | Loading commit data... | |
vxworks.h | Loading commit data... | |
vxworks.opt | Loading commit data... | |
vxworksae.h | Loading commit data... | |
x-cflags-O1 | Loading commit data... | |
x-darwin | Loading commit data... | |
x-hpux | Loading commit data... | |
x-linux | Loading commit data... | |
x-solaris | Loading commit data... |