Esempio n. 1
0
static void
bmi2_test ()
{
  unsigned i;
  unsigned src = 0xce7ace0f;
  unsigned res, res_ref;

  for (i = 0; i < 5; ++i) {
    src = src * (i + 1);

    res_ref = calc_bzhi_u32 (src, i * 2);
    res = _bzhi_u32 (src, i * 2);

    if (res != res_ref)
      abort();
  }
}
Esempio n. 2
0
unsigned int test_bzhi_u32(unsigned int __X, unsigned int __Y) {
  // CHECK: @llvm.x86.bmi.bzhi.32
  return _bzhi_u32(__X, __Y);
}
Esempio n. 3
0
unsigned int __attribute__((__target__("bmi2"))) bzhi_u32_wrap(unsigned int x, unsigned int y) {
  return _bzhi_u32(x, y);
}