[PATCH] D16589: [AVX512] add vfmadd132ss and vfmadd132sd Intrinsic

Asaf Badouh via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 27 01:55:11 PST 2016


AsafBadouh added inline comments.

================
Comment at: lib/Target/X86/X86ISelLowering.cpp:16846
@@ +16845,3 @@
+      if (IntrData->Type == FMA_OP_MASK_SCA_RM)
+        return getScalarMaskingNode(DAG.getNode(IntrWithRoundingModeOpcode, dl,
+                                                Op.getValueType(), Src1, Src2,
----------------
in the scalar version you always take this case and use "IntrWithRoundingModeOpcode". therefore,  you always use "X86ISD::FMADD_RND".



================
Comment at: lib/Target/X86/X86InstrAVX512.td:4672
@@ -4672,2 +4671,3 @@
+                (_.VT (OpNodeRnd _.RC:$src1, _.RC:$src3, _.RC:$src2, (i32 FROUND_CURRENT))),
                 (_.VT (OpNode _.RC:$src1,
                        (_.VT (scalar_to_vector(_.ScalarLdFrag addr:$src3))),
----------------
I think RM node should be with OpNodeRnd

================
Comment at: lib/Target/X86/X86IntrinsicsInfo.h:27
@@ -26,3 +26,3 @@
   INTR_TYPE_3OP_MASK, INTR_TYPE_3OP_MASK_RM, INTR_TYPE_3OP_IMM8_MASK,
-  FMA_OP_MASK, FMA_OP_MASKZ, FMA_OP_MASK3, VPERM_3OP_MASK,
+  FMA_OP_MASK, FMA_OP_MASK_SCA_RM,FMA_OP_MASKZ, FMA_OP_MASK3, VPERM_3OP_MASK,
   VPERM_3OP_MASKZ, INTR_TYPE_SCALAR_MASK,
----------------
add space
maybe change SCA->SCALAR, to keep it consistent , or just S (like in FIXUPIMMS).

================
Comment at: lib/Target/X86/X86IntrinsicsInfo.h:2061
@@ +2060,3 @@
+                     X86ISD::FMADD_RND),
+  X86_INTRINSIC_DATA(avx512_vfmaddss3_round, FMA_OP_MASK_SCA_RM, X86ISD::FMADD,
+                     X86ISD::FMADD_RND),
----------------
you never use X86ISD::FMADD for the intrinsics.
see comment in lib/Target/X86/X86ISelLowering.cpp line 


http://reviews.llvm.org/D16589





More information about the llvm-commits mailing list