Evan Cheng | 99b653c | 2009-12-15 00:41:36 +0000 | [diff] [blame] | 1 | ; RUN: llc < %s -march=x86 | FileCheck %s |
2 | |||||
3 | define i32 @t1(i8 zeroext %x) nounwind readnone ssp { | ||||
4 | entry: | ||||
5 | ; CHECK: t1: | ||||
6 | ; CHECK: shll | ||||
7 | ; CHECK-NOT: movzwl | ||||
8 | ; CHECK: ret | ||||
9 | %0 = zext i8 %x to i16 | ||||
10 | %1 = shl i16 %0, 5 | ||||
11 | %2 = zext i16 %1 to i32 | ||||
12 | ret i32 %2 | ||||
13 | } | ||||
14 | |||||
15 | define i32 @t2(i8 zeroext %x) nounwind readnone ssp { | ||||
16 | entry: | ||||
17 | ; CHECK: t2: | ||||
18 | ; CHECK: shrl | ||||
19 | ; CHECK-NOT: movzwl | ||||
20 | ; CHECK: ret | ||||
21 | %0 = zext i8 %x to i16 | ||||
22 | %1 = lshr i16 %0, 3 | ||||
23 | %2 = zext i16 %1 to i32 | ||||
24 | ret i32 %2 | ||||
25 | } |