On Mon, May 23, 2016 at 04:22:57PM +0200, Richard Biener wrote:
> *** /dev/null 1970-01-01 00:00:00.000000000 +0000
> --- gcc/testsuite/c-c++-common/vector-subscript-5.c 2016-05-23
> 16:17:41.148043066 +0200
> ***************
> *** 0 ****
> --- 1,13 ----
> + /* { dg-do compile } */
> +
> + typedef int U __attribute__ ((vector_size (16)));
> +
> + int
> + foo (int i)
> + {
> + register U u
> + #if __SSE2__
> + asm ("xmm0");
> + #endif
> + return u[i];
> + }
This test fails on i?86 (and supposedly on all non-x86 arches too).
I've tested following fix and committed as obvious to trunk:
2016-05-24 Jakub Jelinek <[email protected]>
PR middle-end/70434
PR c/69504
* c-c++-common/vector-subscript-5.c (foo): Move ; out of the ifdef.
--- gcc/testsuite/c-c++-common/vector-subscript-5.c.jj 2016-05-24
10:56:00.000000000 +0200
+++ gcc/testsuite/c-c++-common/vector-subscript-5.c 2016-05-24
18:11:51.778520055 +0200
@@ -7,7 +7,8 @@ foo (int i)
{
register U u
#if __SSE2__
- asm ("xmm0");
+ asm ("xmm0")
#endif
+ ;
return u[i];
}
Jakub