https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101876

--- Comment #1 from Marius Hillenbrand <mhillen at linux dot ibm.com> ---
Comparing results with -mdebug, the variant that should match is ignored

with -march=z13:

...
s390_resolve_overloaded_builtin, code =  606, __builtin_s390_vec_permi - 
overloaded
checking variant number: 187 mismatch in operand: 1 incoming: v2di expected:
vector(2) long long int
checking variant number: 188 mismatch in operand: 1 incoming: v2di expected:
vector(2) long long unsigned int
checking variant number: 189 perfect match score: 0
...

with -march=zEC12:
...
s390_resolve_overloaded_builtin, code =  606, __builtin_s390_vec_permi - 
overloaded
checking variant number: 187 mismatch in operand: 1 incoming: v2di expected:
vector(2) long long int
checking variant number: 188 mismatch in operand: 1 incoming: v2di expected:
vector(2) long long unsigned int
checking variant number: 189 mismatch in operand: 1 incoming: v2di expected:
vector(2) long long unsigned int
checking variant number: 190 mismatch in operand: 1 incoming: v2di expected:
vector(2) double
In file included from tests/target-pragma-vector-builtins.c:13:
tests/target-pragma-vector-builtins.c: In function 'foo':
tests/target-pragma-vector-builtins.c:23:9: error: invalid parameter
combination for intrinsic '__builtin_s390_vec_permi'
   23 |     v = vec_permi(v, v, 0);
      |         ^~~~~~~~~
...

Reply via email to