implement shl and sra
[oota-llvm.git] / test / CodeGen / ARM / bits.ll
1 ; RUN: llvm-as < %s | llc -march=arm &&
2 ; RUN: llvm-as < %s | llc -march=arm | grep and      | wc -l | grep 1 &&
3 ; RUN: llvm-as < %s | llc -march=arm | grep orr      | wc -l | grep 1 &&
4 ; RUN: llvm-as < %s | llc -march=arm | grep eor      | wc -l | grep 1 &&
5 ; RUN: llvm-as < %s | llc -march=arm | grep mov.*lsl | wc -l | grep 1 &&
6 ; RUN: llvm-as < %s | llc -march=arm | grep mov.*asr | wc -l | grep 1
7
8 int %f1(int %a, int %b) {
9 entry:
10         %tmp2 = and int %b, %a          ; <int> [#uses=1]
11         ret int %tmp2
12 }
13
14 int %f2(int %a, int %b) {
15 entry:
16         %tmp2 = or int %b, %a           ; <int> [#uses=1]
17         ret int %tmp2
18 }
19
20 int %f3(int %a, int %b) {
21 entry:
22         %tmp2 = xor int %b, %a          ; <int> [#uses=1]
23         ret int %tmp2
24 }
25
26 int %f4(int %a, ubyte %b) {
27 entry:
28         %tmp3 = shl int %a, ubyte %b            ; <int> [#uses=1]
29         ret int %tmp3
30 }
31
32 int %f5(int %a, ubyte %b) {
33 entry:
34         %tmp3 = shr int %a, ubyte %b            ; <int> [#uses=1]
35         ret int %tmp3
36 }