aboutsummaryrefslogtreecommitdiff
path: root/test/CodeGen/ARM/longarith.ll
blob: ecf66c1cc8fc8ea98531b844f896c62ff89216be (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
; RUN: llvm-as < %s | llc -march=arm &&
; RUN: llvm-as < %s | llc -march=arm | grep __ashldi3 &&
; RUN: llvm-as < %s | llc -march=arm | grep __ashrdi3 &&
; RUN: llvm-as < %s | llc -march=arm | grep __lshrdi3
uint %f1(ulong %x, ubyte %y) {
entry:
	%a = shl ulong %x, ubyte %y
	%b = cast ulong %a to uint
	ret uint %b
}

uint %f2(long %x, ubyte %y) {
entry:
	%a = shr long %x, ubyte %y
	%b = cast long %a to uint
	ret uint %b
}

uint %f3(ulong %x, ubyte %y) {
entry:
	%a = shr ulong %x, ubyte %y
	%b = cast ulong %a to uint
	ret uint %b
}