diff options
Diffstat (limited to 'llvm/test/CodeGen/AArch64/arm64-variadic-aapcs.ll')
| -rw-r--r-- | llvm/test/CodeGen/AArch64/arm64-variadic-aapcs.ll | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/llvm/test/CodeGen/AArch64/arm64-variadic-aapcs.ll b/llvm/test/CodeGen/AArch64/arm64-variadic-aapcs.ll index a09853a0b40..375877c5179 100644 --- a/llvm/test/CodeGen/AArch64/arm64-variadic-aapcs.ll +++ b/llvm/test/CodeGen/AArch64/arm64-variadic-aapcs.ll @@ -32,9 +32,11 @@ define void @test_simple(i32 %n, ...) { ; CHECK: add [[VR_TOP:x[0-9]+]], [[VR_TOPTMP]], #128 ; CHECK: str [[VR_TOP]], [x[[VA_LIST]], #16] -; CHECK: mov [[GRVR:x[0-9]+]], #-545460846720 -; CHECK: movk [[GRVR]], #65480 -; CHECK: str [[GRVR]], [x[[VA_LIST]], #24] +; CHECK: mov [[GR_OFFS:w[0-9]+]], #-56 +; CHECK: str [[GR_OFFS]], [x[[VA_LIST]], #24] + +; CHECK: orr [[VR_OFFS:w[0-9]+]], wzr, #0xffffff80 +; CHECK: str [[VR_OFFS]], [x[[VA_LIST]], #28] %addr = bitcast %va_list* @var to i8* call void @llvm.va_start(i8* %addr) @@ -68,9 +70,11 @@ define void @test_fewargs(i32 %n, i32 %n1, i32 %n2, float %m, ...) { ; CHECK: add [[VR_TOP:x[0-9]+]], [[VR_TOPTMP]], #112 ; CHECK: str [[VR_TOP]], [x[[VA_LIST]], #16] -; CHECK: mov [[GRVR_OFFS:x[0-9]+]], #-40 -; CHECK: movk [[GRVR_OFFS]], #65424, lsl #32 -; CHECK: str [[GRVR_OFFS]], [x[[VA_LIST]], #24] +; CHECK: mov [[GR_OFFS:w[0-9]+]], #-40 +; CHECK: str [[GR_OFFS]], [x[[VA_LIST]], #24] + +; CHECK: mov [[VR_OFFS:w[0-9]+]], #-11 +; CHECK: str [[VR_OFFS]], [x[[VA_LIST]], #28] %addr = bitcast %va_list* @var to i8* call void @llvm.va_start(i8* %addr) |

