コード例 #1
0
int32x4x4_t
f_vld4q_lane_s32 (int32_t * p, int32x4x4_t v)
{
  int32x4x4_t res;
  /* { dg-error "lane 4 out of range 0 - 3" "" { xfail arm*-*-* } 0 } */
  res = vld4q_lane_s32 (p, v, 4);
  /* { dg-error "lane -1 out of range 0 - 3" "" { xfail arm*-*-* } 0 } */
  res = vld4q_lane_s32 (p, v, -1);
  return res;
}
コード例 #2
0
void test_vld4Q_lanes32 (void)
{
  int32x4x4_t out_int32x4x4_t;
  int32x4x4_t arg1_int32x4x4_t;

  out_int32x4x4_t = vld4q_lane_s32 (0, arg1_int32x4x4_t, 1);
}
コード例 #3
0
ファイル: aarch64-neon-ranges.c プロジェクト: 4ntoine/clang
void test_ld4st4(int8x8x4_t small8, int8x16x4_t big8,
                 int16x4x4_t small16, int16x8x4_t big16,
                 int32x2x4_t small32, int32x4x4_t big32,
                 int64x1x4_t small64, int64x2x4_t big64,
                 void *addr) {
  vld4_lane_s8(addr, small8, 7);
  vld4_lane_s16(addr, small16, 3);
  vld4_lane_s32(addr, small32, 1);
  vld4_lane_s64(addr, small64, 0);

  vld4q_lane_s8(addr, big8, 15);
  vld4q_lane_s16(addr, big16, 7);
  vld4q_lane_s32(addr, big32, 3);
  vld4q_lane_s64(addr, big64, 1);

  vld4_lane_s8(addr, small8, 8); // expected-error {{argument should be a value from 0 to 7}}
  vld4_lane_s16(addr, small16, 4); // expected-error {{argument should be a value from 0 to 3}}
  vld4_lane_s32(addr, small32, 2); // expected-error {{argument should be a value from 0 to 1}}
  vld4_lane_s64(addr, small64, 1); // expected-error {{argument should be a value from 0 to 0}}

  vld4q_lane_s8(addr, big8, 16); // expected-error {{argument should be a value from 0 to 15}}
  vld4q_lane_s16(addr, big16, 8); // expected-error {{argument should be a value from 0 to 7}}
  vld4q_lane_s32(addr, big32, 4); // expected-error {{argument should be a value from 0 to 3}}
  vld4q_lane_s64(addr, big64, 2); // expected-error {{argument should be a value from 0 to 1}}

  vst4_lane_s8(addr, small8, 7);
  vst4_lane_s16(addr, small16, 3);
  vst4_lane_s32(addr, small32, 1);
  vst4_lane_s64(addr, small64, 0);

  vst4q_lane_s8(addr, big8, 15);
  vst4q_lane_s16(addr, big16, 7);
  vst4q_lane_s32(addr, big32, 3);
  vst4q_lane_s64(addr, big64, 1);

  vst4_lane_s8(addr, small8, 8); // expected-error {{argument should be a value from 0 to 7}}
  vst4_lane_s16(addr, small16, 4); // expected-error {{argument should be a value from 0 to 3}}
  vst4_lane_s32(addr, small32, 2); // expected-error {{argument should be a value from 0 to 1}}
  vst4_lane_s64(addr, small64, 1); // expected-error {{argument should be a value from 0 to 0}}

  vst4q_lane_s8(addr, big8, 16); // expected-error {{argument should be a value from 0 to 15}}
  vst4q_lane_s16(addr, big16, 8); // expected-error {{argument should be a value from 0 to 7}}
  vst4q_lane_s32(addr, big32, 4); // expected-error {{argument should be a value from 0 to 3}}
  vst4q_lane_s64(addr, big64, 2); // expected-error {{argument should be a value from 0 to 1}}
}