Mercurial > hg > Members > tobaru > cbc > CbC_llvm
comparison test/CodeGen/ARM/long_shift.ll @ 121:803732b1fca8
LLVM 5.0
author | kono |
---|---|
date | Fri, 27 Oct 2017 17:07:41 +0900 |
parents | 54457678186b |
children |
comparison
equal
deleted
inserted
replaced
120:1172e4bd9c6f | 121:803732b1fca8 |
---|---|
26 ret i32 %b | 26 ret i32 %b |
27 } | 27 } |
28 | 28 |
29 define i32 @f2(i64 %x, i64 %y) { | 29 define i32 @f2(i64 %x, i64 %y) { |
30 ; CHECK-LABEL: f2: | 30 ; CHECK-LABEL: f2: |
31 ; CHECK-LE: lsr{{.*}}r2 | 31 ; CHECK-LE: rsb r3, r2, #32 |
32 ; CHECK-LE-NEXT: rsb r3, r2, #32 | 32 ; CHECK-LE-NEXT: lsr{{.*}}r2 |
33 ; CHECK-LE-NEXT: sub r2, r2, #32 | 33 ; CHECK-LE-NEXT: sub r2, r2, #32 |
34 ; CHECK-LE-NEXT: orr r0, r0, r1, lsl r3 | 34 ; CHECK-LE-NEXT: orr r0, r0, r1, lsl r3 |
35 ; CHECK-LE-NEXT: cmp r2, #0 | 35 ; CHECK-LE-NEXT: cmp r2, #0 |
36 ; CHECK-LE-NEXT: asrge r0, r1, r2 | 36 ; CHECK-LE-NEXT: asrge r0, r1, r2 |
37 | 37 |
38 ; CHECK-BE: lsr{{.*}}r3 | 38 ; CHECK-BE: rsb r2, r3, #32 |
39 ; CHECK-BE-NEXT: rsb r2, r3, #32 | 39 ; CHECK-BE-NEXT: lsr{{.*}}r3 |
40 ; CHECK-BE-NEXT: orr r1, r1, r0, lsl r2 | 40 ; CHECK-BE-NEXT: orr r1, r1, r0, lsl r2 |
41 ; CHECK-BE-NEXT: sub r2, r3, #32 | 41 ; CHECK-BE-NEXT: sub r2, r3, #32 |
42 ; CHECK-BE-NEXT: cmp r2, #0 | 42 ; CHECK-BE-NEXT: cmp r2, #0 |
43 ; CHECK-BE-NEXT: asrge r1, r0, r2 | 43 ; CHECK-BE-NEXT: asrge r1, r0, r2 |
44 | 44 |
47 ret i32 %b | 47 ret i32 %b |
48 } | 48 } |
49 | 49 |
50 define i32 @f3(i64 %x, i64 %y) { | 50 define i32 @f3(i64 %x, i64 %y) { |
51 ; CHECK-LABEL: f3: | 51 ; CHECK-LABEL: f3: |
52 ; CHECK-LE: lsr{{.*}}r2 | 52 ; CHECK-LE: rsb r3, r2, #32 |
53 ; CHECK-LE-NEXT: rsb r3, r2, #32 | 53 ; CHECK-LE-NEXT: lsr{{.*}}r2 |
54 ; CHECK-LE-NEXT: sub r2, r2, #32 | 54 ; CHECK-LE-NEXT: sub r2, r2, #32 |
55 ; CHECK-LE-NEXT: orr r0, r0, r1, lsl r3 | 55 ; CHECK-LE-NEXT: orr r0, r0, r1, lsl r3 |
56 ; CHECK-LE-NEXT: cmp r2, #0 | 56 ; CHECK-LE-NEXT: cmp r2, #0 |
57 ; CHECK-LE-NEXT: lsrge r0, r1, r2 | 57 ; CHECK-LE-NEXT: lsrge r0, r1, r2 |
58 | 58 |
59 ; CHECK-BE: lsr{{.*}}r3 | 59 ; CHECK-BE: rsb r2, r3, #32 |
60 ; CHECK-BE-NEXT: rsb r2, r3, #32 | 60 ; CHECK-BE-NEXT: lsr{{.*}}r3 |
61 ; CHECK-BE-NEXT: orr r1, r1, r0, lsl r2 | 61 ; CHECK-BE-NEXT: orr r1, r1, r0, lsl r2 |
62 ; CHECK-BE-NEXT: sub r2, r3, #32 | 62 ; CHECK-BE-NEXT: sub r2, r3, #32 |
63 ; CHECK-BE-NEXT: cmp r2, #0 | 63 ; CHECK-BE-NEXT: cmp r2, #0 |
64 ; CHECK-BE-NEXT: lsrge r1, r0, r2 | 64 ; CHECK-BE-NEXT: lsrge r1, r0, r2 |
65 | 65 |