aboutsummaryrefslogtreecommitdiff
path: root/gcc/cgraphunit.c
diff options
context:
space:
mode:
authorMichael Meissner <meissner@linux.vnet.ibm.com>2013-07-31 20:04:07 +0000
committerMichael Meissner <meissner@gcc.gnu.org>2013-07-31 20:04:07 +0000
commitd86e633abc4aeb1be6c443b3dc3593629491a838 (patch)
tree8fca80180a443821ea64db1f6fcab18e36937b55 /gcc/cgraphunit.c
parentb26e3fc277ea869668b129563f9276caace5e5d9 (diff)
downloadgcc-d86e633abc4aeb1be6c443b3dc3593629491a838.zip
gcc-d86e633abc4aeb1be6c443b3dc3593629491a838.tar.gz
gcc-d86e633abc4aeb1be6c443b3dc3593629491a838.tar.bz2
predicates.md (fusion_gpr_addis): New predicates to support power8 load fusion.
[gcc] 2013-07-31 Michael Meissner <meissner@linux.vnet.ibm.com> * config/rs6000/predicates.md (fusion_gpr_addis): New predicates to support power8 load fusion. (fusion_gpr_mem_load): Likewise. * config/rs6000/rs6000-modes.def (PTImode): Update a comment. * config/rs6000/rs6000-protos.h (fusion_gpr_load_p): New declarations for power8 load fusion. (emit_fusion_gpr_load): Likewise. * config/rs6000/rs6000.c (rs6000_option_override_internal): If tuning for power8, turn on fusion mode by default. Turn on sign extending fusion mode if normal fusion mode is on, and we are at -O2 or -O3. (fusion_gpr_load_p): New function, return true if we can fuse an addis instruction with a dependent load to a GPR. (emit_fusion_gpr_load): Emit the instructions for power8 load fusion to GPRs. * config/rs6000/vsx.md (VSX_M2): New iterator for fusion peepholes. (VSX load fusion peepholes): New peepholes to fuse together an addi instruction with a VSX load instruction. * config/rs6000/rs6000.md (GPR load fusion peepholes): New peepholes to fuse an addis instruction with a load to a GPR base register. If we are supporting sign extending fusions, convert sign extending loads to zero extending loads and add an explicit sign extension. [gcc/testsuite] 2013-07-31 Michael Meissner <meissner@linux.vnet.ibm.com> * gcc.target/powerpc/fusion.c: New file, test power8 fusion support. From-SVN: r201385
Diffstat (limited to 'gcc/cgraphunit.c')
0 files changed, 0 insertions, 0 deletions