Skip to content

Commit 6a34b12

Browse files
[NFC] Extend InjectTLIMappings pass testing (#66898)
This patch adds sleefgnuabi and ArmPL vector libraries to testing of InjectTLIMappings pass.
1 parent ac29405 commit 6a34b12

File tree

1 file changed

+37
-10
lines changed

1 file changed

+37
-10
lines changed

llvm/test/Transforms/Util/add-TLI-mappings.ll

Lines changed: 37 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
1-
; RUN: opt -vector-library=SVML -passes=inject-tli-mappings -S < %s | FileCheck %s --check-prefixes=COMMON,SVML
2-
; RUN: opt -vector-library=MASSV -passes=inject-tli-mappings -S < %s | FileCheck %s --check-prefixes=COMMON,MASSV
3-
; RUN: opt -vector-library=LIBMVEC-X86 -passes=inject-tli-mappings -S < %s | FileCheck %s --check-prefixes=COMMON,LIBMVEC-X86
4-
; RUN: opt -vector-library=Accelerate -passes=inject-tli-mappings -S < %s | FileCheck %s --check-prefixes=COMMON,ACCELERATE
5-
6-
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
7-
target triple = "x86_64-unknown-linux-gnu"
1+
; RUN: opt -mtriple=x86_64-unknown-linux-gnu -vector-library=SVML -passes=inject-tli-mappings -S < %s | FileCheck %s --check-prefixes=COMMON,SVML
2+
; RUN: opt -mtriple=powerpc64-unknown-linux-gnu -vector-library=MASSV -passes=inject-tli-mappings -S < %s | FileCheck %s --check-prefixes=COMMON,MASSV
3+
; RUN: opt -mtriple=x86_64-unknown-linux-gnu -vector-library=LIBMVEC-X86 -passes=inject-tli-mappings -S < %s | FileCheck %s --check-prefixes=COMMON,LIBMVEC-X86
4+
; RUN: opt -mtriple=x86_64-unknown-linux-gnu -vector-library=Accelerate -passes=inject-tli-mappings -S < %s | FileCheck %s --check-prefixes=COMMON,ACCELERATE
5+
; RUN: opt -mtriple=aarch64-unknown-linux-gnu -vector-library=sleefgnuabi -passes=inject-tli-mappings -S < %s | FileCheck %s --check-prefixes=COMMON,SLEEFGNUABI
6+
; RUN: opt -mtriple=aarch64-unknown-linux-gnu -vector-library=ArmPL -passes=inject-tli-mappings -S < %s | FileCheck %s --check-prefixes=COMMON,ARMPL
87

98
; COMMON-LABEL: @llvm.compiler.used = appending global
109
; SVML-SAME: [6 x ptr] [
@@ -22,6 +21,16 @@ target triple = "x86_64-unknown-linux-gnu"
2221
; LIBMVEC-X86-SAME: [2 x ptr] [
2322
; LIBMVEC-X86-SAME: ptr @_ZGVbN2v_sin,
2423
; LIBMVEC-X86-SAME: ptr @_ZGVdN4v_sin
24+
; SLEEFGNUABI-SAME: [4 x ptr] [
25+
; SLEEFGNUABI-SAME: ptr @_ZGVnN2v_sin,
26+
; SLEEFGNUABI-SAME: ptr @_ZGVsMxv_sin,
27+
; SLEEFGNUABI_SAME; ptr @_ZGVnN4v_log10f,
28+
; SLEEFGNUABI-SAME: ptr @_ZGVsMxv_log10f
29+
; ARMPL-SAME: [4 x ptr] [
30+
; ARMPL-SAME: ptr @armpl_vsinq_f64,
31+
; ARMPL-SAME: ptr @armpl_svsin_f64_x,
32+
; ARMPL-SAME: ptr @armpl_vlog10q_f32,
33+
; ARMPL-SAME: ptr @armpl_svlog10_f32_x
2534
; COMMON-SAME: ], section "llvm.metadata"
2635

2736
define double @sin_f64(double %in) {
@@ -30,8 +39,10 @@ define double @sin_f64(double %in) {
3039
; MASSV: call double @sin(double %{{.*}}) #[[SIN:[0-9]+]]
3140
; ACCELERATE: call double @sin(double %{{.*}})
3241
; LIBMVEC-X86: call double @sin(double %{{.*}}) #[[SIN:[0-9]+]]
42+
; SLEEFGNUABI: call double @sin(double %{{.*}}) #[[SIN:[0-9]+]]
43+
; ARMPL: call double @sin(double %{{.*}}) #[[SIN:[0-9]+]]
3344
; No mapping of "sin" to a vector function for Accelerate.
34-
; ACCELERATE-NOT: _ZGV_LLVM_{{.*}}_sin({{.*}})
45+
; ACCELERATE-NOT: _ZGV_LLVM_{{.*}}_sin({{.*}})
3546
%call = tail call double @sin(double %in)
3647
ret double %call
3748
}
@@ -41,11 +52,13 @@ declare double @sin(double) #0
4152
define float @call_llvm.log10.f32(float %in) {
4253
; COMMON-LABEL: @call_llvm.log10.f32(
4354
; SVML: call float @llvm.log10.f32(float %{{.*}})
44-
; LIBMVEC-X86: call float @llvm.log10.f32(float %{{.*}})
55+
; LIBMVEC-X86: call float @llvm.log10.f32(float %{{.*}})
4556
; MASSV: call float @llvm.log10.f32(float %{{.*}}) #[[LOG10:[0-9]+]]
4657
; ACCELERATE: call float @llvm.log10.f32(float %{{.*}}) #[[LOG10:[0-9]+]]
58+
; SLEEFGNUABI: call float @llvm.log10.f32(float %{{.*}}) #[[LOG10:[0-9]+]]
59+
; ARMPL: call float @llvm.log10.f32(float %{{.*}}) #[[LOG10:[0-9]+]]
4760
; No mapping of "llvm.log10.f32" to a vector function for SVML.
48-
; SVML-NOT: _ZGV_LLVM_{{.*}}_llvm.log10.f32({{.*}})
61+
; SVML-NOT: _ZGV_LLVM_{{.*}}_llvm.log10.f32({{.*}})
4962
; LIBMVEC-X86-NOT: _ZGV_LLVM_{{.*}}_llvm.log10.f32({{.*}})
5063
%call = tail call float @llvm.log10.f32(float %in)
5164
ret float %call
@@ -70,3 +83,17 @@ attributes #0 = { nounwind readnone }
7083
; LIBMVEC-X86: attributes #[[SIN]] = { "vector-function-abi-variant"=
7184
; LIBMVEC-X86-SAME: "_ZGV_LLVM_N2v_sin(_ZGVbN2v_sin),
7285
; LIBMVEC-X86-SAME: _ZGV_LLVM_N4v_sin(_ZGVdN4v_sin)" }
86+
87+
; SLEEFGNUABI: attributes #[[SIN]] = { "vector-function-abi-variant"=
88+
; SLEEFGNUABI-SAME: "_ZGV_LLVM_N2v_sin(_ZGVnN2v_sin),
89+
; SLEEFGNUABI-SAME: _ZGV_LLVM_Mxv_sin(_ZGVsMxv_sin)" }
90+
; SLEEFGNUABI: attributes #[[LOG10]] = { "vector-function-abi-variant"=
91+
; SLEEFGNUABI-SAME: "_ZGV_LLVM_N4v_llvm.log10.f32(_ZGVnN4v_log10f),
92+
; SLEEFGNUABI-SAME: _ZGV_LLVM_Mxv_llvm.log10.f32(_ZGVsMxv_log10f)" }
93+
94+
; ARMPL: attributes #[[SIN]] = { "vector-function-abi-variant"=
95+
; ARMPL-SAME: "_ZGV_LLVM_N2v_sin(armpl_vsinq_f64),
96+
; ARMPL-SAME _ZGV_LLVM_Mxv_sin(armpl_svsin_f64_x)" }
97+
; ARMPL: attributes #[[LOG10]] = { "vector-function-abi-variant"=
98+
; ARMPL-SAME: "_ZGV_LLVM_N4v_llvm.log10.f32(armpl_vlog10q_f32),
99+
; ARMPL-SAME _ZGV_LLVM_Mxv_llvm.log10.f32(armpl_svlog10_f32_x)" }

0 commit comments

Comments
 (0)