/* { dg-do compile } */ /* { dg-options "-O -fdump-tree-forwprop4" } */ __UINT8_TYPE__ f(__UINT16_TYPE__ b) { __UINT8_TYPE__ a; #if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ __builtin_memcpy(&a, &b, sizeof a); #elif __BYTE_ORDER__ == __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" "forwprop4" } } */