aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMichael Matz <matz@gcc.gnu.org>2005-05-01 00:48:43 +0000
committerMichael Matz <matz@gcc.gnu.org>2005-05-01 00:48:43 +0000
commit600f3598c72114182a6e2647bda341492734a4d3 (patch)
tree141d90cd9eb8fcc8262ea4b2dcf4f42be85b1fbd /gcc
parentaf650adaf9dac1481fbc994e3898134267547e4a (diff)
downloadgcc-600f3598c72114182a6e2647bda341492734a4d3.zip
gcc-600f3598c72114182a6e2647bda341492734a4d3.tar.gz
gcc-600f3598c72114182a6e2647bda341492734a4d3.tar.bz2
i386.md (movmemsi): Also active when TARGET_INLINE_ALL_STRINGOPS.
* config/i386/i386.md (movmemsi): Also active when TARGET_INLINE_ALL_STRINGOPS. * gcc.dg/inline-mcpy.c: New test. From-SVN: r99054
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/i386/i386.md2
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/gcc.dg/inline-mcpy.c11
4 files changed, 21 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index bfe3fb5..279d4b1 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2005-04-30 Michael Matz <matz@suse.de>
+
+ * config/i386/i386.md (movmemsi): Also active when
+ TARGET_INLINE_ALL_STRINGOPS.
+
2005-04-30 Eric Botcazou <ebotcazou@libertysurf.fr>
PR bootstrap/20633
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index 66659ae..9ae0ae9 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -16984,7 +16984,7 @@
(use (match_operand:BLK 1 "memory_operand" ""))
(use (match_operand:SI 2 "nonmemory_operand" ""))
(use (match_operand:SI 3 "const_int_operand" ""))]
- "! optimize_size"
+ "! optimize_size || TARGET_INLINE_ALL_STRINGOPS"
{
if (ix86_expand_movmem (operands[0], operands[1], operands[2], operands[3]))
DONE;
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 00edc96..d212e86 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2005-04-30 Michael Maty <matz@suse.de>
+
+ * gcc.dg/inline-mcpy.c: New test.
+
2005-04-30 Thomas Koenig <Thomas.Koenig@online.de>
PR libfortran/18958
diff --git a/gcc/testsuite/gcc.dg/inline-mcpy.c b/gcc/testsuite/gcc.dg/inline-mcpy.c
new file mode 100644
index 0000000..4917394
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/inline-mcpy.c
@@ -0,0 +1,11 @@
+/* Test if we inline memcpy even with -Os, when the user requested it. */
+/* Don't name this test with memcpy in its name, otherwise the scan-assembler
+ would be confused. */
+/* { dg-do compile { target i?86-*-linux* x86_64-*-linux* } } */
+/* { dg-options "-Os -minline-all-stringops" } */
+/* { dg-final { scan-assembler-not "memcpy" } } */
+char f(int i)
+{
+ char *ram_split[] = { "5:3", "3:1", "1:1", "3:5" };
+ return ram_split[i][0];
+}