Hi! As mentioned in the PR, the testcase fails on big-endian targets. The following patch tweaks it so that it does not fail there and still checks for the original bug.
Tested on x86_64-linux and i686-linux, ok for trunk and release branches? 2018-11-21 Jakub Jelinek <ja...@redhat.com> PR rtl-optimization/85925 * gcc.c-torture/execute/20181120-1.c (u): New variable. (main): Compare d against u.f1 rather than 0x101. --- gcc/testsuite/gcc.c-torture/execute/20181120-1.c.jj 2018-11-20 21:39:05.230507352 +0100 +++ gcc/testsuite/gcc.c-torture/execute/20181120-1.c 2018-11-21 11:49:29.919488909 +0100 @@ -9,6 +9,7 @@ union U1 { unsigned f0; unsigned f1 : 15; }; +volatile union U1 u = { 0x10101 }; int main (void) { @@ -19,7 +20,7 @@ int main (void) *e = f.f1; } - if (d != 0x101) + if (d != u.f1) __builtin_abort (); return 0; Jakub