/* PR tree-optimization/108064 */ static inline short foo (short value) { return ((value >> 8) & 0xff) | ((value & 0xff) << 8); } __attribute__((noipa)) void bar (short *d, const short *s) { for (unsigned long i = 0; i < 4; i++) d[i] = foo (s[i]); } int main () { short a[4] __attribute__((aligned (16))) = { 0xff, 0, 0, 0 }; short b[4] __attribute__((aligned (16))); short c[4] __attribute__((aligned (16))); bar (b, a); bar (c, b); if (a[0] != c[0]) __builtin_abort (); }