aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.8/gcc/testsuite/gcc.target/i386/bmi2-mulx64-2.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.8/gcc/testsuite/gcc.target/i386/bmi2-mulx64-2.c')
-rw-r--r--gcc-4.8/gcc/testsuite/gcc.target/i386/bmi2-mulx64-2.c51
1 files changed, 0 insertions, 51 deletions
diff --git a/gcc-4.8/gcc/testsuite/gcc.target/i386/bmi2-mulx64-2.c b/gcc-4.8/gcc/testsuite/gcc.target/i386/bmi2-mulx64-2.c
deleted file mode 100644
index 55b355462..000000000
--- a/gcc-4.8/gcc/testsuite/gcc.target/i386/bmi2-mulx64-2.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/* { dg-do run { target { bmi2 && { ! ia32 } } } } */
-/* { dg-options "-mbmi2 -O2" } */
-
-#include <x86intrin.h>
-#include "bmi2-check.h"
-
-__attribute__((noinline))
-unsigned __int128
-calc_mul_u64 (unsigned long long volatile a, unsigned long long b)
-{
- unsigned __int128 res = 0;
- int i;
- for (i = 0; i < b; ++i)
- res += (unsigned __int128) a;
-
- return res;
-}
-
-__attribute__((noinline))
-unsigned long long
-calc_mulx_u64 (unsigned long long x,
- unsigned long long y,
- unsigned long long *res_h)
-{
- return _mulx_u64 (x, y, res_h);
-}
-
-
-static void
-bmi2_test ()
-{
- unsigned i;
- unsigned long long a = 0xce7ace0ce7ace0;
- unsigned long long b = 0xface;
- unsigned long long res_l, res_h;
- unsigned __int128 res, res_ref;
-
- for (i=0; i<5; ++i) {
- a = a * (i + 1);
- b = b / (i + 1);
-
- res_ref = calc_mul_u64 (a, b);
-
- res_l = calc_mulx_u64 (a, b, &res_h);
-
- res = ((unsigned __int128) res_h << 64) | res_l;
-
- if (res != res_ref)
- abort();
- }
-}