https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81572
Bug ID: 81572 Summary: gcc-7 regression: unnecessary vector regmove on compare Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: zoltan at hidvegi dot com CC: segher at gcc dot gnu.org, wschmidt at gcc dot gnu.org Target Milestone: --- Target: powerpc64le-unknown-linux-gnu CC: segher at gcc dot gnu.org, wschmidt at gcc dot gnu.org Created attachment 41843 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=41843&action=edit gcc-7 -O2 generates unnecessary vector regmove This sequence generate an unnecessary regmove with gcc-7 that did not happen with gcc-6. The gcc-7 code is like this: xxlor 32,34,34 xxlandc 35,34,35 vcmpequb. 2,0,3 mfcr 3,2 rlwinm 3,3,25,1 blr gcc-6 does not generate the xxlor 32,34,34 move.