http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59617
--- Comment #9 from Dominique d'Humieres <dominiq at lps dot ens.fr> --- If I compile the following test with -S -O3 -mavx512f -save-temps // #include "avx512f-check.h" #define N 1024 int a[N], b[N], c[N], d[N]; __attribute__((noinline, noclone)) void foo (float *__restrict p, float *__restrict q, float *__restrict r, int s1, int s2, int s3) { int i; for (i = 0; i < N; i++) p[i] = q[a[i] * s1 + b[i] * s2 + s3] * r[c[i] * s1 + d[i] * s2 + s3]; } grepping the preprocess file for restrict I see foo (float *__restrict p, float *__restrict q, float *__restrict r, If I uncomment the include (adding -I/opt/gcc/_clean/gcc/testsuite/gcc.target/i386/), the restrict qualifiers disappear.