From ea70b59793087198d6ae137fa5e68096ec1c30a3 Mon Sep 17 00:00:00 2001 From: pinskia Date: Tue, 2 Oct 2012 21:03:37 +0000 Subject: [PATCH] 2012-10-02 Andrew Pinski * simplify-rtx.c (simplify_unary_operation_1 ): Don't optimize a truncate of a mem if it is a vector mode. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192006 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 5 +++++ gcc/simplify-rtx.c | 1 + 2 files changed, 6 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a8ad41c..932f573 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2012-10-02 Andrew Pinski + + * simplify-rtx.c (simplify_unary_operation_1 ): + Don't optimize a truncate of a mem if it is a vector mode. + 2012-10-02 Alexandre Oliva PR debug/54551 diff --git a/gcc/simplify-rtx.c b/gcc/simplify-rtx.c index c3e8a0a..acd4798 100644 --- a/gcc/simplify-rtx.c +++ b/gcc/simplify-rtx.c @@ -873,6 +873,7 @@ simplify_unary_operation_1 (enum rtx_code code, enum machine_mode mode, rtx op) /* A truncate of a memory is just loading the low part of the memory if we are not changing the meaning of the address. */ if (GET_CODE (op) == MEM + && !VECTOR_MODE_P (mode) && !MEM_VOLATILE_P (op) && !mode_dependent_address_p (XEXP (op, 0), MEM_ADDR_SPACE (op))) return rtl_hooks.gen_lowpart_no_emit (mode, op); -- 2.7.4