summaryrefslogtreecommitdiff
path: root/gcc/config/rs6000/vector.md
diff options
context:
space:
mode:
authorwschmidt <wschmidt@138bc75d-0d04-0410-961f-82ee72b054a4>2015-12-28 16:37:03 +0000
committerwschmidt <wschmidt@138bc75d-0d04-0410-961f-82ee72b054a4>2015-12-28 16:37:03 +0000
commit0f8813c35764fff028f7b317944ce73a6229a51a (patch)
tree7da6c3837fe4e7c831f895223b0ac2295ff1b741 /gcc/config/rs6000/vector.md
parent50ad9277bb29b9abe5a0cd95157be36b0576bb20 (diff)
downloadgcc-0f8813c35764fff028f7b317944ce73a6229a51a.tar.gz
[gcc]
2015-12-28 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * config/rs6000/rs6000.c (rs6000_emit_le_vsx_move): Verify that this is never called when lxvx/stxvx are available. (pass_analyze_swaps::gate): Don't perform swap optimization when lxvx/stxvx are available. * config/rs6000/vector.md (mov<mode>): Don't call rs6000_emit_le_vsx_move when lxvx/stxvx are available. * config/rs6000/vsx.md (*p9_vecload_<mode>): New define_insn. (*p9_vecstore_<mode>): Likewise. (*vsx_le_perm_load_<mode>:VSX_LE): Disable when lxvx/stxvx are available. (*vsx_le_perm_load_<mode>:VSX_W): Likewise. (*vsx_le_perm_load_v8hi): Likewise. (*vsx_le_perm_load_v16qi): Likewise. (*vsx_le_perm_store_<mode>:VSX_LE): Likewise. ([related define_splits]): Likewise. (*vsx_le_perm_store_<mode>:VSX_W): Likewise. ([related define_splits]): Likewise. (*vsx_le_perm_store_v8hi): Likewise. ([related define_splits]): Likewise. (*vsx_le_perm_store_v16qi): Likewise. ([related define_splits]): Likewise. (*vsx_lxvd2x2_le_<mode>): Likewise. (*vsx_lxvd2x4_le_<mode>): Likewise. (*vsx_lxvd2x8_le_V8HI): Likewise. (*vsx_lvxd2x16_le_V16QI): Likewise. (*vsx_stxvd2x2_le_<mode>): Likewise. (*vsx_stxvd2x4_le_<mode>): Likewise. (*vsx_stxvd2x8_le_V8HI): Likewise. (*vsx_stxvdx16_le_V16QI): Likewise. ([define_peepholes for vector load fusion]): Likewise. [gcc/testsuite] 2015-12-28 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * gcc.target/powerpc/p9-lxvx-stxvx-1.c: New. * gcc.target/powerpc/p9-lxvx-stxvx-2.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231974 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/rs6000/vector.md')
-rw-r--r--gcc/config/rs6000/vector.md1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/config/rs6000/vector.md b/gcc/config/rs6000/vector.md
index d8699c8a032..1759390d25a 100644
--- a/gcc/config/rs6000/vector.md
+++ b/gcc/config/rs6000/vector.md
@@ -113,6 +113,7 @@
}
if (!BYTES_BIG_ENDIAN
&& VECTOR_MEM_VSX_P (<MODE>mode)
+ && !TARGET_P9_VECTOR
&& !gpr_or_gpr_p (operands[0], operands[1])
&& (memory_operand (operands[0], <MODE>mode)
^ memory_operand (operands[1], <MODE>mode)))