1 /* Definitions of target machine tuning knobs for GCC for IA
-32.
2 Copyright (C
) 2013 Free Software Foundation
, Inc.
4 This file is part of GCC.
6 GCC is free software
; you can redistribute it and
/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation
; either version
3, or (at your option
)
11 GCC is distributed in the hope that it will be useful
,
12 but WITHOUT ANY WARRANTY
; without even the implied warranty of
13 MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 Under Section
7 of GPL version
3, you are granted additional
17 permissions described in the GCC Runtime Library Exception
, version
18 3.1, as published by the Free Software Foundation.
20 You should have received a copy of the GNU General Public License and
21 a copy of the GCC Runtime Library Exception along with this program
;
22 see the files COPYING3 and COPYING.RUNTIME respectively. If not
, see
23 <http
://www.gnu.org
/licenses
/>.
*/
25 DEF_TUNE (X86_TUNE_USE_LEAVE
, "use_leave")
26 DEF_TUNE (X86_TUNE_PUSH_MEMORY
, "push_memory")
27 DEF_TUNE (X86_TUNE_ZERO_EXTEND_WITH_AND
, "zero_extend_with_and")
28 DEF_TUNE (X86_TUNE_UNROLL_STRLEN
, "unroll_strlen")
29 DEF_TUNE (X86_TUNE_BRANCH_PREDICTION_HINTS
, "branch_prediction_hints")
30 DEF_TUNE (X86_TUNE_DOUBLE_WITH_ADD
, "double_with_add")
31 DEF_TUNE (X86_TUNE_USE_SAHF
, "use_sahf")
32 DEF_TUNE (X86_TUNE_MOVX
, "movx")
33 DEF_TUNE (X86_TUNE_PARTIAL_REG_STALL
, "partial_reg_stall")
34 DEF_TUNE (X86_TUNE_PARTIAL_FLAG_REG_STALL
, "partial_flag_reg_stall")
35 DEF_TUNE (X86_TUNE_LCP_STALL
, "lcp_stall")
36 DEF_TUNE (X86_TUNE_USE_HIMODE_FIOP
, "use_himode_fiop")
37 DEF_TUNE (X86_TUNE_USE_SIMODE_FIOP
, "use_simode_fiop")
38 DEF_TUNE (X86_TUNE_USE_MOV0
, "use_mov0")
39 DEF_TUNE (X86_TUNE_USE_CLTD
, "use_cltd")
40 DEF_TUNE (X86_TUNE_USE_XCHGB
, "use_xchgb")
41 DEF_TUNE (X86_TUNE_SPLIT_LONG_MOVES
, "split_long_moves")
42 DEF_TUNE (X86_TUNE_READ_MODIFY_WRITE
, "read_modify_write")
43 DEF_TUNE (X86_TUNE_READ_MODIFY
, "read_modify")
44 DEF_TUNE (X86_TUNE_PROMOTE_QIMODE
, "promote_qimode")
45 DEF_TUNE (X86_TUNE_FAST_PREFIX
, "fast_prefix")
46 DEF_TUNE (X86_TUNE_SINGLE_STRINGOP
, "single_stringop")
47 DEF_TUNE (X86_TUNE_QIMODE_MATH
, "qimode_math")
48 DEF_TUNE (X86_TUNE_HIMODE_MATH
, "himode_math")
49 DEF_TUNE (X86_TUNE_PROMOTE_QI_REGS
, "promote_qi_regs")
50 DEF_TUNE (X86_TUNE_PROMOTE_HI_REGS
, "promote_hi_regs")
51 DEF_TUNE (X86_TUNE_SINGLE_POP
, "single_pop")
52 DEF_TUNE (X86_TUNE_DOUBLE_POP
, "double_pop")
53 DEF_TUNE (X86_TUNE_SINGLE_PUSH
, "single_push")
54 DEF_TUNE (X86_TUNE_DOUBLE_PUSH
, "double_push")
55 DEF_TUNE (X86_TUNE_INTEGER_DFMODE_MOVES
, "integer_dfmode_moves")
56 DEF_TUNE (X86_TUNE_PARTIAL_REG_DEPENDENCY
, "partial_reg_dependency")
57 DEF_TUNE (X86_TUNE_SSE_PARTIAL_REG_DEPENDENCY
, "sse_partial_reg_dependency")
58 DEF_TUNE (X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL
, "sse_unaligned_load_optimal")
59 DEF_TUNE (X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL
, "sse_unaligned_store_optimal")
60 DEF_TUNE (X86_TUNE_SSE_PACKED_SINGLE_INSN_OPTIMAL
, "sse_packed_single_insn_optimal")
61 DEF_TUNE (X86_TUNE_SSE_SPLIT_REGS
, "sse_split_regs")
62 DEF_TUNE (X86_TUNE_SSE_TYPELESS_STORES
, "sse_typeless_stores")
63 DEF_TUNE (X86_TUNE_SSE_LOAD0_BY_PXOR
, "sse_load0_by_pxor")
64 DEF_TUNE (X86_TUNE_MEMORY_MISMATCH_STALL
, "memory_mismatch_stall")
65 DEF_TUNE (X86_TUNE_PROLOGUE_USING_MOVE
, "prologue_using_move")
66 DEF_TUNE (X86_TUNE_EPILOGUE_USING_MOVE
, "epilogue_using_move")
67 DEF_TUNE (X86_TUNE_SHIFT1
, "shift1")
68 DEF_TUNE (X86_TUNE_USE_FFREEP
, "use_ffreep")
69 DEF_TUNE (X86_TUNE_INTER_UNIT_MOVES
, "inter_unit_moves")
70 DEF_TUNE (X86_TUNE_INTER_UNIT_CONVERSIONS
, "inter_unit_conversions")
71 DEF_TUNE (X86_TUNE_FOUR_JUMP_LIMIT
, "four_jump_limit")
72 DEF_TUNE (X86_TUNE_SCHEDULE
, "schedule")
73 DEF_TUNE (X86_TUNE_USE_BT
, "use_bt")
74 DEF_TUNE (X86_TUNE_USE_INCDEC
, "use_incdec")
75 DEF_TUNE (X86_TUNE_PAD_RETURNS
, "pad_returns")
76 DEF_TUNE (X86_TUNE_PAD_SHORT_FUNCTION
, "pad_short_function")
77 DEF_TUNE (X86_TUNE_EXT_80387_CONSTANTS
, "ext_80387_constants")
78 DEF_TUNE (X86_TUNE_AVOID_VECTOR_DECODE
, "avoid_vector_decode")
79 DEF_TUNE (X86_TUNE_PROMOTE_HIMODE_IMUL
, "promote_himode_imul")
80 DEF_TUNE (X86_TUNE_SLOW_IMUL_IMM32_MEM
, "slow_imul_imm32_mem")
81 DEF_TUNE (X86_TUNE_SLOW_IMUL_IMM8
, "slow_imul_imm8")
82 DEF_TUNE (X86_TUNE_MOVE_M1_VIA_OR
, "move_m1_via_or")
83 DEF_TUNE (X86_TUNE_NOT_UNPAIRABLE
, "not_unpairable")
84 DEF_TUNE (X86_TUNE_NOT_VECTORMODE
, "not_vectormode")
85 DEF_TUNE (X86_TUNE_USE_VECTOR_FP_CONVERTS
, "use_vector_fp_converts")
86 DEF_TUNE (X86_TUNE_USE_VECTOR_CONVERTS
, "use_vector_converts")
87 DEF_TUNE (X86_TUNE_FUSE_CMP_AND_BRANCH_32
, "fuse_cmp_and_branch_32")
88 DEF_TUNE (X86_TUNE_FUSE_CMP_AND_BRANCH_64
, "fuse_cmp_and_branch_64")
89 DEF_TUNE (X86_TUNE_FUSE_CMP_AND_BRANCH_SOFLAGS
, "fuse_cmp_and_branch_soflags")
90 DEF_TUNE (X86_TUNE_FUSE_ALU_AND_BRANCH
, "fuse_alu_and_branch")
91 DEF_TUNE (X86_TUNE_OPT_AGU
, "opt_agu")
92 DEF_TUNE (X86_TUNE_VECTORIZE_DOUBLE
, "vectorize_double")
93 DEF_TUNE (X86_TUNE_SOFTWARE_PREFETCHING_BENEFICIAL
, "software_prefetching_beneficial")
94 DEF_TUNE (X86_TUNE_AVX128_OPTIMAL
, "avx128_optimal")
95 DEF_TUNE (X86_TUNE_REASSOC_INT_TO_PARALLEL
, "reassoc_int_to_parallel")
96 DEF_TUNE (X86_TUNE_REASSOC_FP_TO_PARALLEL
, "reassoc_fp_to_parallel")
97 DEF_TUNE (X86_TUNE_GENERAL_REGS_SSE_SPILL
, "general_regs_sse_spill")
98 DEF_TUNE (X86_TUNE_AVOID_MEM_OPND_FOR_CMOVE
, "avoid_mem_opnd_for_cmove")