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

Reply via email to