xref: /llvm-project/llvm/test/CodeGen/SPARC/LeonInsertNOPLoadPassUT.ll (revision 728490257ecc09ada707a0390303bd3c61027a53)
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 2
2; RUN: llc %s -O0 -mtriple=sparc -mcpu=ut699 -o - | FileCheck %s
3; RUN: llc %s -O0 -mtriple=sparc -mcpu=leon3 -mattr=+insertnopload -o - | FileCheck %s
4
5define float @ld_float_test() #0 {
6; CHECK-LABEL: ld_float_test:
7; CHECK:         .cfi_startproc
8; CHECK-NEXT:  ! %bb.0: ! %entry
9; CHECK-NEXT:    add %sp, -96, %sp
10; CHECK-NEXT:    .cfi_def_cfa_register %fp
11; CHECK-NEXT:    .cfi_window_save
12; CHECK-NEXT:    .cfi_register %o7, %i7
13; CHECK-NEXT:    sethi 1042305, %o0
14; CHECK-NEXT:    or %o0, 25, %o0
15; CHECK-NEXT:    st %o0, [%sp+92]
16; CHECK-NEXT:    sethi %hi(.LCPI0_0), %o0
17; CHECK-NEXT:    ld [%o0+%lo(.LCPI0_0)], %f0
18; CHECK-NEXT:    nop
19; CHECK-NEXT:    retl
20; CHECK-NEXT:    add %sp, 96, %sp
21entry:
22  %f = alloca float, align 4
23  store float 0x3FF3C08320000000, ptr %f, align 4
24  %0 = load float, ptr %f, align 4
25  ret float %0
26}
27
28define i32 @ld_i32_test(ptr %p) {
29; CHECK-LABEL: ld_i32_test:
30; CHECK:         .cfi_startproc
31; CHECK-NEXT:  ! %bb.0:
32; CHECK-NEXT:    ld [%o0], %o0
33; CHECK-NEXT:    nop
34; CHECK-NEXT:    retl
35; CHECK-NEXT:    nop
36  %res = load i32, ptr %p
37  ret i32 %res
38}
39