https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79268
Bug ID: 79268 Summary: [6/7 Regression] Wrong code generation for vec_xl and vec_xst intrinsics Product: gcc Version: 6.3.1 Status: UNCONFIRMED Keywords: wrong-code Severity: major Priority: P3 Component: target Assignee: wschmidt at gcc dot gnu.org Reporter: wschmidt at gcc dot gnu.org CC: segher at gcc dot gnu.org Target Milestone: --- Target: powerpc64*-*-* I had a thinko when adding the new element-reversing vector load and store instructions, tying them to vec_xl and vec_xst rather than vec_xl_be and vec_xst_be. This regresses these intrinsics both by generating wrong code for them, but also by rejecting legitimate parameter combinations that vec_xl/xst should support (such as vector pixel). This has been encountered building at least one debian package. I plan to attack this in two stages. First we'll need an emergency patch that just reverts the #define of these to match vec_vsx_ld and vec_vsx_st as they should, which we can submit to the various distros for immediate use. Later I'll fix up the rest so that vec_xl_be and vec_xst_be make use of the new instructions.