1*c85f09ccSJohn Levon extern int g, h;
2*c85f09ccSJohn Levon 
f00u(int * s)3*c85f09ccSJohn Levon void f00u(int *s)
4*c85f09ccSJohn Levon {
5*c85f09ccSJohn Levon 	g = *s;
6*c85f09ccSJohn Levon 	h = *s;
7*c85f09ccSJohn Levon }
8*c85f09ccSJohn Levon 
f00r(int * restrict s)9*c85f09ccSJohn Levon void f00r(int *restrict s)
10*c85f09ccSJohn Levon {
11*c85f09ccSJohn Levon 	g = *s;
12*c85f09ccSJohn Levon 	h = *s;
13*c85f09ccSJohn Levon }
14*c85f09ccSJohn Levon 
15*c85f09ccSJohn Levon 
f01u(int * a,int * b,int * s)16*c85f09ccSJohn Levon void f01u(int *a, int *b, int *s)
17*c85f09ccSJohn Levon {
18*c85f09ccSJohn Levon 	*a = *s;
19*c85f09ccSJohn Levon 	*b = *s;
20*c85f09ccSJohn Levon }
21*c85f09ccSJohn Levon 
f01r(int * restrict a,int * restrict b,int * restrict s)22*c85f09ccSJohn Levon void f01r(int *restrict a, int *restrict b, int *restrict s)
23*c85f09ccSJohn Levon {
24*c85f09ccSJohn Levon 	*a = *s;
25*c85f09ccSJohn Levon 	*b = *s;
26*c85f09ccSJohn Levon }
27*c85f09ccSJohn Levon 
28*c85f09ccSJohn Levon /*
29*c85f09ccSJohn Levon  * check-name: optim/restrict
30*c85f09ccSJohn Levon  * check-command: test-linearize -Wno-decl $file
31*c85f09ccSJohn Levon  * check-known-to-fail
32*c85f09ccSJohn Levon  *
33*c85f09ccSJohn Levon  * check-output-start
34*c85f09ccSJohn Levon f00u:
35*c85f09ccSJohn Levon .L0:
36*c85f09ccSJohn Levon 	<entry-point>
37*c85f09ccSJohn Levon 	load.32     %r2 <- 0[%arg1]
38*c85f09ccSJohn Levon 	store.32    %r2 -> 0[g]
39*c85f09ccSJohn Levon 	load.32     %r4 <- 0[%arg1]
40*c85f09ccSJohn Levon 	store.32    %r4 -> 0[h]
41*c85f09ccSJohn Levon 	ret
42*c85f09ccSJohn Levon 
43*c85f09ccSJohn Levon 
44*c85f09ccSJohn Levon f00r:
45*c85f09ccSJohn Levon .L2:
46*c85f09ccSJohn Levon 	<entry-point>
47*c85f09ccSJohn Levon 	load.32     %r6 <- 0[%arg1]
48*c85f09ccSJohn Levon 	store.32    %r6 -> 0[g]
49*c85f09ccSJohn Levon 	store.32    %r6 -> 0[h]
50*c85f09ccSJohn Levon 	ret
51*c85f09ccSJohn Levon 
52*c85f09ccSJohn Levon 
53*c85f09ccSJohn Levon f01u:
54*c85f09ccSJohn Levon .L4:
55*c85f09ccSJohn Levon 	<entry-point>
56*c85f09ccSJohn Levon 	load.32     %r10 <- 0[%arg3]
57*c85f09ccSJohn Levon 	store.32    %r10 -> 0[%arg1]
58*c85f09ccSJohn Levon 	load.32     %r13 <- 0[%arg3]
59*c85f09ccSJohn Levon 	store.32    %r13 -> 0[%arg2]
60*c85f09ccSJohn Levon 	ret
61*c85f09ccSJohn Levon 
62*c85f09ccSJohn Levon 
63*c85f09ccSJohn Levon f01r:
64*c85f09ccSJohn Levon .L6:
65*c85f09ccSJohn Levon 	<entry-point>
66*c85f09ccSJohn Levon 	load.32     %r16 <- 0[%arg3]
67*c85f09ccSJohn Levon 	store.32    %r16 -> 0[%arg1]
68*c85f09ccSJohn Levon 	store.32    %r16 -> 0[%arg2]
69*c85f09ccSJohn Levon 	ret
70*c85f09ccSJohn Levon 
71*c85f09ccSJohn Levon 
72*c85f09ccSJohn Levon  * check-output-end
73*c85f09ccSJohn Levon  */
74