| /* PR tree-optimization/113783 */ |
| /* { dg-do compile { target bitint } } */ |
| /* { dg-options "-O2" } */ |
| /* { dg-additional-options "-mavx512f" { target i?86-*-* x86_64-*-* } } */ |
| |
| int i; |
| |
| #if __BITINT_MAXWIDTH__ >= 246 |
| void |
| foo (void *p, _BitInt(246) x) |
| { |
| __builtin_memcpy (p, &x, sizeof x); |
| } |
| |
| _BitInt(246) |
| bar (void *p, _BitInt(246) x) |
| { |
| _BitInt(246) y = x + 1; |
| __builtin_memcpy (p, &y, sizeof y); |
| return x; |
| } |
| #endif |
| |
| #if __BITINT_MAXWIDTH__ >= 502 |
| void |
| baz (void *p, _BitInt(502) x) |
| { |
| __builtin_memcpy (p, &x, sizeof x); |
| } |
| |
| _BitInt(502) |
| qux (void *p, _BitInt(502) x) |
| { |
| _BitInt(502) y = x + 1; |
| __builtin_memcpy (p, &y, sizeof y); |
| return x; |
| } |
| #endif |