Files
rk35xx-android14/external/llvm/test/CodeGen/SPARC/LeonInsertNOPLoadPassUT.ll
T
hmz007 36ed224bac Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a)
Signed-off-by: hmz007 <hmz007@gmail.com>
Change-Id: Ib87fdbe7a0be7dc961af3500fe9ea4589a127f9f
2024-10-29 18:12:02 +08:00

43 lines
1.0 KiB
LLVM
Executable File

; RUN: llc %s -O0 -march=sparc -mcpu=ut699 -o - | FileCheck %s
; RUN: llc %s -O0 -march=sparc -mcpu=leon3 -mattr=+insertnopload -o - | FileCheck %s
; CHECK-LABEL: ld_float_test
; CHECK: ld [%o0+%lo(.LCPI0_0)], %f0
; CHECK-NEXT: nop
define float @ld_float_test() #0 {
entry:
%f = alloca float, align 4
store float 0x3FF3C08320000000, float* %f, align 4
%0 = load float, float* %f, align 4
ret float %0
}
; CHECK-LABEL: ld_i32_test
; CHECK: ld [%o0], %o0
; CHECK-NEXT: nop
define i32 @ld_i32_test(i32 *%p) {
%res = load i32, i32* %p
ret i32 %res
}
; CHECK-LABEL: ld_inlineasm_test_1
; CHECK: ld [%o0], %o0
; CHECK-NEXT: !NO_APP
; CHECK-NEXT: nop
define float @ld_inlineasm_test_1(float* %a) {
entry:
%res = tail call float asm sideeffect "ld [$1], $0", "=r,r"(float* %a)
ret float %res
}
; CHECK-LABEL: ld_inlineasm_test_2
; CHECK: ld [%o0], %o0
; CHECK-NEXT: !NO_APP
; CHECK-NEXT: nop
define i32 @ld_inlineasm_test_2(i32* %a) {
entry:
%res = tail call i32 asm sideeffect "ld [$1], $0", "=r,r"(i32* %a)
ret i32 %res
}