[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