aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vect-unified.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/tree-vect-unified.c')
-rw-r--r--gcc/tree-vect-unified.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/gcc/tree-vect-unified.c b/gcc/tree-vect-unified.c
index 03e26254fd4..f8eeec7b33a 100644
--- a/gcc/tree-vect-unified.c
+++ b/gcc/tree-vect-unified.c
@@ -2415,7 +2415,7 @@ get_transition_state (struct primop_tree *ptree)
registers. */
if (PT_NODE_OP (ptree) < MAX_TREE_CODES)
{
- return get_REG_terminal_state (GET_MODE_SIZE (TYPE_MODE (PT_VEC_TYPE (ptree))));
+ return get_REG_terminal_state (GET_MODE_INNER (TYPE_MODE (PT_VEC_TYPE (ptree))));
}
/* We need not handle POP_PH as it is only for tile construction. POP_CONCAT
@@ -2434,12 +2434,12 @@ get_transition_state (struct primop_tree *ptree)
PT_AUX (get_child_at_index (ptree, i)));
}
- return transition_state_for_ilv (PT_DIVISION (ptree), idx);
+ return transition_state_for_ilv (PT_DIVISION (ptree), idx, GET_MODE_INNER (TYPE_MODE (PT_VEC_TYPE (ptree))));
case POP_EXTR:
return transition_state_for_extr (PT_DIVISION (ptree),
PT_OPERAND_SELECTOR (ptree),
- PT_AUX (get_child_at_index (ptree, 0)));
+ PT_AUX (get_child_at_index (ptree, 0)), GET_MODE_INNER (TYPE_MODE (PT_VEC_TYPE (ptree))));
default:
gcc_assert (!"Operator not handled.");
@@ -2458,11 +2458,11 @@ label_permute_tree (struct primop_tree *ptree)
switch (PT_NODE_OP (ptree))
{
case POP_MEMREF:
- PT_AUX (ptree) = get_REG_terminal_state (GET_MODE_SIZE (TYPE_MODE (PT_VEC_TYPE (ptree))));
+ PT_AUX (ptree) = get_REG_terminal_state (GET_MODE_INNER (TYPE_MODE (PT_VEC_TYPE (ptree))));
printf ("tree : %d >> state : %d\n", PT_PID (ptree), PT_AUX (ptree));
break;
case POP_CONST:
- PT_AUX (ptree) = get_CONST_terminal_state ();
+ PT_AUX (ptree) = get_CONST_terminal_state (GET_MODE_INNER (TYPE_MODE (PT_VEC_TYPE (ptree))));
printf ("tree : %d >> state : %d\n", PT_PID (ptree), PT_AUX (ptree));
break;
default:
@@ -2487,7 +2487,7 @@ label_permute_tree (struct primop_tree *ptree)
if (PT_AUX (ptree) == -1)
{
printf ("\n labeled to REG\n");
- PT_AUX (ptree) = (get_REG_terminal_state (GET_MODE_SIZE (TYPE_MODE (PT_VEC_TYPE (ptree)))));
+ PT_AUX (ptree) = (get_REG_terminal_state (GET_MODE_INNER (TYPE_MODE (PT_VEC_TYPE (ptree)))));
}
else
{
@@ -2538,7 +2538,7 @@ unified_perm_tree_code_generation (struct ITER_node *inode)
reset_aux_field (tmp_tree);
ret = label_permute_tree (tmp_tree);
if (ret == true)
- ret = reduce_permute_tree (tmp_tree, get_REG_terminal_state (GET_MODE_SIZE (TYPE_MODE (PT_VEC_TYPE (tmp_tree)))));
+ ret = reduce_permute_tree (tmp_tree, get_REG_terminal_state (GET_MODE_INNER (TYPE_MODE (PT_VEC_TYPE (tmp_tree)))));
return ret;
}