Similar to 806761a762
-mtriple= specifies the full target triple while -march= merely sets the
architecture part of the default target triple (e.g. Windows, macOS),
leaving a target triple which may not make sense.
Therefore, -march= is error-prone and not recommended for tests without a target
triple. The issue has been benign as we recognize sparc*-apple-darwin as ELF instead
of rejecting it outrightly.
39 lines
1.2 KiB
LLVM
39 lines
1.2 KiB
LLVM
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 2
|
|
; RUN: llc %s -O0 -mtriple=sparc -mcpu=ut699 -o - | FileCheck %s
|
|
; RUN: llc %s -O0 -mtriple=sparc -mcpu=leon3 -mattr=+insertnopload -o - | FileCheck %s
|
|
|
|
define float @ld_float_test() #0 {
|
|
; CHECK-LABEL: ld_float_test:
|
|
; CHECK: .cfi_startproc
|
|
; CHECK-NEXT: ! %bb.0: ! %entry
|
|
; CHECK-NEXT: add %sp, -96, %sp
|
|
; CHECK-NEXT: .cfi_def_cfa_register %fp
|
|
; CHECK-NEXT: .cfi_window_save
|
|
; CHECK-NEXT: .cfi_register %o7, %i7
|
|
; CHECK-NEXT: sethi 1042305, %o0
|
|
; CHECK-NEXT: or %o0, 25, %o0
|
|
; CHECK-NEXT: st %o0, [%sp+92]
|
|
; CHECK-NEXT: sethi %hi(.LCPI0_0), %o0
|
|
; CHECK-NEXT: ld [%o0+%lo(.LCPI0_0)], %f0
|
|
; CHECK-NEXT: nop
|
|
; CHECK-NEXT: retl
|
|
; CHECK-NEXT: add %sp, 96, %sp
|
|
entry:
|
|
%f = alloca float, align 4
|
|
store float 0x3FF3C08320000000, ptr %f, align 4
|
|
%0 = load float, ptr %f, align 4
|
|
ret float %0
|
|
}
|
|
|
|
define i32 @ld_i32_test(ptr %p) {
|
|
; CHECK-LABEL: ld_i32_test:
|
|
; CHECK: .cfi_startproc
|
|
; CHECK-NEXT: ! %bb.0:
|
|
; CHECK-NEXT: ld [%o0], %o0
|
|
; CHECK-NEXT: nop
|
|
; CHECK-NEXT: retl
|
|
; CHECK-NEXT: nop
|
|
%res = load i32, ptr %p
|
|
ret i32 %res
|
|
}
|