builtins.c (expand_builtin_memcmp): Adjust MEM_SIZE to reflect size of memory regions...
authorUlrich Weigand <uweigand@de.ibm.com>
Sun, 26 Sep 2004 19:15:00 +0000 (19:15 +0000)
committerUlrich Weigand <uweigand@gcc.gnu.org>
Sun, 26 Sep 2004 19:15:00 +0000 (19:15 +0000)
* builtins.c (expand_builtin_memcmp): Adjust MEM_SIZE to
reflect size of memory regions being compared.

From-SVN: r88142

gcc/ChangeLog
gcc/builtins.c

index 718e13116fff34c802b3dc5893f1d572755d43dd..9c745f9e01b662a935c801f8b9f39b4174c6168a 100644 (file)
@@ -1,3 +1,8 @@
+2004-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * builtins.c (expand_builtin_memcmp): Adjust MEM_SIZE to
+       reflect size of memory regions being compared.
+
 2004-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
 
        * builtins.c (get_memory_rtx): Set mem attributes for non-ADDR_EXPR
index 9127f45b6aa58d3528dc7af633f10865e8fcc255..1aeae9654017d51631d1ff19eff0da2a9c2aef6e 100644 (file)
@@ -3540,6 +3540,14 @@ expand_builtin_memcmp (tree exp ATTRIBUTE_UNUSED, tree arglist, rtx target,
     arg1_rtx = get_memory_rtx (arg1);
     arg2_rtx = get_memory_rtx (arg2);
     arg3_rtx = expand_expr (len, NULL_RTX, VOIDmode, 0);
+
+    /* Set MEM_SIZE as appropriate.  */
+    if (GET_CODE (arg3_rtx) == CONST_INT)
+      {
+       set_mem_size (arg1_rtx, arg3_rtx);
+       set_mem_size (arg2_rtx, arg3_rtx);
+      }
+
 #ifdef HAVE_cmpmemsi
     if (HAVE_cmpmemsi)
       insn = gen_cmpmemsi (result, arg1_rtx, arg2_rtx, arg3_rtx,