xref: /llvm-project/llvm/test/CodeGen/AArch64/fast-isel-const-float.ll (revision 2b3becb41d2b3f2931f78643af23ce9a3842ab52)
1*2b3becb4Szhongyunde; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2*2b3becb4Szhongyunde; RUN: llc -mtriple=aarch64-none-linux-gnu -global-isel -verify-machineinstrs < %s | FileCheck %s --check-prefix=GISEL
3*2b3becb4Szhongyunde; RUN: llc -mtriple=aarch64-none-linux-gnu -fast-isel -verify-machineinstrs < %s | FileCheck %s --check-prefix=FISEL
4*2b3becb4Szhongyunde
5*2b3becb4Szhongyunde; float foo(void) { return float(2147483648); }
6*2b3becb4Szhongyundedefine float @select_fp_const() {
7*2b3becb4Szhongyunde; CHECK-LABEL: select_opt4
8*2b3becb4Szhongyunde; CHECK: movi v0.2s, #79, lsl #24
9*2b3becb4Szhongyunde; GISEL-LABEL: select_fp_const:
10*2b3becb4Szhongyunde; GISEL:       // %bb.0: // %entry
11*2b3becb4Szhongyunde; GISEL-NEXT:    movi v0.2s, #79, lsl #24
12*2b3becb4Szhongyunde; GISEL-NEXT:    ret
13*2b3becb4Szhongyunde;
14*2b3becb4Szhongyunde; FISEL-LABEL: select_fp_const:
15*2b3becb4Szhongyunde; FISEL:       // %bb.0: // %entry
16*2b3becb4Szhongyunde; FISEL-NEXT:    adrp x8, .LCPI0_0
17*2b3becb4Szhongyunde; FISEL-NEXT:    ldr s0, [x8, :lo12:.LCPI0_0]
18*2b3becb4Szhongyunde; FISEL-NEXT:    ret
19*2b3becb4Szhongyundeentry:
20*2b3becb4Szhongyunde  ret float 0x41E0000000000000
21*2b3becb4Szhongyunde}
22