extern int g, h; void f00u(int *s) { g = *s; h = *s; } void f00r(int *restrict s) { g = *s; h = *s; } void f01u(int *a, int *b, int *s) { *a = *s; *b = *s; } void f01r(int *restrict a, int *restrict b, int *restrict s) { *a = *s; *b = *s; } /* * check-name: optim/restrict * check-command: test-linearize -Wno-decl $file * check-known-to-fail * * check-output-start f00u: .L0: load.32 %r2 <- 0[%arg1] store.32 %r2 -> 0[g] load.32 %r4 <- 0[%arg1] store.32 %r4 -> 0[h] ret f00r: .L2: load.32 %r6 <- 0[%arg1] store.32 %r6 -> 0[g] store.32 %r6 -> 0[h] ret f01u: .L4: load.32 %r10 <- 0[%arg3] store.32 %r10 -> 0[%arg1] load.32 %r13 <- 0[%arg3] store.32 %r13 -> 0[%arg2] ret f01r: .L6: load.32 %r16 <- 0[%arg3] store.32 %r16 -> 0[%arg1] store.32 %r16 -> 0[%arg2] ret * check-output-end */