aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hongjiu.lu@intel.com>2004-08-07 16:34:00 +0000
committerH.J. Lu <hjl@gcc.gnu.org>2004-08-07 09:34:00 -0700
commit11c4576fa854807f99d01793a14247f5d820912f (patch)
treee8f5d3c7a932bf1fffe0d58d5a11dd8408a5d115
parent34def210f8b9e59bd9e69d4dc70ec2592aef1e67 (diff)
downloadgcc-11c4576fa854807f99d01793a14247f5d820912f.zip
gcc-11c4576fa854807f99d01793a14247f5d820912f.tar.gz
gcc-11c4576fa854807f99d01793a14247f5d820912f.tar.bz2
i386.c (ix86_expand_clrmem): Properly call gen_strset for 64bit target.
2004-08-07 H.J. Lu <hongjiu.lu@intel.com> * config/i386/i386.c (ix86_expand_clrmem): Properly call gen_strset for 64bit target. From-SVN: r85673
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/i386/i386.c5
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7cd55d3..11aaa96 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2004-08-07 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (ix86_expand_clrmem): Properly call
+ gen_strset for 64bit target.
+
2004-08-07 Olivier Hainque <hainque@act-europe.fr>
* config/vxworks.h (HANDLE_SYSV_PRAGMA): Remove definition.
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 9515734..e1e2027 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -11569,7 +11569,10 @@ ix86_expand_clrmem (rtx dst, rtx count_exp, rtx align_exp)
rtx mem = adjust_automodify_address_nv (dst,
GET_MODE (zeroreg),
destreg, offset);
- emit_insn (gen_strset (destreg, mem, zeroreg));
+ emit_insn (gen_strset (destreg, mem,
+ (TARGET_64BIT
+ ? gen_rtx_SUBREG (SImode, zeroreg, 0)
+ : zeroreg)));
offset += size;
}
else