On Aug 26 2016, Richard Biener <[email protected]> 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, [email protected]
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."