blob: 2549f346f2032ac645d67c89754c83630fca1036 [file] [log] [blame]
Reid Spencer4dc9e5a2006-12-03 16:17:19 +00001; RUN: llvm-upgrade %s | llvm-as -f -o %t.bc
Tanya Lattnere9789ef2004-11-06 23:32:43 +00002; 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...
Reid Spencereacb7022006-12-31 06:02:00 +00009 %t1.s = shl int 1, ubyte %shamt
10 %t2.s = shl int 1, ubyte 4
Chris Lattner8e4a9142003-01-13 00:57:49 +000011
12 %t1 = shl uint 1, ubyte %shamt
13 %t2 = shl uint 1, ubyte 5
14
15 ;%t1 = shl long 1, ubyte %shamt
Reid Spencereacb7022006-12-31 06:02:00 +000016 %t2.s = shl long 1, ubyte 4
Chris Lattner8e4a9142003-01-13 00:57:49 +000017
18 ;%t1 = shl ulong 1, ubyte %shamt
19 %t2 = shl ulong 1, ubyte 5
20
21 ; Right shifts...
Reid Spencereacb7022006-12-31 06:02:00 +000022 %tr1.s = shr int 1, ubyte %shamt
23 %tr2.s = 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
Reid Spencereacb7022006-12-31 06:02:00 +000029 %tr1.l = shr long 1, ubyte 4
30 %tr2.l = shr long 1, ubyte %shamt
31 %tr3.l = shl long 1, ubyte 4
32 %tr4.l = shl long 1, ubyte %shamt
Chris Lattner8e4a9142003-01-13 00:57:49 +000033
34 ;%t1 = shr ulong 1, ubyte %shamt
Reid Spencereacb7022006-12-31 06:02:00 +000035 %tr1.u = shr ulong 1, ubyte 5
36 %tr2.u = shr ulong 1, ubyte %shamt
37 %tr3.u = shl ulong 1, ubyte 5
38 %tr4.u = shl ulong 1, ubyte %shamt
Misha Brukman297372c2002-12-13 05:44:21 +000039 ret int 0
Brian Gaeke8e0a6bf2002-10-31 23:05:22 +000040}