diff options
Diffstat (limited to 'lib/gcc/aarch64-linux-android/4.9.1/plugin/include/config/aarch64/aarch64-protos.h')
-rw-r--r-- | lib/gcc/aarch64-linux-android/4.9.1/plugin/include/config/aarch64/aarch64-protos.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/gcc/aarch64-linux-android/4.9.1/plugin/include/config/aarch64/aarch64-protos.h b/lib/gcc/aarch64-linux-android/4.9.1/plugin/include/config/aarch64/aarch64-protos.h index 04cbc78..c4f75b3 100644 --- a/lib/gcc/aarch64-linux-android/4.9.1/plugin/include/config/aarch64/aarch64-protos.h +++ b/lib/gcc/aarch64-linux-android/4.9.1/plugin/include/config/aarch64/aarch64-protos.h @@ -108,9 +108,22 @@ enum aarch64_symbol_type cost models and vectors for address cost calculations, register move costs and memory move costs. */ +/* Scaled addressing modes can vary cost depending on the mode of the + value to be loaded/stored. QImode values cannot use scaled + addressing modes. */ + +struct scale_addr_mode_cost +{ + const int hi; + const int si; + const int di; + const int ti; +}; + /* Additional cost for addresses. */ struct cpu_addrcost_table { + const struct scale_addr_mode_cost addr_scale_costs; const int pre_modify; const int post_modify; const int register_offset; @@ -167,6 +180,7 @@ bool aarch64_cannot_change_mode_class (enum machine_mode, enum aarch64_symbol_type aarch64_classify_symbolic_expression (rtx, enum aarch64_symbol_context); bool aarch64_constant_address_p (rtx); +bool aarch64_expand_movmem (rtx *); bool aarch64_float_const_zero_rtx_p (rtx); bool aarch64_function_arg_regno_p (unsigned); bool aarch64_gen_movmemqi (rtx *); @@ -202,6 +216,8 @@ enum aarch64_symbol_type aarch64_classify_symbol (rtx, enum aarch64_symbol_type aarch64_classify_tls_symbol (rtx); enum reg_class aarch64_regno_regclass (unsigned); int aarch64_asm_preferred_eh_data_format (int, int); +enum machine_mode aarch64_hard_regno_caller_save_mode (unsigned, unsigned, + enum machine_mode); int aarch64_hard_regno_mode_ok (unsigned, enum machine_mode); int aarch64_hard_regno_nregs (unsigned, enum machine_mode); int aarch64_simd_attr_length_move (rtx); @@ -291,4 +307,5 @@ extern void aarch64_split_combinev16qi (rtx operands[3]); extern void aarch64_expand_vec_perm (rtx target, rtx op0, rtx op1, rtx sel); extern bool aarch64_expand_vec_perm_const (rtx target, rtx op0, rtx op1, rtx sel); +void aarch64_atomic_assign_expand_fenv (tree *, tree *, tree *); #endif /* GCC_AARCH64_PROTOS_H */ |