From 1a093934a9534d8048d57c97511a0c4782d5eadf Mon Sep 17 00:00:00 2001 From: Craig Topper Date: Sat, 11 Nov 2017 06:19:12 +0000 Subject: [PATCH] [X86] Set the execution domain for vptest instruction to the integer domain. llvm-svn: 317973 --- llvm/lib/Target/X86/X86InstrAVX512.td | 3 +++ llvm/test/CodeGen/X86/setcc-lowering.ll | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/llvm/lib/Target/X86/X86InstrAVX512.td b/llvm/lib/Target/X86/X86InstrAVX512.td index e106084..a432ca1 100644 --- a/llvm/lib/Target/X86/X86InstrAVX512.td +++ b/llvm/lib/Target/X86/X86InstrAVX512.td @@ -4982,6 +4982,7 @@ defm VSCALEF : avx512_fp_scalef_all<0x2C, 0x2D, "vscalef", X86scalef, X86scalefs multiclass avx512_vptest opc, string OpcodeStr, SDNode OpNode, X86VectorVTInfo _> { + let ExeDomain = _.ExeDomain in { let isCommutable = 1 in defm rr : AVX512_maskable_cmp opc, string OpcodeStr, SDNode OpNode, (_.VT (bitconvert (_.LdFrag addr:$src2))))>, EVEX_4V, EVEX_CD8<_.EltSize, CD8VF>; + } } multiclass avx512_vptest_mb opc, string OpcodeStr, SDNode OpNode, X86VectorVTInfo _> { + let ExeDomain = _.ExeDomain in defm rmb : AVX512_maskable_cmp @pr25080(<8 x i32> %a) { ; KNL-32-LABEL: pr25080: ; KNL-32: # BB#0: # %entry ; KNL-32-NEXT: # kill: %YMM0 %YMM0 %ZMM0 -; KNL-32-NEXT: vbroadcastss {{.*#+}} ymm1 = [8388607,8388607,8388607,8388607,8388607,8388607,8388607,8388607] +; KNL-32-NEXT: vpbroadcastd {{.*#+}} ymm1 = [8388607,8388607,8388607,8388607,8388607,8388607,8388607,8388607] ; KNL-32-NEXT: vptestnmd %zmm1, %zmm0, %k0 ; KNL-32-NEXT: movb $15, %al ; KNL-32-NEXT: kmovw %eax, %k1 -- 2.7.4