[NFC][RemoveDIs] Prefer iterators over inst-pointers in InstCombine
[llvm-project.git] / llvm / test / CodeGen / AArch64 / cmpwithshort.ll
blob8dbfdae5df9038f8cea565fdf2a248abb53a2f92
1 ; RUN: llc < %s -O3 -mtriple=aarch64-eabi | FileCheck %s 
3 define i16 @test_1cmp_signed_1(ptr %ptr1) {
4 ; CHECK-LABEL: @test_1cmp_signed_1
5 ; CHECK: ldrsh
6 ; CHECK-NEXT: cmn
7 entry:
8   %val = load i16, ptr %ptr1, align 2
9   %cmp = icmp eq i16 %val, -1
10   br i1 %cmp, label %if, label %if.then
11 if:
12   ret i16 1
13 if.then:
14   ret i16 0
17 define i16 @test_1cmp_signed_2(ptr %ptr1) {
18 ; CHECK-LABEL: @test_1cmp_signed_2
19 ; CHECK: ldrsh
20 ; CHECK-NEXT: cmn
21 entry:
22   %val = load i16, ptr %ptr1, align 2
23   %cmp = icmp sge i16 %val, -1
24   br i1 %cmp, label %if, label %if.then
25 if:
26   ret i16 1
27 if.then:
28   ret i16 0
31 define i16 @test_1cmp_unsigned_1(ptr %ptr1) {
32 ; CHECK-LABEL: @test_1cmp_unsigned_1
33 ; CHECK: ldrsh
34 ; CHECK-NEXT: cmn
35 entry:
36   %val = load i16, ptr %ptr1, align 2
37   %cmp = icmp uge i16 %val, -1
38   br i1 %cmp, label %if, label %if.then
39 if:
40   ret i16 1
41 if.then:
42   ret i16 0
43 }