• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; RUN: llc -march=mipsel < %s | FileCheck %s
2
3define i64 @shl0(i64 %a, i32 %b) nounwind readnone {
4entry:
5; CHECK: shl0
6; CHECK-NOT: lw $25, %call16(__
7  %sh_prom = zext i32 %b to i64
8  %shl = shl i64 %a, %sh_prom
9  ret i64 %shl
10}
11
12define i64 @shr1(i64 %a, i32 %b) nounwind readnone {
13entry:
14; CHECK: shr1
15; CHECK-NOT: lw $25, %call16(__
16  %sh_prom = zext i32 %b to i64
17  %shr = lshr i64 %a, %sh_prom
18  ret i64 %shr
19}
20
21define i64 @sra2(i64 %a, i32 %b) nounwind readnone {
22entry:
23; CHECK: sra2
24; CHECK-NOT: lw $25, %call16(__
25  %sh_prom = zext i32 %b to i64
26  %shr = ashr i64 %a, %sh_prom
27  ret i64 %shr
28}
29
30