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  */