public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc(refs/users/wschmidt/heads/builtins4)] rs6000: Fix VEC_XL built-in mappings and built function type
@ 2020-12-21 15:12 William Schmidt
  0 siblings, 0 replies; 2+ messages in thread
From: William Schmidt @ 2020-12-21 15:12 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:1dfe6ecc5afac1cff7b6a828940caa309695baed

commit 1dfe6ecc5afac1cff7b6a828940caa309695baed
Author: Bill Schmidt <wschmidt@linux.ibm.com>
Date:   Sun Dec 20 09:54:31 2020 -0600

    rs6000: Fix VEC_XL built-in mappings and built function type
    
    2020-12-20  Bill Schmidt  <wschmidt@linux.ibm.com>
    
            * config/rs6000/rs6000-c.c
            (altivec_resolve_new_overloaded_builtin): Resolve argument and
            return types to instance type, not built-in type.
            * config/rs6000/rs6000-overload.def (VEC_XL): Fix built-in
            mappings for char and short.

Diff:
---
 gcc/config/rs6000/rs6000-c.c          | 16 ++++++++--------
 gcc/config/rs6000/rs6000-overload.def | 16 ++++++++--------
 2 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/gcc/config/rs6000/rs6000-c.c b/gcc/config/rs6000/rs6000-c.c
