https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82464
Bug ID: 82464 Summary: s390x z14: vector float: invalid parameter combination for intrinsic '__builtin_s390_vec_xor' Product: gcc Version: 8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: markos at freevec dot org Target Milestone: --- Host: s390x-ibm-linux-gnu Target: s390x-ibm-linux-gnu Build: s390x-ibm-linux-gnu In this small testcase: #include <vecintrin.h> typedef __vector float Packet4f; int main() { Packet4f v1 = { 1.0, -1.0, -2.0, 2.0 }; Packet4f v2 = { 2.0, 0.5, 0.1, 0.2 }; Packet4f prod = vec_xor(v1, v2); } $ g++ -march=z14 -mzvector zvectortest2.cpp -o zvectortest2 zvectortest2.cpp: In function 'int main()': zvectortest2.cpp:9:32: error: invalid parameter combination for intrinsic '__builtin_s390_vec_xor' Packet4f prod = vec_xor(v1, v2); However it works with vec_or() intrinsic and others (vec_and, etc), I guess it's just an ommission.