diff options
Diffstat (limited to 'test/CodeGen/AArch64/literal_pools.ll')
-rw-r--r-- | test/CodeGen/AArch64/literal_pools.ll | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/test/CodeGen/AArch64/literal_pools.ll b/test/CodeGen/AArch64/literal_pools.ll index a14dfc1..e090841 100644 --- a/test/CodeGen/AArch64/literal_pools.ll +++ b/test/CodeGen/AArch64/literal_pools.ll @@ -10,19 +10,23 @@ define void @foo() { %val32_lit32 = and i32 %val32, 123456785 store volatile i32 %val32_lit32, i32* @var32 -; CHECK: ldr {{w[0-9]+}}, .LCPI0 +; CHECK: adrp x[[LITBASE:[0-9]+]], [[CURLIT:.LCPI0_[0-9]+]] +; CHECK: ldr {{w[0-9]+}}, [x[[LITBASE]], #:lo12:[[CURLIT]]] %val64_lit32 = and i64 %val64, 305402420 store volatile i64 %val64_lit32, i64* @var64 -; CHECK: ldr {{w[0-9]+}}, .LCPI0 +; CHECK: adrp x[[LITBASE:[0-9]+]], [[CURLIT:.LCPI0_[0-9]+]] +; CHECK: ldr {{w[0-9]+}}, [x[[LITBASE]], #:lo12:[[CURLIT]]] %val64_lit32signed = and i64 %val64, -12345678 store volatile i64 %val64_lit32signed, i64* @var64 -; CHECK: ldrsw {{x[0-9]+}}, .LCPI0 +; CHECK: adrp x[[LITBASE:[0-9]+]], [[CURLIT:.LCPI0_[0-9]+]] +; CHECK: ldrsw {{x[0-9]+}}, [x[[LITBASE]], #:lo12:[[CURLIT]]] %val64_lit64 = and i64 %val64, 1234567898765432 store volatile i64 %val64_lit64, i64* @var64 -; CHECK: ldr {{x[0-9]+}}, .LCPI0 +; CHECK: adrp x[[LITBASE:[0-9]+]], [[CURLIT:.LCPI0_[0-9]+]] +; CHECK: ldr {{x[0-9]+}}, [x[[LITBASE]], #:lo12:[[CURLIT]]] ret void } @@ -35,13 +39,15 @@ define void @floating_lits() { %floatval = load float* @varfloat %newfloat = fadd float %floatval, 128.0 -; CHECK: ldr {{s[0-9]+}}, .LCPI1 +; CHECK: adrp x[[LITBASE:[0-9]+]], [[CURLIT:.LCPI1_[0-9]+]] +; CHECK: ldr {{s[0-9]+}}, [x[[LITBASE]], #:lo12:[[CURLIT]]] ; CHECK: fadd store float %newfloat, float* @varfloat %doubleval = load double* @vardouble %newdouble = fadd double %doubleval, 129.0 -; CHECK: ldr {{d[0-9]+}}, .LCPI1 +; CHECK: adrp x[[LITBASE:[0-9]+]], [[CURLIT:.LCPI1_[0-9]+]] +; CHECK: ldr {{d[0-9]+}}, [x[[LITBASE]], #:lo12:[[CURLIT]]] ; CHECK: fadd store double %newdouble, double* @vardouble |