This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug middle-end/55235] [4.8 Regression] FAIL: gcc.target/i386/pr44948-2a.c


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55235

--- Comment #4 from Uros Bizjak <ubizjak at gmail dot com> 2012-11-07 20:17:45 UTC ---
Please note that before your patch, emit_block_move was never called.

Following patch fixes testcase for me:

--cut here--
Index: expr.c
===================================================================
--- expr.c      (revision 193296)
+++ expr.c      (working copy)
@@ -5246,19 +5246,12 @@ store_expr (tree exp, rtx target, int call_param_p
        {
          if (GET_MODE (target) == BLKmode)
            {
-             if (REG_P (temp))
-               {
-                 if (TREE_CODE (exp) == CALL_EXPR)
-                   copy_blkmode_from_reg (target, temp, TREE_TYPE (exp));
-                 else
-                   store_bit_field (target,
-                                    INTVAL (expr_size (exp)) * BITS_PER_UNIT,
-                                    0, 0, 0, GET_MODE (temp), temp);
-               }
+             if (REG_P (temp) && TREE_CODE (exp) == CALL_EXPR)
+               copy_blkmode_from_reg (target, temp, TREE_TYPE (exp));
              else
-               emit_block_move (target, temp, expr_size (exp),
-                                (call_param_p
-                                 ? BLOCK_OP_CALL_PARM : BLOCK_OP_NORMAL));
+               store_bit_field (target,
+                                INTVAL (expr_size (exp)) * BITS_PER_UNIT,
+                                0, 0, 0, GET_MODE (temp), temp);
            }
          else
            convert_move (target, temp, TYPE_UNSIGNED (TREE_TYPE (exp)));
--cut here--

I am running bootstrap and regression test.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]