83
|
1 ; RUN: llc -verify-machineinstrs -aarch64-atomic-cfg-tidy=0 < %s -mtriple=aarch64-none-eabihf -fast-isel=false | FileCheck %s
|
|
2
|
|
3
|
|
4 define i32 @ule_64_max(i64 %p) {
|
|
5 entry:
|
|
6 ; CHECK-LABEL: ule_64_max:
|
|
7 ; CHECK: cmn x0, #1
|
|
8 ; CHECK: b.hi [[RET_ZERO:.LBB[0-9]+_[0-9]+]]
|
|
9 %cmp = icmp ule i64 %p, 18446744073709551615 ; 0xffffffffffffffff
|
|
10 br i1 %cmp, label %ret_one, label %ret_zero
|
|
11
|
|
12 ret_one:
|
|
13 ret i32 1
|
|
14
|
|
15 ret_zero:
|
|
16 ; CHECK: [[RET_ZERO]]:
|
|
17 ; CHECK-NEXT: mov w0, wzr
|
|
18 ret i32 0
|
|
19 }
|
|
20
|
|
21 define i32 @ugt_64_max(i64 %p) {
|
|
22 entry:
|
|
23 ; CHECK-LABEL: ugt_64_max:
|
|
24 ; CHECK: cmn x0, #1
|
|
25 ; CHECK: b.ls [[RET_ZERO:.LBB[0-9]+_[0-9]+]]
|
|
26 %cmp = icmp ugt i64 %p, 18446744073709551615 ; 0xffffffffffffffff
|
|
27 br i1 %cmp, label %ret_one, label %ret_zero
|
|
28
|
|
29 ret_one:
|
|
30 ret i32 1
|
|
31
|
|
32 ret_zero:
|
|
33 ; CHECK: [[RET_ZERO]]:
|
|
34 ; CHECK-NEXT: mov w0, wzr
|
|
35 ret i32 0
|
|
36 }
|