Enable all Hexagon tests.
[oota-llvm.git] / test / CodeGen / X86 / shift-and.ll
1 ; RUN: llc < %s -march=x86    | grep and | count 2
2 ; RUN: llc < %s -march=x86-64 | not grep and 
3
4 define i32 @t1(i32 %t, i32 %val) nounwind {
5        %shamt = and i32 %t, 31
6        %res = shl i32 %val, %shamt
7        ret i32 %res
8 }
9
10 define i32 @t2(i32 %t, i32 %val) nounwind {
11        %shamt = and i32 %t, 63
12        %res = shl i32 %val, %shamt
13        ret i32 %res
14 }
15
16 @X = internal global i16 0
17
18 define void @t3(i16 %t) nounwind {
19        %shamt = and i16 %t, 31
20        %tmp = load i16* @X
21        %tmp1 = ashr i16 %tmp, %shamt
22        store i16 %tmp1, i16* @X
23        ret void
24 }
25
26 define i64 @t4(i64 %t, i64 %val) nounwind {
27        %shamt = and i64 %t, 63
28        %res = lshr i64 %val, %shamt
29        ret i64 %res
30 }
31
32 define i64 @t5(i64 %t, i64 %val) nounwind {
33        %shamt = and i64 %t, 191
34        %res = lshr i64 %val, %shamt
35        ret i64 %res
36 }