On Aug 26 2016, Richard Biener <rguent...@suse.de> wrote: > Index: gcc/testsuite/gcc.dg/pr69047.c > =================================================================== > --- gcc/testsuite/gcc.dg/pr69047.c (revision 0) > +++ gcc/testsuite/gcc.dg/pr69047.c (working copy) > @@ -0,0 +1,18 @@ > +/* { dg-do compile } */ > +/* { dg-options "-O -fdump-tree-cddce1" } */ > + > +__UINT8_TYPE__ > +f(__UINT16_TYPE__ b) > +{ > + __UINT8_TYPE__ a; > +#if __BYTE_ORDER == __LITTLE_ENDIAN > + __builtin_memcpy(&a, &b, sizeof a); > +#elif __BYTE_ORDER == __BIG_ENDIAN > + __builtin_memcpy(&a, (char *)&b + sizeof a, sizeof a); > +#else > + a = b; > +#endif > + return a; > +} > + > +/* { dg-final { scan-tree-dump "_\[0-9\]+ = \\(\[^)\]+\\) b" "cddce1" } } */ >
On m68k: FAIL: gcc.dg/pr69047.c scan-tree-dump cddce1 "_[0-9]+ = \\([^)]+\\) b" $ cat pr69047.c.037t.cddce1 ;; Function f (f, funcdef_no=0, decl_uid=1432, cgraph_uid=0, symbol_order=0) f (short unsigned int b) { unsigned char a; unsigned char _2; <bb 2>: _2 = BIT_FIELD_REF <b_6(D), 8, 0>; return _2; } Andreas. -- Andreas Schwab, SUSE Labs, sch...@suse.de GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 "And now for something completely different."