brintos

brintos / llvm-project-archived public Read only

0
0
Text · 6.1 KiB · d0bde80 Raw
129 lines · cpp
1// RUN: %clang_cc1 -triple aarch64-none-linux-gnu %s -emit-llvm -o - \2// RUN:  -target-feature +sve -target-feature +bf16 -mvscale-min=1 -mvscale-max=1 \3// RUN:  | FileCheck %s --check-prefix=CHECK-1284// RUN: %clang_cc1 -triple aarch64-none-linux-gnu %s -emit-llvm -o - \5// RUN:  -target-feature +sve -target-feature +bf16 -mvscale-min=2 -mvscale-max=2 \6// RUN:  | FileCheck %s --check-prefix=CHECK-2567// RUN: %clang_cc1 -triple aarch64-none-linux-gnu %s -emit-llvm -o - \8// RUN:  -target-feature +sve -target-feature +bf16 -mvscale-min=4 -mvscale-max=4 \9// RUN:  | FileCheck %s --check-prefix=CHECK-51210// RUN: %clang_cc1 -triple aarch64-none-linux-gnu %s -emit-llvm -o - \11// RUN:  -target-feature +sve -target-feature +bf16 -mvscale-min=8 -mvscale-max=8 \12// RUN:  | FileCheck %s --check-prefix=CHECK-102413// RUN: %clang_cc1 -triple aarch64-none-linux-gnu %s -emit-llvm -o - \14// RUN:  -target-feature +sve -target-feature +bf16 -mvscale-min=16 -mvscale-max=16 \15// RUN:  | FileCheck %s --check-prefix=CHECK-204816 17#define N __ARM_FEATURE_SVE_BITS18 19typedef __SVInt8_t fixed_int8_t __attribute__((arm_sve_vector_bits(N)));20typedef __SVInt16_t fixed_int16_t __attribute__((arm_sve_vector_bits(N)));21typedef __SVInt32_t fixed_int32_t __attribute__((arm_sve_vector_bits(N)));22typedef __SVInt64_t fixed_int64_t __attribute__((arm_sve_vector_bits(N)));23 24typedef __SVUint8_t fixed_uint8_t __attribute__((arm_sve_vector_bits(N)));25typedef __SVUint16_t fixed_uint16_t __attribute__((arm_sve_vector_bits(N)));26typedef __SVUint32_t fixed_uint32_t __attribute__((arm_sve_vector_bits(N)));27typedef __SVUint64_t fixed_uint64_t __attribute__((arm_sve_vector_bits(N)));28 29typedef __SVFloat16_t fixed_float16_t __attribute__((arm_sve_vector_bits(N)));30typedef __SVFloat32_t fixed_float32_t __attribute__((arm_sve_vector_bits(N)));31typedef __SVFloat64_t fixed_float64_t __attribute__((arm_sve_vector_bits(N)));32 33typedef __SVBfloat16_t fixed_bfloat16_t __attribute__((arm_sve_vector_bits(N)));34 35typedef __SVBool_t fixed_bool_t __attribute__((arm_sve_vector_bits(N)));36 37template <typename T> struct S {};38 39// CHECK-128: _Z2f11SI9__SVE_VLSIu10__SVInt8_tLj128EEE40// CHECK-256: _Z2f11SI9__SVE_VLSIu10__SVInt8_tLj256EEE41// CHECK-512: _Z2f11SI9__SVE_VLSIu10__SVInt8_tLj512EEE42// CHECK-1024: _Z2f11SI9__SVE_VLSIu10__SVInt8_tLj1024EEE43// CHECK-2048: _Z2f11SI9__SVE_VLSIu10__SVInt8_tLj2048EEE44void f1(S<fixed_int8_t>) {}45 46// CHECK-128: _Z2f21SI9__SVE_VLSIu11__SVInt16_tLj128EEE47// CHECK-256: _Z2f21SI9__SVE_VLSIu11__SVInt16_tLj256EEE48// CHECK-512: _Z2f21SI9__SVE_VLSIu11__SVInt16_tLj512EEE49// CHECK-1024: _Z2f21SI9__SVE_VLSIu11__SVInt16_tLj1024EEE50// CHECK-2048: _Z2f21SI9__SVE_VLSIu11__SVInt16_tLj2048EEE51void f2(S<fixed_int16_t>) {}52 53// CHECK-128: _Z2f31SI9__SVE_VLSIu11__SVInt32_tLj128EEE54// CHECK-256: _Z2f31SI9__SVE_VLSIu11__SVInt32_tLj256EEE55// CHECK-512: _Z2f31SI9__SVE_VLSIu11__SVInt32_tLj512EEE56// CHECK-1024: _Z2f31SI9__SVE_VLSIu11__SVInt32_tLj1024EEE57// CHECK-2048: _Z2f31SI9__SVE_VLSIu11__SVInt32_tLj2048EEE58void f3(S<fixed_int32_t>) {}59 60// CHECK-128: _Z2f41SI9__SVE_VLSIu11__SVInt64_tLj128EEE61// CHECK-256: _Z2f41SI9__SVE_VLSIu11__SVInt64_tLj256EEE62// CHECK-512: _Z2f41SI9__SVE_VLSIu11__SVInt64_tLj512EEE63// CHECK-1024: _Z2f41SI9__SVE_VLSIu11__SVInt64_tLj1024EEE64// CHECK-2048: _Z2f41SI9__SVE_VLSIu11__SVInt64_tLj2048EEE65void f4(S<fixed_int64_t>) {}66 67// CHECK-128: _Z2f51SI9__SVE_VLSIu11__SVUint8_tLj128EEE68// CHECK-256: _Z2f51SI9__SVE_VLSIu11__SVUint8_tLj256EEE69// CHECK-512: _Z2f51SI9__SVE_VLSIu11__SVUint8_tLj512EEE70// CHECK-1024: _Z2f51SI9__SVE_VLSIu11__SVUint8_tLj1024EEE71// CHECK-2048: _Z2f51SI9__SVE_VLSIu11__SVUint8_tLj2048EEE72void f5(S<fixed_uint8_t>) {}73 74// CHECK-128: _Z2f61SI9__SVE_VLSIu12__SVUint16_tLj128EEE75// CHECK-256: _Z2f61SI9__SVE_VLSIu12__SVUint16_tLj256EEE76// CHECK-512: _Z2f61SI9__SVE_VLSIu12__SVUint16_tLj512EEE77// CHECK-1024: _Z2f61SI9__SVE_VLSIu12__SVUint16_tLj1024EEE78// CHECK-2048: _Z2f61SI9__SVE_VLSIu12__SVUint16_tLj2048EEE79void f6(S<fixed_uint16_t>) {}80 81// CHECK-128: _Z2f71SI9__SVE_VLSIu12__SVUint32_tLj128EEE82// CHECK-256: _Z2f71SI9__SVE_VLSIu12__SVUint32_tLj256EEE83// CHECK-512: _Z2f71SI9__SVE_VLSIu12__SVUint32_tLj512EEE84// CHECK-1024: _Z2f71SI9__SVE_VLSIu12__SVUint32_tLj1024EEE85// CHECK-2048: _Z2f71SI9__SVE_VLSIu12__SVUint32_tLj2048EEE86void f7(S<fixed_uint32_t>) {}87 88// CHECK-128: _Z2f81SI9__SVE_VLSIu12__SVUint64_tLj128EEE89// CHECK-256: _Z2f81SI9__SVE_VLSIu12__SVUint64_tLj256EEE90// CHECK-512: _Z2f81SI9__SVE_VLSIu12__SVUint64_tLj512EEE91// CHECK-1024: _Z2f81SI9__SVE_VLSIu12__SVUint64_tLj1024EEE92// CHECK-2048: _Z2f81SI9__SVE_VLSIu12__SVUint64_tLj2048EEE93void f8(S<fixed_uint64_t>) {}94 95// CHECK-128: _Z2f91SI9__SVE_VLSIu13__SVFloat16_tLj128EEE96// CHECK-256: _Z2f91SI9__SVE_VLSIu13__SVFloat16_tLj256EEE97// CHECK-512: _Z2f91SI9__SVE_VLSIu13__SVFloat16_tLj512EEE98// CHECK-1024: _Z2f91SI9__SVE_VLSIu13__SVFloat16_tLj1024EEE99// CHECK-2048: _Z2f91SI9__SVE_VLSIu13__SVFloat16_tLj2048EEE100void f9(S<fixed_float16_t>) {}101 102// CHECK-128: _Z3f101SI9__SVE_VLSIu13__SVFloat32_tLj128EEE103// CHECK-256: _Z3f101SI9__SVE_VLSIu13__SVFloat32_tLj256EEE104// CHECK-512: _Z3f101SI9__SVE_VLSIu13__SVFloat32_tLj512EEE105// CHECK-1024: _Z3f101SI9__SVE_VLSIu13__SVFloat32_tLj1024EEE106// CHECK-2048: _Z3f101SI9__SVE_VLSIu13__SVFloat32_tLj2048EEE107void f10(S<fixed_float32_t>) {}108 109// CHECK-128: _Z3f111SI9__SVE_VLSIu13__SVFloat64_tLj128EEE110// CHECK-256: _Z3f111SI9__SVE_VLSIu13__SVFloat64_tLj256EEE111// CHECK-512: _Z3f111SI9__SVE_VLSIu13__SVFloat64_tLj512EEE112// CHECK-1024: _Z3f111SI9__SVE_VLSIu13__SVFloat64_tLj1024EEE113// CHECK-2048: _Z3f111SI9__SVE_VLSIu13__SVFloat64_tLj2048EEE114void f11(S<fixed_float64_t>) {}115 116// CHECK-128: _Z3f121SI9__SVE_VLSIu14__SVBfloat16_tLj128EEE117// CHECK-256: _Z3f121SI9__SVE_VLSIu14__SVBfloat16_tLj256EEE118// CHECK-512: _Z3f121SI9__SVE_VLSIu14__SVBfloat16_tLj512EEE119// CHECK-1024: _Z3f121SI9__SVE_VLSIu14__SVBfloat16_tLj1024EEE120// CHECK-2048: _Z3f121SI9__SVE_VLSIu14__SVBfloat16_tLj2048EEE121void f12(S<fixed_bfloat16_t>) {}122 123// CHECK-128: _Z3f131SI9__SVE_VLSIu10__SVBool_tLj128EEE124// CHECK-256: _Z3f131SI9__SVE_VLSIu10__SVBool_tLj256EEE125// CHECK-512: _Z3f131SI9__SVE_VLSIu10__SVBool_tLj512EEE126// CHECK-1024: _Z3f131SI9__SVE_VLSIu10__SVBool_tLj1024EEE127// CHECK-2048: _Z3f131SI9__SVE_VLSIu10__SVBool_tLj2048EEE128void f13(S<fixed_bool_t>) {}129