diff options
-rw-r--r-- | llvm/lib/Target/X86/X86InstrAVX512.td | 8 | ||||
-rw-r--r-- | llvm/test/CodeGen/X86/avx512dq-intrinsics.ll | 6 |
2 files changed, 6 insertions, 8 deletions
diff --git a/llvm/lib/Target/X86/X86InstrAVX512.td b/llvm/lib/Target/X86/X86InstrAVX512.td index 12b37874485..5a59645946c 100644 --- a/llvm/lib/Target/X86/X86InstrAVX512.td +++ b/llvm/lib/Target/X86/X86InstrAVX512.td @@ -2365,18 +2365,18 @@ multiclass avx512_scalar_fpclass<bits<8> opc, string OpcodeStr, SDNode OpNode, (OpNode (_.VT _.RC:$src1), (i32 imm:$src2))))], NoItinerary>, EVEX_K; def rm : AVX512<opc, MRMSrcMem, (outs _.KRC:$dst), - (ins _.ScalarMemOp:$src1, i32u8imm:$src2), + (ins _.IntScalarMemOp:$src1, i32u8imm:$src2), OpcodeStr##_.Suffix## "\t{$src2, $src1, $dst|$dst, $src1, $src2}", [(set _.KRC:$dst, - (OpNode (_.VT (scalar_to_vector (_.ScalarLdFrag addr:$src1))), + (OpNode _.ScalarIntMemCPat:$src1, (i32 imm:$src2)))], NoItinerary>; def rmk : AVX512<opc, MRMSrcMem, (outs _.KRC:$dst), - (ins _.KRCWM:$mask, _.ScalarMemOp:$src1, i32u8imm:$src2), + (ins _.KRCWM:$mask, _.IntScalarMemOp:$src1, i32u8imm:$src2), OpcodeStr##_.Suffix## "\t{$src2, $src1, $dst {${mask}}|$dst {${mask}}, $src1, $src2}", [(set _.KRC:$dst,(or _.KRCWM:$mask, - (OpNode (_.VT (scalar_to_vector (_.ScalarLdFrag addr:$src1))), + (OpNode _.ScalarIntMemCPat:$src1, (i32 imm:$src2))))], NoItinerary>, EVEX_K; } } diff --git a/llvm/test/CodeGen/X86/avx512dq-intrinsics.ll b/llvm/test/CodeGen/X86/avx512dq-intrinsics.ll index 49f439f8e27..529f58d6d6e 100644 --- a/llvm/test/CodeGen/X86/avx512dq-intrinsics.ll +++ b/llvm/test/CodeGen/X86/avx512dq-intrinsics.ll @@ -399,8 +399,7 @@ define i8 @test_int_x86_avx512_mask_fpclass_sd(<2 x double> %x0, i8 %x1) { define i8 @test_int_x86_avx512_mask_fpclass_sd_load(<2 x double>* %x0ptr) { ; CHECK-LABEL: test_int_x86_avx512_mask_fpclass_sd_load: ; CHECK: ## BB#0: -; CHECK-NEXT: vmovapd (%rdi), %xmm0 -; CHECK-NEXT: vfpclasssd $4, %xmm0, %k0 +; CHECK-NEXT: vfpclasssd $4, (%rdi), %k0 ; CHECK-NEXT: kmovw %k0, %eax ; CHECK-NEXT: ## kill: %AL<def> %AL<kill> %EAX<kill> ; CHECK-NEXT: retq @@ -431,8 +430,7 @@ define i8 @test_int_x86_avx512_mask_fpclass_ss(<4 x float> %x0, i8 %x1) { define i8 @test_int_x86_avx512_mask_fpclass_ss_load(<4 x float>* %x0ptr, i8 %x1) { ; CHECK-LABEL: test_int_x86_avx512_mask_fpclass_ss_load: ; CHECK: ## BB#0: -; CHECK-NEXT: vmovaps (%rdi), %xmm0 -; CHECK-NEXT: vfpclassss $4, %xmm0, %k0 +; CHECK-NEXT: vfpclassss $4, (%rdi), %k0 ; CHECK-NEXT: kmovw %k0, %eax ; CHECK-NEXT: ## kill: %AL<def> %AL<kill> %EAX<kill> ; CHECK-NEXT: retq |