rs6000: Fix wrong RTL patterns for vector merge high/low word on LE
[official-gcc.git] / gcc / testsuite / gcc.dg / pr36227.c
blobba0d722493979414167fab0167494511e8473c49
1 /* { dg-do compile } */
2 /* { dg-options "-O2 -Wstrict-overflow=3" } */
3 typedef __UINTPTR_TYPE__ ptrcast;
5 volatile unsigned long *
6 sat_add(volatile unsigned long *ptr, unsigned long i, volatile unsigned long *end)
8 if ((ptrcast)ptr + i * sizeof(*ptr) > (ptrcast)ptr) /* { dg-bogus "pointer wraparound" } */
9 return ptr + i;
10 else
11 return end;