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