From 35f15e54a91652738d7d3fd858e0389001d3d806 Mon Sep 17 00:00:00 2001 From: Cameron McInally Date: Wed, 19 Feb 2014 15:16:09 +0000 Subject: [PATCH] Fix AVX512 vector sqrt assembly strings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@201681 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/X86/X86InstrAVX512.td | 8 ++++---- test/CodeGen/X86/avx512-arith.ll | 18 ++++++++++++++++++ 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/lib/Target/X86/X86InstrAVX512.td b/lib/Target/X86/X86InstrAVX512.td index f6a5a25a542..3b19410ac73 100644 --- a/lib/Target/X86/X86InstrAVX512.td +++ b/lib/Target/X86/X86InstrAVX512.td @@ -3275,25 +3275,25 @@ multiclass avx512_sqrt_packed opc, string OpcodeStr, SDNode OpNode, Intrinsic V16F32Int, Intrinsic V8F64Int, OpndItins itins_s, OpndItins itins_d> { def PSZrr :AVX512PSI, EVEX, EVEX_V512; let mayLoad = 1 in def PSZrm : AVX512PSI, EVEX, EVEX_V512, EVEX_CD8<32, CD8VF>; def PDZrr : AVX512PDI, EVEX, EVEX_V512; let mayLoad = 1 in def PDZrm : AVX512PDI, EVEX, EVEX_V512, EVEX_CD8<64, CD8VF>; diff --git a/test/CodeGen/X86/avx512-arith.ll b/test/CodeGen/X86/avx512-arith.ll index 223c023a8a4..3966552e95f 100644 --- a/test/CodeGen/X86/avx512-arith.ll +++ b/test/CodeGen/X86/avx512-arith.ll @@ -224,6 +224,24 @@ define float @sqrtC(float %a) nounwind { ret float %b } +; CHECK-LABEL: sqrtD +; CHECK: vsqrtps {{.*}} +; CHECK: ret +declare <16 x float> @llvm.sqrt.v16f32(<16 x float>) +define <16 x float> @sqrtD(<16 x float> %a) nounwind { + %b = call <16 x float> @llvm.sqrt.v16f32(<16 x float> %a) + ret <16 x float> %b +} + +; CHECK-LABEL: sqrtE +; CHECK: vsqrtpd {{.*}} +; CHECK: ret +declare <8 x double> @llvm.sqrt.v8f64(<8 x double>) +define <8 x double> @sqrtE(<8 x double> %a) nounwind { + %b = call <8 x double> @llvm.sqrt.v8f64(<8 x double> %a) + ret <8 x double> %b +} + ; CHECK-LABEL: fadd_broadcast ; CHECK: LCP{{.*}}(%rip){1to16}, %zmm0, %zmm0 ; CHECK: ret -- 2.34.1