Handle logical shift right (at least I hope so :) )
[llvm/msp430.git] / test / CodeGen / ARM / bits.ll
blob0ac4f9a3833dc1fd7ec910552bcab809364338f6
1 ; RUN: llvm-as < %s | llc -march=arm > %t
2 ; RUN: grep and      %t | count 1
3 ; RUN: grep orr      %t | count 1
4 ; RUN: grep eor      %t | count 1
5 ; RUN: grep mov.*lsl %t | count 1
6 ; RUN: grep mov.*asr %t | count 1
8 define i32 @f1(i32 %a, i32 %b) {
9 entry:
10         %tmp2 = and i32 %b, %a          ; <i32> [#uses=1]
11         ret i32 %tmp2
14 define i32 @f2(i32 %a, i32 %b) {
15 entry:
16         %tmp2 = or i32 %b, %a           ; <i32> [#uses=1]
17         ret i32 %tmp2
20 define i32 @f3(i32 %a, i32 %b) {
21 entry:
22         %tmp2 = xor i32 %b, %a          ; <i32> [#uses=1]
23         ret i32 %tmp2
26 define i32 @f4(i32 %a, i32 %b) {
27 entry:
28         %tmp3 = shl i32 %a, %b          ; <i32> [#uses=1]
29         ret i32 %tmp3
32 define i32 @f5(i32 %a, i32 %b) {
33 entry:
34         %tmp3 = ashr i32 %a, %b         ; <i32> [#uses=1]
35         ret i32 %tmp3