diff options
author | Richard Henderson <rth@cygnus.com> | 1998-11-07 03:38:33 -0800 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 1998-11-07 03:38:33 -0800 |
commit | 35e2d030db97552fd1980f0efec744d65288077d (patch) | |
tree | 31279335b236298de418e8bfeb4c32463303d478 /gcc | |
parent | 771f9be541a1085b6d140f0f6df6aa487552844a (diff) | |
download | gcc-35e2d030db97552fd1980f0efec744d65288077d.zip gcc-35e2d030db97552fd1980f0efec744d65288077d.tar.gz gcc-35e2d030db97552fd1980f0efec744d65288077d.tar.bz2 |
i386.md (call_value_pop): If we're not popping anything, defer to call_value.
* i386.md (call_value_pop): If we're not popping anything,
defer to call_value.
(call_pop): Likewise defer to call.
From-SVN: r23556
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/i386/i386.md | 12 |
2 files changed, 18 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f74d64b..ea3e661 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index e1f026a..57195df 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -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; |