mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-22 18:54:02 +01:00
038f89dd12
We don't currently support passing unnamed variadic SVE arguments so I've added a fatal error if we hit such cases to prevent any silent ABI issues in future. Differential Revision: https://reviews.llvm.org/D90230
13 lines
496 B
LLVM
13 lines
496 B
LLVM
; RUN: not --crash llc -mtriple aarch64-linux-gnu -mattr=+sve <%s 2>&1 | FileCheck %s
|
|
|
|
declare i32 @sve_printf(i8*, <vscale x 4 x i32>, ...)
|
|
|
|
@.str_1 = internal constant [6 x i8] c"boo!\0A\00"
|
|
|
|
; CHECK: Passing SVE types to variadic functions is currently not supported
|
|
define void @foo(<vscale x 4 x i32> %x) {
|
|
%f = getelementptr [6 x i8], [6 x i8]* @.str_1, i64 0, i64 0
|
|
call i32 (i8*, <vscale x 4 x i32>, ...) @sve_printf(i8* %f, <vscale x 4 x i32> %x, <vscale x 4 x i32> %x)
|
|
ret void
|
|
}
|