1 extern int g, h; 2 3 void f00u(int *s) 4 { 5 g = *s; 6 h = *s; 7 } 8 9 void f00r(int *restrict s) 10 { 11 g = *s; 12 h = *s; 13 } 14 15 16 void f01u(int *a, int *b, int *s) 17 { 18 *a = *s; 19 *b = *s; 20 } 21 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 */