blob: 616fc9e50b32846f34cba1a92ab7fffc5ff80160 [file] [edit]
; RUN: llc -mtriple=hexagon < %s | FileCheck %s
; Test coverage for HexagonAsmPrinter: exercise inline asm operand
; printing with various constraint letters and address operands.
; CHECK-LABEL: test_asm_reg:
; CHECK: r{{[0-9]+}}
define void @test_asm_reg(i32 %a) {
entry:
call void asm sideeffect "nop // $0", "r"(i32 %a)
ret void
}
; Exercise the memory operand printing path.
; CHECK-LABEL: test_asm_mem:
; CHECK: memw
define i32 @test_asm_mem(ptr %p) {
entry:
%val = call i32 asm sideeffect "$0 = memw($1)", "=r,*m"(ptr elementtype(i32) %p)
ret i32 %val
}
; Exercise immediate operand with 'I' modifier.
; CHECK-LABEL: test_asm_imm:
; CHECK: nop
define void @test_asm_imm() {
entry:
call void asm sideeffect "nop // $0", "i"(i32 42)
ret void
}