|
From: <sv...@va...> - 2007-01-16 19:15:27
|
Author: sewardj
Date: 2007-01-16 19:15:19 +0000 (Tue, 16 Jan 2007)
New Revision: 6524
Log:
Add tests to check that memcheck does not give a false error for 'xor
%reg,%reg' (in various forms) when %reg contains undefined data.
Added:
trunk/memcheck/tests/amd64/xor-undef-amd64.c
trunk/memcheck/tests/amd64/xor-undef-amd64.stderr.exp
trunk/memcheck/tests/amd64/xor-undef-amd64.stdout.exp
trunk/memcheck/tests/amd64/xor-undef-amd64.vgtest
trunk/memcheck/tests/x86/xor-undef-x86.c
trunk/memcheck/tests/x86/xor-undef-x86.stderr.exp
trunk/memcheck/tests/x86/xor-undef-x86.stdout.exp
trunk/memcheck/tests/x86/xor-undef-x86.vgtest
Modified:
trunk/memcheck/tests/amd64/Makefile.am
trunk/memcheck/tests/x86/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 2007-01-16 05:35:46 UTC (rev 6=
523)
+++ trunk/memcheck/tests/amd64/Makefile.am 2007-01-16 19:15:19 UTC (rev 6=
524)
@@ -13,9 +13,12 @@
bug132146.vgtest bug132146.stderr.exp bug132146.stdout.exp \
fxsave-amd64.vgtest fxsave-amd64.stdout.exp fxsave-amd64.stderr.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
+ sse_memory.stderr.exp sse_memory.stdout.exp sse_memory.vgtest \
+ xor-undef-amd64.stderr.exp xor-undef-amd64.stdout.exp \
+ xor-undef-amd64.vgtest
=20
-check_PROGRAMS =3D bt_everything bug132146 fxsave-amd64 more_x87_fp sse_=
memory
+check_PROGRAMS =3D bt_everything bug132146 fxsave-amd64 \
+ more_x87_fp sse_memory xor-undef-amd64
=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/xor-undef-amd64.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/xor-undef-amd64.c =
(rev 0)
+++ trunk/memcheck/tests/amd64/xor-undef-amd64.c 2007-01-16 19:15:19 UTC =
(rev 6524)
@@ -0,0 +1,143 @@
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <assert.h>
+
+#define JZ_NEXT ".byte 0x74,0x00" /* jz the-next-insn */
+
+int main ( void )
+{
+ char* junk =3D malloc(48);
+ assert(junk);
+
+
+ /* --- INTEGER --- */
+
+ printf("\nComplain int64\n");
+ __asm__ __volatile__(
+ "movq 0(%0), %%rax\n\t"
+ "movq 8(%0), %%r8\n\t"
+ "xorq %%r8, %%rax\n\t"
+ JZ_NEXT
+ : : "r"(junk) : "r8", "rax", "cc"
+ );
+
+ printf("\nNo complain int64\n");
+ __asm__ __volatile__(
+ "movq 0(%0), %%rax\n\t"
+ "movq 8(%0), %%r8\n\t"
+ "xorq %%rax, %%rax\n\t"
+ JZ_NEXT
+ : : "r"(junk) : "r8", "rax", "cc"
+ );
+
+
+ /* --- MMX --- */
+
+ printf("\nComplain mmx\n");
+ __asm__ __volatile__(
+ "emms\n\t"
+ "movq 0(%0), %%mm0\n\t"
+ "movq 8(%0), %%mm7\n\t"
+ "pxor %%mm7, %%mm0\n\t"
+ "movq %%mm0, 16(%0)\n\t"
+ "cmpq $0,16(%0)\n\t"
+ JZ_NEXT
+ : : "r"(junk) : "mm7", "mm0", "cc", "memory"
+ );
+
+ printf("\nNo complain mmx\n");
+ __asm__ __volatile__(
+ "emms\n\t"
+ "movq 0(%0), %%mm0\n\t"
+ "movq 8(%0), %%mm7\n\t"
+ "pxor %%mm0, %%mm0\n\t"
+ "movq %%mm0, 16(%0)\n\t"
+ "cmpq $0,16(%0)\n\t"
+ JZ_NEXT
+ : : "r"(junk) : "mm7", "mm0", "cc", "memory"
+ );
+
+
+ /* --- SSE1 --- */
+
+ printf("\nComplain sse xorps\n");
+ __asm__ __volatile__(
+ "movups 0(%0), %%xmm0\n\t"
+ "movups 16(%0), %%xmm8\n\t"
+ "xorps %%xmm8, %%xmm0\n\t"
+ "movups %%xmm0, 32(%0)\n\t"
+ "movq 32(%0), %%rax\n\t"
+ "addq 40(%0), %%rax\n\t"
+ JZ_NEXT
+ : : "r"(junk) : "rax", "xmm8", "xmm0", "cc", "memory"
+ );
+
+ printf("\nNo complain sse xorps\n");
+ __asm__ __volatile__(
+ "movups 0(%0), %%xmm0\n\t"
+ "movups 16(%0), %%xmm8\n\t"
+ "xorps %%xmm0, %%xmm0\n\t"
+ "movups %%xmm0, 32(%0)\n\t"
+ "movq 32(%0), %%rax\n\t"
+ "addq 40(%0), %%rax\n\t"
+ JZ_NEXT
+ : : "r"(junk) : "rax", "xmm8", "xmm0", "cc", "memory"
+ );
+
+
+ /* --- SSE2 --- */
+
+ printf("\nComplain sse2 pxor\n");
+ __asm__ __volatile__(
+ "movups 0(%0), %%xmm0\n\t"
+ "movups 16(%0), %%xmm8\n\t"
+ "pxor %%xmm8, %%xmm0\n\t"
+ "movups %%xmm0, 32(%0)\n\t"
+ "movq 32(%0), %%rax\n\t"
+ "addq 40(%0), %%rax\n\t"
+ JZ_NEXT
+ : : "r"(junk) : "rax", "xmm8", "xmm0", "cc", "memory"
+ );
+
+ printf("\nNo complain sse2 pxor\n");
+ __asm__ __volatile__(
+ "movups 0(%0), %%xmm0\n\t"
+ "movups 16(%0), %%xmm8\n\t"
+ "pxor %%xmm0, %%xmm0\n\t"
+ "movups %%xmm0, 32(%0)\n\t"
+ "movq 32(%0), %%rax\n\t"
+ "addq 40(%0), %%rax\n\t"
+ JZ_NEXT
+ : : "r"(junk) : "rax", "xmm8", "xmm0", "cc", "memory"
+ );
+
+
+ printf("\nComplain sse2 xorpd\n");
+ __asm__ __volatile__(
+ "movups 0(%0), %%xmm0\n\t"
+ "movups 16(%0), %%xmm8\n\t"
+ "xorpd %%xmm8, %%xmm0\n\t"
+ "movups %%xmm0, 32(%0)\n\t"
+ "movq 32(%0), %%rax\n\t"
+ "addq 40(%0), %%rax\n\t"
+ JZ_NEXT
+ : : "r"(junk) : "rax", "xmm8", "xmm0", "cc", "memory"
+ );
+
+ printf("\nNo complain sse2 xorpd\n");
+ __asm__ __volatile__(
+ "movups 0(%0), %%xmm0\n\t"
+ "movups 16(%0), %%xmm8\n\t"
+ "xorpd %%xmm0, %%xmm0\n\t"
+ "movups %%xmm0, 32(%0)\n\t"
+ "movq 32(%0), %%rax\n\t"
+ "addq 40(%0), %%rax\n\t"
+ JZ_NEXT
+ : : "r"(junk) : "rax", "xmm8", "xmm0", "cc", "memory"
+ );
+
+
+ free(junk);
+ return 0;
+}
Added: trunk/memcheck/tests/amd64/xor-undef-amd64.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
--- trunk/memcheck/tests/amd64/xor-undef-amd64.stderr.exp =
(rev 0)
+++ trunk/memcheck/tests/amd64/xor-undef-amd64.stderr.exp 2007-01-16 19:1=
5:19 UTC (rev 6524)
@@ -0,0 +1,21 @@
+
+Conditional jump or move depends on uninitialised value(s)
+ at 0x........: main (xor-undef-amd64.c:17)
+
+Conditional jump or move depends on uninitialised value(s)
+ at 0x........: main (xor-undef-amd64.c:38)
+
+Conditional jump or move depends on uninitialised value(s)
+ at 0x........: main (xor-undef-amd64.c:65)
+
+Conditional jump or move depends on uninitialised value(s)
+ at 0x........: main (xor-undef-amd64.c:92)
+
+Conditional jump or move depends on uninitialised value(s)
+ at 0x........: main (xor-undef-amd64.c:117)
+
+ERROR SUMMARY: 5 errors from 5 contexts (suppressed: 0 from 0)
+malloc/free: in use at exit: 0 bytes in 0 blocks.
+malloc/free: 1 allocs, 1 frees, 48 bytes allocated.
+For a detailed leak analysis, rerun with: --leak-check=3Dyes
+For counts of detected errors, rerun with: -v
Added: trunk/memcheck/tests/amd64/xor-undef-amd64.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/xor-undef-amd64.stdout.exp =
(rev 0)
+++ trunk/memcheck/tests/amd64/xor-undef-amd64.stdout.exp 2007-01-16 19:1=
5:19 UTC (rev 6524)
@@ -0,0 +1,20 @@
+
+Complain int64
+
+No complain int64
+
+Complain mmx
+
+No complain mmx
+
+Complain sse xorps
+
+No complain sse xorps
+
+Complain sse2 pxor
+
+No complain sse2 pxor
+
+Complain sse2 xorpd
+
+No complain sse2 xorpd
Added: trunk/memcheck/tests/amd64/xor-undef-amd64.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/xor-undef-amd64.vgtest =
(rev 0)
+++ trunk/memcheck/tests/amd64/xor-undef-amd64.vgtest 2007-01-16 19:15:19=
UTC (rev 6524)
@@ -0,0 +1 @@
+prog: xor-undef-amd64
Modified: trunk/memcheck/tests/x86/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/x86/Makefile.am 2007-01-16 05:35:46 UTC (rev 652=
3)
+++ trunk/memcheck/tests/x86/Makefile.am 2007-01-16 19:15:19 UTC (rev 652=
4)
@@ -24,14 +24,16 @@
sse2_memory.stderr.exp sse2_memory.stdout.exp sse2_memory.vgtest \
tronical.stderr.exp tronical.vgtest \
more_x86_fp.stderr.exp more_x86_fp.stdout.exp more_x86_fp.vgtest \
- fprem.stderr.exp fprem.stdout.exp fprem.vgtest
+ fprem.stderr.exp fprem.stdout.exp fprem.vgtest \
+ xor-undef-x86.stderr.exp xor-undef-x86.stdout.exp \
+ xor-undef-x86.vgtest
=20
check_PROGRAMS =3D \
bug133694 \
espindola2 \
scalar_exit_group scalar_fork scalar_supp scalar_vfork \
fpeflags pushfpopf pushpopmem scalar sse_memory tronical \
- more_x86_fp fprem
+ more_x86_fp fprem xor-undef-x86
=20
AM_CPPFLAGS =3D -I$(top_srcdir)/include
AM_CFLAGS =3D $(WERROR) @FLAG_M32@ -Winline -Wall -Wshadow -g \
Added: trunk/memcheck/tests/x86/xor-undef-x86.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/x86/xor-undef-x86.c (rev=
0)
+++ trunk/memcheck/tests/x86/xor-undef-x86.c 2007-01-16 19:15:19 UTC (rev=
6524)
@@ -0,0 +1,157 @@
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <assert.h>
+
+#define JZ_NEXT ".byte 0x74,0x00" /* jz the-next-insn */
+
+int main ( void )
+{
+ char* junk =3D malloc(48);
+ assert(junk);
+
+
+ /* --- INTEGER --- */
+
+ printf("\nComplain int32\n");
+ __asm__ __volatile__(
+ "movl 0(%0), %%eax\n\t"
+ "movl 8(%0), %%edi\n\t"
+ "xorl %%edi, %%eax\n\t"
+ JZ_NEXT
+ : : "r"(junk) : "edi", "eax", "cc"
+ );
+
+ printf("\nNo complain int32\n");
+ __asm__ __volatile__(
+ "movl 0(%0), %%eax\n\t"
+ "movl 8(%0), %%edi\n\t"
+ "xorl %%eax, %%eax\n\t"
+ JZ_NEXT
+ : : "r"(junk) : "edi", "eax", "cc"
+ );
+
+
+ /* --- MMX --- */
+
+ printf("\nComplain mmx\n");
+ __asm__ __volatile__(
+ "emms\n\t"
+ "movq 0(%0), %%mm0\n\t"
+ "movq 8(%0), %%mm7\n\t"
+ "pxor %%mm7, %%mm0\n\t"
+ "movq %%mm0, 16(%0)\n\t"
+ "movl 16(%0), %%esi\n\t"
+ "addl 20(%0), %%esi\n\t"
+ JZ_NEXT
+ : : "r"(junk) : "esi", "mm7", "mm0", "cc", "memory"
+ );
+
+ printf("\nNo complain mmx\n");
+ __asm__ __volatile__(
+ "emms\n\t"
+ "movq 0(%0), %%mm0\n\t"
+ "movq 8(%0), %%mm7\n\t"
+ "pxor %%mm0, %%mm0\n\t"
+ "movq %%mm0, 16(%0)\n\t"
+ "movl 16(%0), %%esi\n\t"
+ "addl 20(%0), %%esi\n\t"
+ JZ_NEXT
+ : : "r"(junk) : "esi", "mm7", "mm0", "cc", "memory"
+ );
+
+
+ /* --- SSE1 --- */
+
+ printf("\nComplain sse xorps\n");
+ __asm__ __volatile__(
+ "movups 0(%0), %%xmm0\n\t"
+ "movups 16(%0), %%xmm7\n\t"
+ "xorps %%xmm7, %%xmm0\n\t"
+ "movups %%xmm0, 32(%0)\n\t"
+ "movl 32(%0), %%esi\n\t"
+ "addl 36(%0), %%esi\n\t"
+ "addl 40(%0), %%esi\n\t"
+ "addl 44(%0), %%esi\n\t"
+ JZ_NEXT
+ : : "r"(junk) : "esi", "xmm7", "xmm0", "cc", "memory"
+ );
+
+ printf("\nNo complain sse xorps\n");
+ __asm__ __volatile__(
+ "movups 0(%0), %%xmm0\n\t"
+ "movups 16(%0), %%xmm7\n\t"
+ "xorps %%xmm0, %%xmm0\n\t"
+ "movups %%xmm0, 32(%0)\n\t"
+ "movl 32(%0), %%esi\n\t"
+ "addl 36(%0), %%esi\n\t"
+ "addl 40(%0), %%esi\n\t"
+ "addl 44(%0), %%esi\n\t"
+ JZ_NEXT
+ : : "r"(junk) : "esi", "xmm7", "xmm0", "cc", "memory"
+ );
+
+
+ /* --- SSE2 --- */
+
+ printf("\nComplain sse2 pxor\n");
+ __asm__ __volatile__(
+ "movups 0(%0), %%xmm0\n\t"
+ "movups 16(%0), %%xmm7\n\t"
+ "pxor %%xmm7, %%xmm0\n\t"
+ "movups %%xmm0, 32(%0)\n\t"
+ "movl 32(%0), %%esi\n\t"
+ "addl 36(%0), %%esi\n\t"
+ "addl 40(%0), %%esi\n\t"
+ "addl 44(%0), %%esi\n\t"
+ JZ_NEXT
+ : : "r"(junk) : "esi", "xmm7", "xmm0", "cc", "memory"
+ );
+
+ printf("\nNo complain sse2 pxor\n");
+ __asm__ __volatile__(
+ "movups 0(%0), %%xmm0\n\t"
+ "movups 16(%0), %%xmm7\n\t"
+ "pxor %%xmm0, %%xmm0\n\t"
+ "movups %%xmm0, 32(%0)\n\t"
+ "movl 32(%0), %%esi\n\t"
+ "addl 36(%0), %%esi\n\t"
+ "addl 40(%0), %%esi\n\t"
+ "addl 44(%0), %%esi\n\t"
+ JZ_NEXT
+ : : "r"(junk) : "esi", "xmm7", "xmm0", "cc", "memory"
+ );
+
+
+ printf("\nComplain sse2 xorpd\n");
+ __asm__ __volatile__(
+ "movups 0(%0), %%xmm0\n\t"
+ "movups 16(%0), %%xmm7\n\t"
+ "xorpd %%xmm7, %%xmm0\n\t"
+ "movups %%xmm0, 32(%0)\n\t"
+ "movl 32(%0), %%esi\n\t"
+ "addl 36(%0), %%esi\n\t"
+ "addl 40(%0), %%esi\n\t"
+ "addl 44(%0), %%esi\n\t"
+ JZ_NEXT
+ : : "r"(junk) : "esi", "xmm7", "xmm0", "cc", "memory"
+ );
+
+ printf("\nNo complain sse2 xorpd\n");
+ __asm__ __volatile__(
+ "movups 0(%0), %%xmm0\n\t"
+ "movups 16(%0), %%xmm7\n\t"
+ "xorpd %%xmm0, %%xmm0\n\t"
+ "movups %%xmm0, 32(%0)\n\t"
+ "movl 32(%0), %%esi\n\t"
+ "addl 36(%0), %%esi\n\t"
+ "addl 40(%0), %%esi\n\t"
+ "addl 44(%0), %%esi\n\t"
+ JZ_NEXT
+ : : "r"(junk) : "esi", "xmm7", "xmm0", "cc", "memory"
+ );
+
+
+ free(junk);
+ return 0;
+}
Added: trunk/memcheck/tests/x86/xor-undef-x86.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
--- trunk/memcheck/tests/x86/xor-undef-x86.stderr.exp =
(rev 0)
+++ trunk/memcheck/tests/x86/xor-undef-x86.stderr.exp 2007-01-16 19:15:19=
UTC (rev 6524)
@@ -0,0 +1,21 @@
+
+Conditional jump or move depends on uninitialised value(s)
+ at 0x........: main (xor-undef-x86.c:17)
+
+Conditional jump or move depends on uninitialised value(s)
+ at 0x........: main (xor-undef-x86.c:38)
+
+Conditional jump or move depends on uninitialised value(s)
+ at 0x........: main (xor-undef-x86.c:67)
+
+Conditional jump or move depends on uninitialised value(s)
+ at 0x........: main (xor-undef-x86.c:98)
+
+Conditional jump or move depends on uninitialised value(s)
+ at 0x........: main (xor-undef-x86.c:127)
+
+ERROR SUMMARY: 5 errors from 5 contexts (suppressed: 0 from 0)
+malloc/free: in use at exit: 0 bytes in 0 blocks.
+malloc/free: 1 allocs, 1 frees, 48 bytes allocated.
+For a detailed leak analysis, rerun with: --leak-check=3Dyes
+For counts of detected errors, rerun with: -v
Added: trunk/memcheck/tests/x86/xor-undef-x86.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/x86/xor-undef-x86.stdout.exp =
(rev 0)
+++ trunk/memcheck/tests/x86/xor-undef-x86.stdout.exp 2007-01-16 19:15:19=
UTC (rev 6524)
@@ -0,0 +1,20 @@
+
+Complain int32
+
+No complain int32
+
+Complain mmx
+
+No complain mmx
+
+Complain sse xorps
+
+No complain sse xorps
+
+Complain sse2 pxor
+
+No complain sse2 pxor
+
+Complain sse2 xorpd
+
+No complain sse2 xorpd
Added: trunk/memcheck/tests/x86/xor-undef-x86.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/x86/xor-undef-x86.vgtest =
(rev 0)
+++ trunk/memcheck/tests/x86/xor-undef-x86.vgtest 2007-01-16 19:15:19 UTC=
(rev 6524)
@@ -0,0 +1,2 @@
+prog: xor-undef-x86
+prereq: ../../../tests/cputest x86-sse
|