blob: b5b3054b9621f1cfaf32cd80941c6720d65519fa [file] [log] [blame]
Anton Korobeynikovf0f05102010-01-14 22:09:38 +00001; RUN: llc < %s | FileCheck %s
2target datalayout = "e-p:16:8:8-i8:8:8-i16:8:8-i32:8:8-n8:16"
3target triple = "msp430-elf"
4
5define zeroext i8 @lshr8(i8 zeroext %a, i8 zeroext %cnt) nounwind readnone {
6entry:
7; CHECK: lshr8:
8; CHECK: rrc.b
9 %shr = lshr i8 %a, %cnt
10 ret i8 %shr
11}
12
13define signext i8 @ashr8(i8 signext %a, i8 zeroext %cnt) nounwind readnone {
14entry:
15; CHECK: ashr8:
16; CHECK: rra.b
17 %shr = ashr i8 %a, %cnt
18 ret i8 %shr
19}
20
21define zeroext i8 @shl8(i8 zeroext %a, i8 zeroext %cnt) nounwind readnone {
22entry:
23; CHECK: shl8
24; CHECK: rla.b
25 %shl = shl i8 %a, %cnt
26 ret i8 %shl
27}
28
29define zeroext i16 @lshr16(i16 zeroext %a, i16 zeroext %cnt) nounwind readnone {
30entry:
31; CHECK: lshr16:
32; CHECK: rrc.w
33 %shr = lshr i16 %a, %cnt
34 ret i16 %shr
35}
36
37define signext i16 @ashr16(i16 signext %a, i16 zeroext %cnt) nounwind readnone {
38entry:
39; CHECK: ashr16:
40; CHECK: rra.w
41 %shr = ashr i16 %a, %cnt
42 ret i16 %shr
43}
44
45define zeroext i16 @shl16(i16 zeroext %a, i16 zeroext %cnt) nounwind readnone {
46entry:
47; CHECK: shl16:
48; CHECK: rla.w
49 %shl = shl i16 %a, %cnt
50 ret i16 %shl
51}