[clang] [llvm] [X86][AMX] Support AMX-MOVRS (PR #115151)
Phoebe Wang via cfe-commits
cfe-commits at lists.llvm.org
Sat Nov 9 19:28:17 PST 2024
================
@@ -5342,9 +5411,45 @@ void X86DAGToDAGISel::Select(SDNode *Node) {
SDValue Disp = CurDAG->getTargetConstant(0, dl, MVT::i32);
SDValue Segment = CurDAG->getRegister(0, MVT::i16);
SDValue Chain = Node->getOperand(0);
- MachineSDNode *CNode;
SDValue Ops[] = {TReg, Base, Scale, Index, Disp, Segment, Chain};
- CNode = CurDAG->getMachineNode(Opc, dl, MVT::Other, Ops);
+ MachineSDNode *CNode = CurDAG->getMachineNode(Opc, dl, MVT::Other, Ops);
+ ReplaceNode(Node, CNode);
+ return;
+ }
+ case Intrinsic::x86_t2rpntlvwz0rs:
+ case Intrinsic::x86_t2rpntlvwz0rst1:
+ case Intrinsic::x86_t2rpntlvwz1rs:
+ case Intrinsic::x86_t2rpntlvwz1rst1: {
+ if (!Subtarget->hasAMXTRANSPOSE() || !Subtarget->hasAMXMOVRS())
+ break;
----------------
phoebewang wrote:
ditto.
https://github.com/llvm/llvm-project/pull/115151
More information about the cfe-commits
mailing list