[Bug target/106769] New: PPCLE: vec_extract(vector unsigned int) unnecessary rldicl after mfvsrwz
jens.seifert at de dot ibm.com
gcc-bugzilla@gcc.gnu.org
Mon Aug 29 06:57:28 GMT 2022
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106769
Bug ID: 106769
Summary: PPCLE: vec_extract(vector unsigned int) unnecessary
rldicl after mfvsrwz
Product: gcc
Version: 11.2.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: jens.seifert at de dot ibm.com
Target Milestone: ---
#include <altivec.h>
unsigned int extr(vector unsigned int v)
{
return vec_extract(v, 2);
}
Generates:
_Z4extrDv4_j:
.LFB1:
.cfi_startproc
mfvsrwz 3,34
rldicl 3,3,0,32
blr
.long 0
.byte 0,9,0,0,0,0,0,0
.cfi_endproc
The rldicl is not necessary as mfvsrwz already wiped out the upper 32 bits of
the register.
More information about the Gcc-bugs
mailing list