PATCH: Add testcases for PR 47381

H.J. Lu hongjiu.lu@intel.com
Sat Aug 6 15:14:00 GMT 2011


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.lu@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.lu@intel.com>
+
 	PR middle-end/47727
 	* gcc.dg/pr47727.c: New.
 



More information about the Gcc-patches mailing list