aboutsummaryrefslogtreecommitdiff
path: root/gcc/optabs.c
diff options
context:
space:
mode:
authorIlya Enkovich <enkovich.gnu@gmail.com>2016-01-11 10:27:17 +0000
committerIlya Enkovich <enkovich.gnu@gmail.com>2016-01-11 10:27:17 +0000
commit9a9b4512b10e8e94a8f8160cabdaba929aea3912 (patch)
treeae811e2413e2fbf7ab3c5f0df5dc2cf1b1af4dc4 /gcc/optabs.c
parentc28b863e8f39bb8d4b93010368522dddf1953639 (diff)
gcc/
PR target/69010 * expr.c (expand_expr_real_1): For boolean vector constants with a scalar mode use const_scalar_mask_from_tree. (const_scalar_mask_from_tree): New. * optabs.c (expand_vec_cond_mask_expr): Use mask mode assigned to a mask type to handle constants. gcc/testsuite/ PR target/69010 * gcc.target/i386/pr69010.c: New test. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@232216 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/optabs.c')
-rw-r--r--gcc/optabs.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/optabs.c b/gcc/optabs.c
index d9c118369bb..e1ba6150473 100644
--- a/gcc/optabs.c
+++ b/gcc/optabs.c
@@ -5547,7 +5547,7 @@ expand_vec_cond_mask_expr (tree vec_cond_type, tree op0, tree op1, tree op2,
rtx_op1 = expand_normal (op1);
rtx_op2 = expand_normal (op2);
- mask = force_reg (GET_MODE (mask), mask);
+ mask = force_reg (mask_mode, mask);
rtx_op1 = force_reg (GET_MODE (rtx_op1), rtx_op1);
create_output_operand (&ops[0], target, mode);