The issue is uncovered by #47698: for IR files without a target triple, -mtriple= specifies the full target triple while -march= merely sets the architecture part of the default target triple, leaving a target triple which may not make sense, e.g. riscv64-apple-darwin. Therefore, -march= is error-prone and not recommended for tests without a target triple. The issue has been benign as we recognize $unknown-apple-darwin as ELF instead of rejecting it outrightly.
20 lines
502 B
LLVM
20 lines
502 B
LLVM
; RUN: llc -mtriple=bpfel -filetype=obj -o - %s | llvm-objdump --no-print-imm-hex -d - | FileCheck %s
|
|
|
|
; CHECK-LABEL: test_load_add_32
|
|
; CHECK: c3 21
|
|
; CHECK: lock *(u32 *)(r1 + 0) += r2
|
|
define void @test_load_add_32(ptr %p, i32 zeroext %v) {
|
|
entry:
|
|
atomicrmw add ptr %p, i32 %v seq_cst
|
|
ret void
|
|
}
|
|
|
|
; CHECK-LABEL: test_load_add_64
|
|
; CHECK: db 21
|
|
; CHECK: lock *(u64 *)(r1 + 0) += r2
|
|
define void @test_load_add_64(ptr %p, i64 zeroext %v) {
|
|
entry:
|
|
atomicrmw add ptr %p, i64 %v seq_cst
|
|
ret void
|
|
}
|