[X86] X86DAGToDAGISel - attempt to merge XMM/YMM loads with YMM/ZMM loads of the...
[llvm-project.git] / llvm / test / CodeGen / PowerPC / inlineasm-output-template.ll
blob9c3cb74355667aa79809d9667244cd65b66dd914
1 ; RUN: llc -mtriple=ppc32 < %s | FileCheck %s
2 ; RUN: llc -mtriple=ppc64 < %s | FileCheck %s --check-prefix=PPC64
4 ; Test that %c works with immediates
5 ; CHECK-LABEL: test_inlineasm_c_output_template0
6 ; CHECK: #TEST 42
7 define dso_local i32 @test_inlineasm_c_output_template0() {
8   tail call void asm sideeffect "#TEST ${0:c}", "i"(i32 42)
9   ret i32 42
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
16 define dso_local i32 @test_inlineasm_c_output_template1() {
17   tail call void asm sideeffect "#TEST ${0:c}", "i"(ptr nonnull @baz)
18   ret i32 43
21 ; Test that %n works with immediates
22 ; CHECK-LABEL: test_inlineasm_c_output_template2
23 ; CHECK: #TEST -42
24 define dso_local i32 @test_inlineasm_c_output_template2() {
25   tail call void asm sideeffect "#TEST ${0:n}", "i"(i32 42)
26   ret i32 42
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)
34 define dso_local void @test_inlineasm_L_output_template(i64 %0, ptr %1) {
35   tail call void asm sideeffect "# ${0:L}", "*m"(ptr elementtype(i64) %1)
36   ret void