1 // RUN: %clang_cc1 -triple aarch64-none-linux-gnu %s -emit-llvm -o - \
2 // RUN:   | FileCheck %s
3 // RUN: %clang_cc1 -triple aarch64-none-linux-gnu %s -emit-llvm -o - \
4 // RUN:   -target-feature +sve | FileCheck %s
5 
6 template<typename T> struct S {};
7 
8 // CHECK: _Z2f11SIu10__SVInt8_tE
9 void f1(S<__SVInt8_t>) {}
10 // CHECK: _Z2f21SIu11__SVInt16_tE
11 void f2(S<__SVInt16_t>) {}
12 // CHECK: _Z2f31SIu11__SVInt32_tE
13 void f3(S<__SVInt32_t>) {}
14 // CHECK: _Z2f41SIu11__SVInt64_tE
15 void f4(S<__SVInt64_t>) {}
16 // CHECK: _Z2f51SIu11__SVUint8_tE
17 void f5(S<__SVUint8_t>) {}
18 // CHECK: _Z2f61SIu12__SVUint16_tE
19 void f6(S<__SVUint16_t>) {}
20 // CHECK: _Z2f71SIu12__SVUint32_tE
21 void f7(S<__SVUint32_t>) {}
22 // CHECK: _Z2f81SIu12__SVUint64_tE
23 void f8(S<__SVUint64_t>) {}
24 // CHECK: _Z2f91SIu13__SVFloat16_tE
25 void f9(S<__SVFloat16_t>) {}
26 // CHECK: _Z3f101SIu13__SVFloat32_tE
27 void f10(S<__SVFloat32_t>) {}
28 // CHECK: _Z3f111SIu13__SVFloat64_tE
29 void f11(S<__SVFloat64_t>) {}
30 // CHECK: _Z3f121SIu10__SVBool_tE
31 void f12(S<__SVBool_t>) {}
32