// Compile with -O3 -march=native to see autovectorization typedef double *__attribute__((aligned(64))) aligned_double; void maxArray(aligned_double __restrict x, aligned_double __restrict y) { for (int i = 0; i < 65536; i++) { x[i] = ((y[i] > x[i]) ? y[i] : x[i]); } }