| /* { 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" } } */ |