i386.md (call_value_pop): If we're not popping anything, defer to call_value.
authorRichard Henderson <rth@cygnus.com>
Sat, 7 Nov 1998 11:38:33 +0000 (03:38 -0800)
committerRichard Henderson <rth@gcc.gnu.org>
Sat, 7 Nov 1998 11:38:33 +0000 (03:38 -0800)
        * i386.md (call_value_pop): If we're not popping anything,
        defer to call_value.
        (call_pop): Likewise defer to call.

From-SVN: r23556

gcc/ChangeLog
gcc/config/i386/i386.md

index f74d64b29697388173f55adea77104095d3206db..ea3e6619115f262ce041e8ef2ec1040350967b28 100644 (file)
@@ -1,3 +1,9 @@
+Sat Nov  7 11:37:53 1998  Richard Henderson  <rth@cygnus.com>
+
+       * i386.md (call_value_pop): If we're not popping anything,
+       defer to call_value.
+       (call_pop): Likewise defer to call.
+
 Sat Nov  7 02:49:56 1998  Richard Henderson  <rth@cygnus.com>
 
        * function.c (purge_addressof): Clear purge_addressof_replacements
index e1f026a005e2cb1c557aba6172f45af97963b96a..57195df2dcdf5b6de5511b49552b84afb2221c0e 100644 (file)
@@ -6101,6 +6101,12 @@ byte_xor_operation:
 {
   rtx addr;
 
+  if (operands[3] == const0_rtx)
+    {
+      emit_insn (gen_call (operands[0], operands[1]));
+      DONE;
+    }
+
   if (flag_pic)
     current_function_uses_pic_offset_table = 1;
 
@@ -6203,6 +6209,12 @@ byte_xor_operation:
 {
   rtx addr;
 
+  if (operands[4] == const0_rtx)
+    {
+      emit_insn (gen_call_value (operands[0], operands[1], operands[2]));
+      DONE;
+    }
+
   if (flag_pic)
     current_function_uses_pic_offset_table = 1;