https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113325
Bug ID: 113325 Summary: unnecessary byte swap for memory clear Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: guihaoc at gcc dot gnu.org Target Milestone: --- //test case void* foo (void* s1) { return __builtin_memset (s1, 0, 32); } //assembly vspltisw 0,0 li 10,16 xxpermdi 0,32,32,2 stxvd2x 0,0,3 stxvd2x 0,3,10 blr The xxpermdi is unnecessary. The problem occurs on P8 LE.