diff options
Diffstat (limited to 'gcc/tree-ssa-loop-ivopts.c')
-rw-r--r-- | gcc/tree-ssa-loop-ivopts.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/gcc/tree-ssa-loop-ivopts.c b/gcc/tree-ssa-loop-ivopts.c index 17838c2..63f01d2 100644 --- a/gcc/tree-ssa-loop-ivopts.c +++ b/gcc/tree-ssa-loop-ivopts.c @@ -3148,10 +3148,10 @@ add_autoinc_candidates (struct ivopts_data *data, tree base, tree step, mem_mode = TYPE_MODE (TREE_TYPE (*use->op_p)); if (((USE_LOAD_PRE_INCREMENT (mem_mode) || USE_STORE_PRE_INCREMENT (mem_mode)) - && GET_MODE_SIZE (mem_mode) == cstepi) + && known_eq (GET_MODE_SIZE (mem_mode), cstepi)) || ((USE_LOAD_PRE_DECREMENT (mem_mode) || USE_STORE_PRE_DECREMENT (mem_mode)) - && GET_MODE_SIZE (mem_mode) == -cstepi)) + && known_eq (GET_MODE_SIZE (mem_mode), -cstepi))) { enum tree_code code = MINUS_EXPR; tree new_base; @@ -3170,10 +3170,10 @@ add_autoinc_candidates (struct ivopts_data *data, tree base, tree step, } if (((USE_LOAD_POST_INCREMENT (mem_mode) || USE_STORE_POST_INCREMENT (mem_mode)) - && GET_MODE_SIZE (mem_mode) == cstepi) + && known_eq (GET_MODE_SIZE (mem_mode), cstepi)) || ((USE_LOAD_POST_DECREMENT (mem_mode) || USE_STORE_POST_DECREMENT (mem_mode)) - && GET_MODE_SIZE (mem_mode) == -cstepi)) + && known_eq (GET_MODE_SIZE (mem_mode), -cstepi))) { add_candidate_1 (data, base, step, important, IP_AFTER_USE, use, use->stmt); @@ -4295,7 +4295,7 @@ get_address_cost_ainc (poly_int64 ainc_step, poly_int64 ainc_offset, ainc_cost_data_list[idx] = data; } - HOST_WIDE_INT msize = GET_MODE_SIZE (mem_mode); + poly_int64 msize = GET_MODE_SIZE (mem_mode); if (known_eq (ainc_offset, 0) && known_eq (msize, ainc_step)) return comp_cost (data->costs[AINC_POST_INC], 0); if (known_eq (ainc_offset, 0) && known_eq (msize, -ainc_step)) |