diff options
author | Yukhin Kirill <kirill.yukhin@intel.com> | 2011-07-27 17:45:41 +0000 |
---|---|---|
committer | H.J. Lu <hjl@gcc.gnu.org> | 2011-07-27 10:45:41 -0700 |
commit | 084e45a515a697f61587387c4055d181f3a23e31 (patch) | |
tree | 771525ac74d1ea47feef0a9e31de81312d7602dc /gcc/testsuite/gcc.target/i386/bmi-blsi-2.c | |
parent | 3689198db0121443b06f1bbe4e1c34286acb3f32 (diff) | |
download | gcc-084e45a515a697f61587387c4055d181f3a23e31.tar.gz |
Add BMI testcases.
2011-07-27 Yukhin Kirill <kirill.yukhin@intel.com>
* gcc.target/i386/i386.exp (check_effective_target_bmi): New.
* gcc.target/i386/bmi-andn-1.c: New test.
* gcc.target/i386/bmi-andn-1a.c: Likewise.
* gcc.target/i386/bmi-andn-2.c: Likewise.
* gcc.target/i386/bmi-andn-2a.c: Likewise.
* gcc.target/i386/bmi-bextr-1.c: Likewise.
* gcc.target/i386/bmi-bextr-1a.c: Likewise.
* gcc.target/i386/bmi-bextr-2.c: Likewise.
* gcc.target/i386/bmi-bextr-2a.c: Likewise.
* gcc.target/i386/bmi-blsi-1.c: Likewise.
* gcc.target/i386/bmi-blsi-1a.c: Likewise.
* gcc.target/i386/bmi-blsi-2.c: Likewise.
* gcc.target/i386/bmi-blsi-2a.c: Likewise.
* gcc.target/i386/bmi-blsmsk-1.c: Likewise.
* gcc.target/i386/bmi-blsmsk-1a.c: Likewise.
* gcc.target/i386/bmi-blsmsk-2.c: Likewise.
* gcc.target/i386/bmi-blsmsk-2a.c: Likewise.
* gcc.target/i386/bmi-blsr-1.c: Likewise.
* gcc.target/i386/bmi-blsr-1a.c: Likewise.
* gcc.target/i386/bmi-blsr-2.c: Likewise.
* gcc.target/i386/bmi-blsr-2a.c: Likewise.
* gcc.target/i386/bmi-tzcnt-1.c: Likewise.
* gcc.target/i386/bmi-tzcnt-1a.c: Likewise.
* gcc.target/i386/bmi-tzcnt-2.c: Likewise.
* gcc.target/i386/bmi-tzcnt-2a.c: Likewise.
From-SVN: r176840
Diffstat (limited to 'gcc/testsuite/gcc.target/i386/bmi-blsi-2.c')
-rw-r--r-- | gcc/testsuite/gcc.target/i386/bmi-blsi-2.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.target/i386/bmi-blsi-2.c b/gcc/testsuite/gcc.target/i386/bmi-blsi-2.c new file mode 100644 index 00000000000..b6633a980ab --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/bmi-blsi-2.c @@ -0,0 +1,30 @@ +/* { dg-do run { target { bmi } } } */ +/* { dg-options "-O2 -mbmi -fno-inline" } */ + +#include <x86intrin.h> + +#include "bmi-check.h" + +/* To fool compiler, so it not generate blsi here. */ +int calc_blsi_u32 (int src1, int src2) +{ + return (-src1) & (src2); +} + +static void +bmi_test() +{ + unsigned i; + int src = 0xfacec0ff; + int res, res_ref; + + for (i=0; i<5; ++i) { + src = i + src << i; + + res_ref = calc_blsi_u32 (src, src); + res = __blsi_u32 (src); + + if (res != res_ref) + abort(); + } +} |