blob: c55629d624c586398d8d1e29c71863be26214cf5 [file] [log] [blame]
Tanya Lattnere9789ef2004-11-06 23:32:43 +00001; RUN: llvm-as -f %s -o %t.bc
2; RUN: lli %t.bc > /dev/null
3
Brian Gaeke8e0a6bf2002-10-31 23:05:22 +00004; test shifts
Misha Brukman297372c2002-12-13 05:44:21 +00005int %main() {
Chris Lattner8e4a9142003-01-13 00:57:49 +00006 %shamt = add ubyte 0, 1
7
8 ; Left shifts...
9 %t1 = shl int 1, ubyte %shamt
10 %t2 = shl int 1, ubyte 4
11
12 %t1 = shl uint 1, ubyte %shamt
13 %t2 = shl uint 1, ubyte 5
14
15 ;%t1 = shl long 1, ubyte %shamt
16 %t2 = shl long 1, ubyte 4
17
18 ;%t1 = shl ulong 1, ubyte %shamt
19 %t2 = shl ulong 1, ubyte 5
20
21 ; Right shifts...
John Criswell1b4fb5a2003-11-26 14:45:37 +000022 %tr1 = shr int 1, ubyte %shamt
23 %tr2 = shr int 1, ubyte 4
Chris Lattner8e4a9142003-01-13 00:57:49 +000024
John Criswell1b4fb5a2003-11-26 14:45:37 +000025 %tr1 = shr uint 1, ubyte %shamt
26 %tr2 = shr uint 1, ubyte 5
Chris Lattner8e4a9142003-01-13 00:57:49 +000027
John Criswell1b4fb5a2003-11-26 14:45:37 +000028 ;%tr1 = shr long 1, ubyte %shamt
29 %tr1 = shr long 1, ubyte 4
30 %tr2 = shr long 1, ubyte %shamt
31 %tr3 = shl long 1, ubyte 4
32 %tr4 = shl long 1, ubyte %shamt
Chris Lattner8e4a9142003-01-13 00:57:49 +000033
34 ;%t1 = shr ulong 1, ubyte %shamt
John Criswell1b4fb5a2003-11-26 14:45:37 +000035 %tr1 = shr ulong 1, ubyte 5
36 %tr2 = shr ulong 1, ubyte %shamt
37 %tr3 = shl ulong 1, ubyte 5
38 %tr4 = shl ulong 1, ubyte %shamt
Misha Brukman297372c2002-12-13 05:44:21 +000039 ret int 0
Brian Gaeke8e0a6bf2002-10-31 23:05:22 +000040}