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