From 1af73690cd7e81cbf37c67ded66443ecd891fc44 Mon Sep 17 00:00:00 2001 From: William Schmidt Date: Fri, 21 Feb 2014 20:45:09 +0000 Subject: [PATCH] altivec.md (altivec_lvxl): Rename as *altivec_lvxl__internal and use VM2 iterator instead of V4SI. gcc: 2014-02-21 Bill Schmidt * config/rs6000/altivec.md (altivec_lvxl): Rename as *altivec_lvxl__internal and use VM2 iterator instead of V4SI. (altivec_lvxl_): New define_expand incorporating -maltivec=be semantics where needed. (altivec_lvx): Rename as *altivec_lvx__internal. (altivec_lvx_): New define_expand incorporating -maltivec=be semantics where needed. (altivec_stvx): Rename as *altivec_stvx__internal. (altivec_stvx_): New define_expand incorporating -maltivec=be semantics where needed. (altivec_stvxl): Rename as *altivec_stvxl__internal and use VM2 iterator instead of V4SI. (altivec_stvxl_): 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_ 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_, ALTIVEC_BUILTIN_STVXL_, ALTIVEC_BUILTIN_LVXL_, and ALTIVEC_BUILTIN_LVX_. (altivec_init_builtins): Add definitions for __builtin_altivec_lvxl_, __builtin_altivec_lvx_, __builtin_altivec_stvx_, and __builtin_altivec_stvxl_. gcc/testsuite: 2014-02-21 Bill Schmidt * 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. From-SVN: r208018 --- gcc/ChangeLog | 41 +++++++++++++++++++++++++++++++++++++++++ gcc/testsuite/ChangeLog | 19 +++++++++++++++++++ 2 files changed, 60 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 09f7c321920..a7797a1b3b1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,44 @@ +2014-02-21 Bill Schmidt + + * config/rs6000/altivec.md (altivec_lvxl): Rename as + *altivec_lvxl__internal and use VM2 iterator instead of + V4SI. + (altivec_lvxl_): New define_expand incorporating + -maltivec=be semantics where needed. + (altivec_lvx): Rename as *altivec_lvx__internal. + (altivec_lvx_): New define_expand incorporating -maltivec=be + semantics where needed. + (altivec_stvx): Rename as *altivec_stvx__internal. + (altivec_stvx_): New define_expand incorporating + -maltivec=be semantics where needed. + (altivec_stvxl): Rename as *altivec_stvxl__internal and use + VM2 iterator instead of V4SI. + (altivec_stvxl_): 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_ 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_, ALTIVEC_BUILTIN_STVXL_, + ALTIVEC_BUILTIN_LVXL_, and ALTIVEC_BUILTIN_LVX_. + (altivec_init_builtins): Add definitions for + __builtin_altivec_lvxl_, __builtin_altivec_lvx_, + __builtin_altivec_stvx_, and + __builtin_altivec_stvxl_. + 2014-02-21 Catherine Moore * doc/invoke.texi (mvirt, mno-virt): Document. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index e30c47310ae..f051017c148 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,22 @@ +2014-02-21 Bill Schmidt + + * 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. + 2014-02-21 Uros Bizjak * g++.dg/other/i386-2.C (dg-options): Add -mavx512pf. -- 2.30.2