[gcc r12-6043] rs6000: Fix fake vec_promote overload

William Schmidt wschmidt@gcc.gnu.org
Fri Dec 17 16:39:13 GMT 2021


https://gcc.gnu.org/g:dfedfc304ad2159acbff1d89e707e359e97353bf

commit r12-6043-gdfedfc304ad2159acbff1d89e707e359e97353bf
Author: Bill Schmidt <wschmidt@linux.ibm.com>
Date:   Fri Dec 17 10:39:00 2021 -0600

    rs6000: Fix fake vec_promote overload
    
    rs6000-overload.def defines one instance of vec_promote so that it can be
    registered with the front end.  Actual expansion of the vec_promote overload
    is done with special-case code in rs6000-c.c.  During another cleanup, I
    observed that the fake instance has the wrong number of arguments.  Fix that.
    
    2021-12-17  Bill Schmidt  <wschmidt@linux.ibm.com>
    
    gcc/
            * config/rs6000/rs6000-overload.def (__builtin_vec_promote): Add second
            argument.

Diff:
---
 gcc/config/rs6000/rs6000-overload.def | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gcc/config/rs6000/rs6000-overload.def b/gcc/config/rs6000/rs6000-overload.def
index 531a4fcd1af..2b2853918c0 100644
--- a/gcc/config/rs6000/rs6000-overload.def
+++ b/gcc/config/rs6000/rs6000-overload.def
@@ -3021,7 +3021,7 @@
 ; is replaced by a constructor.  The single overload here causes
 ; __builtin_vec_promote to be registered with the front end so that can happen.
 [VEC_PROMOTE, vec_promote, __builtin_vec_promote]
-  vsi __builtin_vec_promote (vsi);
+  vsi __builtin_vec_promote (vsi, const int);
     ABS_V4SI PROMOTE_FAKERY
 
 [VEC_RE, vec_re, __builtin_vec_re]


More information about the Gcc-cvs mailing list