https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101019
Bug ID: 101019
Summary: GCC should consider using PLI/SLDI/PADDI to load up
64-bit constants on power10
Product: gcc
Version: 12.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: meissner at gcc dot gnu.org
Target Milestone: ---
GCC should consider using a sequence of PLI, SLDI, and PADDI to load up 64-bit
constants on power10.
For example:
long foo_2 (void) { return (1L << 53) | (1L << 35) | (1L << 30) | (1L << 2); }
Generates:
lis 3,0x20
ori 3,3,0x8
sldi 3,3,32
oris 3,3,0x4000
ori 3,3,0x4
when it could generate:
pli 3,2097160
sldi 3,3,32
paddi 3,3,1073741828