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.
Pushed. * gcc.dg/tree-ssa/forwprop-42.c: Move ... * gcc.target/i386/pr111228.c: ... here. Enable SSE2. --- .../tree-ssa/forwprop-42.c => gcc.target/i386/pr111228.c} | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) rename gcc/testsuite/{gcc.dg/tree-ssa/forwprop-42.c => gcc.target/i386/pr111228.c} (76%) diff --git a/gcc/testsuite/gcc.dg/tree-ssa/forwprop-42.c b/gcc/testsuite/gcc.target/i386/pr111228.c similarity index 76% rename from gcc/testsuite/gcc.dg/tree-ssa/forwprop-42.c rename to gcc/testsuite/gcc.target/i386/pr111228.c index 257a05d3ec8..f0c3f9b77bf 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/forwprop-42.c +++ b/gcc/testsuite/gcc.target/i386/pr111228.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O -fdump-tree-cddce1" } */ +/* { dg-additional-options "-msse2" { target sse2 } } */ typedef __UINT64_TYPE__ v2di __attribute__((vector_size(16))); @@ -14,4 +15,4 @@ void test (v2di *v) g = res; } -/* { dg-final { scan-tree-dump-times "VEC_PERM_EXPR <\[^>\]*, { 0, 3 }>" 1 "cddce1" } } */ +/* { dg-final { scan-tree-dump-times "VEC_PERM_EXPR <\[^>\]*, { 0, 3 }>" 1 "cddce1" { target sse2 } } } */ -- 2.35.3