xref: /llvm-project/llvm/test/CodeGen/ARM/inlineasm-output-template.ll (revision bed1c7f061aa12417aa081e334afdba45767b938)
1; RUN: llc -mtriple=armv7-linux-gnueabi < %s | FileCheck %s
2
3; Test that %c works with immediates
4; CHECK-LABEL: test_inlineasm_c_output_template0
5; CHECK: @TEST 42
6define dso_local i32 @test_inlineasm_c_output_template0() {
7  tail call void asm sideeffect "@TEST ${0:c}", "i"(i32 42)
8  ret i32 42
9}
10
11; Test that %c works with global address
12; CHECK-LABEL: test_inlineasm_c_output_template2
13; CHECK: @TEST baz
14@baz = internal global i32 0, align 4
15define dso_local i32 @test_inlineasm_c_output_template2() {
16  tail call void asm sideeffect "@TEST ${0:c}", "i"(ptr nonnull @baz)
17  ret i32 42
18}
19
20; Test that %n works with immediates
21; CHECK-LABEL: test_inlineasm_c_output_template1
22; CHECK: @TEST -42
23define dso_local i32 @test_inlineasm_c_output_template1() {
24  tail call void asm sideeffect "@TEST ${0:n}", "i"(i32 42)
25  ret i32 42
26}
27