From d3f062be9c9b3432e849793f57c692c23cffefcd Mon Sep 17 00:00:00 2001 From: Jim Wilson Date: Fri, 23 Jun 2017 21:01:32 +0000 Subject: [PATCH] Testcase for FSF GCC bug 79794. gcc/testsuite/ PR middle-end/79794 * gcc.target/aarch64/pr79794.c: New. From-SVN: r249612 --- gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/gcc.target/aarch64/pr79794.c | 25 ++++++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 gcc/testsuite/gcc.target/aarch64/pr79794.c diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index a2694780368..c9d75b712f3 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2017-06-23 Jim Wilson + + PR middle-end/79794 + * gcc.target/aarch64/pr79794.c: New. + 2017-06-23 Michael Meissner PR target/80510 diff --git a/gcc/testsuite/gcc.target/aarch64/pr79794.c b/gcc/testsuite/gcc.target/aarch64/pr79794.c new file mode 100644 index 00000000000..363d2dbc8cc --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/pr79794.c @@ -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; isize; i++) + reg->node[i].state ^= ((unsigned long long) 1 << target); +} -- 2.30.2