[patch] Fix g++.dg/vect/slp-pr50413.cc
Ira Rosen
ira.rosen@linaro.org
Tue Sep 20 08:39:00 GMT 2011
Hi,
g++.dg/vect/slp-pr50413.cc should check that the basic block in shift
() doesn't get vectorized. This patch removes other functions that
contain basic blocks that can be vectorizable on some platforms.
Tested on x86_64-suse-linux.
Committed to trunk.
Ira
testsuite/ChangeLog:
* g++.dg/vect/slp-pr50413.cc: Don't run the test. Remove main ()
and get_bit ().
Index: testsuite/g++.dg/vect/slp-pr50413.cc
===================================================================
--- testsuite/g++.dg/vect/slp-pr50413.cc (revision 178998)
+++ testsuite/g++.dg/vect/slp-pr50413.cc (working copy)
@@ -1,3 +1,4 @@
+/* { dg-do compile } */
/* { dg-require-effective-target vect_int } */
typedef unsigned long long UInt64;
@@ -150,12 +151,6 @@ UInt128_BITMAP;
UInt128_BITMAP V;
-template<typename CAST>
-unsigned char get_bit(CAST value, unsigned char pos)
-{
- return ( value & (static_cast<CAST>(1) << pos) ) != 0;
-}
-
void shift(unsigned char t)
{
V.uint128.uint64_lower = (V.uint128.uint64_lower >> 1);
@@ -165,21 +160,6 @@ void shift(unsigned char t)
V.bitmap.b96 = t;
}
-int main()
-{
- V.uint128.uint64_lower = 0;
- V.uint128.uint64_upper = 0xd4004001;
-
- UInt64 Kc = 0xDD1A1B8A8A5C2400;
-
- for (int i = 0; i < 64; i++ )
- {
- shift( get_bit( Kc, i) );
- }
-
- return 0;
-}
-
/* { dg-final { scan-tree-dump-times "basic block vectorized using
SLP" 0 "slp" } } */
/* { dg-final { cleanup-tree-dump "slp" } } */
More information about the Gcc-patches
mailing list