79 lines
2.2 KiB
LLVM
79 lines
2.2 KiB
LLVM
|
; 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
|
||
|
}
|