From b5900ad3a55d130ea201b178c9bddd5675743689 Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Thu, 31 Aug 2023 12:29:41 +0200 Subject: Fix gcc.dg/tree-ssa/forwprop-42.c The testcase requires hardware support for V2DImode vectors because otherwise we do not rewrite inserts via BIT_FIELD_REF to BIT_INSERT_EXPR. There's no effective target for this so the following makes the testcase x86 specific, requiring and enabling SSE2. * gcc.dg/tree-ssa/forwprop-42.c: Move ... * gcc.target/i386/pr111228.c: ... here. Enable SSE2. --- gcc/testsuite/gcc.dg/tree-ssa/forwprop-42.c | 17 ----------------- gcc/testsuite/gcc.target/i386/pr111228.c | 18 ++++++++++++++++++ 2 files changed, 18 insertions(+), 17 deletions(-) delete mode 100644 gcc/testsuite/gcc.dg/tree-ssa/forwprop-42.c create mode 100644 gcc/testsuite/gcc.target/i386/pr111228.c (limited to 'gcc') diff --git a/gcc/testsuite/gcc.dg/tree-ssa/forwprop-42.c b/gcc/testsuite/gcc.dg/tree-ssa/forwprop-42.c deleted file mode 100644 index 257a05d..0000000 --- a/gcc/testsuite/gcc.dg/tree-ssa/forwprop-42.c +++ /dev/null @@ -1,17 +0,0 @@ -/* { dg-do compile } */ -/* { dg-options "-O -fdump-tree-cddce1" } */ - -typedef __UINT64_TYPE__ v2di __attribute__((vector_size(16))); - -v2di g; -void test (v2di *v) -{ - v2di lo = v[0]; - v2di hi = v[1]; - v2di res; - res[1] = hi[1]; - res[0] = lo[0]; - g = res; -} - -/* { dg-final { scan-tree-dump-times "VEC_PERM_EXPR <\[^>\]*, { 0, 3 }>" 1 "cddce1" } } */ diff --git a/gcc/testsuite/gcc.target/i386/pr111228.c b/gcc/testsuite/gcc.target/i386/pr111228.c new file mode 100644 index 0000000..f0c3f9b --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/pr111228.c @@ -0,0 +1,18 @@ +/* { dg-do compile } */ +/* { dg-options "-O -fdump-tree-cddce1" } */ +/* { dg-additional-options "-msse2" { target sse2 } } */ + +typedef __UINT64_TYPE__ v2di __attribute__((vector_size(16))); + +v2di g; +void test (v2di *v) +{ + v2di lo = v[0]; + v2di hi = v[1]; + v2di res; + res[1] = hi[1]; + res[0] = lo[0]; + g = res; +} + +/* { dg-final { scan-tree-dump-times "VEC_PERM_EXPR <\[^>\]*, { 0, 3 }>" 1 "cddce1" { target sse2 } } } */ -- cgit v1.1