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