gcc:
authorwschmidt <wschmidt@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 21 Feb 2014 20:46:52 +0000 (20:46 +0000)
committerwschmidt <wschmidt@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 21 Feb 2014 20:46:52 +0000 (20:46 +0000)
commitb2633ccec554610a6eae841ed64106a55a8c891e
tree6a265ce4f4dfd2e0a3cf3c522a1528464397f492
parent6d7bba7f4b18db3fe8fa01866d3d0f97e89f2e8e
gcc:

2014-02-21  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/altivec.md (altivec_lvxl): Rename as
*altivec_lvxl_<mode>_internal and use VM2 iterator instead of
V4SI.
(altivec_lvxl_<mode>): New define_expand incorporating
-maltivec=be semantics where needed.
(altivec_lvx): Rename as *altivec_lvx_<mode>_internal.
(altivec_lvx_<mode>): New define_expand incorporating -maltivec=be
semantics where needed.
(altivec_stvx): Rename as *altivec_stvx_<mode>_internal.
(altivec_stvx_<mode>): New define_expand incorporating
-maltivec=be semantics where needed.
(altivec_stvxl): Rename as *altivec_stvxl_<mode>_internal and use
VM2 iterator instead of V4SI.
(altivec_stvxl_<mode>): New define_expand incorporating
-maltivec=be semantics where needed.
* config/rs6000/rs6000-builtin.def: Add new built-in definitions
LVXL_V2DF, LVXL_V2DI, LVXL_V4SF, LVXL_V4SI, LVXL_V8HI, LVXL_V16QI,
LVX_V2DF, LVX_V2DI, LVX_V4SF, LVX_V4SI, LVX_V8HI, LVX_V16QI,
STVX_V2DF, STVX_V2DI, STVX_V4SF, STVX_V4SI, STVX_V8HI, STVX_V16QI,
STVXL_V2DF, STVXL_V2DI, STVXL_V4SF, STVXL_V4SI, STVXL_V8HI,
STVXL_V16QI.
* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Replace
ALTIVEC_BUILTIN_LVX with ALTIVEC_BUILTIN_LVX_<MODE> throughout;
similarly for ALTIVEC_BUILTIN_LVXL, ALTIVEC_BUILTIN_STVX, and
ALTIVEC_BUILTIN_STVXL.
* config/rs6000/rs6000-protos.h (altivec_expand_lvx_be): New
prototype.
(altivec_expand_stvx_be): Likewise.
* config/rs6000/rs6000.c (swap_selector_for_mode): New function.
(altivec_expand_lvx_be): Likewise.
(altivec_expand_stvx_be): Likewise.
(altivec_expand_builtin): Add cases for
ALTIVEC_BUILTIN_STVX_<MODE>, ALTIVEC_BUILTIN_STVXL_<MODE>,
ALTIVEC_BUILTIN_LVXL_<MODE>, and ALTIVEC_BUILTIN_LVX_<MODE>.
(altivec_init_builtins): Add definitions for
__builtin_altivec_lvxl_<mode>, __builtin_altivec_lvx_<mode>,
__builtin_altivec_stvx_<mode>, and
__builtin_altivec_stvxl_<mode>.

gcc/testsuite:

2014-02-21  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.dg/vmx/ld.c: New test.
* gcc.dg/vmx/ld-be-order.c: New test.
* gcc.dg/vmx/ld-vsx.c: New test.
* gcc.dg/vmx/ld-vsx-be-order.c: New test.
* gcc.dg/vmx/ldl.c: New test.
* gcc.dg/vmx/ldl-be-order.c: New test.
* gcc.dg/vmx/ldl-vsx.c: New test.
* gcc.dg/vmx/ldl-vsx-be-order.c: New test.
* gcc.dg/vmx/st.c: New test.
* gcc.dg/vmx/st-be-order.c: New test.
* gcc.dg/vmx/st-vsx.c: New test.
* gcc.dg/vmx/st-vsx-be-order.c: New test.
* gcc.dg/vmx/stl.c: New test.
* gcc.dg/vmx/stl-be-order.c: New test.
* gcc.dg/vmx/stl-vsx.c: New test.
* gcc.dg/vmx/stl-vsx-be-order.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208019 138bc75d-0d04-0410-961f-82ee72b054a4
21 files changed:
gcc/config/rs6000/altivec.md
gcc/config/rs6000/rs6000-builtin.def
gcc/config/rs6000/rs6000-c.c
gcc/config/rs6000/rs6000-protos.h
gcc/config/rs6000/rs6000.c
gcc/testsuite/gcc.dg/vmx/ld-be-order.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vmx/ld-vsx-be-order.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vmx/ld-vsx.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vmx/ld.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vmx/ldl-be-order.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vmx/ldl-vsx-be-order.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vmx/ldl-vsx.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vmx/ldl.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vmx/st-be-order.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vmx/st-vsx-be-order.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vmx/st-vsx.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vmx/st.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vmx/stl-be-order.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vmx/stl-vsx-be-order.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vmx/stl-vsx.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vmx/stl.c [new file with mode: 0644]