Add test cases for amd64 vector FP unordered compares.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5016 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/none/tests/amd64/insn_sse.def b/none/tests/amd64/insn_sse.def
index c4e10cc..a9e92a0 100644
--- a/none/tests/amd64/insn_sse.def
+++ b/none/tests/amd64/insn_sse.def
@@ -18,6 +18,10 @@
cmpltps m128.ps[234.5678,234.5678,234.5678,234.5678] xmm.ps[234.5677,234.5679,234.5677,234.5679] => 1.ud[0xffffffff,0x00000000,0xffffffff,0x00000000]
cmpltss xmm.ps[1234.5678,0.0,0.0,0.0] xmm.ps[1234.5676,0.0,0.0,0.0] => 1.ud[0xffffffff,0,0,0]
cmpltss m128.ps[1234.5678,0.0,0.0,0.0] xmm.ps[1234.5679,0.0,0.0,0.0] => 1.ud[0x00000000,0,0,0]
+cmpunordps xmm.ps[234.5678,234.5678,234.5678,234.5678] xmm.ps[234.5677,234.5679,234.5677,234.5679] => 1.ud[0x00000000,0x00000000,0x00000000,0x00000000]
+cmpunordps m128.ps[234.5678,234.5678,234.5678,234.5678] xmm.ps[234.5677,234.5679,234.5677,234.5679] => 1.ud[0x00000000,0x00000000,0x00000000,0x00000000]
+cmpunordss xmm.ps[1234.5678,0.0,0.0,0.0] xmm.ps[1234.5676,0.0,0.0,0.0] => 1.ud[0x00000000,0,0,0]
+cmpunordss m128.ps[1234.5678,0.0,0.0,0.0] xmm.ps[1234.5679,0.0,0.0,0.0] => 1.ud[0x00000000,0,0,0]
cmpneqps xmm.ps[234.5678,234.5678,234.5678,234.5678] xmm.ps[234.5679,234.5678,234.5679,234.5678] => 1.ud[0xffffffff,0x00000000,0xffffffff,0x00000000]
cmpneqps m128.ps[234.5678,234.5678,234.5678,234.5678] xmm.ps[234.5679,234.5678,234.5679,234.5678] => 1.ud[0xffffffff,0x00000000,0xffffffff,0x00000000]
cmpneqss xmm.ps[1234.5678,0.0,0.0,0.0] xmm.ps[1234.5679,0.0,0.0,0.0] => 1.ud[0xffffffff,0,0,0]
@@ -30,6 +34,10 @@
cmpnltps m128.ps[234.5678,234.5678,234.5678,234.5678] xmm.ps[234.5679,234.5677,234.5679,234.5677] => 1.ud[0xffffffff,0x00000000,0xffffffff,0x00000000]
cmpnltss xmm.ps[1234.5678,0.0,0.0,0.0] xmm.ps[1234.5679,0.0,0.0,0.0] => 1.ud[0xffffffff,0,0,0]
cmpnltss m128.ps[1234.5678,0.0,0.0,0.0] xmm.ps[1234.5676,0.0,0.0,0.0] => 1.ud[0x00000000,0,0,0]
+cmpordps xmm.ps[234.5678,234.5678,234.5678,234.5678] xmm.ps[234.5679,234.5677,234.5679,234.5677] => 1.ud[0xffffffff,0xffffffff,0xffffffff,0xffffffff]
+cmpordps m128.ps[234.5678,234.5678,234.5678,234.5678] xmm.ps[234.5679,234.5677,234.5679,234.5677] => 1.ud[0xffffffff,0xffffffff,0xffffffff,0xffffffff]
+cmpordss xmm.ps[1234.5678,0.0,0.0,0.0] xmm.ps[1234.5679,0.0,0.0,0.0] => 1.ud[0xffffffff,0,0,0]
+cmpordss m128.ps[1234.5678,0.0,0.0,0.0] xmm.ps[1234.5676,0.0,0.0,0.0] => 1.ud[0xffffffff,0,0,0]
comiss xmm.ps[234.5678,0.0] xmm.ps[234.5679,0.0] => eflags[0x8d5,0x000]
comiss m32.ps[234.5678] xmm.ps[234.5679,0.0] => eflags[0x8d5,0x000]
comiss xmm.ps[234.5678,0.0] xmm.ps[234.5677,0.0] => eflags[0x8d5,0x001]
diff --git a/none/tests/amd64/insn_sse.stdout.exp b/none/tests/amd64/insn_sse.stdout.exp
index ae892af..53c4bc0 100644
--- a/none/tests/amd64/insn_sse.stdout.exp
+++ b/none/tests/amd64/insn_sse.stdout.exp
@@ -18,6 +18,10 @@
cmpltps_2 ... ok
cmpltss_1 ... ok
cmpltss_2 ... ok
+cmpunordps_1 ... ok
+cmpunordps_2 ... ok
+cmpunordss_1 ... ok
+cmpunordss_2 ... ok
cmpneqps_1 ... ok
cmpneqps_2 ... ok
cmpneqss_1 ... ok
@@ -30,6 +34,10 @@
cmpnltps_2 ... ok
cmpnltss_1 ... ok
cmpnltss_2 ... ok
+cmpordps_1 ... ok
+cmpordps_2 ... ok
+cmpordss_1 ... ok
+cmpordss_2 ... ok
comiss_1 ... ok
comiss_2 ... ok
comiss_3 ... ok
diff --git a/none/tests/amd64/insn_sse2.def b/none/tests/amd64/insn_sse2.def
index eda1259..9f22359 100644
--- a/none/tests/amd64/insn_sse2.def
+++ b/none/tests/amd64/insn_sse2.def
@@ -12,24 +12,32 @@
cmpltpd m128.pd[1234.5678,1234.5678] xmm.pd[1234.5677,1234.5679] => 1.uq[0xffffffffffffffff,0x0000000000000000]
cmplepd xmm.pd[1234.5678,1234.5678] xmm.pd[1234.5678,1234.5679] => 1.uq[0xffffffffffffffff,0x0000000000000000]
cmplepd m128.pd[1234.5678,1234.5678] xmm.pd[1234.5678,1234.5679] => 1.uq[0xffffffffffffffff,0x0000000000000000]
+cmpunordpd xmm.pd[1234.5678,1234.5678] xmm.pd[1234.5678,1234.5679] => 1.uq[0x0000000000000000,0x0000000000000000]
+cmpunordpd m128.pd[1234.5678,1234.5678] xmm.pd[1234.5678,1234.5679] => 1.uq[0x0000000000000000,0x0000000000000000]
cmpneqpd xmm.pd[1234.5678,1234.5678] xmm.pd[1234.5679,1234.5678] => 1.uq[0xffffffffffffffff,0x0000000000000000]
cmpneqpd m128.pd[1234.5678,1234.5678] xmm.pd[1234.5679,1234.5678] => 1.uq[0xffffffffffffffff,0x0000000000000000]
cmpnltpd xmm.pd[1234.5678,1234.5678] xmm.pd[1234.5679,1234.5677] => 1.uq[0xffffffffffffffff,0x0000000000000000]
cmpnltpd m128.pd[1234.5678,1234.5678] xmm.pd[1234.5679,1234.5677] => 1.uq[0xffffffffffffffff,0x0000000000000000]
cmpnlepd xmm.pd[1234.5678,1234.5678] xmm.pd[1234.5679,1234.5678] => 1.uq[0xffffffffffffffff,0x0000000000000000]
cmpnlepd m128.pd[1234.5678,1234.5678] xmm.pd[1234.5679,1234.5678] => 1.uq[0xffffffffffffffff,0x0000000000000000]
+cmpordpd xmm.pd[1234.5678,1234.5678] xmm.pd[1234.5679,1234.5678] => 1.uq[0xffffffffffffffff,0xffffffffffffffff]
+cmpordpd m128.pd[1234.5678,1234.5678] xmm.pd[1234.5679,1234.5678] => 1.uq[0xffffffffffffffff,0xffffffffffffffff]
cmpeqsd xmm.pd[1234.5678,0.0] xmm.pd[1234.5678,0.0] => 1.uq[0xffffffffffffffff,0]
cmpeqsd m128.pd[1234.5678,0.0] xmm.pd[1234.5679,0.0] => 1.uq[0x0000000000000000,0]
cmpltsd xmm.pd[1234.5678,0.0] xmm.pd[1234.5677,0.0] => 1.uq[0xffffffffffffffff,0]
cmpltsd m128.pd[1234.5678,0.0] xmm.pd[1234.5679,0.0] => 1.uq[0x0000000000000000,0]
cmplesd xmm.pd[1234.5678,0.0] xmm.pd[1234.5678,0.0] => 1.uq[0xffffffffffffffff,0]
cmplesd m128.pd[1234.5678,0.0] xmm.pd[1234.5679,0.0] => 1.uq[0x0000000000000000,0]
+cmpunordsd xmm.pd[1234.5678,0.0] xmm.pd[1234.5678,0.0] => 1.uq[0x0000000000000000,0]
+cmpunordsd m128.pd[1234.5678,0.0] xmm.pd[1234.5679,0.0] => 1.uq[0x0000000000000000,0]
cmpneqsd xmm.pd[1234.5678,0.0] xmm.pd[1234.5679,0.0] => 1.uq[0xffffffffffffffff,0]
cmpneqsd m128.pd[1234.5678,0.0] xmm.pd[1234.5678,0.0] => 1.uq[0x0000000000000000,0]
cmpnltsd xmm.pd[1234.5678,0.0] xmm.pd[1234.5679,0.0] => 1.uq[0xffffffffffffffff,0]
cmpnltsd m128.pd[1234.5678,0.0] xmm.pd[1234.5677,0.0] => 1.uq[0x0000000000000000,0]
cmpnlesd xmm.pd[1234.5678,0.0] xmm.pd[1234.5679,0.0] => 1.uq[0xffffffffffffffff,0]
cmpnlesd m128.pd[1234.5678,0.0] xmm.pd[1234.5678,0.0] => 1.uq[0x0000000000000000,0]
+cmpordsd xmm.pd[1234.5678,0.0] xmm.pd[1234.5679,0.0] => 1.uq[0xffffffffffffffff,0]
+cmpordsd m128.pd[1234.5678,0.0] xmm.pd[1234.5678,0.0] => 1.uq[0xffffffffffffffff,0]
comisd xmm.pd[1234.5678,0.0] xmm.pd[1234.5679,0.0] => eflags[0x8d5,0x000]
comisd xmm.pd[1234.5678,0.0] xmm.pd[1234.5677,0.0] => eflags[0x8d5,0x001]
comisd xmm.pd[1234.5678,0.0] xmm.pd[1234.5678,0.0] => eflags[0x8d5,0x040]
diff --git a/none/tests/amd64/insn_sse2.stdout.exp b/none/tests/amd64/insn_sse2.stdout.exp
index 1e02468..a02bf74 100644
--- a/none/tests/amd64/insn_sse2.stdout.exp
+++ b/none/tests/amd64/insn_sse2.stdout.exp
@@ -12,24 +12,32 @@
cmpltpd_2 ... ok
cmplepd_1 ... ok
cmplepd_2 ... ok
+cmpunordpd_1 ... ok
+cmpunordpd_2 ... ok
cmpneqpd_1 ... ok
cmpneqpd_2 ... ok
cmpnltpd_1 ... ok
cmpnltpd_2 ... ok
cmpnlepd_1 ... ok
cmpnlepd_2 ... ok
+cmpordpd_1 ... ok
+cmpordpd_2 ... ok
cmpeqsd_1 ... ok
cmpeqsd_2 ... ok
cmpltsd_1 ... ok
cmpltsd_2 ... ok
cmplesd_1 ... ok
cmplesd_2 ... ok
+cmpunordsd_1 ... ok
+cmpunordsd_2 ... ok
cmpneqsd_1 ... ok
cmpneqsd_2 ... ok
cmpnltsd_1 ... ok
cmpnltsd_2 ... ok
cmpnlesd_1 ... ok
cmpnlesd_2 ... ok
+cmpordsd_1 ... ok
+cmpordsd_2 ... ok
comisd_1 ... ok
comisd_2 ... ok
comisd_3 ... ok