Hi,

I checked in this patch to add testcases for PR 47381.

H.J.
---
Index: gcc.target/i386/pr47381.c
===================================================================
--- gcc.target/i386/pr47381.c   (revision 0)
+++ gcc.target/i386/pr47381.c   (revision 0)
@@ -0,0 +1,13 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -march=atom" } */
+
+struct foo_t {
+  int limit;
+} foo[3];
+void
+bar () {
+  int i;
+  for (i = 0; i < 3; i++) {
+    __builtin_memset (&foo[i], 0, sizeof(*foo));
+  }
+}
Index: gcc.dg/pr47381-2.c
===================================================================
--- gcc.dg/pr47381-2.c  (revision 0)
+++ gcc.dg/pr47381-2.c  (revision 0)
@@ -0,0 +1,13 @@
+/* { dg-do compile } */
+/* { dg-options "-O2" } */
+
+typedef unsigned long ulg;
+long block_start;
+typedef unsigned char uch;
+extern uch window[];
+ unsigned strstart;
+ulg flush_block (char *buf, ulg stored_len, int eof);
+ulg deflate()
+{
+    return flush_block(block_start >= 0L ? 
(char*)&window[(unsigned)block_start] : (char*)((void *)0), (long)strstart - 
block_start, (1));
+}
Index: gcc.dg/pr47381-1.c
===================================================================
--- gcc.dg/pr47381-1.c  (revision 0)
+++ gcc.dg/pr47381-1.c  (revision 0)
@@ -0,0 +1,26 @@
+/* { dg-do compile } */
+/* { dg-options "-O2" } */
+
+typedef unsigned IPos;
+typedef unsigned char uch;
+extern uch window[];
+unsigned max_chain_length;
+unsigned strstart;
+int longest_match(IPos cur_match, int len, int best_len)
+{
+    unsigned chain_length = max_chain_length;
+    register uch *scan = window + strstart;
+    register uch *match;
+    register uch scan_end1 = scan[best_len-1];
+    register uch scan_end = scan[best_len];
+    do {
+        ;
+        match = window + cur_match;
+        if (match[best_len] != scan_end ||
+            match[best_len-1] != scan_end1 ||
+            *match != *scan ||
+            *++match != scan[1]) continue;
+            best_len = len;
+    } while ( --chain_length != 0);
+    return best_len;
+}
Index: ChangeLog
===================================================================
--- ChangeLog   (revision 177513)
+++ ChangeLog   (working copy)
@@ -1,5 +1,12 @@
 2011-08-06  H.J. Lu  <hongjiu...@intel.com>
 
+       PR target/47381
+       * gcc.dg/pr47381-1.c: New.
+       * gcc.dg/pr47381-2.c: Likewise.
+       * gcc.target/i386/pr47381.c: Likewise.
+
+2011-08-06  H.J. Lu  <hongjiu...@intel.com>
+
        PR middle-end/47727
        * gcc.dg/pr47727.c: New.
 

Reply via email to