[Bug target/71201] New: PowerPC XXPERM instruction fails on ISA 3.0 system.

meissner at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu May 19 14:47:00 GMT 2016


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71201

            Bug ID: 71201
           Summary: PowerPC XXPERM instruction fails on ISA 3.0 system.
           Product: gcc
           Version: 6.1.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 6.1 added support for the XXPERM instruction for the PowerPC ISA 3.0.  The
XXPERM instruction is essentially a 4 operand instruction, with only 3 operands
in the instruction (the target register overlaps with the first input
register).  The Power9 hardware has fusion support where if the instruction
that precedes the XXPERM is a XXLOR move instruction to set the first input
argument, it is fused with the XXPERM.  I added code to support this fusion.

Unfortunately, in running the testsuite on the power9 simulator, we discovered
that the test gcc.c-torture/execute/pr56866.c would fail because the fusion
alternatives confused the register allocator and/or the passes after the
register allocator.


More information about the Gcc-bugs mailing list