[Bug target/90824] New: PowerPC should generate better code for SFmode splats for power8
meissner at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Jun 10 22:19:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90824
Bug ID: 90824
Summary: PowerPC should generate better code for SFmode splats
for power8
Product: gcc
Version: 10.0
Status: UNCONFIRMED
Severity: enhancement
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: meissner at gcc dot gnu.org
Target Milestone: ---
For power7/power8 code generation, we should generate better code for splatting
a SFmode value from memory.
Consider the code:
vector float foo2 (float *p) { return (vector float) { *p, *p, *p, *p }; }
On Power9 we generate the following since we have load word and splat:
foo2:
lxvwsx 34,0,3
blr
However on power8, we generate the following:
foo2:
lxsspx 34,0,3
xscvdpspn 34,34
xxspltw 34,34,0
blr
and on power7, we generate the similar:
foo2:
lfs 0,0(3)
xscvdpsp 0,0
xxspltw 34,0,0
blr
For this case, the better code to generate is:
foo2:
lfiwzx 0,0,3
xxspltw 34,0,0
blr
More information about the Gcc-bugs
mailing list