1; RUN: llc -mtriple=ppc32 < %s | FileCheck %s 2; RUN: llc -mtriple=ppc64 < %s | FileCheck %s --check-prefix=PPC64 3 4; Test that %c works with immediates 5; CHECK-LABEL: test_inlineasm_c_output_template0 6; CHECK: #TEST 42 7define dso_local i32 @test_inlineasm_c_output_template0() { 8 tail call void asm sideeffect "#TEST ${0:c}", "i"(i32 42) 9 ret i32 42 10} 11 12; Test that %c works with global address 13; CHECK-LABEL: test_inlineasm_c_output_template1: 14; CHECK: #TEST baz 15@baz = internal global i32 0, align 4 16define dso_local i32 @test_inlineasm_c_output_template1() { 17 tail call void asm sideeffect "#TEST ${0:c}", "i"(i32* nonnull @baz) 18 ret i32 43 19} 20 21; Test that %n works with immediates 22; CHECK-LABEL: test_inlineasm_c_output_template2 23; CHECK: #TEST -42 24define dso_local i32 @test_inlineasm_c_output_template2() { 25 tail call void asm sideeffect "#TEST ${0:n}", "i"(i32 42) 26 ret i32 42 27} 28 29; Test that the machine specific %L works with memory operands. 30; CHECK-LABEL: test_inlineasm_L_output_template 31; CHECK: # 4(5) 32; PPC64-LABEL: test_inlineasm_L_output_template 33; PPC64: # 8(4) 34define dso_local void @test_inlineasm_L_output_template(i64 %0, i64* %1) { 35 tail call void asm sideeffect "# ${0:L}", "*m"(i64* %1) 36 ret void 37} 38