GCC Middle and Back End API Reference
vec-perm-indices.cc File Reference
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "vec-perm-indices.h"
#include "tree.h"
#include "fold-const.h"
#include "tree-vector-builder.h"
#include "backend.h"
#include "rtl.h"
#include "memmodel.h"
#include "emit-rtl.h"
#include "selftest.h"
#include "rtx-vector-builder.h"
Include dependency graph for vec-perm-indices.cc:


bool tree_to_vec_perm_builder (vec_perm_builder *builder, tree cst)
tree vec_perm_indices_to_tree (tree type, const vec_perm_indices &indices)
rtx vec_perm_indices_to_rtx (machine_mode mode, const vec_perm_indices &indices)

Function Documentation

◆ tree_to_vec_perm_builder()

bool tree_to_vec_perm_builder ( vec_perm_builder * builder,
tree cst )
Try to read the contents of VECTOR_CST CST as a constant permutation
vector.  Return true and add the elements to BUILDER on success,
otherwise return false without modifying BUILDER.   

References i, int_vector_builder< T >::new_vector(), tree_fits_poly_int64_p(), tree_to_poly_int64(), TREE_TYPE, TYPE_VECTOR_SUBPARTS(), VECTOR_CST_ENCODED_ELT, vector_cst_encoded_nelts(), VECTOR_CST_NELTS_PER_PATTERN, and VECTOR_CST_NPATTERNS.

Referenced by expand_expr_real_2(), fold_ternary_loc(), is_combined_permutation_identity(), lower_vec_perm(), and simplify_permutation().

◆ vec_perm_indices_to_rtx()

rtx vec_perm_indices_to_rtx ( machine_mode mode,
const vec_perm_indices & indices )
Return a CONST_VECTOR of mode MODE that contains the elements of

References rtx_vector_builder::build(), vector_builder< T, Shape, Derived >::encoded_nelts(), gcc_assert, gen_int_mode(), GET_MODE_CLASS, GET_MODE_INNER, GET_MODE_NUNITS(), i, and known_eq.

Referenced by expand_vec_perm_const().

◆ vec_perm_indices_to_tree()

tree vec_perm_indices_to_tree ( tree type,
const vec_perm_indices & indices )