Hi! 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. This has no effect other than to avoid confusion.
Bootstrapped and tested on powerpc64le-linux-gnu, committed as obvious in r12-6043. Thanks! Bill 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]