diff options
author | Craig Topper <craig.topper@gmail.com> | 2017-02-25 19:18:08 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@gmail.com> | 2017-02-25 19:18:08 +0000 |
commit | 0524035fb497cd7039831f9272bcf40ef4eb274a (patch) | |
tree | cc97fbc3aebb7972e33dfb16d091573a8240950a | |
parent | 9b43d459bffb3e29a01f020f01b60e73742e9469 (diff) | |
download | bcm5719-llvm-0524035fb497cd7039831f9272bcf40ef4eb274a.tar.gz bcm5719-llvm-0524035fb497cd7039831f9272bcf40ef4eb274a.zip |
[AVX-512] Add an additional test case to show the execution domain for vrqsrtsd is wrong.
llvm-svn: 296269
-rw-r--r-- | llvm/test/CodeGen/X86/avx512er-intrinsics.ll | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/X86/avx512er-intrinsics.ll b/llvm/test/CodeGen/X86/avx512er-intrinsics.ll index 2a48eb5a8f5..24fb056d9ed 100644 --- a/llvm/test/CodeGen/X86/avx512er-intrinsics.ll +++ b/llvm/test/CodeGen/X86/avx512er-intrinsics.ll @@ -152,6 +152,18 @@ define <2 x double> @test_rsqrt28_sd_maskz(<2 x double> %a0) { ret <2 x double> %res } +define <2 x double> @test_rsqrt28_sd_mask(<2 x double> %a0, <2 x double> %b0, <2 x double> %c0) { +; CHECK-LABEL: test_rsqrt28_sd_mask: +; CHECK: # BB#0: +; CHECK-NEXT: kxnorw %k0, %k0, %k0 # encoding: [0xc5,0xfc,0x46,0xc0] +; CHECK-NEXT: kshiftrw $15, %k0, %k1 # encoding: [0xc4,0xe3,0xf9,0x30,0xc8,0x0f] +; CHECK-NEXT: vrsqrt28sd {sae}, %xmm1, %xmm0, %xmm2 {%k1} # encoding: [0x62,0xf2,0xfd,0x19,0xcd,0xd1] +; CHECK-NEXT: vmovaps %xmm2, %xmm0 # encoding: [0xc5,0xf8,0x28,0xc2] +; CHECK-NEXT: retq # encoding: [0xc3] + %res = call <2 x double> @llvm.x86.avx512.rsqrt28.sd(<2 x double> %a0, <2 x double> %b0, <2 x double> %c0, i8 7, i32 8) ; + ret <2 x double> %res +} + declare <2 x double> @llvm.x86.avx512.rsqrt28.sd(<2 x double>, <2 x double>, <2 x double>, i8, i32) nounwind readnone define <2 x double> @test_rsqrt28_sd_maskz_mem(<2 x double> %a0, double* %ptr ) { |