[PATCH] D33188: [X86][AVX512] Improve lowering of AVX512 compare intrinsics (remove redundant shift left+right instructions).

Zvi Rackover via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Jun 4 12:47:01 PDT 2017


zvi added inline comments.


================
Comment at: lib/Target/X86/X86ISelLowering.cpp:7893
+// except for the first one. (CONCAT_VECTORS Op, 0, 0,...,0)
+static bool isExpandWithZeros(const SDValue &Op) {
+  assert(Op.getOpcode() == ISD::CONCAT_VECTORS &&
----------------
Can all these helpers return SDValue() instead of false? That would save the need to pass and modify the reference argument.


================
Comment at: lib/Target/X86/X86InstrAVX512.td:2205
+// VPCMPB - i8
+defm : axv512_icmp_cc_packed_lowering<v16i8x_info, v32i1_info, X86cmpm,
+                                      "VPCMPBZ128", [HasBWI, HasVLX]>;
----------------
*axv -> avx


================
Comment at: lib/Target/X86/X86InstrAVX512.td:3031
 
+let Predicates = [HasAVX512, NoVLX] in {
+def : Pat<(v8i1 (X86pcmpgtm (v8i32 VR256X:$src1), (v8i32 VR256X:$src2))),
----------------
Are all these covered by tests?


https://reviews.llvm.org/D33188





More information about the llvm-commits mailing list