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.