#include <machmode.h>
Public Types | |
enum | from_int { dummy = MAX_MACHINE_MODE } |
Public Member Functions | |
ALWAYS_INLINE CONSTEXPR | opt_mode () |
ALWAYS_INLINE CONSTEXPR | opt_mode (const T &m) |
template<typename U> | |
ALWAYS_INLINE CONSTEXPR | opt_mode (const U &m) |
template<typename U> | |
ALWAYS_INLINE CONSTEXPR | opt_mode (const opt_mode< U > &) |
ALWAYS_INLINE CONSTEXPR | opt_mode (from_int m) |
machine_mode | else_void () const |
machine_mode | else_blk () const |
machine_mode | else_mode (machine_mode) const |
T | require () const |
bool | exists () const |
template<typename U> | |
bool | exists (U *) const |
bool | operator== (const T &m) const |
bool | operator!= (const T &m) const |
Private Attributes | |
machine_mode | m_mode |
An optional T (i.e. a T or nothing), where T is some form of mode class.
enum opt_mode::from_int |
|
inline |
Referenced by opt_mode().
|
inline |
|
inline |
ALWAYS_INLINE CONSTEXPR opt_mode< T >::opt_mode | ( | const opt_mode< U > & | m | ) |
References exists(), m_mode, opt_mode(), require(), and T.
|
inline |
If the T exists, return its enum value, otherwise return FALLBACK.
References m_mode.
Referenced by opt_mode< scalar_mode >::else_blk().
ALWAYS_INLINE machine_mode opt_mode< T >::else_void | ( | ) | const |
If the object contains a T, return its enum value, otherwise return E_VOIDmode.
References m_mode.
Referenced by as_a(), dyn_cast(), and is_a().
ALWAYS_INLINE bool opt_mode< T >::exists | ( | ) | const |
Return true if the object contains a T rather than nothing.
References m_mode.
Referenced by copy_blkmode_from_reg(), default_floatn_mode(), emit_block_cmp_via_loop(), emit_block_move_via_loop(), expand_expr_real_1(), expand_float(), extract_bit_field_1(), finish_bitfield_representative(), init_derived_machine_modes(), mode_iterator::iterate_p(), opt_mode(), store_bit_field_1(), store_fixed_bit_field(), store_split_bit_field(), and widen_bswap().
Assert that the object contains a T and return it.
References gcc_checking_assert, and m_mode.
Referenced by alignment_for_piecewise_move(), assemble_integer(), canonicalize_loop_ivs(), combine_instructions(), convert_extracted_bit_field(), convert_float_to_wider_int(), convert_mode_scalar(), convert_wider_int_to_float(), copy_blkmode_from_reg(), copy_blkmode_to_reg(), cse_insn(), cselib_record_sets(), default_secondary_memory_needed_mode(), emit_block_cmp_via_loop(), emit_block_move_via_loop(), emit_block_move_via_oriented_loop(), emit_block_move_via_pattern(), expand_arith_overflow(), expand_builtin_atomic_clear(), expand_builtin_atomic_test_and_set(), expand_builtin_issignaling(), expand_builtin_powi(), expand_builtin_signbit(), expand_debug_expr(), expand_fix(), expand_float(), expand_ifn_atomic_compare_exchange(), expand_parity(), expand_vector_parallel(), extract_bit_field_using_extv(), extract_fixed_bit_field(), extract_fixed_bit_field_1(), extract_integral_bit_field(), extract_split_bit_field(), find_shift_sequence(), finish_bitfield_representative(), gen_int_shift_amount(), gen_lowpart_common(), gen_lowpart_for_combine(), mode_iterator::get_2xwider(), get_best_extraction_insn(), get_builtin_sync_mode(), get_gcov_type(), get_gcov_unsigned_t(), mode_iterator::get_next(), mode_iterator::get_wider(), hard_function_value(), init_derived_machine_modes(), init_emit_once(), init_expr_target(), init_num_sign_bit_copies_in_rep(), init_optabs(), initialize_sizetypes(), layout_type(), make_extraction(), omp_clause_aligned_alignment(), opt_mode(), prepare_call_arguments(), prepare_cmp_insn(), replace_reg_with_saved_mem(), resolve_simple_move(), set_builtin_user_assembler_name(), set_storage_via_setmem(), simplify_comparison(), simplify_subreg_concatn(), op_by_pieces_d::smallest_fixed_size_mode_for_size(), store_bit_field_1(), store_bit_field_using_insv(), store_field(), store_fixed_bit_field(), store_integral_bit_field(), store_split_bit_field(), supportable_indirect_convert_operation(), vect_verify_full_masking(), vect_verify_full_masking_avx512(), vect_verify_loop_lens(), vectorizable_conversion(), vectorizable_load(), vectorizable_store(), widen_bswap(), widen_leading(), and widest_fixed_size_mode_for_size().
Referenced by else_mode(), else_void(), exists(), exists(), opt_mode(), and require().