This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

PATCH: Add testcases for PRs 48084/49504/49860


Hi,

I checked in this patch to add testcases for PRs 48084/49504/49860.

H.J.
Index: gcc.target/i386/pr49504.c
===================================================================
--- gcc.target/i386/pr49504.c	(revision 0)
+++ gcc.target/i386/pr49504.c	(revision 0)
@@ -0,0 +1,18 @@
+/* PR target/49504 */
+/* { dg-do run { target { x32 } } } */
+/* { dg-options "-O" } */
+
+unsigned long long 
+foo (const void* p, unsigned long long q)
+{
+  unsigned long long a = (((unsigned long long) ((unsigned long) p)) + q) >> 32;
+  return a;
+}
+
+int
+main ()
+{
+  if (foo (foo, 0x100000000ULL) != 0x1)
+    __builtin_abort ();
+  return 0;
+}
Index: gcc.target/i386/pr48084-3.c
===================================================================
--- gcc.target/i386/pr48084-3.c	(revision 0)
+++ gcc.target/i386/pr48084-3.c	(revision 0)
@@ -0,0 +1,8 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -msse3" } */
+
+void
+_mm_monitor (void const * __P, unsigned int __E, unsigned int __H)
+{
+   __builtin_ia32_monitor (__P, __E, __H);
+}
Index: gcc.target/i386/pr48084-5.c
===================================================================
--- gcc.target/i386/pr48084-5.c	(revision 0)
+++ gcc.target/i386/pr48084-5.c	(revision 0)
@@ -0,0 +1,8 @@
+/* { dg-do compile } */
+/* { dg-options "-O0 -mrdrnd" } */
+
+int
+_rdrand16_step (unsigned short *__P)
+{
+  return __builtin_ia32_rdrand16_step (__P);
+}
Index: gcc.target/i386/pr48084-2.c
===================================================================
--- gcc.target/i386/pr48084-2.c	(revision 0)
+++ gcc.target/i386/pr48084-2.c	(revision 0)
@@ -0,0 +1,10 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -msse2" } */
+
+typedef int __m64 __attribute__ ((__vector_size__ (8), __may_alias__));
+typedef char __v8qi __attribute__ ((__vector_size__ (8)));
+void
+_mm_maskmove_si64 (__m64 __A, __m64 __N, char *__P)
+{
+    __builtin_ia32_maskmovq ((__v8qi)__A, (__v8qi)__N, __P);
+}
Index: gcc.target/i386/pr48084-4.c
===================================================================
--- gcc.target/i386/pr48084-4.c	(revision 0)
+++ gcc.target/i386/pr48084-4.c	(revision 0)
@@ -0,0 +1,8 @@
+/* { dg-do compile } */
+/* { dg-options "-O0 -msse2" } */
+
+void
+_mm_clflush (void const *__A)
+{
+  __builtin_ia32_clflush (__A);
+}
Index: gcc.target/i386/pr48084-1.c
===================================================================
--- gcc.target/i386/pr48084-1.c	(revision 0)
+++ gcc.target/i386/pr48084-1.c	(revision 0)
@@ -0,0 +1,12 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -msse2" } */
+
+typedef int __m64 __attribute__ ((__vector_size__ (8), __may_alias__));
+typedef float __v2sf __attribute__ ((__vector_size__ (8)));
+typedef float __m128 __attribute__ ((__vector_size__ (16), __may_alias__));
+typedef float __v4sf __attribute__ ((__vector_size__ (16)));
+void
+_mm_storeh_pi (__m64 *__P, __m128 __A)
+{
+  __builtin_ia32_storehps ((__v2sf *)__P, (__v4sf)__A);
+}
Index: gcc.dg/pr49860.c
===================================================================
--- gcc.dg/pr49860.c	(revision 0)
+++ gcc.dg/pr49860.c	(revision 0)
@@ -0,0 +1,21 @@
+/* { dg-do assemble } */
+/* { dg-options "-O3 -funroll-all-loops" } */
+
+extern char inbuf[];
+extern char outbuf[];
+extern unsigned insize;
+extern unsigned inptr;
+static int max_len;
+static int peek_bits;
+void build_tree() {
+  int len;
+  char *prefixp;
+  max_len = inbuf[inptr++];
+  peek_bits = ((max_len) <= (12) ? (max_len) : (12));
+  prefixp = &outbuf[1<<peek_bits];
+  for (len = 1;
+       len <= peek_bits;
+       len++) {
+  }
+  while (prefixp > outbuf) *--prefixp = 0;
+}
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 177508)
+++ ChangeLog	(working copy)
@@ -1,3 +1,18 @@
+2011-08-06  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR target/48084
+	* gcc.target/i386/pr48084-1.c: New.
+	* gcc.target/i386/pr48084-2.c: Likewise.
+	* gcc.target/i386/pr48084-3.c: Likewise.
+	* gcc.target/i386/pr48084-4.c: Likewise.
+	* gcc.target/i386/pr48084-5.c: Likewise.
+
+	PR rtl-optimization/49504
+	* gcc.target/i386/pr49504.c: New.
+
+	PR target/49860
+	* gcc.dg/pr49860.c: New.
+
 2011-08-06  Nicola Pero  <nicola.pero@meta-innovation.com>
 	
 	PR libobjc/49882


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]