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.
18 lines
285 B
LLVM
18 lines
285 B
LLVM
; RUN: llc < %s -mtriple=sparc
|
|
|
|
; CHECK: call func
|
|
; CHECK: st %i0, [%sp+64]
|
|
; CHECK: unimp 8
|
|
|
|
%struct = type { i32, i32 }
|
|
|
|
define void @test() nounwind {
|
|
entry:
|
|
%tmp = alloca %struct, align 4
|
|
call void @func
|
|
(ptr nonnull sret(%struct) %tmp)
|
|
ret void
|
|
}
|
|
|
|
declare void @func()
|