xref: /llvm-project/llvm/test/CodeGen/AArch64/arm64-fp-imm.ll (revision 49d5bb4b34e3df48421681dfbd844e2cff51b3b0)
1; RUN: llc < %s -mtriple=arm64-apple-darwin | FileCheck %s
2; RUN: llc < %s -mtriple=arm64-apple-darwin -global-isel | FileCheck %s
3
4; CHECK: literal8
5; CHECK: .quad 0x400921fb54442d18
6define double @foo() {
7; CHECK: _foo:
8; CHECK: adrp x[[REG:[0-9]+]], lCPI0_0@PAGE
9; CHECK: ldr  d0, [x[[REG]], lCPI0_0@PAGEOFF]
10; CHECK-NEXT: ret
11  ret double 0x400921FB54442D18
12}
13
14define float @bar() {
15; CHECK: _bar:
16; CHECK:  mov  [[REG:w[0-9]+]], #4059
17; CHECK:  movk [[REG]], #16457, lsl #16
18; CHECK:  fmov s0, [[REG]]
19; CHECK-NEXT:  ret
20  ret float 0x400921FB60000000
21}
22
23; CHECK: literal16
24; CHECK: .quad 0
25; CHECK: .quad 0
26define fp128 @baz() {
27; CHECK: _baz:
28; CHECK:  adrp x[[REG:[0-9]+]], lCPI2_0@PAGE
29; CHECK:  ldr  q0, [x[[REG]], lCPI2_0@PAGEOFF]
30; CHECK-NEXT:  ret
31  ret fp128 0xL00000000000000000000000000000000
32}
33