[all-commits] [llvm/llvm-project] c13e3e: [PowerPC][Power10] Exploit the xxsplti32dx instruc...

Amy Kwan via All-commits all-commits at lists.llvm.org
Mon Jul 6 18:29:14 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: c13e3e2c2e0c774917bcc7f4f50c29c8133d3a55
      https://github.com/llvm/llvm-project/commit/c13e3e2c2e0c774917bcc7f4f50c29c8133d3a55
  Author: Amy Kwan <amy.kwan1 at ibm.com>
  Date:   2020-07-06 (Mon, 06 Jul 2020)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.h
    M llvm/lib/Target/PowerPC/PPCInstrPrefix.td
    A llvm/test/CodeGen/PowerPC/p10-splatImm32.ll

  Log Message:
  -----------
  [PowerPC][Power10] Exploit the xxsplti32dx instruction when lowering VECTOR_SHUFFLE.

This patch aims to exploit the xxsplti32dx XT, IX, IMM32 instruction when lowering VECTOR_SHUFFLEs.
We implement lowerToXXSPLTI32DX when lowering vector shuffles to check if:
- Element size is 4 bytes
- The RHS is a constant vector (and constant splat of 4-bytes)
- The shuffle mask is a suitable mask for the XXSPLTI32DX instruction where it is one of the 32 masks:
<0, 4-7, 2, 4-7>
<4-7, 1, 4-7, 3>

Differential Revision: https://reviews.llvm.org/D83245




More information about the All-commits mailing list