• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; RUN: llc -march=nvptx < %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; FIXME: seems this case isn't handled properly by
13; SelectionDAG TargetLowering::LowerAsmOperandForConstraint?
14; check: test_inlineasm_c_output_template1
15; check: //TEST baz
16;@baz = internal global i32 0, align 4
17;define dso_local i32 @test_inlineasm_c_output_template1() {
18;  tail call void asm sideeffect "//TEST ${0:c}", "i"(i32* nonnull @baz)
19;  ret i32 42
20;}
21
22; Test that %n works with immediates
23; CHECK-LABEL: test_inlineasm_c_output_template2
24; CHECK: //TEST -42
25define dso_local i32 @test_inlineasm_c_output_template2() {
26  tail call void asm sideeffect "//TEST ${0:n}", "i"(i32 42)
27  ret i32 42
28}
29