["60/57"] rs6000: Fix AltiVec builtin marked as VSX

Message ID 42e5c9ef-8d54-7a72-16fc-c3ca4570f0e2@linux.ibm.com
State New
Headers show
Series
  • ["60/57"] rs6000: Fix AltiVec builtin marked as VSX
Related show

Commit Message

Andrew Pinski via Gcc-patches April 30, 2021, 6:55 p.m.
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  <wschmidt@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(-)

-- 
2.27.0

Patch

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}