[PATCH] D153034: [PowerPC][Future] Enable __builtin_mma_xxm[t|f]acc on PFuture

Kamau Bridgeman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 15 07:58:06 PDT 2023


kamaub created this revision.
kamaub added reviewers: PowerPC, stefanp, nemanjai, amyk.
Herald added subscribers: shchenz, kbarton, hiraditya.
Herald added a project: All.
kamaub requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

The instructions xxmtacc and xxmfacc are difficult to emit using the
PFuture ISA because their register class requires an overlap of the
vector and accumulator(acc) registers which does not exist in PFuture.

PFuture ISA introduces two new instructions, dmxxinstdmr512 and
dmxxextfdmr512, which handle inserting and extracting from acc registers
better than the Power10 era instructions, xxmtacc and xxmfacc, can.
These new instructions are always produced when lowering the use of
the v512i1 (vector_quad in C) type. Since these two intrinsics take one
argument of type v512i1 a corresponding dmxx[inst|extf]dmr512
is always generated for the operand negating the need to produce the
xxm[t|f]acc. In this patch we account for this by custom lowering these
intrinsics to produce no instructions on PFuture.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D153034

Files:
  llvm/lib/Target/PowerPC/PPCISelLowering.cpp
  llvm/test/CodeGen/PowerPC/mmaplus-intrinsics.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D153034.531759.patch
Type: text/x-patch
Size: 33813 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230615/d8084050/attachment-0001.bin>


More information about the llvm-commits mailing list