[PATCH] D32281: [ARM] ACLE Chapter 9 intrinsics

Eli Friedman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 24 12:37:10 PDT 2017


efriedma added inline comments.


================
Comment at: lib/Target/ARM/ARMISelLowering.cpp:3382
+    return DAG.getNode(Opc, dl,
+                       DAG.getVTList(MVT::i32, MVT::i32),
+                       Op.getOperand(1), Op.getOperand(2),
----------------
You might want to add a comment noting that there's a bit of magic to handle this in LegalizeTypes; it looks weird to replace a node which returns i64 with a node that returns (i32, i32).


================
Comment at: lib/Target/ARM/ARMInstrInfo.td:877
+    return Imm > 0 && Imm <= 16;
+  }],
     imm1_16_XFORM> {
----------------
efriedma wrote:
> ImmLeaf?
ImmLeaf?


================
Comment at: lib/Target/ARM/ARMInstrInfo.td:5736
+          (SMLAWB GPR:$a, GPR:$b, GPR:$acc)>;
+def : Pat<(int_arm_smlawt GPR:$a, GPR:$b, GPR:$acc),
+          (SMLAWT GPR:$a, GPR:$b, GPR:$acc)>;
----------------
ARMV5TEPat?  Same in other places; using plain "Pat" is a bad idea because we can end up with the wrong instruction in Thumb mode (and your tests wouldn't catch this because you don't check the encoding).


https://reviews.llvm.org/D32281





More information about the llvm-commits mailing list