[Alignment][NFC] migrate DataLayout internal struct to llvm::Align
[llvm-core.git] / test / CodeGen / AArch64 / cmp-const-max.ll
blob0d5846f067930d11f20ffa6e093bc305821736a2
1 ; RUN: llc -verify-machineinstrs -aarch64-enable-atomic-cfg-tidy=0 < %s -mtriple=aarch64-none-eabihf -fast-isel=false | FileCheck %s
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
12 ret_one:
13   ret i32 1
15 ret_zero:
16 ; CHECK: [[RET_ZERO]]:
17 ; CHECK-NEXT: mov w0, wzr
18   ret i32 0
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
29 ret_one:
30   ret i32 1
32 ret_zero:
33 ; CHECK: [[RET_ZERO]]:
34 ; CHECK-NEXT: mov w0, wzr
35   ret i32 0