55 #define MULT_COST_LESS(X,Y) ((X)->cost < (Y) \
56 || ((X)->cost == (Y) && (X)->latency < (Y)))
62 #define CHEAPER_MULT_COST(X,Y) ((X)->cost < (Y)->cost \
63 || ((X)->cost == (Y)->cost \
64 && (X)->latency < (Y)->latency))
95 char log[MAX_BITS_PER_WORD];
104 enum machine_mode
mode;
119 #if HOST_BITS_PER_WIDE_INT == 64
120 #define NUM_ALG_HASH_ENTRIES 1031
122 #define NUM_ALG_HASH_ENTRIES 307
125 #define NUM_MODE_INT \
126 (MAX_MODE_INT - MIN_MODE_INT + 1)
127 #define NUM_MODE_PARTIAL_INT \
128 (MIN_MODE_PARTIAL_INT == VOIDmode ? 0 \
129 : MAX_MODE_PARTIAL_INT - MIN_MODE_PARTIAL_INT + 1)
130 #define NUM_MODE_VECTOR_INT \
131 (MIN_MODE_VECTOR_INT == VOIDmode ? 0 \
132 : MAX_MODE_VECTOR_INT - MIN_MODE_VECTOR_INT + 1)
134 #define NUM_MODE_IP_INT (NUM_MODE_INT + NUM_MODE_PARTIAL_INT)
135 #define NUM_MODE_IPV_INT (NUM_MODE_IP_INT + NUM_MODE_VECTOR_INT)
138 bool cheap[2][NUM_MODE_IPV_INT];
142 int cost[2][NUM_MODE_IPV_INT];
184 #if SWITCHABLE_TARGET
187 #define this_target_expmed (&default_target_expmed)
219 switch (GET_MODE_CLASS (mode))
222 return mode - MIN_MODE_INT;
223 case MODE_PARTIAL_INT:
224 return mode - MIN_MODE_PARTIAL_INT + NUM_MODE_INT;
225 case MODE_VECTOR_INT:
226 return mode - MIN_MODE_VECTOR_INT + NUM_MODE_IP_INT;
238 enum machine_mode
mode)
249 enum machine_mode
mode)
572 gcc_assert (GET_MODE_CLASS (mode) == MODE_INT);
600 gcc_assert (GET_MODE_CLASS (mode) == MODE_INT);
632 gcc_assert (IN_RANGE (to_idx, 0, NUM_MODE_IP_INT - 1));
633 gcc_assert (IN_RANGE (from_idx, 0, NUM_MODE_IP_INT - 1));
643 bool speed,
int cost)
652 convert_cost (
enum machine_mode to_mode,
enum machine_mode from_mode,