|
GCC Middle and Back End API 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"
Functions | |
| 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) |
| 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().
| 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 INDICES.
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().
| tree vec_perm_indices_to_tree | ( | tree | type, |
| const vec_perm_indices & | indices ) |
Return a VECTOR_CST of type TYPE for the permutation vector in INDICES.
References tree_vector_builder::build(), build_int_cst(), vector_builder< T, Shape, Derived >::encoded_nelts(), gcc_assert, i, known_eq, TREE_TYPE, and TYPE_VECTOR_SUBPARTS().
Referenced by simplify_permutation(), simplify_vector_constructor(), vect_gen_perm_mask_any(), and vectorizable_bswap().