diff options
author | ienkovich <ienkovich@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-01-11 10:27:17 +0000 |
---|---|---|
committer | ienkovich <ienkovich@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-01-11 10:27:17 +0000 |
commit | 7a15835238aed3842a71cb00605881f053679452 (patch) | |
tree | ae811e2413e2fbf7ab3c5f0df5dc2cf1b1af4dc4 /gcc/optabs.c | |
parent | ff375d11bfdf9c36d679967652e80efd6a597a25 (diff) | |
download | gcc-7a15835238aed3842a71cb00605881f053679452.tar.gz |
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: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232216 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/optabs.c')
-rw-r--r-- | gcc/optabs.c | 2 |
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); |