https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119702
--- Comment #3 from Jens Seifert <jens.seifert at de dot ibm.com> --- Problem seems to be fixed in 15.1: lshift1(unsigned long long*): lxv 33,0(3) vspltisw 0,1 vsld 0,1,0 stxv 32,0(3) blr gcc 14.3: lshift1(unsigned long long*): lxv 33,0(3) xxspltib 32,1 vextsb2d 0,0 vsld 0,1,0 stxv 32,0(3) blr lshift1(unsigned long long*): lxv 33,0(3) xxspltib 32,1 vextsb2d 0,0 vsld 0,1,0 stxv 32,0(3) blr Same for rshift by 1 and lshift by 2. Problem solved in gcc 15.