| ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 3 |
| ; RUN: llc < %s -o - | FileCheck %s |
| |
| target triple = "arm64-none-linux-gnu" |
| |
| define void @test_constraints_Uci_w(i32 %a) { |
| ; CHECK-LABEL: test_constraints_Uci_w: |
| ; CHECK: // %bb.0: |
| ; CHECK-NEXT: mov w8, w0 |
| ; CHECK-NEXT: //APP |
| ; CHECK-NEXT: add x0, x0, x8 |
| ; CHECK-NEXT: //NO_APP |
| ; CHECK-NEXT: ret |
| call void asm sideeffect "add x0, x0, $0", "@3Uci,~{x0}"(i32 %a) |
| ret void |
| } |
| |
| ; As test_constraints_Uci_w but ensures non-legal types are also covered. |
| define void @test_constraints_Uci_w_i8(i8 %a) { |
| ; CHECK-LABEL: test_constraints_Uci_w_i8: |
| ; CHECK: // %bb.0: |
| ; CHECK-NEXT: mov w8, w0 |
| ; CHECK-NEXT: //APP |
| ; CHECK-NEXT: add x0, x0, x8 |
| ; CHECK-NEXT: //NO_APP |
| ; CHECK-NEXT: ret |
| call void asm sideeffect "add x0, x0, $0", "@3Uci,~{x0}"(i8 %a) |
| ret void |
| } |
| |
| define void @test_constraints_Uci_x(i64 %a) { |
| ; CHECK-LABEL: test_constraints_Uci_x: |
| ; CHECK: // %bb.0: |
| ; CHECK-NEXT: mov x8, x0 |
| ; CHECK-NEXT: //APP |
| ; CHECK-NEXT: add x0, x0, x8 |
| ; CHECK-NEXT: //NO_APP |
| ; CHECK-NEXT: ret |
| call void asm sideeffect "add x0, x0, $0", "@3Uci,~{x0}"(i64 %a) |
| ret void |
| } |
| |
| define void @test_constraint_Ucj_w(i32 %a) { |
| ; CHECK-LABEL: test_constraint_Ucj_w: |
| ; CHECK: // %bb.0: |
| ; CHECK-NEXT: mov w12, w0 |
| ; CHECK-NEXT: //APP |
| ; CHECK-NEXT: add x0, x0, x12 |
| ; CHECK-NEXT: //NO_APP |
| ; CHECK-NEXT: ret |
| call void asm sideeffect "add x0, x0, $0", "@3Ucj,~{x0}"(i32 %a) |
| ret void |
| } |
| |
| ; As test_constraints_Ucj_w but ensures non-legal types are also covered. |
| define void @test_constraint_Ucj_w_i8(i8 %a) { |
| ; CHECK-LABEL: test_constraint_Ucj_w_i8: |
| ; CHECK: // %bb.0: |
| ; CHECK-NEXT: mov w12, w0 |
| ; CHECK-NEXT: //APP |
| ; CHECK-NEXT: add x0, x0, x12 |
| ; CHECK-NEXT: //NO_APP |
| ; CHECK-NEXT: ret |
| call void asm sideeffect "add x0, x0, $0", "@3Ucj,~{x0}"(i8 %a) |
| ret void |
| } |
| |
| define void @test_constraint_Ucj_x(i64 %a) { |
| ; CHECK-LABEL: test_constraint_Ucj_x: |
| ; CHECK: // %bb.0: |
| ; CHECK-NEXT: mov x12, x0 |
| ; CHECK-NEXT: //APP |
| ; CHECK-NEXT: add x0, x0, x12 |
| ; CHECK-NEXT: //NO_APP |
| ; CHECK-NEXT: ret |
| call void asm sideeffect "add x0, x0, $0", "@3Ucj,~{x0}"(i64 %a) |
| ret void |
| } |