On 4/27/21 10:32 AM, Bill Schmidt wrote:
The design of the target-specific built-in function support in the
Power back end has not stood the test of time.  The machinery is
grossly inefficient, confusing, and arcane; and adding new built-in
functions is inefficient and error-prone.  This patch set introduces a
replacement.

Iain Sandoe turned up one more bug for me in regression testing. Another case where I mis-categorized a built-in, this time as "VSX" versus "AltiVec".  As with the other two, I'd appreciate consideration of this patch along with the rest of the patch set. Thank you!

(Iain tells me that this is all there is to find, so that should be the end of the "spare" patches for now.)

Much obliged,
Bill

2021-04-30  Bill Schmidt  <wschm...@linux.ibm.com>

gcc/
        * config/rs6000/rs6000-builtin-new.def
        (__builtin_altivec_lvx_v1ti): Move from [vsx] to [altivec].
---
 gcc/config/rs6000/rs6000-builtin-new.def | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gcc/config/rs6000/rs6000-builtin-new.def 
b/gcc/config/rs6000/rs6000-builtin-new.def
index f106e1de1fd..27d2be679a7 100644
--- a/gcc/config/rs6000/rs6000-builtin-new.def
+++ b/gcc/config/rs6000/rs6000-builtin-new.def
@@ -333,6 +333,9 @@
   pure vsi __builtin_altivec_lvx (signed long, const void *);
     LVX altivec_lvx_v4si {ldvec}
+ pure vsq __builtin_altivec_lvx_v1ti (signed long, const void *);
+    LVX_V1TI altivec_lvx_v1ti {ldvec}
+
   pure vsc __builtin_altivec_lvx_v16qi (signed long, const void *);
     LVX_V16QI altivec_lvx_v16qi {ldvec}
@@ -1134,9 +1137,6 @@ ; VSX builtins.
 [vsx]
-  pure vsq __builtin_altivec_lvx_v1ti (signed long, const void *);
-    LVX_V1TI altivec_lvx_v1ti {ldvec}
-
   pure vd __builtin_altivec_lvx_v2df (signed long, const void *);
     LVX_V2DF altivec_lvx_v2df {ldvec}
--
2.27.0


Reply via email to