Esempio n. 1
0
void test_vext_8bit(int8x8_t small, int8x16_t big) {
  vext_s8(small, small, 7);
  vext_u8(small, small, 7);
  vext_p8(small, small, 7);
  vextq_s8(big, big, 15);
  vextq_u8(big, big, 15);
  vextq_p8(big, big, 15);

  vext_s8(small, small, 8); // expected-error {{argument should be a value from 0 to 7}}
  vext_u8(small, small, 8); // expected-error {{argument should be a value from 0 to 7}}
  vext_p8(small, small, 8); // expected-error {{argument should be a value from 0 to 7}}
  vextq_s8(big, big, 16); // expected-error {{argument should be a value from 0 to 15}}
  vextq_u8(big, big, 16); // expected-error {{argument should be a value from 0 to 15}}
  vextq_p8(big, big, 16); // expected-error {{argument should be a value from 0 to 15}}
}
Esempio n. 2
0
void test_vextQp8 (void)
{
  poly8x16_t out_poly8x16_t;
  poly8x16_t arg0_poly8x16_t;
  poly8x16_t arg1_poly8x16_t;

  out_poly8x16_t = vextq_p8 (arg0_poly8x16_t, arg1_poly8x16_t, 0);
}
Esempio n. 3
0
void test_vextQp8 (void)
{
  poly8x16_t out_poly8x16_t;
  poly8x16_t arg0_poly8x16_t;
  poly8x16_t arg1_poly8x16_t;

 /* LLVM LOCAL */
  out_poly8x16_t = vextq_p8 (arg0_poly8x16_t, arg1_poly8x16_t, 1);
}
Esempio n. 4
0
poly8x16_t test_vextq_p8(poly8x16_t a, poly8x16_t b) {
  // CHECK-LABEL: test_vextq_p8
  return vextq_p8(a, b, 2);
  // CHECK: ext {{v[0-9]+}}.16b, {{v[0-9]+}}.16b, {{v[0-9]+}}.16b, #{{(0x)?2}}
}
Esempio n. 5
0
// CHECK-LABEL: define <16 x i8> @test_vextq_p8(<16 x i8> %a, <16 x i8> %b) #0 {
// CHECK:   [[VEXT:%.*]] = shufflevector <16 x i8> %a, <16 x i8> %b, <16 x i32> <i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17>
// CHECK:   ret <16 x i8> [[VEXT]]
poly8x16_t test_vextq_p8(poly8x16_t a, poly8x16_t b) {
  return vextq_p8(a, b, 2);
}