1 // RUN: %clang_cc1 -O3 -triple aarch64 -target-feature +sve -mvscale-min=1 -mvscale-max=1 -emit-llvm -o - %s | FileCheck %s --check-prefixes=CHECK-C
2 // RUN: %clang_cc1 -x c++ -O3 -triple aarch64 -target-feature +sve -mvscale-min=1 -mvscale-max=1 -emit-llvm -o - %s | FileCheck %s --check-prefixes=CHECK-CXX
4 typedef __SVFloat32_t fvec32
__attribute__((arm_sve_vector_bits(128)));
6 // PST containing an empty union: when compiled as C pass it in registers,
7 // when compiled as C++ - in memory.
21 // CHECK-C: declare void @use0(<vscale x 4 x float>, <vscale x 4 x float>, <vscale x 4 x float>, <vscale x 4 x float>)
22 // CHECK-CXX: declare void @use0(ptr noundef)
26 // PST containing an empty union with `[[no_unique_address]]`` - pass in registers.
33 extern "C" void use1(S1
);
37 // CHECK-CXX: declare void @use1(<vscale x 4 x float>, <vscale x 4 x float>, <vscale x 4 x float>, <vscale x 4 x float>)