• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; 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}
52