|
From: <sv...@va...> - 2006-08-16 00:28:30
|
Author: sewardj
Date: 2006-08-16 01:28:25 +0100 (Wed, 16 Aug 2006)
New Revision: 6000
Log:
Regression test for #132146.
Added:
trunk/memcheck/tests/amd64/bug132146.c
trunk/memcheck/tests/amd64/bug132146.stderr.exp
trunk/memcheck/tests/amd64/bug132146.stdout.exp
trunk/memcheck/tests/amd64/bug132146.vgtest
Modified:
trunk/memcheck/tests/amd64/Makefile.am
Modified: trunk/memcheck/tests/amd64/Makefile.am
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/memcheck/tests/amd64/Makefile.am 2006-08-13 04:48:25 UTC (rev 5=
999)
+++ trunk/memcheck/tests/amd64/Makefile.am 2006-08-16 00:28:25 UTC (rev 6=
000)
@@ -10,10 +10,11 @@
$(addsuffix .vgtest,$(INSN_TESTS)) \
bt_everything.stderr.exp bt_everything.stdout.exp \
bt_everything.vgtest \
+ bug132146.vgtest bug132146.stderr.exp bug132146.stdout.exp \
more_x87_fp.stderr.exp more_x87_fp.stdout.exp more_x87_fp.vgtest \
sse_memory.stderr.exp sse_memory.stdout.exp sse_memory.vgtest
=20
-check_PROGRAMS =3D bt_everything more_x87_fp sse_memory
+check_PROGRAMS =3D bt_everything bug132146 more_x87_fp sse_memory
=20
AM_CPPFLAGS =3D -I$(top_srcdir)/include
AM_CFLAGS =3D $(WERROR) -Winline -Wall -Wshadow -g -I$(top_srcdir)/inc=
lude
Added: trunk/memcheck/tests/amd64/bug132146.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/memcheck/tests/amd64/bug132146.c (rev 0=
)
+++ trunk/memcheck/tests/amd64/bug132146.c 2006-08-16 00:28:25 UTC (rev 6=
000)
@@ -0,0 +1,106 @@
+
+#include <stdio.h>
+
+typedef unsigned int UInt;
+typedef unsigned long long ULong;
+
+#if defined(__x86_64__)
+
+#define BSWAPQ(_lval) \
+ do { \
+ __asm__ __volatile__("bswapq %0" \
+ : /*out*/ "+r"(_lval) ); \
+ } while (0)
+
+ULong bswapq ( ULong x )
+{
+ BSWAPQ(x); BSWAPQ(x);
+ BSWAPQ(x); BSWAPQ(x);
+ BSWAPQ(x); BSWAPQ(x);
+ BSWAPQ(x); BSWAPQ(x);
+ BSWAPQ(x); BSWAPQ(x);
+ BSWAPQ(x); BSWAPQ(x);
+ BSWAPQ(x); BSWAPQ(x);
+ BSWAPQ(x); BSWAPQ(x);
+ BSWAPQ(x); BSWAPQ(x);
+ BSWAPQ(x); BSWAPQ(x);
+ BSWAPQ(x); BSWAPQ(x);
+ BSWAPQ(x); BSWAPQ(x);
+ BSWAPQ(x); BSWAPQ(x);
+ BSWAPQ(x); BSWAPQ(x);
+ BSWAPQ(x); BSWAPQ(x);
+ BSWAPQ(x); BSWAPQ(x);
+ BSWAPQ(x); BSWAPQ(x);
+ BSWAPQ(x); BSWAPQ(x);
+ BSWAPQ(x); BSWAPQ(x);
+ BSWAPQ(x); BSWAPQ(x);
+ BSWAPQ(x); BSWAPQ(x);
+ BSWAPQ(x); BSWAPQ(x);
+ BSWAPQ(x); BSWAPQ(x);
+ BSWAPQ(x); BSWAPQ(x);
+ BSWAPQ(x); BSWAPQ(x);
+ BSWAPQ(x); BSWAPQ(x);
+ BSWAPQ(x); BSWAPQ(x);
+ BSWAPQ(x); BSWAPQ(x);
+ BSWAPQ(x); BSWAPQ(x);
+ BSWAPQ(x); BSWAPQ(x);
+ BSWAPQ(x); BSWAPQ(x);
+ BSWAPQ(x); BSWAPQ(x);
+ BSWAPQ(x);
+ return x;
+}
+
+#endif /* defined(__x86_64__) */
+
+#define BSWAPL(_lval) \
+ do { \
+ __asm__ __volatile__("bswapl %0" \
+ : /*out*/ "+r"(_lval) ); \
+ } while (0)
+
+UInt bswapl ( UInt x )
+{
+ BSWAPL(x); BSWAPL(x);
+ BSWAPL(x); BSWAPL(x);
+ BSWAPL(x); BSWAPL(x);
+ BSWAPL(x); BSWAPL(x);
+ BSWAPL(x); BSWAPL(x);
+ BSWAPL(x); BSWAPL(x);
+ BSWAPL(x); BSWAPL(x);
+ BSWAPL(x); BSWAPL(x);
+ BSWAPL(x); BSWAPL(x);
+ BSWAPL(x); BSWAPL(x);
+ BSWAPL(x); BSWAPL(x);
+ BSWAPL(x); BSWAPL(x);
+ BSWAPL(x); BSWAPL(x);
+ BSWAPL(x); BSWAPL(x);
+ BSWAPL(x); BSWAPL(x);
+ BSWAPL(x); BSWAPL(x);
+ BSWAPL(x); BSWAPL(x);
+ BSWAPL(x); BSWAPL(x);
+ BSWAPL(x); BSWAPL(x);
+ BSWAPL(x); BSWAPL(x);
+ BSWAPL(x); BSWAPL(x);
+ BSWAPL(x); BSWAPL(x);
+ BSWAPL(x); BSWAPL(x);
+ BSWAPL(x); BSWAPL(x);
+ BSWAPL(x); BSWAPL(x);
+ BSWAPL(x); BSWAPL(x);
+ BSWAPL(x); BSWAPL(x);
+ BSWAPL(x); BSWAPL(x);
+ BSWAPL(x); BSWAPL(x);
+ BSWAPL(x); BSWAPL(x);
+ BSWAPL(x); BSWAPL(x);
+ BSWAPL(x); BSWAPL(x);
+ BSWAPL(x);
+ return x;
+}
+
+int main ( void )
+{
+#if defined(__x86_64__)
+ printf("0x%llx\n", bswapq( 0x8877665544332211ULL ));
+#endif
+ printf("0x%x\n", bswapl( 0x44332211ULL ));
+ return 0;
+}
Added: trunk/memcheck/tests/amd64/bug132146.stderr.exp
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Added: trunk/memcheck/tests/amd64/bug132146.stdout.exp
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/memcheck/tests/amd64/bug132146.stdout.exp =
(rev 0)
+++ trunk/memcheck/tests/amd64/bug132146.stdout.exp 2006-08-16 00:28:25 U=
TC (rev 6000)
@@ -0,0 +1,2 @@
+0x1122334455667788
+0x11223344
Added: trunk/memcheck/tests/amd64/bug132146.vgtest
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/memcheck/tests/amd64/bug132146.vgtest (=
rev 0)
+++ trunk/memcheck/tests/amd64/bug132146.vgtest 2006-08-16 00:28:25 UTC (=
rev 6000)
@@ -0,0 +1,2 @@
+prog: bug132146
+vgopts: -q
|