diff options
Diffstat (limited to 'gcc-4.8/gcc/testsuite/gcc.target/i386/bmi2-pdep64-1.c')
-rw-r--r-- | gcc-4.8/gcc/testsuite/gcc.target/i386/bmi2-pdep64-1.c | 38 |
1 files changed, 0 insertions, 38 deletions
diff --git a/gcc-4.8/gcc/testsuite/gcc.target/i386/bmi2-pdep64-1.c b/gcc-4.8/gcc/testsuite/gcc.target/i386/bmi2-pdep64-1.c deleted file mode 100644 index f718b2f35..000000000 --- a/gcc-4.8/gcc/testsuite/gcc.target/i386/bmi2-pdep64-1.c +++ /dev/null @@ -1,38 +0,0 @@ -/* { dg-do run { target { bmi2 && { ! ia32 } } } } */ -/* { dg-options "-mbmi2 -O2" } */ - -#include <x86intrin.h> -#include "bmi2-check.h" - -__attribute__((noinline)) -unsigned long long -calc_pdep_u64 (unsigned long long a, unsigned long long mask) -{ - unsigned long long res = 0; - unsigned long long i, k = 0; - - for (i = 0; i < 64; ++i) - if (mask & (1LL << i)) { - res |= ((a & (1LL << k)) >> k) << i; - ++k; - } - return res; -} - -static void -bmi2_test () -{ - unsigned long long i; - unsigned long long src = 0xce7acce7acce7ac; - unsigned long long res, res_ref; - - for (i = 0; i < 5; ++i) { - src = src * (i + 1); - - res_ref = calc_pdep_u64 (src, ~(i * 3)); - res = _pdep_u64 (src, ~(i * 3)); - - if (res != res_ref) - abort(); - } -} |