index d05da4fceaa..ba6ac56e7b3 100644
--- a/gcc/config/rs6000/rs6000-c.c
+++ b/gcc/config/rs6000/rs6000-c.c
@@ -2836,7 +2836,8 @@ altivec_resolve_new_overloaded_builtin (location_t loc, tree fndecl,
 	  {
 	    if (rs6000_builtin_decl (instance->bifid, false) != error_mark_node
 		&& rs6000_new_builtin_is_supported_p (instance->bifid))
-	      return altivec_build_new_resolved_builtin (args, n, fntype,
+	      return altivec_build_new_resolved_builtin (args, n,
+							 instance->fntype,
 							 instance->bifid,
 							 fcode);
 	    else
@@ -2890,7 +2891,8 @@ altivec_resolve_new_overloaded_builtin (location_t loc, tree fndecl,
 	  {
 	    if (rs6000_builtin_decl (instance->bifid, false) != error_mark_node
 		&& rs6000_new_builtin_is_supported_p (instance->bifid))
-	      return altivec_build_new_resolved_builtin (args, n, fntype,
+	      return altivec_build_new_resolved_builtin (args, n,
+							 instance->fntype,
 							 instance->bifid,
 							 fcode);
 	    else
@@ -2923,12 +2925,10 @@ altivec_resolve_new_overloaded_builtin (location_t loc, tree fndecl,
 
 	    if (rs6000_builtin_decl (instance->bifid, false) != error_mark_node
 		&& rs6000_new_builtin_is_supported_p (instance->bifid))
-	      {
-		tree fntype = rs6000_builtin_info_x[instance->bifid].fntype;
-		return altivec_build_new_resolved_builtin (args, n, fntype,
-							   instance->bifid,
-							   fcode);
-	      }
+	      return altivec_build_new_resolved_builtin (args, n,
+							 instance->fntype,
+							 instance->bifid,
+							 fcode);
 	    else
 	      {
 		unsupported_builtin = true;
diff --git a/gcc/config/rs6000/rs6000-overload.def b/gcc/config/rs6000/rs6000-overload.def
index 981e2fe944b..005a5879109 100644
--- a/gcc/config/rs6000/rs6000-overload.def
+++ b/gcc/config/rs6000/rs6000-overload.def
@@ -3630,21 +3630,21 @@
 
 [VEC_XL, vec_xl, __builtin_vec_vsx_ld, __VSX__]
   vsc __builtin_vec_vsx_ld (signed long long, const vsc *);
-    LXVW4X_V4SI  LXVW4X_VSC
+    LXVW4X_V16QI  LXVW4X_VSC
   vsc __builtin_vec_vsx_ld (signed long long, const signed char *);
-    LXVW4X_V4SI  LXVW4X_SC
+    LXVW4X_V16QI  LXVW4X_SC
   vuc __builtin_vec_vsx_ld (signed long long, const vuc *);
-    LXVW4X_V4SI  LXVW4X_VUC
+    LXVW4X_V16QI  LXVW4X_VUC
   vuc __builtin_vec_vsx_ld (signed long long, const unsigned char *);
-    LXVW4X_V4SI  LXVW4X_UC
+    LXVW4X_V16QI  LXVW4X_UC
   vss __builtin_vec_vsx_ld (signed long long, const vss *);
-    LXVW4X_V4SI  LXVW4X_VSS
+    LXVW4X_V8HI  LXVW4X_VSS
   vss __builtin_vec_vsx_ld (signed long long, const signed short *);
-    LXVW4X_V4SI  LXVW4X_SS
+    LXVW4X_V8HI  LXVW4X_SS
   vus __builtin_vec_vsx_ld (signed long long, const vus *);
-    LXVW4X_V4SI  LXVW4X_VUS
+    LXVW4X_V8HI  LXVW4X_VUS
   vus __builtin_vec_vsx_ld (signed long long, const unsigned short *);
-    LXVW4X_V4SI  LXVW4X_US
+    LXVW4X_V8HI  LXVW4X_US
   vsi __builtin_vec_vsx_ld (signed long long, const vsi *);
     LXVW4X_V4SI  LXVW4X_VSI
   vsi __builtin_vec_vsx_ld (signed long long, const signed int *);


^ permalink raw reply	[flat|nested] 2+ messages in thread

* [gcc(refs/users/wschmidt/heads/builtins4)] rs6000: Fix VEC_XL built-in mappings and built function type
@ 2021-02-07 18:16 William Schmidt
  0 siblings, 0 replies; 2+ messages in thread
From: William Schmidt @ 2021-02-07 18:16 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:9cd6ae2ff7079bad2d9016d7ad5d2ba5609587c4

commit 9cd6ae2ff7079bad2d9016d7ad5d2ba5609587c4
Author: Bill Schmidt <wschmidt@linux.ibm.com>
Date:   Sun Dec 20 09:54:31 2020 -0600

    rs6000: Fix VEC_XL built-in mappings and built function type
    
    2020-12-20  Bill Schmidt  <wschmidt@linux.ibm.com>
    
            * config/rs6000/rs6000-c.c
            (altivec_resolve_new_overloaded_builtin): Resolve argument and
            return types to instance type, not built-in type.
            * config/rs6000/rs6000-overload.def (VEC_XL): Fix built-in
            mappings for char and short.

Diff:
---
 gcc/config/rs6000/rs6000-c.c          | 16 ++++++++--------
 gcc/config/rs6000/rs6000-overload.def | 16 ++++++++--------
 2 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/gcc/config/rs6000/rs6000-c.c b/gcc/config/rs6000/rs6000-c.c
index edab5a05a8f..b5b54c8b22b 100644
--- a/gcc/config/rs6000/rs6000-c.c
+++ b/gcc/config/rs6000/rs6000-c.c
@@ -2854,7 +2854,8 @@ altivec_resolve_new_overloaded_builtin (location_t loc, tree fndecl,
 	  {
 	    if (rs6000_builtin_decl (instance->bifid, false) != error_mark_node
 		&& rs6000_new_builtin_is_supported_p (instance->bifid))
-	      return altivec_build_new_resolved_builtin (args, n, fntype,
+	      return altivec_build_new_resolved_builtin (args, n,
+							 instance->fntype,
 							 instance->bifid,
 							 fcode);
 	    else
@@ -2908,7 +2909,8 @@ altivec_resolve_new_overloaded_builtin (location_t loc, tree fndecl,
 	  {
 	    if (rs6000_builtin_decl (instance->bifid, false) != error_mark_node
 		&& rs6000_new_builtin_is_supported_p (instance->bifid))
-	      return altivec_build_new_resolved_builtin (args, n, fntype,
+	      return altivec_build_new_resolved_builtin (args, n,
+							 instance->fntype,
 							 instance->bifid,
 							 fcode);
 	    else
@@ -2941,12 +2943,10 @@ altivec_resolve_new_overloaded_builtin (location_t loc, tree fndecl,
 
 	    if (rs6000_builtin_decl (instance->bifid, false) != error_mark_node
 		&& rs6000_new_builtin_is_supported_p (instance->bifid))
-	      {
-		tree fntype = rs6000_builtin_info_x[instance->bifid].fntype;
-		return altivec_build_new_resolved_builtin (args, n, fntype,
-							   instance->bifid,
-							   fcode);
-	      }
+	      return altivec_build_new_resolved_builtin (args, n,
+							 instance->fntype,
+							 instance->bifid,
+							 fcode);
 	    else
 	      {
 		unsupported_builtin = true;
diff --git a/gcc/config/rs6000/rs6000-overload.def b/gcc/config/rs6000/rs6000-overload.def
index 981e2fe944b..005a5879109 100644
--- a/gcc/config/rs6000/rs6000-overload.def
+++ b/gcc/config/rs6000/rs6000-overload.def
@@ -3630,21 +3630,21 @@
 
 [VEC_XL, vec_xl, __builtin_vec_vsx_ld, __VSX__]
   vsc __builtin_vec_vsx_ld (signed long long, const vsc *);
-    LXVW4X_V4SI  LXVW4X_VSC
+    LXVW4X_V16QI  LXVW4X_VSC
   vsc __builtin_vec_vsx_ld (signed long long, const signed char *);
-    LXVW4X_V4SI  LXVW4X_SC
+    LXVW4X_V16QI  LXVW4X_SC
   vuc __builtin_vec_vsx_ld (signed long long, const vuc *);
-    LXVW4X_V4SI  LXVW4X_VUC
+    LXVW4X_V16QI  LXVW4X_VUC
   vuc __builtin_vec_vsx_ld (signed long long, const unsigned char *);
-    LXVW4X_V4SI  LXVW4X_UC
+    LXVW4X_V16QI  LXVW4X_UC
   vss __builtin_vec_vsx_ld (signed long long, const vss *);
-    LXVW4X_V4SI  LXVW4X_VSS
+    LXVW4X_V8HI  LXVW4X_VSS
   vss __builtin_vec_vsx_ld (signed long long, const signed short *);
-    LXVW4X_V4SI  LXVW4X_SS
+    LXVW4X_V8HI  LXVW4X_SS
   vus __builtin_vec_vsx_ld (signed long long, const vus *);
-    LXVW4X_V4SI  LXVW4X_VUS
+    LXVW4X_V8HI  LXVW4X_VUS
   vus __builtin_vec_vsx_ld (signed long long, const unsigned short *);
-    LXVW4X_V4SI  LXVW4X_US
+    LXVW4X_V8HI  LXVW4X_US
   vsi __builtin_vec_vsx_ld (signed long long, const vsi *);
     LXVW4X_V4SI  LXVW4X_VSI
   vsi __builtin_vec_vsx_ld (signed long long, const signed int *);


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-02-07 18:16 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-21 15:12 [gcc(refs/users/wschmidt/heads/builtins4)] rs6000: Fix VEC_XL built-in mappings and built function type William Schmidt
2021-02-07 18:16 William Schmidt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).