; 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 }