Home | History | Annotate | Download | only in gcc

Lines Matching refs:indices

1 /* A representation of vector permutation indices.
23 #include "vec-perm-indices.h"
304 /* Return a VECTOR_CST of type TYPE for the permutation vector in INDICES. */
307 vec_perm_indices_to_tree (tree type, const vec_perm_indices &indices)
309 gcc_assert (known_eq (TYPE_VECTOR_SUBPARTS (type), indices.length ()));
310 tree_vector_builder sel (type, indices.encoding ().npatterns (),
311 indices.encoding ().nelts_per_pattern ());
314 sel.quick_push (build_int_cst (TREE_TYPE (type), indices[i]));
319 INDICES. */
322 vec_perm_indices_to_rtx (machine_mode mode, const vec_perm_indices &indices)
325 && known_eq (GET_MODE_NUNITS (mode), indices.length ()));
326 rtx_vector_builder sel (mode, indices.encoding ().npatterns (),
327 indices.encoding ().nelts_per_pattern ());
330 sel.quick_push (gen_int_mode (indices[i], GET_MODE_INNER (mode)));
350 vec_perm_indices indices (builder, 1, 12);
351 ASSERT_TRUE (indices.series_p (0, 3, 0, 5));
352 ASSERT_FALSE (indices.series_p (0, 3, 3, 5));
353 ASSERT_FALSE (indices.series_p (0, 3, 0, 8));
354 ASSERT_TRUE (indices.series_p (1, 3, 3, 1));
355 ASSERT_TRUE (indices.series_p (2, 3, 2, 3));
357 ASSERT_TRUE (indices.series_p (0, 4, 0, 4));
358 ASSERT_FALSE (indices.series_p (1, 4, 3, 4));
360 ASSERT_TRUE (indices.series_p (0, 6, 0, 10));
361 ASSERT_FALSE (indices.series_p (0, 6, 0, 100));
363 ASSERT_FALSE (indices.series_p (1, 10, 3, 7));
364 ASSERT_TRUE (indices.series_p (1, 10, 3, 8));
366 ASSERT_TRUE (indices.series_p (0, 12, 0, 10));
367 ASSERT_TRUE (indices.series_p (0, 12, 0, 11));
368 ASSERT_TRUE (indices.series_p (0, 12, 0, 100));