Message ID | CABXYE2UFtqOF+yOXp65nkK7jC-f+WTd1gfVxX_3z123aNctOsQ@mail.gmail.com |
---|---|
State | New |
Headers | show |
On 06/08/2017 11:07 AM, Jim Wilson wrote: > I've got a testcase to add for this patch. Sorry about the delay, I > took some time off to deal with a medical problem. > > This was tested with and without the extract_bit_field patch. The > testcase fails without the patch and works with the patch. Thanks. Please go ahead and install this. Sorry for the delay on my side as well. stack-clash has had me buried since late May and I'm just starting to dig out a bit. jeff
gcc/testsuite/ PR middle-end/79794 * gcc.target/aarch64/pr79794.c: New. Index: gcc/testsuite/gcc.target/aarch64/pr79794.c =================================================================== --- gcc/testsuite/gcc.target/aarch64/pr79794.c (nonexistent) +++ gcc/testsuite/gcc.target/aarch64/pr79794.c (working copy) @@ -0,0 +1,25 @@ +/* PR middle-end/79794 */ +/* { dg-do compile } */ +/* { dg-options "-O3" } */ +/* { dg-final { scan-assembler-not "umov" } } */ + +struct node_struct +{ + float _Complex gap; + unsigned long long state; +}; + +struct reg_struct +{ + int size; + struct node_struct *node; +}; + +void +func(int target, struct reg_struct *reg) +{ + int i; + + for(i=0; i<reg->size; i++) + reg->node[i].state ^= ((unsigned long long) 1 << target); +}