diff options
author | Richard Biener <rguenther@suse.de> | 2019-04-25 17:58:56 +0000 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2019-04-25 19:58:56 +0200 |
commit | f47f687a97260b1a1305cbf2d7ee3d74b2916a74 (patch) | |
tree | 2f310f73025785c6f8395a5f5ab77342dd269fec /gcc/gimplify.c | |
parent | 604ab090adf9c3acf9387627a477dd6b9f07a640 (diff) | |
download | gcc-f47f687a97260b1a1305cbf2d7ee3d74b2916a74.zip gcc-f47f687a97260b1a1305cbf2d7ee3d74b2916a74.tar.gz gcc-f47f687a97260b1a1305cbf2d7ee3d74b2916a74.tar.bz2 |
re PR middle-end/89765 (Multiple problems with vec-insert implementation on PowerPC)
PR middle-end/89765
* gimplify.c (gimplify_expr): Avoid turning a lvalue
VIEW_CONVERT_EXPR into one operating on an rvalue.
From-SVN: r270579
Diffstat (limited to 'gcc/gimplify.c')
-rw-r--r-- | gcc/gimplify.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/gimplify.c b/gcc/gimplify.c index 6ac1b71..e59f382 100644 --- a/gcc/gimplify.c +++ b/gcc/gimplify.c @@ -12397,7 +12397,8 @@ gimplify_expr (tree *expr_p, gimple_seq *pre_p, gimple_seq *post_p, break; case VIEW_CONVERT_EXPR: - if (is_gimple_reg_type (TREE_TYPE (*expr_p)) + if ((fallback & fb_rvalue) + && is_gimple_reg_type (TREE_TYPE (*expr_p)) && is_gimple_reg_type (TREE_TYPE (TREE_OPERAND (*expr_p, 0)))) { ret = gimplify_expr (&TREE_OPERAND (*expr_p, 0), pre_p, |