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); | ^~~~~~~~~ ...