summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@gmail.com>2017-02-25 19:18:08 +0000
committerCraig Topper <craig.topper@gmail.com>2017-02-25 19:18:08 +0000
commit0524035fb497cd7039831f9272bcf40ef4eb274a (patch)
treecc97fbc3aebb7972e33dfb16d091573a8240950a
parent9b43d459bffb3e29a01f020f01b60e73742e9469 (diff)
downloadbcm5719-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.ll12
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 ) {
OpenPOWER on IntegriCloud