lsrasr0(unsigned int x)1*c85f09ccSJohn Levon int lsrasr0(unsigned int x)
2*c85f09ccSJohn Levon {
3*c85f09ccSJohn Levon 	return ((int) (x >> 15)) >> 15;
4*c85f09ccSJohn Levon }
5*c85f09ccSJohn Levon 
lsrasr1(unsigned int x)6*c85f09ccSJohn Levon int lsrasr1(unsigned int x)
7*c85f09ccSJohn Levon {
8*c85f09ccSJohn Levon 	return ((int) (x >> 16)) >> 15;
9*c85f09ccSJohn Levon }
10*c85f09ccSJohn Levon 
lsrasr2(unsigned int x)11*c85f09ccSJohn Levon int lsrasr2(unsigned int x)
12*c85f09ccSJohn Levon {
13*c85f09ccSJohn Levon 	return ((int) (x >> 16)) >> 16;
14*c85f09ccSJohn Levon }
15*c85f09ccSJohn Levon 
16*c85f09ccSJohn Levon /*
17*c85f09ccSJohn Levon  * check-name: lsr-asr
18*c85f09ccSJohn Levon  * check-command: test-linearize -Wno-decl $file
19*c85f09ccSJohn Levon  *
20*c85f09ccSJohn Levon  * check-output-start
21*c85f09ccSJohn Levon lsrasr0:
22*c85f09ccSJohn Levon .L0:
23*c85f09ccSJohn Levon 	<entry-point>
24*c85f09ccSJohn Levon 	lsr.32      %r3 <- %arg1, $30
25*c85f09ccSJohn Levon 	ret.32      %r3
26*c85f09ccSJohn Levon 
27*c85f09ccSJohn Levon 
28*c85f09ccSJohn Levon lsrasr1:
29*c85f09ccSJohn Levon .L2:
30*c85f09ccSJohn Levon 	<entry-point>
31*c85f09ccSJohn Levon 	lsr.32      %r7 <- %arg1, $31
32*c85f09ccSJohn Levon 	ret.32      %r7
33*c85f09ccSJohn Levon 
34*c85f09ccSJohn Levon 
35*c85f09ccSJohn Levon lsrasr2:
36*c85f09ccSJohn Levon .L4:
37*c85f09ccSJohn Levon 	<entry-point>
38*c85f09ccSJohn Levon 	ret.32      $0
39*c85f09ccSJohn Levon 
40*c85f09ccSJohn Levon 
41*c85f09ccSJohn Levon  * check-output-end
42*c85f09ccSJohn Levon  */
43