c++: normalizing ttp constraints [PR115656]
[official-gcc.git] / gcc / testsuite / gcc.target / avr / pr82931.c
blob477284fa12799927ddaa3b28b03c9670811604b8
1 /* { dg-options "-Os" } */
2 /* { dg-final { scan-assembler-times "bst" 4 } } */
3 /* { dg-final { scan-assembler-times "bld" 4 } } */
5 typedef __UINT8_TYPE__ uint8_t;
6 typedef __UINT16_TYPE__ uint16_t;
8 #define BitMask (1u << 14)
9 #define Bit8Mask ((uint8_t) (1u << 4))
11 void merge1_8 (uint8_t *dst, const uint8_t *src)
13 *dst = (*src & Bit8Mask) | (*dst & ~ Bit8Mask);
16 void merge2_8 (uint8_t *dst, const uint8_t *src)
18 *dst ^= (*dst ^ *src) & Bit8Mask;
21 void merge1_16 (uint16_t *dst, const uint16_t *src)
23 *dst = (*src & BitMask) | (*dst & ~ BitMask);
26 void merge2_16 (uint16_t *dst, const uint16_t *src)
28 *dst ^= (*dst ^ *src) & BitMask;