Richard Biener <[email protected]> writes:
> On Thu, 3 Mar 2016, James Greenhalgh wrote:
>
>>
>> Hi,
>>
>> ARM and AArch64 will still vectorize bb-slp-34.c - we're not operating
>> with a cost model so we vectorize to a 64-bit vector of two ints, and the
>> permutes are just element swaps.
>>
>> So, don't mark this test xfail for arm/aarch64.
>>
>> Checked on x86_64-none-linux-gnu, arm-none-eabi and aarch64-none-elf with
>> no issues.
>>
>> OK?
>
> Ok. Indeed with using V2SI vectors the vectorization is valid.
Unfortunately, the patch broke the test on sparc:
FAIL: gcc.dg/vect/bb-slp-34.c -flto -ffat-lto-objects scan-tree-dump slp2
"basic block vectorized"
FAIL: gcc.dg/vect/bb-slp-34.c scan-tree-dump slp2 "basic block vectorized"
While before the scan-tree-dump wasn't run due to missing vect_perm
support, it now fails.
I believe you meant to just not xfail the test on aarch64* and arm*,
which is what the following patch does. James, could you please test
it?
Thanks.
Rainer
2016-03-09 Rainer Orth <[email protected]>
* gcc.dg/vect/bb-slp-34.c: Really don't xfail on aarch64-*-*,
arm-*-*.
# HG changeset patch
# Parent 2b37d3d00ad8084dfecd2fc2165d20fffc47e5bf
Really don't xfail gcc.dg/vect/bb-slp-34.c on aarch64, arm
diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-34.c b/gcc/testsuite/gcc.dg/vect/bb-slp-34.c
--- a/gcc/testsuite/gcc.dg/vect/bb-slp-34.c
+++ b/gcc/testsuite/gcc.dg/vect/bb-slp-34.c
@@ -33,4 +33,4 @@ int main()
}
/* ??? XFAILed because we access "excess" elements with the permutation. */
-/* { dg-final { scan-tree-dump "basic block vectorized" "slp2" { xfail { { vect_perm } && { ! { aarch64*-*-* arm*-*-* } } } } } } */
+/* { dg-final { scan-tree-dump "basic block vectorized" "slp2" { target vect_perm xfail { ! { aarch64*-*-* arm*-*-* } } } } } */
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University