You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(122) |
Nov
(152) |
Dec
(69) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(6) |
Feb
(25) |
Mar
(73) |
Apr
(82) |
May
(24) |
Jun
(25) |
Jul
(10) |
Aug
(11) |
Sep
(10) |
Oct
(54) |
Nov
(203) |
Dec
(182) |
| 2004 |
Jan
(307) |
Feb
(305) |
Mar
(430) |
Apr
(312) |
May
(187) |
Jun
(342) |
Jul
(487) |
Aug
(637) |
Sep
(336) |
Oct
(373) |
Nov
(441) |
Dec
(210) |
| 2005 |
Jan
(385) |
Feb
(480) |
Mar
(636) |
Apr
(544) |
May
(679) |
Jun
(625) |
Jul
(810) |
Aug
(838) |
Sep
(634) |
Oct
(521) |
Nov
(965) |
Dec
(543) |
| 2006 |
Jan
(494) |
Feb
(431) |
Mar
(546) |
Apr
(411) |
May
(406) |
Jun
(322) |
Jul
(256) |
Aug
(401) |
Sep
(345) |
Oct
(542) |
Nov
(308) |
Dec
(481) |
| 2007 |
Jan
(427) |
Feb
(326) |
Mar
(367) |
Apr
(255) |
May
(244) |
Jun
(204) |
Jul
(223) |
Aug
(231) |
Sep
(354) |
Oct
(374) |
Nov
(497) |
Dec
(362) |
| 2008 |
Jan
(322) |
Feb
(482) |
Mar
(658) |
Apr
(422) |
May
(476) |
Jun
(396) |
Jul
(455) |
Aug
(267) |
Sep
(280) |
Oct
(253) |
Nov
(232) |
Dec
(304) |
| 2009 |
Jan
(486) |
Feb
(470) |
Mar
(458) |
Apr
(423) |
May
(696) |
Jun
(461) |
Jul
(551) |
Aug
(575) |
Sep
(134) |
Oct
(110) |
Nov
(157) |
Dec
(102) |
| 2010 |
Jan
(226) |
Feb
(86) |
Mar
(147) |
Apr
(117) |
May
(107) |
Jun
(203) |
Jul
(193) |
Aug
(238) |
Sep
(300) |
Oct
(246) |
Nov
(23) |
Dec
(75) |
| 2011 |
Jan
(133) |
Feb
(195) |
Mar
(315) |
Apr
(200) |
May
(267) |
Jun
(293) |
Jul
(353) |
Aug
(237) |
Sep
(278) |
Oct
(611) |
Nov
(274) |
Dec
(260) |
| 2012 |
Jan
(303) |
Feb
(391) |
Mar
(417) |
Apr
(441) |
May
(488) |
Jun
(655) |
Jul
(590) |
Aug
(610) |
Sep
(526) |
Oct
(478) |
Nov
(359) |
Dec
(372) |
| 2013 |
Jan
(467) |
Feb
(226) |
Mar
(391) |
Apr
(281) |
May
(299) |
Jun
(252) |
Jul
(311) |
Aug
(352) |
Sep
(481) |
Oct
(571) |
Nov
(222) |
Dec
(231) |
| 2014 |
Jan
(185) |
Feb
(329) |
Mar
(245) |
Apr
(238) |
May
(281) |
Jun
(399) |
Jul
(382) |
Aug
(500) |
Sep
(579) |
Oct
(435) |
Nov
(487) |
Dec
(256) |
| 2015 |
Jan
(338) |
Feb
(357) |
Mar
(330) |
Apr
(294) |
May
(191) |
Jun
(108) |
Jul
(142) |
Aug
(261) |
Sep
(190) |
Oct
(54) |
Nov
(83) |
Dec
(22) |
| 2016 |
Jan
(49) |
Feb
(89) |
Mar
(33) |
Apr
(50) |
May
(27) |
Jun
(34) |
Jul
(53) |
Aug
(53) |
Sep
(98) |
Oct
(206) |
Nov
(93) |
Dec
(53) |
| 2017 |
Jan
(65) |
Feb
(82) |
Mar
(102) |
Apr
(86) |
May
(187) |
Jun
(67) |
Jul
(23) |
Aug
(93) |
Sep
(65) |
Oct
(45) |
Nov
(35) |
Dec
(17) |
| 2018 |
Jan
(26) |
Feb
(35) |
Mar
(38) |
Apr
(32) |
May
(8) |
Jun
(43) |
Jul
(27) |
Aug
(30) |
Sep
(43) |
Oct
(42) |
Nov
(38) |
Dec
(67) |
| 2019 |
Jan
(32) |
Feb
(37) |
Mar
(53) |
Apr
(64) |
May
(49) |
Jun
(18) |
Jul
(14) |
Aug
(53) |
Sep
(25) |
Oct
(30) |
Nov
(49) |
Dec
(31) |
| 2020 |
Jan
(87) |
Feb
(45) |
Mar
(37) |
Apr
(51) |
May
(99) |
Jun
(36) |
Jul
(11) |
Aug
(14) |
Sep
(20) |
Oct
(24) |
Nov
(40) |
Dec
(23) |
| 2021 |
Jan
(14) |
Feb
(53) |
Mar
(85) |
Apr
(15) |
May
(19) |
Jun
(3) |
Jul
(14) |
Aug
(1) |
Sep
(57) |
Oct
(73) |
Nov
(56) |
Dec
(22) |
| 2022 |
Jan
(3) |
Feb
(22) |
Mar
(6) |
Apr
(55) |
May
(46) |
Jun
(39) |
Jul
(15) |
Aug
(9) |
Sep
(11) |
Oct
(34) |
Nov
(20) |
Dec
(36) |
| 2023 |
Jan
(79) |
Feb
(41) |
Mar
(99) |
Apr
(169) |
May
(48) |
Jun
(16) |
Jul
(16) |
Aug
(57) |
Sep
(19) |
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
|
|
|
|
1
|
2
|
|
3
|
4
(3) |
5
|
6
|
7
(2) |
8
(2) |
9
(1) |
|
10
(1) |
11
(11) |
12
(2) |
13
(3) |
14
(4) |
15
(2) |
16
(1) |
|
17
(1) |
18
(2) |
19
|
20
|
21
|
22
(7) |
23
|
|
24
|
25
(4) |
26
(1) |
27
(3) |
28
(2) |
29
|
30
(1) |
|
31
|
|
|
|
|
|
|
|
From: Julian S. <se...@so...> - 2019-03-13 13:29:17
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=ea09451baf13c13dfea3869b0df34b677e0557bb commit ea09451baf13c13dfea3869b0df34b677e0557bb Author: Julian Seward <js...@ac...> Date: Wed Mar 13 14:24:46 2019 +0100 Bug 399287 - amd64 front end: Illegal Instruction vcmptrueps. Add test cases. Diff: --- none/tests/amd64/avx-1.c | 607 ++- none/tests/amd64/avx-1.stdout.exp | 10611 ++++++++++++++++++++++++++++++++++++ 2 files changed, 11211 insertions(+), 7 deletions(-) diff --git a/none/tests/amd64/avx-1.c b/none/tests/amd64/avx-1.c index 1c6f0c0..134725c 100644 --- a/none/tests/amd64/avx-1.c +++ b/none/tests/amd64/avx-1.c @@ -219,9 +219,15 @@ GEN_test_RandM(VCMPSD_128_0x7, GEN_test_RandM(VCMPSD_128_0x8, "vcmpsd $8, %%xmm6, %%xmm8, %%xmm7", "vcmpsd $8, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPSD_128_0x9, + "vcmpsd $9, %%xmm6, %%xmm8, %%xmm7", + "vcmpsd $9, (%%rsi), %%xmm8, %%xmm7") GEN_test_RandM(VCMPSD_128_0xA, "vcmpsd $0xA, %%xmm6, %%xmm8, %%xmm7", "vcmpsd $0xA, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPSD_128_0xB, + "vcmpsd $0xB, %%xmm6, %%xmm8, %%xmm7", + "vcmpsd $0xB, (%%rsi), %%xmm8, %%xmm7") GEN_test_RandM(VCMPSD_128_0xC, "vcmpsd $0xC, %%xmm6, %%xmm8, %%xmm7", "vcmpsd $0xC, (%%rsi), %%xmm8, %%xmm7") @@ -231,6 +237,9 @@ GEN_test_RandM(VCMPSD_128_0xD, GEN_test_RandM(VCMPSD_128_0xE, "vcmpsd $0xE, %%xmm6, %%xmm8, %%xmm7", "vcmpsd $0xE, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPSD_128_0xF, + "vcmpsd $0xF, %%xmm6, %%xmm8, %%xmm7", + "vcmpsd $0xF, (%%rsi), %%xmm8, %%xmm7") GEN_test_RandM(VCMPSD_128_0x10, "vcmpsd $0x10, %%xmm6, %%xmm8, %%xmm7", "vcmpsd $0x10, (%%rsi), %%xmm8, %%xmm7") @@ -264,6 +273,9 @@ GEN_test_RandM(VCMPSD_128_0x19, GEN_test_RandM(VCMPSD_128_0x1A, "vcmpsd $0x1A, %%xmm6, %%xmm8, %%xmm7", "vcmpsd $0x1A, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPSD_128_0x1B, + "vcmpsd $0x1B, %%xmm6, %%xmm8, %%xmm7", + "vcmpsd $0x1B, (%%rsi), %%xmm8, %%xmm7") GEN_test_RandM(VCMPSD_128_0x1C, "vcmpsd $0x1C, %%xmm6, %%xmm8, %%xmm7", "vcmpsd $0x1C, (%%rsi), %%xmm8, %%xmm7") @@ -273,6 +285,9 @@ GEN_test_RandM(VCMPSD_128_0x1D, GEN_test_RandM(VCMPSD_128_0x1E, "vcmpsd $0x1E, %%xmm6, %%xmm8, %%xmm7", "vcmpsd $0x1E, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPSD_128_0x1F, + "vcmpsd $0x1F, %%xmm6, %%xmm8, %%xmm7", + "vcmpsd $0x1F, (%%rsi), %%xmm8, %%xmm7") GEN_test_RandM(VSQRTSD_128, "vsqrtsd %%xmm6, %%xmm8, %%xmm7", @@ -665,9 +680,15 @@ GEN_test_RandM(VCMPSS_128_0x7, GEN_test_RandM(VCMPSS_128_0x8, "vcmpss $8, %%xmm6, %%xmm8, %%xmm7", "vcmpss $8, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPSS_128_0x9, + "vcmpss $0x9, %%xmm6, %%xmm8, %%xmm7", + "vcmpss $0x9, (%%rsi), %%xmm8, %%xmm7") GEN_test_RandM(VCMPSS_128_0xA, "vcmpss $0xA, %%xmm6, %%xmm8, %%xmm7", "vcmpss $0xA, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPSS_128_0xB, + "vcmpss $0xB, %%xmm6, %%xmm8, %%xmm7", + "vcmpss $0xB, (%%rsi), %%xmm8, %%xmm7") GEN_test_RandM(VCMPSS_128_0xC, "vcmpss $0xC, %%xmm6, %%xmm8, %%xmm7", "vcmpss $0xC, (%%rsi), %%xmm8, %%xmm7") @@ -677,6 +698,9 @@ GEN_test_RandM(VCMPSS_128_0xD, GEN_test_RandM(VCMPSS_128_0xE, "vcmpss $0xE, %%xmm6, %%xmm8, %%xmm7", "vcmpss $0xE, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPSS_128_0xF, + "vcmpss $0xF, %%xmm6, %%xmm8, %%xmm7", + "vcmpss $0xF, (%%rsi), %%xmm8, %%xmm7") GEN_test_RandM(VCMPSS_128_0x10, "vcmpss $0x10, %%xmm6, %%xmm8, %%xmm7", "vcmpss $0x10, (%%rsi), %%xmm8, %%xmm7") @@ -710,6 +734,9 @@ GEN_test_RandM(VCMPSS_128_0x19, GEN_test_RandM(VCMPSS_128_0x1A, "vcmpss $0x1A, %%xmm6, %%xmm8, %%xmm7", "vcmpss $0x1A, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPSS_128_0x1B, + "vcmpss $0x1B, %%xmm6, %%xmm8, %%xmm7", + "vcmpss $0x1B, (%%rsi), %%xmm8, %%xmm7") GEN_test_RandM(VCMPSS_128_0x1C, "vcmpss $0x1C, %%xmm6, %%xmm8, %%xmm7", "vcmpss $0x1C, (%%rsi), %%xmm8, %%xmm7") @@ -719,6 +746,9 @@ GEN_test_RandM(VCMPSS_128_0x1D, GEN_test_RandM(VCMPSS_128_0x1E, "vcmpss $0x1E, %%xmm6, %%xmm8, %%xmm7", "vcmpss $0x1E, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPSS_128_0x1F, + "vcmpss $0x1F, %%xmm6, %%xmm8, %%xmm7", + "vcmpss $0x1F, (%%rsi), %%xmm8, %%xmm7") // The x suffix denotes a 128 -> 64 operation GEN_test_RandM(VCVTPD2PS_128, @@ -1081,22 +1111,422 @@ GEN_test_RandM(VXORPD_256, GEN_test_Monly(VBROADCASTSD_256, "vbroadcastsd (%%rsi), %%ymm8") +GEN_test_RandM(VCMPPD_128_0x0, + "vcmppd $0, %%xmm6, %%xmm8, %%xmm7", + "vcmppd $0, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPD_256_0x0, + "vcmppd $0, %%ymm6, %%ymm8, %%ymm7", + "vcmppd $0, (%%rsi), %%ymm8, %%ymm7") +GEN_test_RandM(VCMPPS_128_0x0, + "vcmpps $0, %%xmm6, %%xmm8, %%xmm7", + "vcmpps $0, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPS_256_0x0, + "vcmpps $0, %%ymm6, %%ymm8, %%ymm7", + "vcmpps $0, (%%rsi), %%ymm8, %%ymm7") + +GEN_test_RandM(VCMPPD_128_0x1, + "vcmppd $1, %%xmm6, %%xmm8, %%xmm7", + "vcmppd $1, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPD_256_0x1, + "vcmppd $1, %%ymm6, %%ymm8, %%ymm7", + "vcmppd $1, (%%rsi), %%ymm8, %%ymm7") +GEN_test_RandM(VCMPPS_128_0x1, + "vcmpps $1, %%xmm6, %%xmm8, %%xmm7", + "vcmpps $1, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPS_256_0x1, + "vcmpps $1, %%ymm6, %%ymm8, %%ymm7", + "vcmpps $1, (%%rsi), %%ymm8, %%ymm7") + +GEN_test_RandM(VCMPPD_128_0x2, + "vcmppd $2, %%xmm6, %%xmm8, %%xmm7", + "vcmppd $2, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPD_256_0x2, + "vcmppd $2, %%ymm6, %%ymm8, %%ymm7", + "vcmppd $2, (%%rsi), %%ymm8, %%ymm7") +GEN_test_RandM(VCMPPS_128_0x2, + "vcmpps $2, %%xmm6, %%xmm8, %%xmm7", + "vcmpps $2, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPS_256_0x2, + "vcmpps $2, %%ymm6, %%ymm8, %%ymm7", + "vcmpps $2, (%%rsi), %%ymm8, %%ymm7") + +GEN_test_RandM(VCMPPD_128_0x3, + "vcmppd $3, %%xmm6, %%xmm8, %%xmm7", + "vcmppd $3, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPD_256_0x3, + "vcmppd $3, %%ymm6, %%ymm8, %%ymm7", + "vcmppd $3, (%%rsi), %%ymm8, %%ymm7") +GEN_test_RandM(VCMPPS_128_0x3, + "vcmpps $3, %%xmm6, %%xmm8, %%xmm7", + "vcmpps $3, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPS_256_0x3, + "vcmpps $3, %%ymm6, %%ymm8, %%ymm7", + "vcmpps $3, (%%rsi), %%ymm8, %%ymm7") + GEN_test_RandM(VCMPPD_128_0x4, "vcmppd $4, %%xmm6, %%xmm8, %%xmm7", "vcmppd $4, (%%rsi), %%xmm8, %%xmm7") - GEN_test_RandM(VCMPPD_256_0x4, "vcmppd $4, %%ymm6, %%ymm8, %%ymm7", "vcmppd $4, (%%rsi), %%ymm8, %%ymm7") - GEN_test_RandM(VCMPPS_128_0x4, "vcmpps $4, %%xmm6, %%xmm8, %%xmm7", "vcmpps $4, (%%rsi), %%xmm8, %%xmm7") - GEN_test_RandM(VCMPPS_256_0x4, "vcmpps $4, %%ymm6, %%ymm8, %%ymm7", "vcmpps $4, (%%rsi), %%ymm8, %%ymm7") +GEN_test_RandM(VCMPPD_128_0x5, + "vcmppd $5, %%xmm6, %%xmm8, %%xmm7", + "vcmppd $5, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPD_256_0x5, + "vcmppd $5, %%ymm6, %%ymm8, %%ymm7", + "vcmppd $5, (%%rsi), %%ymm8, %%ymm7") +GEN_test_RandM(VCMPPS_128_0x5, + "vcmpps $5, %%xmm6, %%xmm8, %%xmm7", + "vcmpps $5, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPS_256_0x5, + "vcmpps $5, %%ymm6, %%ymm8, %%ymm7", + "vcmpps $5, (%%rsi), %%ymm8, %%ymm7") + +GEN_test_RandM(VCMPPD_128_0x6, + "vcmppd $6, %%xmm6, %%xmm8, %%xmm7", + "vcmppd $6, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPD_256_0x6, + "vcmppd $6, %%ymm6, %%ymm8, %%ymm7", + "vcmppd $6, (%%rsi), %%ymm8, %%ymm7") +GEN_test_RandM(VCMPPS_128_0x6, + "vcmpps $6, %%xmm6, %%xmm8, %%xmm7", + "vcmpps $6, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPS_256_0x6, + "vcmpps $6, %%ymm6, %%ymm8, %%ymm7", + "vcmpps $6, (%%rsi), %%ymm8, %%ymm7") + +GEN_test_RandM(VCMPPD_128_0x7, + "vcmppd $7, %%xmm6, %%xmm8, %%xmm7", + "vcmppd $7, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPD_256_0x7, + "vcmppd $7, %%ymm6, %%ymm8, %%ymm7", + "vcmppd $7, (%%rsi), %%ymm8, %%ymm7") +GEN_test_RandM(VCMPPS_128_0x7, + "vcmpps $7, %%xmm6, %%xmm8, %%xmm7", + "vcmpps $7, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPS_256_0x7, + "vcmpps $7, %%ymm6, %%ymm8, %%ymm7", + "vcmpps $7, (%%rsi), %%ymm8, %%ymm7") + +GEN_test_RandM(VCMPPD_128_0x8, + "vcmppd $8, %%xmm6, %%xmm8, %%xmm7", + "vcmppd $8, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPD_256_0x8, + "vcmppd $8, %%ymm6, %%ymm8, %%ymm7", + "vcmppd $8, (%%rsi), %%ymm8, %%ymm7") +GEN_test_RandM(VCMPPS_128_0x8, + "vcmpps $8, %%xmm6, %%xmm8, %%xmm7", + "vcmpps $8, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPS_256_0x8, + "vcmpps $8, %%ymm6, %%ymm8, %%ymm7", + "vcmpps $8, (%%rsi), %%ymm8, %%ymm7") + +GEN_test_RandM(VCMPPD_128_0x9, + "vcmppd $9, %%xmm6, %%xmm8, %%xmm7", + "vcmppd $9, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPD_256_0x9, + "vcmppd $9, %%ymm6, %%ymm8, %%ymm7", + "vcmppd $9, (%%rsi), %%ymm8, %%ymm7") +GEN_test_RandM(VCMPPS_128_0x9, + "vcmpps $9, %%xmm6, %%xmm8, %%xmm7", + "vcmpps $9, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPS_256_0x9, + "vcmpps $9, %%ymm6, %%ymm8, %%ymm7", + "vcmpps $9, (%%rsi), %%ymm8, %%ymm7") + +GEN_test_RandM(VCMPPD_128_0xA, + "vcmppd $0xA, %%xmm6, %%xmm8, %%xmm7", + "vcmppd $0xA, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPD_256_0xA, + "vcmppd $0xA, %%ymm6, %%ymm8, %%ymm7", + "vcmppd $0xA, (%%rsi), %%ymm8, %%ymm7") +GEN_test_RandM(VCMPPS_128_0xA, + "vcmpps $0xA, %%xmm6, %%xmm8, %%xmm7", + "vcmpps $0xA, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPS_256_0xA, + "vcmpps $0xA, %%ymm6, %%ymm8, %%ymm7", + "vcmpps $0xA, (%%rsi), %%ymm8, %%ymm7") + +GEN_test_RandM(VCMPPD_128_0xB, + "vcmppd $0xB, %%xmm6, %%xmm8, %%xmm7", + "vcmppd $0xB, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPD_256_0xB, + "vcmppd $0xB, %%ymm6, %%ymm8, %%ymm7", + "vcmppd $0xB, (%%rsi), %%ymm8, %%ymm7") +GEN_test_RandM(VCMPPS_128_0xB, + "vcmpps $0xB, %%xmm6, %%xmm8, %%xmm7", + "vcmpps $0xB, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPS_256_0xB, + "vcmpps $0xB, %%ymm6, %%ymm8, %%ymm7", + "vcmpps $0xB, (%%rsi), %%ymm8, %%ymm7") + +GEN_test_RandM(VCMPPD_128_0xC, + "vcmppd $0xC, %%xmm6, %%xmm8, %%xmm7", + "vcmppd $0xC, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPD_256_0xC, + "vcmppd $0xC, %%ymm6, %%ymm8, %%ymm7", + "vcmppd $0xC, (%%rsi), %%ymm8, %%ymm7") +GEN_test_RandM(VCMPPS_128_0xC, + "vcmpps $0xC, %%xmm6, %%xmm8, %%xmm7", + "vcmpps $0xC, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPS_256_0xC, + "vcmpps $0xC, %%ymm6, %%ymm8, %%ymm7", + "vcmpps $0xC, (%%rsi), %%ymm8, %%ymm7") + +GEN_test_RandM(VCMPPD_128_0xD, + "vcmppd $0xD, %%xmm6, %%xmm8, %%xmm7", + "vcmppd $0xD, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPD_256_0xD, + "vcmppd $0xD, %%ymm6, %%ymm8, %%ymm7", + "vcmppd $0xD, (%%rsi), %%ymm8, %%ymm7") +GEN_test_RandM(VCMPPS_128_0xD, + "vcmpps $0xD, %%xmm6, %%xmm8, %%xmm7", + "vcmpps $0xD, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPS_256_0xD, + "vcmpps $0xD, %%ymm6, %%ymm8, %%ymm7", + "vcmpps $0xD, (%%rsi), %%ymm8, %%ymm7") + +GEN_test_RandM(VCMPPD_128_0xE, + "vcmppd $0xE, %%xmm6, %%xmm8, %%xmm7", + "vcmppd $0xE, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPD_256_0xE, + "vcmppd $0xE, %%ymm6, %%ymm8, %%ymm7", + "vcmppd $0xE, (%%rsi), %%ymm8, %%ymm7") +GEN_test_RandM(VCMPPS_128_0xE, + "vcmpps $0xE, %%xmm6, %%xmm8, %%xmm7", + "vcmpps $0xE, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPS_256_0xE, + "vcmpps $0xE, %%ymm6, %%ymm8, %%ymm7", + "vcmpps $0xE, (%%rsi), %%ymm8, %%ymm7") + +GEN_test_RandM(VCMPPD_128_0xF, + "vcmppd $0xF, %%xmm6, %%xmm8, %%xmm7", + "vcmppd $0xF, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPD_256_0xF, + "vcmppd $0xF, %%ymm6, %%ymm8, %%ymm7", + "vcmppd $0xF, (%%rsi), %%ymm8, %%ymm7") +GEN_test_RandM(VCMPPS_128_0xF, + "vcmpps $0xF, %%xmm6, %%xmm8, %%xmm7", + "vcmpps $0xF, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPS_256_0xF, + "vcmpps $0xF, %%ymm6, %%ymm8, %%ymm7", + "vcmpps $0xF, (%%rsi), %%ymm8, %%ymm7") + +GEN_test_RandM(VCMPPD_128_0x10, + "vcmppd $0x10, %%xmm6, %%xmm8, %%xmm7", + "vcmppd $0x10, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPD_256_0x10, + "vcmppd $0x10, %%ymm6, %%ymm8, %%ymm7", + "vcmppd $0x10, (%%rsi), %%ymm8, %%ymm7") +GEN_test_RandM(VCMPPS_128_0x10, + "vcmpps $0x10, %%xmm6, %%xmm8, %%xmm7", + "vcmpps $0x10, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPS_256_0x10, + "vcmpps $0x10, %%ymm6, %%ymm8, %%ymm7", + "vcmpps $0x10, (%%rsi), %%ymm8, %%ymm7") + +GEN_test_RandM(VCMPPD_128_0x11, + "vcmppd $0x11, %%xmm6, %%xmm8, %%xmm7", + "vcmppd $0x11, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPD_256_0x11, + "vcmppd $0x11, %%ymm6, %%ymm8, %%ymm7", + "vcmppd $0x11, (%%rsi), %%ymm8, %%ymm7") +GEN_test_RandM(VCMPPS_128_0x11, + "vcmpps $0x11, %%xmm6, %%xmm8, %%xmm7", + "vcmpps $0x11, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPS_256_0x11, + "vcmpps $0x11, %%ymm6, %%ymm8, %%ymm7", + "vcmpps $0x11, (%%rsi), %%ymm8, %%ymm7") + +GEN_test_RandM(VCMPPD_128_0x12, + "vcmppd $0x12, %%xmm6, %%xmm8, %%xmm7", + "vcmppd $0x12, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPD_256_0x12, + "vcmppd $0x12, %%ymm6, %%ymm8, %%ymm7", + "vcmppd $0x12, (%%rsi), %%ymm8, %%ymm7") +GEN_test_RandM(VCMPPS_128_0x12, + "vcmpps $0x12, %%xmm6, %%xmm8, %%xmm7", + "vcmpps $0x12, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPS_256_0x12, + "vcmpps $0x12, %%ymm6, %%ymm8, %%ymm7", + "vcmpps $0x12, (%%rsi), %%ymm8, %%ymm7") + +GEN_test_RandM(VCMPPD_128_0x13, + "vcmppd $0x13, %%xmm6, %%xmm8, %%xmm7", + "vcmppd $0x13, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPD_256_0x13, + "vcmppd $0x13, %%ymm6, %%ymm8, %%ymm7", + "vcmppd $0x13, (%%rsi), %%ymm8, %%ymm7") +GEN_test_RandM(VCMPPS_128_0x13, + "vcmpps $0x13, %%xmm6, %%xmm8, %%xmm7", + "vcmpps $0x13, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPS_256_0x13, + "vcmpps $0x13, %%ymm6, %%ymm8, %%ymm7", + "vcmpps $0x13, (%%rsi), %%ymm8, %%ymm7") + +GEN_test_RandM(VCMPPD_128_0x14, + "vcmppd $0x14, %%xmm6, %%xmm8, %%xmm7", + "vcmppd $0x14, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPD_256_0x14, + "vcmppd $0x14, %%ymm6, %%ymm8, %%ymm7", + "vcmppd $0x14, (%%rsi), %%ymm8, %%ymm7") +GEN_test_RandM(VCMPPS_128_0x14, + "vcmpps $0x14, %%xmm6, %%xmm8, %%xmm7", + "vcmpps $0x14, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPS_256_0x14, + "vcmpps $0x14, %%ymm6, %%ymm8, %%ymm7", + "vcmpps $0x14, (%%rsi), %%ymm8, %%ymm7") + +GEN_test_RandM(VCMPPD_128_0x15, + "vcmppd $0x15, %%xmm6, %%xmm8, %%xmm7", + "vcmppd $0x15, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPD_256_0x15, + "vcmppd $0x15, %%ymm6, %%ymm8, %%ymm7", + "vcmppd $0x15, (%%rsi), %%ymm8, %%ymm7") +GEN_test_RandM(VCMPPS_128_0x15, + "vcmpps $0x15, %%xmm6, %%xmm8, %%xmm7", + "vcmpps $0x15, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPS_256_0x15, + "vcmpps $0x15, %%ymm6, %%ymm8, %%ymm7", + "vcmpps $0x15, (%%rsi), %%ymm8, %%ymm7") + +GEN_test_RandM(VCMPPD_128_0x16, + "vcmppd $0x16, %%xmm6, %%xmm8, %%xmm7", + "vcmppd $0x16, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPD_256_0x16, + "vcmppd $0x16, %%ymm6, %%ymm8, %%ymm7", + "vcmppd $0x16, (%%rsi), %%ymm8, %%ymm7") +GEN_test_RandM(VCMPPS_128_0x16, + "vcmpps $0x16, %%xmm6, %%xmm8, %%xmm7", + "vcmpps $0x16, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPS_256_0x16, + "vcmpps $0x16, %%ymm6, %%ymm8, %%ymm7", + "vcmpps $0x16, (%%rsi), %%ymm8, %%ymm7") + +GEN_test_RandM(VCMPPD_128_0x17, + "vcmppd $0x17, %%xmm6, %%xmm8, %%xmm7", + "vcmppd $0x17, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPD_256_0x17, + "vcmppd $0x17, %%ymm6, %%ymm8, %%ymm7", + "vcmppd $0x17, (%%rsi), %%ymm8, %%ymm7") +GEN_test_RandM(VCMPPS_128_0x17, + "vcmpps $0x17, %%xmm6, %%xmm8, %%xmm7", + "vcmpps $0x17, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPS_256_0x17, + "vcmpps $0x17, %%ymm6, %%ymm8, %%ymm7", + "vcmpps $0x17, (%%rsi), %%ymm8, %%ymm7") + +GEN_test_RandM(VCMPPD_128_0x18, + "vcmppd $0x18, %%xmm6, %%xmm8, %%xmm7", + "vcmppd $0x18, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPD_256_0x18, + "vcmppd $0x18, %%ymm6, %%ymm8, %%ymm7", + "vcmppd $0x18, (%%rsi), %%ymm8, %%ymm7") +GEN_test_RandM(VCMPPS_128_0x18, + "vcmpps $0x18, %%xmm6, %%xmm8, %%xmm7", + "vcmpps $0x18, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPS_256_0x18, + "vcmpps $0x18, %%ymm6, %%ymm8, %%ymm7", + "vcmpps $0x18, (%%rsi), %%ymm8, %%ymm7") + +GEN_test_RandM(VCMPPD_128_0x19, + "vcmppd $0x19, %%xmm6, %%xmm8, %%xmm7", + "vcmppd $0x19, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPD_256_0x19, + "vcmppd $0x19, %%ymm6, %%ymm8, %%ymm7", + "vcmppd $0x19, (%%rsi), %%ymm8, %%ymm7") +GEN_test_RandM(VCMPPS_128_0x19, + "vcmpps $0x19, %%xmm6, %%xmm8, %%xmm7", + "vcmpps $0x19, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPS_256_0x19, + "vcmpps $0x19, %%ymm6, %%ymm8, %%ymm7", + "vcmpps $0x19, (%%rsi), %%ymm8, %%ymm7") + +GEN_test_RandM(VCMPPD_128_0x1A, + "vcmppd $0x1A, %%xmm6, %%xmm8, %%xmm7", + "vcmppd $0x1A, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPD_256_0x1A, + "vcmppd $0x1A, %%ymm6, %%ymm8, %%ymm7", + "vcmppd $0x1A, (%%rsi), %%ymm8, %%ymm7") +GEN_test_RandM(VCMPPS_128_0x1A, + "vcmpps $0x1A, %%xmm6, %%xmm8, %%xmm7", + "vcmpps $0x1A, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPS_256_0x1A, + "vcmpps $0x1A, %%ymm6, %%ymm8, %%ymm7", + "vcmpps $0x1A, (%%rsi), %%ymm8, %%ymm7") + +GEN_test_RandM(VCMPPD_128_0x1B, + "vcmppd $0x1B, %%xmm6, %%xmm8, %%xmm7", + "vcmppd $0x1B, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPD_256_0x1B, + "vcmppd $0x1B, %%ymm6, %%ymm8, %%ymm7", + "vcmppd $0x1B, (%%rsi), %%ymm8, %%ymm7") +GEN_test_RandM(VCMPPS_128_0x1B, + "vcmpps $0x1B, %%xmm6, %%xmm8, %%xmm7", + "vcmpps $0x1B, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPS_256_0x1B, + "vcmpps $0x1B, %%ymm6, %%ymm8, %%ymm7", + "vcmpps $0x1B, (%%rsi), %%ymm8, %%ymm7") + +GEN_test_RandM(VCMPPD_128_0x1C, + "vcmppd $0x1C, %%xmm6, %%xmm8, %%xmm7", + "vcmppd $0x1C, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPD_256_0x1C, + "vcmppd $0x1C, %%ymm6, %%ymm8, %%ymm7", + "vcmppd $0x1C, (%%rsi), %%ymm8, %%ymm7") +GEN_test_RandM(VCMPPS_128_0x1C, + "vcmpps $0x1C, %%xmm6, %%xmm8, %%xmm7", + "vcmpps $0x1C, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPS_256_0x1C, + "vcmpps $0x1C, %%ymm6, %%ymm8, %%ymm7", + "vcmpps $0x1C, (%%rsi), %%ymm8, %%ymm7") + +GEN_test_RandM(VCMPPD_128_0x1D, + "vcmppd $0x1D, %%xmm6, %%xmm8, %%xmm7", + "vcmppd $0x1D, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPD_256_0x1D, + "vcmppd $0x1D, %%ymm6, %%ymm8, %%ymm7", + "vcmppd $0x1D, (%%rsi), %%ymm8, %%ymm7") +GEN_test_RandM(VCMPPS_128_0x1D, + "vcmpps $0x1D, %%xmm6, %%xmm8, %%xmm7", + "vcmpps $0x1D, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPS_256_0x1D, + "vcmpps $0x1D, %%ymm6, %%ymm8, %%ymm7", + "vcmpps $0x1D, (%%rsi), %%ymm8, %%ymm7") + +GEN_test_RandM(VCMPPD_128_0x1E, + "vcmppd $0x1E, %%xmm6, %%xmm8, %%xmm7", + "vcmppd $0x1E, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPD_256_0x1E, + "vcmppd $0x1E, %%ymm6, %%ymm8, %%ymm7", + "vcmppd $0x1E, (%%rsi), %%ymm8, %%ymm7") +GEN_test_RandM(VCMPPS_128_0x1E, + "vcmpps $0x1E, %%xmm6, %%xmm8, %%xmm7", + "vcmpps $0x1E, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPS_256_0x1E, + "vcmpps $0x1E, %%ymm6, %%ymm8, %%ymm7", + "vcmpps $0x1E, (%%rsi), %%ymm8, %%ymm7") + +GEN_test_RandM(VCMPPD_128_0x1F, + "vcmppd $0x1F, %%xmm6, %%xmm8, %%xmm7", + "vcmppd $0x1F, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPD_256_0x1F, + "vcmppd $0x1F, %%ymm6, %%ymm8, %%ymm7", + "vcmppd $0x1F, (%%rsi), %%ymm8, %%ymm7") +GEN_test_RandM(VCMPPS_128_0x1F, + "vcmpps $0x1F, %%xmm6, %%xmm8, %%xmm7", + "vcmpps $0x1F, (%%rsi), %%xmm8, %%xmm7") +GEN_test_RandM(VCMPPS_256_0x1F, + "vcmpps $0x1F, %%ymm6, %%ymm8, %%ymm7", + "vcmpps $0x1F, (%%rsi), %%ymm8, %%ymm7") + GEN_test_RandM(VCVTDQ2PD_128, "vcvtdq2pd %%xmm6, %%xmm8", "vcvtdq2pd (%%rsi), %%xmm8") @@ -2209,10 +2639,6 @@ GEN_test_RandM(VPCLMULQDQ_0xFF, "vpclmulqdq $0xFF, %%xmm6, %%xmm8, %%xmm7", "vpclmulqdq $0xFF, (%%rsi), %%xmm8, %%xmm7") -GEN_test_RandM(VCMPSS_128_0x9, - "vcmpss $0x9, %%xmm6, %%xmm8, %%xmm7", - "vcmpss $0x9, (%%rsi), %%xmm8, %%xmm7") - GEN_test_Monly(VMASKMOVPS_128_LoadForm, "vmaskmovps (%%rsi), %%xmm8, %%xmm7;" "vxorps %%xmm6, %%xmm6, %%xmm6;" @@ -2828,6 +3254,173 @@ int main ( void ) DO_D( VMASKMOVPS_256_StoreForm ); DO_D( VMASKMOVPD_128_StoreForm ); DO_D( VMASKMOVPD_256_StoreForm ); + DO_D( VCMPSS_128_0xB ); + DO_D( VCMPSS_128_0xF ); + DO_D( VCMPSS_128_0x1B ); + DO_D( VCMPSS_128_0x1F ); + DO_D( VCMPSD_128_0x9 ); + DO_D( VCMPSD_128_0xB ); + DO_D( VCMPSD_128_0xF ); + DO_D( VCMPSD_128_0x1B ); + DO_D( VCMPSD_128_0x1F ); + + DO_D( VCMPPD_128_0x0 ); + DO_D( VCMPPD_256_0x0 ); + DO_D( VCMPPS_128_0x0 ); + DO_D( VCMPPS_256_0x0 ); + + DO_D( VCMPPD_128_0x1 ); + DO_D( VCMPPD_256_0x1 ); + DO_D( VCMPPS_128_0x1 ); + DO_D( VCMPPS_256_0x1 ); + + DO_D( VCMPPD_128_0x2 ); + DO_D( VCMPPD_256_0x2 ); + DO_D( VCMPPS_128_0x2 ); + DO_D( VCMPPS_256_0x2 ); + + DO_D( VCMPPD_128_0x3 ); + DO_D( VCMPPD_256_0x3 ); + DO_D( VCMPPS_128_0x3 ); + DO_D( VCMPPS_256_0x3 ); + + // The 0x4 group is tested above + + DO_D( VCMPPD_128_0x5 ); + DO_D( VCMPPD_256_0x5 ); + DO_D( VCMPPS_128_0x5 ); + DO_D( VCMPPS_256_0x5 ); + + DO_D( VCMPPD_128_0x6 ); + DO_D( VCMPPD_256_0x6 ); + DO_D( VCMPPS_128_0x6 ); + DO_D( VCMPPS_256_0x6 ); + + DO_D( VCMPPD_128_0x7 ); + DO_D( VCMPPD_256_0x7 ); + DO_D( VCMPPS_128_0x7 ); + DO_D( VCMPPS_256_0x7 ); + + DO_D( VCMPPD_128_0x8 ); + DO_D( VCMPPD_256_0x8 ); + DO_D( VCMPPS_128_0x8 ); + DO_D( VCMPPS_256_0x8 ); + + DO_D( VCMPPD_128_0x9 ); + DO_D( VCMPPD_256_0x9 ); + DO_D( VCMPPS_128_0x9 ); + DO_D( VCMPPS_256_0x9 ); + + DO_D( VCMPPD_128_0xA ); + DO_D( VCMPPD_256_0xA ); + DO_D( VCMPPS_128_0xA ); + DO_D( VCMPPS_256_0xA ); + + DO_D( VCMPPD_128_0xB ); + DO_D( VCMPPD_256_0xB ); + DO_D( VCMPPS_128_0xB ); + DO_D( VCMPPS_256_0xB ); + + DO_D( VCMPPD_128_0xC ); + DO_D( VCMPPD_256_0xC ); + DO_D( VCMPPS_128_0xC ); + if (0) DO_D( VCMPPS_256_0xC ); // FIXME probably denorms etc in input + + DO_D( VCMPPD_128_0xD ); + DO_D( VCMPPD_256_0xD ); + DO_D( VCMPPS_128_0xD ); + DO_D( VCMPPS_256_0xD ); + + DO_D( VCMPPD_128_0xE ); + DO_D( VCMPPD_256_0xE ); + DO_D( VCMPPS_128_0xE ); + DO_D( VCMPPS_256_0xE ); + + DO_D( VCMPPD_128_0xF ); + DO_D( VCMPPD_256_0xF ); + DO_D( VCMPPS_128_0xF ); + DO_D( VCMPPS_256_0xF ); + + DO_D( VCMPPD_128_0x10 ); + DO_D( VCMPPD_256_0x10 ); + DO_D( VCMPPS_128_0x10 ); + DO_D( VCMPPS_256_0x10 ); + + DO_D( VCMPPD_128_0x11 ); + DO_D( VCMPPD_256_0x11 ); + DO_D( VCMPPS_128_0x11 ); + DO_D( VCMPPS_256_0x11 ); + + DO_D( VCMPPD_128_0x12 ); + DO_D( VCMPPD_256_0x12 ); + DO_D( VCMPPS_128_0x12 ); + DO_D( VCMPPS_256_0x12 ); + + DO_D( VCMPPD_128_0x13 ); + DO_D( VCMPPD_256_0x13 ); + DO_D( VCMPPS_128_0x13 ); + DO_D( VCMPPS_256_0x13 ); + + DO_D( VCMPPD_128_0x14 ); + DO_D( VCMPPD_256_0x14 ); + DO_D( VCMPPS_128_0x14 ); + DO_D( VCMPPS_256_0x14 ); + + DO_D( VCMPPD_128_0x15 ); + DO_D( VCMPPD_256_0x15 ); + DO_D( VCMPPS_128_0x15 ); + DO_D( VCMPPS_256_0x15 ); + + DO_D( VCMPPD_128_0x16 ); + DO_D( VCMPPD_256_0x16 ); + DO_D( VCMPPS_128_0x16 ); + DO_D( VCMPPS_256_0x16 ); + + DO_D( VCMPPD_128_0x17 ); + DO_D( VCMPPD_256_0x17 ); + DO_D( VCMPPS_128_0x17 ); + DO_D( VCMPPS_256_0x17 ); + + DO_D( VCMPPD_128_0x18 ); + DO_D( VCMPPD_256_0x18 ); + DO_D( VCMPPS_128_0x18 ); + DO_D( VCMPPS_256_0x18 ); + + DO_D( VCMPPD_128_0x19 ); + DO_D( VCMPPD_256_0x19 ); + DO_D( VCMPPS_128_0x19 ); + DO_D( VCMPPS_256_0x19 ); + + DO_D( VCMPPD_128_0x1A ); + DO_D( VCMPPD_256_0x1A ); + DO_D( VCMPPS_128_0x1A ); + DO_D( VCMPPS_256_0x1A ); + + DO_D( VCMPPD_128_0x1B ); + DO_D( VCMPPD_256_0x1B ); + DO_D( VCMPPS_128_0x1B ); + DO_D( VCMPPS_256_0x1B ); + + DO_D( VCMPPD_128_0x1C ); + DO_D( VCMPPD_256_0x1C ); + DO_D( VCMPPS_128_0x1C ); + if (0) DO_D( VCMPPS_256_0x1C ); // FIXME probably denorms etc in input + + DO_D( VCMPPD_128_0x1D ); + DO_D( VCMPPD_256_0x1D ); + DO_D( VCMPPS_128_0x1D ); + DO_D( VCMPPS_256_0x1D ); + + DO_D( VCMPPD_128_0x1E ); + DO_D( VCMPPD_256_0x1E ); + DO_D( VCMPPS_128_0x1E ); + DO_D( VCMPPS_256_0x1E ); + + DO_D( VCMPPD_128_0x1F ); + DO_D( VCMPPD_256_0x1F ); + DO_D( VCMPPS_128_0x1F ); + DO_D( VCMPPS_256_0x1F ); + return 0; } diff --git a/none/tests/amd64/avx-1.stdout.exp b/none/tests/amd64/avx-1.stdout.exp index d530552..33280d5 100644 --- a/none/tests/amd64/avx-1.stdout.exp +++ b/none/tests/amd64/avx-1.stdout.exp @@ -45466,3 +45466,10614 @@ VMASKMOVPD_256_StoreForm(mem) f85a0b790e6bc6be.cbe30618398291b6.196ab53244ca5ca7.ece50132bf7e7fc7 f5ee878cb2046dcb +VCMPSS_128_0xB(reg) + before + 76f516f10ceac1d8.57ae4da5d5386e75.05e1d16b0c466a0a.3498a9f04e4089f1 + cc44aace6cbbb69b.e36704de683e1926.a5c263be56f187fc.ce85960557a71ce0 + 51283f8d6c0489c0.7853ad0ee58783ff.07d2b97eb20c243b.c2fef75c7c0dcf9f + 62ecd29ca85076f2.f13cc52368216829.875dcd18bc257c71.eecf48e1d87e5f5b + 2dc405818804873f + after + 0000000000000000.0000000000000000.a5c263be56f187fc.ce85960500000000 + cc44aace6cbbb69b.e36704de683e1926.a5c263be56f187fc.ce85960557a71ce0 + 51283f8d6c0489c0.7853ad0ee58783ff.07d2b97eb20c243b.c2fef75c7c0dcf9f + 62ecd29ca85076f2.f13cc52368216829.875dcd18bc257c71.eecf48e1d87e5f5b + 2dc405818804873f +VCMPSS_128_0xB(mem) + before + 5aa9ab26a7ad0479.5cde5e65bd2bb8de.2cf0c7080c1884d3.80af9df611c7cc4a + 5349b4bd52859232.9948df5646228c30.03392fa8ed769227.501324864d7f5073 + f3729e33a496ed99.767851dadfc02e93.54e47af1284a4e51.52d75e330bd74498 + 15eee572baefd1d7.4fb8b15d2692dab3.fabc22ced99d767e.e2454869e75ee364 + 5baadc947e9d6a84 + after + 5aa9ab26a7ad0479.5cde5e65bd2bb8de.2cf0c7080c1884d3.80af9df611c7cc4a + 5349b4bd52859232.9948df5646228c30.03392fa8ed769227.501324864d7f5073 + 0000000000000000.0000000000000000.03392fa8ed769227.5013248600000000 + 15eee572baefd1d7.4fb8b15d2692dab3.fabc22ced99d767e.e2454869e75ee364 + 5baadc947e9d6a84 + +VCMPSS_128_0xB(reg) + before + 1b5218206b2215a4.978a0368af99f91b.8155fa4bb422cb3d.d08fa52c1b7dc4da + 7c89f7794b781f6f.531276009fa2228f.669b281027fe3edd.b4287ef50af5f590 + dc9a760bba2cc592.2751b925a7150760.5bd537181bb26f3f.80522916c311c5cd + 96d38f4252c943b8.ed1548c5e3fe65b9.bc5123cf2bc89a0e.12da237b61deefbd + 448ce7110167318b + after + 0000000000000000.0000000000000000.669b281027fe3edd.b4287ef500000000 + 7c89f7794b781f6f.531276009fa2228f.669b281027fe3edd.b4287ef50af5f590 + dc9a760bba2cc592.2751b925a7150760.5bd537181bb26f3f.80522916c311c5cd + 96d38f4252c943b8.ed1548c5e3fe65b9.bc5123cf2bc89a0e.12da237b61deefbd + 448ce7110167318b +VCMPSS_128_0xB(mem) + before + f334f1c3beb94563.057e408bb2dbd58e.82289fcb6e6af8c7.e559e9a2f3cffaf6 + fc9ebd7cb5dee772.87e8845073efb6bf.c3583b2464647cb5.323a84fb1050cca4 + 3995c72a01e5d4e4.765d57ff339023f8.8a6f96bae2f9adb0.ff40f0481ed94bc4 + 87e78cb8bed7c8e5.2f29b6038e4a58e5.b43a2e7a043446e4.a8b729f3b8f5b502 + 89eb2c6a7a304409 + after + f334f1c3beb94563.057e408bb2dbd58e.82289fcb6e6af8c7.e559e9a2f3cffaf6 + fc9ebd7cb5dee772.87e8845073efb6bf.c3583b2464647cb5.323a84fb1050cca4 + 0000000000000000.0000000000000000.c3583b2464647cb5.323a84fb00000000 + 87e78cb8bed7c8e5.2f29b6038e4a58e5.b43a2e7a043446e4.a8b729f3b8f5b502 + 89eb2c6a7a304409 + +VCMPSS_128_0xB(reg) + before + fd28f41801173585.c35e87120ac27fa0.0f989bc71faa9031.1e857f51e521047c + 62b97c69e835c323.c7c73424feb1b541.70f504b9833b0889.a21b0329a1cca2a5 + 13ebc3c9cc172b8f.70ee0fdab8b125f6.af8dec445589fc99.1dca38f05542de8a + 6c0ac2a44848a974.9a9f942054cd8ce8.29ad4fd43121a80c.6b5c99901c8e7259 + 689ea2f713bd1a3b + after + 0000000000000000.0000000000000000.70f504b9833b0889.a21b032900000000 + 62b97c69e835c323.c7c73424feb1b541.70f504b9833b0889.a21b0329a1cca2a5 + 13ebc3c9cc172b8f.70ee0fdab8b125f6.af8dec445589fc99.1dca38f05542de8a + 6c0ac2a44848a974.9a9f942054cd8ce8.29ad4fd43121a80c.6b5c99901c8e7259 + 689ea2f713bd1a3b +VCMPSS_128_0xB(mem) + before + f05ccf1055da945e.c9627766f954797f.21a540e3ed11a546.389f2ad6b48e478e + e0629cc7fff19aee.853fdc7c7ac7d65c.e1ce8e0d9f892e3a.39af78b47a5c16cd + 127c86082c0fe917.feedf050682efeb6.b6e4fa8b8742e1f1.882b35db1e185172 + 637608bff83f3d04.8fb7ac505e142a3a.7cb4004ac0487b96.825e5db83c4d332c + 8193ecb57187faa5 + after + f05ccf1055da945e.c9627766f954797f.21a540e3ed11a546.389f2ad6b48e478e + e0629cc7fff19aee.853fdc7c7ac7d65c.e1ce8e0d9f892e3a.39af78b47a5c16cd + 0000000000000000.0000000000000000.e1ce8e0d9f892e3a.39af78b400000000 + 637608bff83f3d04.8fb7ac505e142a3a.7cb4004ac0487b96.825e5db83c4d332c + 8193ecb57187faa5 + +VCMPSS_128_0xF(reg) + before + e217df405853e08a.af1b9ed8808d51e1.93eb0de6f9069993.0f0a1d3567a5b755 + 013631c48e3c2186.d238c540e005e2db.68d31080d48f856e.4bb2cc389867525c + 3a3cdeadaecefb46.a799f7e133b4ac1e.68bcb0898b3b2b76.0c78893e6d9908d5 + e975e2665596a875.0c0ab2a995a66ad5.f1f2e96dbb97c759.2e27d035054895ec + 8d8c1d09797fb4cf + after + 0000000000000000.0000000000000000.68d31080d48f856e.4bb2cc38ffffffff + 013631c48e3c2186.d238c540e005e2db.68d31080d48f856e.4bb2cc389867525c + 3a3cdeadaecefb46.a799f7e133b4ac1e.68bcb0898b3b2b76.0c78893e6d9908d5 + e975e2665596a875.0c0ab2a995a66ad5.f1f2e96dbb97c759.2e27d035054895ec + 8d8c1d09797fb4cf +VCMPSS_128_0xF(mem) + before + 0574eda4e74a22a7.6a2d395e1e1f64c0.dc57718223e5da2d.5dc0b798002e94c0 + 72a9bbf36bb69ba3.19afe0fea6f66dd2.f34cb05af97fb652.0a741776f58ccf59 + b0f803e220cedbed.5249d2b388a5fd59.2db4ec1c3280ba6f.52580473363eb4d0 + 9a2c415e239e9db1.71450be961bb51fe.665ca0b4eaf2a4b1.93b97afb60cf7fd1 + 27e4757a0ecb6b07 + after + 0574eda4e74a22a7.6a2d395e1e1f64c0.dc57718223e5da2d.5dc0b798002e94c0 + 72a9bbf36bb69ba3.19afe0fea6f66dd2.f34cb05af97fb652.0a741776f58ccf59 + 0000000000000000.0000000000000000.f34cb05af97fb652.0a741776ffffffff + 9a2c415e239e9db1.71450be961bb51fe.665ca0b4eaf2a4b1.93b97afb60cf7fd1 + 27e4757a0ecb6b07 + +VCMPSS_128_0xF(reg) + before + 6b22f25dddbeb51f.0e13f2518f339e1c.d2f0870dccc1a570.7911470e3ee32e43 + bcc2eb0e683599c4.e77791a980989a5a.d095438965453459.449d6016495f1552 + 740f5efb4cbc52a3.0026995113d94c96.c9823acbc9d23b65.a2cc64b82870140a + f054468f24de1e67.37ea8935640371fd.1802683d94f5f641.6e6cd1e0f624e896 + 8648217bd0874d22 + after + 0000000000000000.0000000000000000.d095438965453459.449d6016ffffffff + bcc2eb0e683599c4.e77791a980989a5a.d095438965453459.449d6016495f1552 + 740f5efb4cbc52a3.0026995113d94c96.c9823acbc9d23b65.a2cc64b82870140a + f054468f24de1e67.37ea8935640371fd.1802683d94f5f641.6e6cd1e0f624e896 + 8648217bd0874d22 +VCMPSS_128_0xF(mem) + before + c52bd273d1a4ffdc.8cdfa0368d2737bd.6790da418e21c5bb.1960c94d6138a199 + 06e260b61687baee.a5fa665c2223d951.6be30a61ad4004fb.27e95966cc2a7718 + 2739452eba3c3984.95f2966d805f41ce.21b19481de6ae9ea.a0e915f47254b56b + 02fcffc9dad039cb.b9122bd54266ace1.63c5f48d3dad31b3.dfacf863ee44973e + 3f7efe1fdd85583c + after + c52bd273d1a4ffdc.8cdfa0368d2737bd.6790da418e21c5bb.1960c94d6138a199 + 06e260b61687baee.a5fa665c2223d951.6be30a61ad4004fb.27e95966cc2a7718 + 0000000000000000.0000000000000000.6be30a61ad4004fb.27e95966ffffffff + 02fcffc9dad039cb.b9122bd54266ace1.63c5f48d3dad31b3.dfacf863ee44973e + 3f7efe1fdd85583c + +VCMPSS_128_0xF(reg) + before + 1eab2394dba43512.75f70972914e75ef.6da8210004c45335.0feaa671e4159883 + d67e642f822c6a6b.5af6df15fbc2aa1b.0dff745a63067577.ffed261af2add985 + c544bc5a71a932f4.8ec4fd9e3539947c.f5622150fbb74c53.119af1728081b1e6 + 4549278341a8cb58.ee2ee0f95bbeef3d.811e234c67631574.1fbd8267ad9ddcd2 + 062255e3920e1674 + after + 0000000000000000.0000000000000000.0dff745a63067577.ffed261affffffff + d67e642f822c6a6b.5af6df15fbc2aa1b.0dff745a63067577.ffed261af2add985 + c544bc5a71a932f4.8ec4fd9e3539947c.f5622150fbb74c53.119af1728081b1e6 + 4549278341a8cb58.ee2ee0f95bbeef3d.811e234c67631574.1fbd8267ad9ddcd2 + 062255e3920e1674 +VCMPSS_128_0xF(mem) + before + a394e7d44ddf1af9.b4d9a11490b46f44.54000212875e778c.0d7f76bc43970c87 + d0e1b225fa1da58c.6c40267bfa595b64.9d06e1d6d824e792.f5d1160a2cde6c37 + 6ad334c2b4d3735b.cbcab3231a23ca63.a60cf82f681cfc7d.956000a4bec57231 + 4d37e897980d3f8f.2bc243788d9ff9ee.49dec40b53527179.49772ff593d75a21 + 6d649f694aa05fb2 + after + a394e7d44ddf1af9.b4d9a11490b46f44.54000212875e778c.0d7f76bc43970c87 + d0e1b225fa1da58c.6c40267bfa595b64.9d06e1d6d824e792.f5d1160a2cde6c37 + 0000000000000000.0000000000000000.9d06e1d6d824e792.f5d1160affffffff + 4d37e897980d3f8f.2bc243788d9ff9ee.49dec40b53527179.49772ff593d75a21 + 6d649f694aa05fb2 + +VCMPSS_128_0x1B(reg) + before + 5c714c6c7cacbf91.56d94a90c1d7c656.e976d2e6ee5924b1.6347c054b6d304b2 + 74eb326ac888b469.5f85d7994b3ec4dc.62305cd9d9db8757.d01567f8acaa6f53 + 101e4ecfc7bf7ae7.4506099f534df54d.f03ddebdebb35d8c.6c1237e252e46e88 + 8c569b0818de4fb6.e42a5e8cf51114d4.f0e952fec06de3fe.140bacfec38cbf7f + a2cc40381cae1c61 + after + 0000000000000000.0000000000000000.62305cd9d9db8757.d01567f800000000 + 74eb326ac888b469.5f85d7994b3ec4dc.62305cd9d9db8757.d01567f8acaa6f53 + 101e4ecfc7bf7ae7.4506099f534df54d.f03ddebdebb35d8c.6c1237e252e46e88 + 8c569b0818de4fb6.e42a5e8cf51114d4.f0e952fec06de3fe.140bacfec38cbf7f + a2cc40381cae1c61 +VCMPSS_128_0x1B(mem) + before + f321717c7857425d.43df157f54706d83.18bb514e4c95de9d.be7fb609f3945556 + e3d5bab6f492ed9d.9304b8a2190111fa.bd865fcf74e50fd5.b64d054820b4ee43 + 4eb597d2ab6bd84d.d71280db031d76c6.af5702fd8a0e63a8.359d3c29e459eb6f + 108e85bcb9efc09b.6a566a98ad51d994.cafab8c3a91b9542.95bd5516da108886 + 33f74e7d9f640136 + after + f321717c7857425d.43df157f54706d83.18bb514e4c95de9d.be7fb609f3945556 + e3d5bab6f492ed9d.9304b8a2190111fa.bd865fcf74e50fd5.b64d054820b4ee43 + 0000000000000000.0000000000000000.bd865fcf74e50fd5.b64d054800000000 + 108e85bcb9efc09b.6a566a98ad51d994.cafab8c3a91b9542.95bd5516da108886 + 33f74e7d9f640136 + +VCMPSS_128_0x1B(reg) + before + 6b9822c9cee19128.052afe613b2961b0.aa1a7144b4297610.ea3bfc0dee1862ce + 99ebcd660414750b.085680ab4d2576bb.f1aa914ab32f89e5.ebe54ac774128578 + 193e4cc0dc88e989.f7de86880aefbde6.9d54c71846f14ec0.a9c51fdd5814bc6d + 47db9a43f3c9294e.ad8d8ce38e94f05d.08630d1a0afa004c.00a8f53bb52ac1d9 + cb584acda86151e7 + after + 0000000000000000.0000000000000000.f1aa914ab32f89e5.ebe54ac700000000 + 99ebcd660414750b.085680ab4d2576bb.f1aa914ab32f89e5.ebe54ac774128578 + 193e4cc0dc88e989.f7de86880aefbde6.9d54c71846f14ec0.a9c51fdd5814bc6d + 47db9a43f3c9294e.ad8d8ce38e94f05d.08630d1a0afa004c.00a8f53bb52ac1d9 + cb584acda86151e7 +VCMPSS_128_0x1B(mem) + before + e8a2997f4cc427c4.7f10b35be4647008.06310fa8f620cb4d.902261ba9ad7dc36 + 32515f3ebe5f009c.1c2793754ce4fb60.de9489c25d9d0ce2.8fdebe6593131d29 + 853316f4193f989a.7c6d36fbc6d60505.1083781fe0196d47.62e32087913a00d2 + bc123c8f796fabeb.fa2e995aeec5cca1.7aca57ab9aa0aba9.667d848d2ed9c1dd + f5f8e4e1097b9cf5 + after + e8a2997f4cc427c4.7f10b35be4647008.06310fa8f620cb4d.902261ba9ad7dc36 + 32515f3ebe5f009c.1c2793754ce4fb60.de9489c25d9d0ce2.8fdebe6593131d29 + 0000000000000000.0000000000000000.de9489c25d9d0ce2.8fdebe6500000000 + bc123c8f796fabeb.fa2e995aeec5cca1.7aca57ab9aa0aba9.667d848d2ed9c1dd + f5f8e4e1097b9cf5 + +VCMPSS_128_0x1B(reg) + before + 6ca03ef1bbaccdc7.b5bc4cfafbfbf4ba.f2b5b6ff613d8ae0.f735a350a83d8134 + 28c08d28e3f98fff.4bfbc221bbf03134.c0508b55bbca7c6f.6290d6fb25fcac13 + 83a5cef11aed1f48.599c1af0d4591b84.bf4914c797f9ddfa.99a66e982ee9e873 + da9bfbbafe14b84e.bd6ad153624271d8.4dee4bc39155eb2c.7745e614de11f17f + d737ba59527f8364 + after + 0000000000000000.0000000000000000.c0508b55bbca7c6f.6290d6fb00000000 + 28c08d28e3f98fff.4bfbc221bbf03134.c0508b55bbca7c6f.6290d6fb25fcac13 + 83a5cef11aed1f48.599c1af0d4591b84.bf4914c797f9ddfa.99a66e982ee9e873 + da9bfbbafe14b84e.bd6ad153624271d8.4dee4bc39155eb2c.7745e614de11f17f + d737ba59527f8364 +VCMPSS_128_0x1B(mem) + before + 97496755a53f594d.89ee12ee2bfb98be.5133623682b8ed59.c5892eb4466be0b2 + 914768f3f45e3067.ecea0efa3c2df944.f3c249854fc64c36.8266b80651c6f838 + a3fd381f5ae7c3de.5fdbeb48ce36188c.7de2022ce6794a98.e2d3e5254ff27169 + a73656c5f3e7cfdd.3e0ca6457ca33041.cd600a1862dba2ae.401bb17edb7c85f2 + f789197b92ef717e + after + 97496755a53f594d.89ee12ee2bfb98be.5133623682b8ed59.c5892eb4466be0b2 + 914768f3f45e3067.ecea0efa3c2df944.f3c249854fc64c36.8266b80651c6f838 + 0000000000000000.0000000000000000.f3c249854fc64c36.8266b80600000000 + a73656c5f3e7cfdd.3e0ca6457ca33041.cd600a1862dba2ae.401bb17edb7c85f2 + f789197b92ef717e + +VCMPSS_128_0x1F(reg) + before + 656b178a0fd770ba.7ac03bd1dc681091.e5cb395de2ff7e0f.bd08db33e0fa12a2 + e40ba915efc0c051.f965642f31794226.b062a2fd9dd73ea3.2aa6f36b7be253a1 + d2b6ca8acd379bf0.fef24ecb0d2321c7.fb1edc8f49b6aca9.f106ceaa509e24d6 + 89b7775346c83d43.663374918c7468a0.224be381812803cd.ecf3e6de7a3a3f6e + f83bb8f216c26194 + after + 0000000000000000.0000000000000000.b062a2fd9dd73ea3.2aa6f36bffffffff + e40ba915efc0c051.f965642f31794226.b062a2fd9dd73ea3.2aa6f36b7be253a1 + d2b6ca8acd379bf0.fef24ecb0d2321c7.fb1edc8f49b6aca9.f106ceaa509e24d6 + 89b7775346c83d43.663374918c7468a0.224be381812803cd.ecf3e6de7a3a3f6e + f83bb8f216c26194 +VCMPSS_128_0x1F(mem) + before + f2a8c1d23f434675.665caadef5fde4f5.0ef4526ecb77d4df.8135b43ee1b980ba + b4077c6a11c8aa3d.c6f061967764cab3.d000654ce53920ad.74274a3206f65f1c + 1b2466a6a95e4817.03be97e767892c29.89252719f7c40a39.576fa1c98b6adca0 + 03cbf9722310dd30.7a13493d61f64502.152d16bf1c274cad.8657b56f0da232f2 + 5c2c829027289ebd + after + f2a8c1d23f434675.665caadef5fde4f5.0ef4526ecb77d4df.8135b43ee1b980ba + b4077c6a11c8aa3d.c6f061967764cab3.d000654ce53920ad.74274a3206f65f1c + 0000000000000000.0000000000000000.d000654ce53920ad.74274a32ffffffff + 03cbf9722310dd30.7a13493d61f64502.152d16bf1c274cad.8657b56f0da232f2 + 5c2c829027289ebd + +VCMPSS_128_0x1F(reg) + before + 373a0598768b5bae.48c7b3bb9aea24b3.883b7104023953ea.50e5ad2c716ba236 + 72cd39f39554a771.c6e60f6b2af9dbcd.87820da9e6de908f.1719694b119ecaff + 69301a0e2111bcb1.5af28970f048bcaa.d4341896a86f389a.4495c40819cb7e35 + 77b1a453b54dd71b.deb89db408e38475.cb9c8e38e47a89ba.b4253c4fa4ff7b03 + 43954c0ccf457d96 + after + 0000000000000000.0000000000000000.87820da9e6de908f.1719694bffffffff + 72cd39f39554a771.c6e60f6b2af9dbcd.87820da9e6de908f.1719694b119ecaff + 69301a0e2111bcb1.5af28970f048bcaa.d4341896a86f389a.4495c40819cb7e35 + 77b1a453b54dd71b.deb89db408e38475.cb9c8e38e47a89ba.b4253c4fa4ff7b03 + 43954c0ccf457d96 +VCMPSS_128_0x1F(mem) + before + cdb0702cb5a93f1a.fa9ad430ed95335a.2f04c8258dd6ee5b.c8086bfc378bbd99 + 2e43249972387eba.4c38a41066740e1b.29a284ae9b2eb787.27c2ac4d3c2d11e3 + 421ae54023fdf6a2.cbd7125ebc76a209.a75e4f3b4ff79b26.45174c9690ecc146 + e4012e0ee4046200.d2c319888a282bd1.8703a5b8c43b5664.7c534745ce54086b + 29c299c593f22301 + after + cdb0702cb5a93f1a.fa9ad430ed95335a.2f04c8258dd6ee5b.c8086bfc378bbd99 + 2e43249972387eba.4c38a41066740e1b.29a284ae9b2eb787.27c2ac4d3c2d11e3 + 0000000000000000.0000000000000000.29a284ae9b2eb787.27c2ac4dffffffff + e4012e0ee4046200.d2c319888a282bd1.8703a5b8c43b5664.7c534745ce54086b + 29c299c593f22301 + +VCMPSS_128_0x1F(reg) + before + a8af3f827a514eb2.f2c47beed05a80fe.bc48b6f96c14e71f.a45e00111708a36c + 546833e820fdc42a.472f48cb030a0ac8.e7b1e31dffc9109e.da3cde32636a3f6b + 8b3773642083c317.bf0d12939a20bc8c.ad4c9e61dfd0e3fb.0567ba07c46be68c + a869fa60176e8522.362b5331b0a95473.6b63e22fa7b79be2.01ac107d581954fc + a9d65c7e388044e7 + after + 0000000000000000.0000000000000000.e7b1e31dffc9109e.da3cde32ffffffff + 546833e820fdc42a.472f48cb030a0ac8.e7b1e31dffc9109e.da3cde32636a3f6b + 8b3773642083c317.bf0d12939a20bc8c.ad4c9e61dfd0e3fb.0567ba07c46be68c + a869fa60176e8522.362b5331b0a95473.6b63e22fa7b79be2.01ac107d581954fc + a9d65c7e388044e7 +VCMPSS_128_0x1F(mem) + before + dbb31af882aa7378.074ac549a04b46fa.8756899162b08cac.7e43abf4f30a76fe + 720dc7d552a59ddb.0426ce8c57a54449.90582f9fcc412161.4038f61d6053aefb + 4ab2de03c37d7d3e.fb491393d908b9bb.2cfdc2470869cebe.0e8ebd1489207f87 + 3e6cdb6df13cd0cb.48fe8fccc200e2fd.3613bc76353350f0.4590fe470bfd274c + 3f8cb4218174e0f6 + after + dbb31af882aa7378.074ac549a04b46fa.8756899162b08cac.7e43abf4f30a76fe + 720dc7d552a59ddb.0426ce8c57a54449.90582f9fcc412161.4038f61d6053aefb + 0000000000000000.0000000000000000.90582f9fcc412161.4038f61dffffffff + 3e6cdb6df13cd0cb.48fe8fccc200e2fd.3613bc76353350f0.4590fe470bfd274c + 3f8cb4218174e0f6 + +VCMPSD_128_0x9(reg) + before + 59ccdc0d8813e732.2c083bfff9f052ae.46933ea2ad1afabb.8c659b166cab6323 + ef9d7079bb6678ac.ee5178a5f7a5bf14.53521d8136e13ea0.09beda14ccdec382 + 5d4b6ed0b7f7ce0f.6215104b0666d229.ca8826d5fae2ea59.88ebf55d6ed72c3a + 0022d17e17542608.621f7edd423f4818.0681570a94a83a92.e7b869dc70a25977 + 00f1b07cee4c0764 + after + 0000000000000000.0000000000000000.53521d8136e13ea0.0000000000000000 + ef9d7079bb6678ac.ee5178a5f7a5bf14.53521d8136e13ea0.09beda14ccdec382 + 5d4b6ed0b7f7ce0f.6215104b0666d229.ca8826d5fae2ea59.88ebf55d6ed72c3a + 0022d17e17542608.621f7edd423f4818.0681570a94a83a92.e7b869dc70a25977 + 00f1b07cee4c0764 +VCMPSD_128_0x9(mem) + before + b162482b03e0f12d.326e95f07709bc42.cc3a3f47c83cdd0e.6589ab8ca1bf69f6 + d4d7acd4cb6bd400.507ab79074a1cb6a.7a33cd76b36a4c37.41eb1fc7bcb4b532 + 461b596363f86c06.b69431cbaaa8902c.4ad6a65420d452be.f8f5ad27821257f1 + e4fbc9c4e793756e.c006010eb4aa4733.16ef45cf2a87abcf.e4f153198e658ee0 + 632c0c077d3994aa + after + b162482b03e0f12d.326e95f07709bc42.cc3a3f47c83cdd0e.6589ab8ca1bf69f6 + d4d7acd4cb6bd400.507ab79074a1cb6a.7a33cd76b36a4c37.41eb1fc7bcb4b532 + 0000000000000000.0000000000000000.7a33cd76b36a4c37.ffffffffffffffff + e4fbc9c4e793756e.c006010eb4aa4733.16ef45cf2a87abcf.e4f153198e658ee0 + 632c0c077d3994aa + +VCMPSD_128_0x9(reg) + before + cff2d45fea1ba6fc.88437ae47248ab62.ca1d22c32e342c2c.bb4a26d1ee8d1398 + 868fa78c72970082.0fbfe7ad2024c90f.30259158b5d17ac2.16b2c54887f54542 + e24e82fab037dde7.563b8c0c0e328ca0.4d694838e40e6fa2.01f59f1f11c8fefc + 417d601441897bd8.3783e6ee577faf42.7f3745cf58754478.59dd2f42aa14faf0 + fa37f19d6be4f44b + after + 0000000000000000.0000000000000000.30259158b5d17ac2.0000000000000000 + 868fa78c72970082.0fbfe7ad2024c90f.30259158b5d17ac2.16b2c54887f54542 + e24e82fab037dde7.563b8c0c0e328ca0.4d694838e40e6fa2.01f59f1f11c8fefc + 417d601441897bd8.3783e6ee577faf42.7f3745cf58754478.59dd2f42aa14faf0 + fa37f19d6be4f44b +VCMPSD_128_0x9(mem) + before + c1cf611c7245a938.fd663d48c0191301.8f626f3d1816f020.21d98389ad9438ef + 8871fbabdb42d5e4.73561501c971e40d.3aa6a5e76c030967.8f9dfed27df785b3 + 2ce83c37c1e7347a.ff99e5acf91f28a8.151903d77052b643.25cdb21667296872 + 89029faa40408127.fe7ba8b3ecaf1c80.fa8805f93f10b5df.3fb69cc104b61dd6 + 38a3b73ff22bdf8b + after + c1cf611c7245a938.fd663d48c0191301.8f626f3d1816f020.21d98389ad9438ef + 8871fbabdb42d5e4.73561501c971e40d.3aa6a5e76c030967.8f9dfed27df785b3 + 0000000000000000.0000000000000000.3aa6a5e76c030967.ffffffffffffffff + 89029faa40408127.fe7ba8b3ecaf1c80.fa8805f93f10b5df.3fb69cc104b61dd6 + 38a3b73ff22bdf8b + +VCMPSD_128_0x9(reg) + before + 6ee2fffdcd12eb3e.7b89a0f2755a7917.ca4859833cabfc3e.c6bf2839f648c068 + 3cbe706530fa7d9b.de4abbf97b40d875.c04cf78988a10491.558ae783b0079409 + fd8207e5b86cd14d.8e116dad6fff5a6e.3cd27b2f6a1d6f23.83b4bec38a58edef + 0f7bbee700f62201.67aa31f96da2ba2d.9a27e3e37ea97aa0.2c0b29e59f478646 + 2c59a4d60ce11c39 + after + 0000000000000000.0000000000000000.c04cf78988a10491.0000000000000000 + 3cbe706530fa7d9b.de4abbf97b40d875.c04cf78988a10491.558ae783b0079409 + fd8207e5b86cd14d.8e116dad6fff5a6e.3cd27b2f6a1d6f23.83b4bec38a58edef + 0f7bbee700f62201.67aa31f96da2ba2d.9a27e3e37ea97aa0.2c0b29e59f478646 + 2c59a4d60ce11c39 +VCMPSD_128_0x9(mem) + before + 5f6bac80ec316bf5.ccf593d9a423ad63.45e183c98f35b5df.3697291061d460b6 + a10dbcd15b432ea5.923c81264180ae1e.0481df09f4c506b0.6c6e4b22ae275f0e + cd0b50b376242376.bb9c853a739860df.8057c1a5b55d6bcb.98f845850230b157 + c130e41458df0494.a5609981d5f70051.9530a689f1099e5c.168111a5f87a933b + 4254adee2d914066 + after + 5f6bac80ec316bf5.ccf593d9a423ad63.45e183c98f35b5df.3697291061d460b6 + a10dbcd15b432ea5.923c81264180ae1e.0481df09f4c506b0.6c6e4b22ae275f0e + 0000000000000000.0000000000000000.0481df09f4c506b0.0000000000000000 + c130e41458df0494.a5609981d5f70051.9530a689f1099e5c.168111a5f87a933b + 4254adee2d914066 + +VCMPSD_128_0xB(reg) + before + 78be14cc3c02f586.584af4df1e808d2a.aad6bb67032aca21.1ed609a1c1d65c91 + 140b42abc158ee44.6e23fd00e4147c64.2848e6599abcfafa.f91666da43cf6094 + 728733f85a20674f.df887a63c4a68b70.790316c13539cb89.01bb391e93006791 + ee7ee41da0e59b51.8645e7f4dd427778.fa53480c712e7a7a.1293ff5bcc762db5 + 0768337b0b3c6e2c + after + 0000000000000000.0000000000000000.2848e6599abcfafa.0000000000000000 + 140b42abc158ee44.6e23fd00e4147c64.2848e6599abcfafa.f91666da43cf6094 + 728733f85a20674f.df887a63c4a68b70.790316c13539cb89.01bb391e93006791 + ee7ee41da0e59b51.8645e7f4dd427778.fa53480c712e7a7a.1293ff5bcc762db5 + 0768337b0b3c6e2c +VCMPSD_128_0xB(mem) + before + be08516c6b5ee521.e43c50883133c7f6.4126c19f49f5fba8.088477a7ea264378 + 123dd51908e950c1.af0d73a3a99627eb.ebf7825024cad42d.fde19efd3aad6130 + ded43b6effe86838.ad3c49dca39bf7dc.5f83a8f48bcdbe33.36b8bc79ff50114d + 009800576b68ecb1.3916ce9ebbcd7274.7b98ae75990b75e5.0f53ca89d59a8f7c + e5ffc59857171769 + after + be08516c6b5ee521.e43c50883133c7f6.4126c19f49f5fba8.088477a7ea264378 + 123dd51908e950c1.af0d73a3a99627eb.ebf7825024cad42d.fde19efd3aad6130 + 0000000000000000.0000000000000000.ebf7825024cad42d.0000000000000000 + 009800576b68ecb1.3916ce9ebbcd7274.7b98ae75990b75e5.0f53ca89d59a8f7c + e5ffc59857171769 + +VCMPSD_128_0xB(reg) + before + 1208aa122254e4bf.52579fc069739659.aee7ff558eb9d560.190010c16a8fb570 + f3ba7463d1dc332b.b2dc94951517235b.6afbd76db7ea5c4c.17884bc21b663900 + e4601ff7013b4059.faf25bc289604fe4.c89e5252d3ec42e3.4ffcd966c89abec0 + 4148a83b4dfe47f4.08667034e459d51f.231b6c707d4bc4d2.9f2838988c39ffdd + e1d7e344844fb982 + after + 0000000000000000.0000000000000000.6afbd76db7ea5c4c.0000000000000000 + f3ba7463d1dc332b.b2dc94951517235b.6afbd76db7ea5c4c.17884bc21b663900 + e4601ff7013b4059.faf25bc289604fe4.c89e5252d3ec42e3.4ffcd966c89abec0 + 4148a83b4dfe47f4.08667034e459d51f.231b6c707d4bc4d2.9f2838988c39ffdd + e1d7e344844fb982 +VCMPSD_128_0xB(mem) + before + f3d75756cbe7a8dc.66bc099951b083a8.b60450d53f0e7339.d9c0223452941ec4 + aff20eba7d0d8816.af0a407faade3122.e2987693b98be25e.44d76e08ed538c66 + f2f5865cb7cd155d.787c4857f4128c0e.66ee5e596bdde1b9.c2ad4e5aeb124963 + 99ac3a2894340add.1d5e1e8fc9dad217.1fd18512740f2a77.ad8ebe94e75f9268 + 63c6b8247ec6a321 + after + f3d75756cbe7a8dc.66bc099951b083a8.b60450d53f0e7339.d9c0223452941ec4 + aff20eba7d0d8816.af0a407faade3122.e2987693b98be25e.44d76e08ed538c66 + 0000000000000000.0000000000000000.e2987693b98be25e.0000000000000000 + 99ac3a2894340add.1d5e1e8fc9dad217.1fd18512740f2a77.ad8ebe94e75f9268 + 63c6b8247ec6a321 + +VCMPSD_128_0xB(reg) + before + 3ea13a754bd1b739.7ee3a60b314d24c1.fafebc92c8c23dea.ea0f65aced2e7ac4 + 9b6a3ff3ea0e0b5d.7e6547efaa251e36.6ba720cb8b550a33.a1727c12f4458dcb + d76ec30af908db39.750097c219c7b667.cca445a8ae1f749d.21c74530a5601fb8 + 4cfac226114c6378.3f7e146f9d3fa681.78422794ceacb8d5.46da3cf21b8bebb9 + ec77de4572d3aef7 + after + 0000000000000000.0000000000000000.6ba720cb8b550a33.0000000000000000 + 9b6a3ff3ea0e0b5d.7e6547efaa251e36.6ba720cb8b550a33.a1727c12f4458dcb + d76ec30af908db39.750097c219c7b667.cca445a8ae1f749d.21c74530a5601fb8 + 4cfac226114c6378.3f7e146f9d3fa681.78422794ceacb8d5.46da3cf21b8bebb9 + ec77de4572d3aef7 +VCMPSD_128_0xB(mem) + before + ef69a513c74323a1.575838b3d065dec6.b9ac39e14f99aab0.cdcec2fc86891286 + 2c7e0f4936e808e1.54d5221dd1e089d0.bd5682064ee2801f.2691134a7341be5d + 7d8097d4dacd17e3.a0bc7bd1b147a042.28486cc9b326e2fb.dfda15eb3061f706 + bf3cba9ecffe0dd5.955b3f390c285ec8.d64e72169c6f8d6f.53f4c44c5a74fa2c + e02a1cd78c06037c + after + ef69a513c74323a1.575838b3d065dec6.b9ac39e14f99aab0.cdcec2fc86891286 + 2c7e0f4936e808e1.54d5221dd1e089d0.bd5682064ee2801f.2691134a7341be5d + 0000000000000000.0000000000000000.bd5682064ee2801f.0000000000000000 + bf3cba9ecffe0dd5.955b3f390c285ec8.d64e72169c6f8d6f.53f4c44c5a74fa2c + e02a1cd78c06037c + +VCMPSD_128_0xF(reg) + before + e0ca1afa62a44ea1.ce7ef2953288a5e0.90fc6bc37d0f010d.a33410da25cb3da8 + b11eb81f79d81648.8612bda41e769c33.edecf9d9a086c3bd.6bc5c2ff6945add2 + ae73f4b46d31981c.c3c496b7b0d4aef8.0878e7e9121be086.0ace047285ea9a18 + 3215ca24d93810ca.615ff9ba03af975b.3de9305e6e5a9611.5c1b532094c5c0a7 + 3d782af3b2e2daaa + after + 0000000000000000.0000000000000000.edecf9d9a086c3bd.ffffffffffffffff + b11eb81f79d81648.8612bda41e769c33.edecf9d9a086c3bd.6bc5c2ff6945add2 + ae73f4b46d31981c.c3c496b7b0d4aef8.0878e7e9121be086.0ace047285ea9a18 + 3215ca24d93810ca.615ff9ba03af975b.3de9305e6e5a9611.5c1b532094c5c0a7 + 3d782af3b2e2daaa +VCMPSD_128_0xF(mem) + before + 88b105d9fc4ea64e.9b4f34db597bb9fe.3bb1639934121289.e88ed0a451ce1f0d + 1b9260bc8e14debf.436f2f458a86d063.2f844e405e09dcae.65b2c4275603b724 + d1e6b78a82403e28.88bfb8ce08e391a6.18a5389b9ea1b1f6.10a006531a859c02 + 867b872ef7df84b6.c48dcae26e203873.d2e09c970fe54d8b.45a6949438e10854 + 600e6a574ca238c6 + after + 88b105d9fc4ea64e.9b4f34db597bb9fe.3bb1639934121289.e88ed0a451ce1f0d + 1b9260bc8e14debf.436f2f458a86d063.2f844e405e09dcae.65b2c4275603b724 + 0000000000000000.0000000000000000.2f844e405e09dcae.ffffffffffffffff + 867b872ef7df84b6.c48dcae26e203873.d2e09c970fe54d8b.45a6949438e10854 + 600e6a574ca238c6 + +VCMPSD_128_0xF(reg) + before + bd258206f3556804.161b4b9407fc6a94.542362ee58c80075.3900f71ecee16b9c + b837d90ec984d3b9.5c937fa8cea3adef.95ce7a5c63682658.28d3c31ef6a2c853 + ac8f6cdc69beb691.36af9f5669e108f2.e1d9109a2a8be6ca.7d237e81a33320dd + f77b36db708c4d39.7f3a288bf3c138cb.95921f124abd7b74.13bea335f2a02e65 + c56eae25fff6af18 + after + 0000000000000000.0000000000000000.95ce7a5c63682658.ffffffffffffffff + b837d90ec984d3b9.5c937fa8cea3adef.95ce7a5c63682658.28d3c31ef6a2c853 + ac8f6cdc69beb691.36af9f5669e108f2.e1d9109a2a8be6ca.7d237e81a33320dd + f77b36db708c4d39.7f3a288bf3c138cb.95921f124abd7b74.13bea335f2a02e65 + c56eae25fff6af18 +VCMPSD_128_0xF(mem) + before + 71001c3de5405f22.f4453376787cd45d.12029531894ff9a3.0d43a3325e8b2305 + f1406769c08afaae.ff3a601b201986a8.cdd16236469807a9.a63a986503801727 + 23f90d95ade13be8.73a6b83502f0a0c7.8a740b8447a71e06.bac1fb17d4299687 + e1f989adc750dffe.aed53630ba8c5d66.27b70c09a789f9e9.a625c6b46d10dad0 + c6b2f7a86bc320af + after + 71001c3de5405f22.f4453376787cd45d.12029531894ff9a3.0d43a3325e8b2305 + f1406769c08afaae.ff3a601b201986a8.cdd16236469807a9.a63a986503801727 + 0000000000000000.0000000000000000.cdd16236469807a9.ffffffffffffffff + e1f989adc750dffe.aed53630ba8c5d66.27b70c09a789f9e9.a625c6b46d10dad0 + c6b2f7a86bc320af + +VCMPSD_128_0xF(reg) + before + 76b38a5f6acea4cf.090a579d2be3a21a.0a13d978e579fb30.7e66e2b08248557c + 1276794605bba2dd.75f9f452f4a73f68.e5ac9a7a1e43b4d2.6d4d0864f5f3edec + f645c2c7d9195585.0392dbb63fa77315.9aeb76a00277c5f7.ce38fa131c937e64 + 7e6d5f4f8171fa72.8da187b727f0fa4d.841d6a582ca1694c.7ff234a81236c411 + 5a483310f3e77b1e + after + 0000000000000000.0000000000000000.e5ac9a7a1e43b4d2.ffffffffffffffff + 1276794605bba2dd.75f9f452f4a73f68.e5ac9a7a1e43b4d2.6d4d0864f5f3edec + f645c2c7d9195585.0392dbb63fa77315.9aeb76a00277c5f7.ce38fa131c937e64 + 7e6d5f4f8171fa72.8da187b727f0fa4d.841d6a582ca1694c.7ff234a81236c411 + 5a483310f3e77b1e +VCMPSD_128_0xF(mem) + before + 3c077235dcb25fb8.063a4f4b9951cd51.f1f27740c98d903b.018e710c394bde7c + 02f86d04e9a42b0b.eaf88b26be4409cd.0950243c408af00c.6b8a872ac4035e34 + 86eaa06934c89c42.86f3104b8bd6eb93.b2890c99a9f3d7eb.1f5da91c6a542520 + a5a88751dc2b6d8a.3677db289d94af4e.c867a9421fd50105.7a53d150c6cb71eb + d6b7fd3174f37c42 + after + 3c077235dcb25fb8.063a4f4b9951cd51.f1f27740c98d903b.018e710c394bde7c + 02f86d04e9a42b0b.eaf88b26be4409cd.0950243c408af00c.6b8a872ac4035e34 + 0000000000000000.0000000000000000.0950243c408af00c.ffffffffffffffff + a5a88751dc2b6d8a.3677db289d94af4e.c867a9421fd50105.7a53d150c6cb71eb + d6b7fd3174f37c42 + +VCMPSD_128_0x1B(reg) + before + 90d7282b115883d1.3bfd9fa7fbd85c0f.56cfe7288f0990ac.28b77923be3b2986 + 05fd4faa3987c243.24b76356addb23fc.424830b7fec2cc56.ac45f828a4320c99 + 8f766c1a870b7444.3da04f4c0f417e7d.552eb341854a9dfb.31dda03eeac5666b + 8b8e7de89770d681.6085df743c152bbf.edcd6a33c12d3f45.934aef4fae00f327 + ae5a60480bf06efa + after + 0000000000000000.0000000000000000.424830b7fec2cc56.0000000000000000 + 05fd4faa3987c243.24b76356addb23fc.424830b7fec2cc56.ac45f828a4320c99 + 8f766c1a870b7444.3da04f4c0f417e7d.552eb341854a9dfb.31dda03eeac5666b + 8b8e7de89770d681.6085df743c152bbf.edcd6a33c12d3f45.934aef4fae00f327 + ae5a60480bf06efa +VCMPSD_128_0x1B(mem) + before + 5ed76f161ea09410.55907d7e064324a6.6a3290ba5063e4ee.657153f74df7f0e0 + 7f8e98a4031c2194.4aca6849700f995f.3773dc0a69376636.196669fac635ea79 + ed4b58ddd570d1b3.c4863ab670617257.a3134150a09e6dc2.64f7a8a9c7726abc + 84da2aafb0a95f98.2012f030a2c3eb3a.8ae03b7813a4b4be.a4710d6eed3bab54 + 332193b7d31beaee + after + 5ed76f161ea09410.55907d7e064324a6.6a3290ba5063e4ee.657153f74df7f0e0 + 7f8e98a4031c2194.4aca6849700f995f.3773dc0a69376636.196669fac635ea79 + 0000000000000000.0000000000000000.3773dc0a69376636.0000000000000000 + 84da2aafb0a95f98.2012f030a2c3eb3a.8ae03b7813a4b4be.a4710d6eed3bab54 + 332193b7d31beaee + +VCMPSD_128_0x1B(reg) + before + 6f5135ef159e6336.20078905b1d38870.bab88522a3c340b6.c8a4446fde53f857 + b24df282505152d7.9d9df4cbf3f80767.eec5f5fa0eedac74.392cda1f1cb9f5b9 + 5a63c3dc20bff37d.d76ae4ed93269aa8.18843c2380cc6c23.b9447776e9e1660f + c1dea669207481d6.aa38d757ac69fb60.9443560994ecbc6d.23b8995e62d80986 + 5553bcc5a3a9984a + after + 0000000000000000.0000000000000000.eec5f5fa0eedac74.0000000000000000 + b24df282505152d7.9d9df4cbf3f80767.eec5f5fa0eedac74.392cda1f1cb9f5b9 + 5a63c3dc20bff37d.d76ae4ed93269aa8.18843c2380cc6c23.b9447776e9e1660f + c1dea669207481d6.aa38d757ac69fb60.9443560994ecbc6d.23b8995e62d80986 + 5553bcc5a3a9984a +VCMPSD_128_0x1B(mem) + before + 2ae35a96c760cf86.45099595ecfd398c.f2d448f55bcbe7ba.be4d4018e7d9d8fe + 7e32f1bdea0a6c67.40318ecc21e5564b.8a0ab3b4bb5a19e3.f2edf5bd1420fb83 + 2d0dfc2629b22918.10a28d7b5ab815c0.50a5947ee8224e07.8c707162b74c62a8 + 1240f7bd9f64c3c6.0fa88c0c3402b297.1f736841ff2d4251.e822b0746de94819 + 614faf60d284eb81 + after + 2ae35a96c760cf86.45099595ecfd398c.f2d448f55bcbe7ba.be4d4018e7d9d8fe + 7e32f1bdea0a6c67.40318ecc21e5564b.8a0ab3b4bb5a19e3.f2edf5bd1420fb83 + 0000000000000000.0000000000000000.8a0ab3b4bb5a19e3.0000000000000000 + 1240f7bd9f64c3c6.0fa88c0c3402b297.1f736841ff2d4251.e822b0746de94819 + 614faf60d284eb81 + +VCMPSD_128_0x1B(reg) + before + 5543699081a8858c.0b975e6e692df59d.9a8f89ed4a50697b.d33ea9e71c89b1ee + 1f49da7216e253e7.f3deae25a2187cc8.0ea37f88392e7619.47d4d55e5a425609 + 1baefe712ebd903e.a5e062cf67321473.c52f6a4b9c27141c.59ff6791d562efcf + a4bfd1f965c57a3c.ff6bf656d38579cc.1c8046a110c78031.e38cdc6caaf7356b + c347afdbf50de70a + after + 0000000000000000.0000000000000000.0ea37f88392e7619.0000000000000000 + 1f49da7216e253e7.f3deae25a2187cc8.0ea37f88392e7619.47d4d55e5a425609 + 1baefe712ebd903e.a5e062cf67321473.c52f6a4b9c27141c.59ff6791d562efcf + a4bfd1f965c57a3c.ff6bf656d38579cc.1c8046a110c78031.e38cdc6caaf7356b + c347afdbf50de70a +VCMPSD_128_0x1B(mem) + before + d4fb5bcad1afbfd8.18c6507656874b8e.db49e6a8031f67fd.6fe310f6309af504 + f1765e255ae97a00.d21076549d8d3fe0.1747aeaf120c9932.1aa2c2b6992db140 + f78234d9adc7d4af.2de83fffd76694dd.8d31cb591c57cc98.79095a4de60bee92 + c3ec57d0e5568811.879ca7e39f9b8431.1bd3b8913e0cbb5b.e966d427b3c0e9a5 + c4042ab09dd9dd26 + after + d4fb5bcad1afbfd8.18c6507656874b8e.db49e6a8031f67fd.6fe310f6309af504 + f1765e255ae97a00.d21076549d8d3fe0.1747aeaf120c9932.1aa2c... [truncated message content] |
|
From: Julian S. <se...@so...> - 2019-03-13 13:29:10
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=ecc4e970936b8ab2057f0a899d220ac611e83c3e commit ecc4e970936b8ab2057f0a899d220ac611e83c3e Author: Julian Seward <js...@ac...> Date: Wed Mar 13 14:22:52 2019 +0100 Bug 399287 - amd64 front end: Illegal Instruction vcmptrueps. Fix, but no test cases. Diff: --- VEX/priv/guest_amd64_toIR.c | 185 ++++++++++++++++++++++++++++++-------------- VEX/priv/ir_opt.c | 16 ++++ 2 files changed, 143 insertions(+), 58 deletions(-) diff --git a/VEX/priv/guest_amd64_toIR.c b/VEX/priv/guest_amd64_toIR.c index 86bf970..664cad6 100644 --- a/VEX/priv/guest_amd64_toIR.c +++ b/VEX/priv/guest_amd64_toIR.c @@ -9207,21 +9207,46 @@ static ULong dis_SSEint_E_to_G( /* Helper for doing SSE FP comparisons. False return ==> unhandled. This is all a bit of a kludge in that it ignores the subtleties of ordered-vs-unordered and signalling-vs-nonsignalling in the Intel - spec. */ -static Bool findSSECmpOp ( /*OUT*/Bool* preSwapP, + spec. The meaning of the outputs is as follows: + + preZeroP: the active lanes of both incoming arguments should be set to zero + before performing the operation. IOW the actual args are to be ignored + and instead zero bits are to be used. This is a bit strange but is needed + to make the constant-false/true variants (FALSE_OQ, TRUE_UQ, FALSE_OS, + TRUE_US) work. + + preSwapP: the args should be swapped before performing the operation. Note + that zeroing arg input sections (per preZeroP) and swapping them (per + preSwapP) are allowed to happen in either order; the result is the same. + + opP: this returns the actual comparison op to perform. + + postNotP: if true, the result(ing vector) of the comparison operation should + be bitwise-not-ed. Note that only the lanes of the output actually + computed by opP should be not-ed. +*/ +static Bool findSSECmpOp ( /*OUT*/Bool* preZeroP, + /*OUT*/Bool* preSwapP, /*OUT*/IROp* opP, /*OUT*/Bool* postNotP, UInt imm8, Bool all_lanes, Int sz ) { + vassert(*preZeroP == False); + vassert(*preSwapP == False); + vassert(*opP == Iop_INVALID); + vassert(*postNotP == False); + if (imm8 >= 32) return False; - /* First, compute a (preSwap, op, postNot) triple from + /* First, compute a (preZero, preSwap, op, postNot) quad from the supplied imm8. */ - Bool pre = False; - IROp op = Iop_INVALID; - Bool not = False; + Bool preZero = False; + Bool preSwap = False; + IROp op = Iop_INVALID; + Bool postNot = False; -# define XXX(_pre, _op, _not) { pre = _pre; op = _op; not = _not; } +# define XXX(_preZero, _preSwap, _op, _postNot) \ + { preZero = _preZero; preSwap = _preSwap; op = _op; postNot = _postNot; } // If you add a case here, add a corresponding test for both VCMPSD_128 // and VCMPSS_128 in avx-1.c. // Cases 0xA and above are @@ -9230,57 +9255,59 @@ static Bool findSSECmpOp ( /*OUT*/Bool* preSwapP, // "O" = ordered, "U" = unordered // "Q" = non-signalling (quiet), "S" = signalling // - // swap operands? + // replace active arg lanes in operands with zero // | - // | cmp op invert after? - // | | | - // v v v - case 0x0: XXX(False, Iop_CmpEQ32Fx4, False); break; // EQ_OQ - case 0x8: XXX(False, Iop_CmpEQ32Fx4, False); break; // EQ_UQ - case 0x10: XXX(False, Iop_CmpEQ32Fx4, False); break; // EQ_OS - case 0x18: XXX(False, Iop_CmpEQ32Fx4, False); break; // EQ_US + // | swap operands before applying the cmp op? + // | | + // | | cmp op invert active lanes after? + // | | | | + // v v v v + case 0x0: XXX(False, False, Iop_CmpEQ32Fx4, False); break; // EQ_OQ + case 0x8: XXX(False, False, Iop_CmpEQ32Fx4, False); break; // EQ_UQ + case 0x10: XXX(False, False, Iop_CmpEQ32Fx4, False); break; // EQ_OS + case 0x18: XXX(False, False, Iop_CmpEQ32Fx4, False); break; // EQ_US // - case 0x1: XXX(False, Iop_CmpLT32Fx4, False); break; // LT_OS - case 0x11: XXX(False, Iop_CmpLT32Fx4, False); break; // LT_OQ + case 0x1: XXX(False, False, Iop_CmpLT32Fx4, False); break; // LT_OS + case 0x11: XXX(False, False, Iop_CmpLT32Fx4, False); break; // LT_OQ // - case 0x2: XXX(False, Iop_CmpLE32Fx4, False); break; // LE_OS - case 0x12: XXX(False, Iop_CmpLE32Fx4, False); break; // LE_OQ + case 0x2: XXX(False, False, Iop_CmpLE32Fx4, False); break; // LE_OS + case 0x12: XXX(False, False, Iop_CmpLE32Fx4, False); break; // LE_OQ // - case 0x3: XXX(False, Iop_CmpUN32Fx4, False); break; // UNORD_Q - case 0x13: XXX(False, Iop_CmpUN32Fx4, False); break; // UNORD_S + case 0x3: XXX(False, False, Iop_CmpUN32Fx4, False); break; // UNORD_Q + case 0x13: XXX(False, False, Iop_CmpUN32Fx4, False); break; // UNORD_S // // 0xC: this isn't really right because it returns all-1s when // either operand is a NaN, and it should return all-0s. - case 0x4: XXX(False, Iop_CmpEQ32Fx4, True); break; // NEQ_UQ - case 0xC: XXX(False, Iop_CmpEQ32Fx4, True); break; // NEQ_OQ - case 0x14: XXX(False, Iop_CmpEQ32Fx4, True); break; // NEQ_US - case 0x1C: XXX(False, Iop_CmpEQ32Fx4, True); break; // NEQ_OS + case 0x4: XXX(False, False, Iop_CmpEQ32Fx4, True); break; // NEQ_UQ + case 0xC: XXX(False, False, Iop_CmpEQ32Fx4, True); break; // NEQ_OQ + case 0x14: XXX(False, False, Iop_CmpEQ32Fx4, True); break; // NEQ_US + case 0x1C: XXX(False, False, Iop_CmpEQ32Fx4, True); break; // NEQ_OS // - case 0x5: XXX(False, Iop_CmpLT32Fx4, True); break; // NLT_US - case 0x15: XXX(False, Iop_CmpLT32Fx4, True); break; // NLT_UQ + case 0x5: XXX(False, False, Iop_CmpLT32Fx4, True); break; // NLT_US + case 0x15: XXX(False, False, Iop_CmpLT32Fx4, True); break; // NLT_UQ // - case 0x6: XXX(False, Iop_CmpLE32Fx4, True); break; // NLE_US - case 0x16: XXX(False, Iop_CmpLE32Fx4, True); break; // NLE_UQ + case 0x6: XXX(False, False, Iop_CmpLE32Fx4, True); break; // NLE_US + case 0x16: XXX(False, False, Iop_CmpLE32Fx4, True); break; // NLE_UQ // - case 0x7: XXX(False, Iop_CmpUN32Fx4, True); break; // ORD_Q - case 0x17: XXX(False, Iop_CmpUN32Fx4, True); break; // ORD_S + case 0x7: XXX(False, False, Iop_CmpUN32Fx4, True); break; // ORD_Q + case 0x17: XXX(False, False, Iop_CmpUN32Fx4, True); break; // ORD_S // - case 0x9: XXX(True, Iop_CmpLE32Fx4, True); break; // NGE_US - case 0x19: XXX(True, Iop_CmpLE32Fx4, True); break; // NGE_UQ + case 0x9: XXX(False, True, Iop_CmpLE32Fx4, True); break; // NGE_US + case 0x19: XXX(False, True, Iop_CmpLE32Fx4, True); break; // NGE_UQ // - case 0xA: XXX(True, Iop_CmpLT32Fx4, True); break; // NGT_US - case 0x1A: XXX(True, Iop_CmpLT32Fx4, True); break; // NGT_UQ + case 0xA: XXX(False, True, Iop_CmpLT32Fx4, True); break; // NGT_US + case 0x1A: XXX(False, True, Iop_CmpLT32Fx4, True); break; // NGT_UQ // - case 0xD: XXX(True, Iop_CmpLE32Fx4, False); break; // GE_OS - case 0x1D: XXX(True, Iop_CmpLE32Fx4, False); break; // GE_OQ + case 0xD: XXX(False, True, Iop_CmpLE32Fx4, False); break; // GE_OS + case 0x1D: XXX(False, True, Iop_CmpLE32Fx4, False); break; // GE_OQ // - case 0xE: XXX(True, Iop_CmpLT32Fx4, False); break; // GT_OS - case 0x1E: XXX(True, Iop_CmpLT32Fx4, False); break; // GT_OQ - // Unhandled: - // 0xB FALSE_OQ - // 0xF TRUE_UQ - // 0x1B FALSE_OS - // 0x1F TRUE_US + case 0xE: XXX(False, True, Iop_CmpLT32Fx4, False); break; // GT_OS + case 0x1E: XXX(False, True, Iop_CmpLT32Fx4, False); break; // GT_OQ + // Constant-value-result ops + case 0xB: XXX(True, False, Iop_CmpEQ32Fx4, True); break; // FALSE_OQ + case 0xF: XXX(True, False, Iop_CmpEQ32Fx4, False); break; // TRUE_UQ + case 0x1B: XXX(True, False, Iop_CmpEQ32Fx4, True); break; // FALSE_OS + case 0x1F: XXX(True, False, Iop_CmpEQ32Fx4, False); break; // TRUE_US /* Don't forget to add test cases to VCMPSS_128_<imm8> in avx-1.c if new cases turn up. */ default: break; @@ -9331,7 +9358,11 @@ static Bool findSSECmpOp ( /*OUT*/Bool* preSwapP, vpanic("findSSECmpOp(amd64,guest)"); } - *preSwapP = pre; *opP = op; *postNotP = not; + if (preZero) { + // In this case, preSwap is irrelevant, but assert anyway. + vassert(preSwap == False); + } + *preZeroP = preZero; *preSwapP = preSwap; *opP = op; *postNotP = postNot; return True; } @@ -9348,6 +9379,7 @@ static Long dis_SSE_cmp_E_to_G ( const VexAbiInfo* vbi, Int alen; UInt imm8; IRTemp addr; + Bool preZero = False; Bool preSwap = False; IROp op = Iop_INVALID; Bool postNot = False; @@ -9358,8 +9390,10 @@ static Long dis_SSE_cmp_E_to_G ( const VexAbiInfo* vbi, if (epartIsReg(rm)) { imm8 = getUChar(delta+1); if (imm8 >= 8) return delta0; /* FAIL */ - Bool ok = findSSECmpOp(&preSwap, &op, &postNot, imm8, all_lanes, sz); + Bool ok = findSSECmpOp(&preZero, &preSwap, &op, &postNot, + imm8, all_lanes, sz); if (!ok) return delta0; /* FAIL */ + vassert(!preZero); /* never needed for imm8 < 8 */ vassert(!preSwap); /* never needed for imm8 < 8 */ assign( plain, binop(op, getXMMReg(gregOfRexRM(pfx,rm)), getXMMReg(eregOfRexRM(pfx,rm))) ); @@ -9372,8 +9406,10 @@ static Long dis_SSE_cmp_E_to_G ( const VexAbiInfo* vbi, addr = disAMode ( &alen, vbi, pfx, delta, dis_buf, 1 ); imm8 = getUChar(delta+alen); if (imm8 >= 8) return delta0; /* FAIL */ - Bool ok = findSSECmpOp(&preSwap, &op, &postNot, imm8, all_lanes, sz); + Bool ok = findSSECmpOp(&preZero, &preSwap, &op, &postNot, + imm8, all_lanes, sz); if (!ok) return delta0; /* FAIL */ + vassert(!preZero); /* never needed for imm8 < 8 */ vassert(!preSwap); /* never needed for imm8 < 8 */ assign( plain, binop( @@ -23304,6 +23340,7 @@ Long dis_AVX128_cmp_V_E_to_G ( /*OUT*/Bool* uses_vvvv, Int alen; UInt imm8; IRTemp addr; + Bool preZero = False; Bool preSwap = False; IROp op = Iop_INVALID; Bool postNot = False; @@ -23311,13 +23348,14 @@ Long dis_AVX128_cmp_V_E_to_G ( /*OUT*/Bool* uses_vvvv, UChar rm = getUChar(delta); UInt rG = gregOfRexRM(pfx, rm); UInt rV = getVexNvvvv(pfx); - IRTemp argL = newTemp(Ity_V128); - IRTemp argR = newTemp(Ity_V128); + IRTemp argL = newTemp(Ity_V128); + IRTemp argR = newTemp(Ity_V128); assign(argL, getXMMReg(rV)); if (epartIsReg(rm)) { imm8 = getUChar(delta+1); - Bool ok = findSSECmpOp(&preSwap, &op, &postNot, imm8, all_lanes, sz); + Bool ok = findSSECmpOp(&preZero, &preSwap, &op, &postNot, + imm8, all_lanes, sz); if (!ok) return deltaIN; /* FAIL */ UInt rE = eregOfRexRM(pfx,rm); assign(argR, getXMMReg(rE)); @@ -23328,7 +23366,8 @@ Long dis_AVX128_cmp_V_E_to_G ( /*OUT*/Bool* uses_vvvv, } else { addr = disAMode ( &alen, vbi, pfx, delta, dis_buf, 1 ); imm8 = getUChar(delta+alen); - Bool ok = findSSECmpOp(&preSwap, &op, &postNot, imm8, all_lanes, sz); + Bool ok = findSSECmpOp(&preZero, &preSwap, &op, &postNot, + imm8, all_lanes, sz); if (!ok) return deltaIN; /* FAIL */ assign(argR, all_lanes ? loadLE(Ity_V128, mkexpr(addr)) @@ -23339,8 +23378,22 @@ Long dis_AVX128_cmp_V_E_to_G ( /*OUT*/Bool* uses_vvvv, opname, imm8, dis_buf, nameXMMReg(rV), nameXMMReg(rG)); } - assign(plain, preSwap ? binop(op, mkexpr(argR), mkexpr(argL)) - : binop(op, mkexpr(argL), mkexpr(argR))); + IRTemp argMask = newTemp(Ity_V128); + if (preZero) { + // In this case, preSwap is irrelevant, but it's harmless to honour it + // anyway. + assign(argMask, mkV128(all_lanes ? 0x0000 : (sz==4 ? 0xFFF0 : 0xFF00))); + } else { + assign(argMask, mkV128(0xFFFF)); + } + + assign( + plain, + preSwap ? binop(op, binop(Iop_AndV128, mkexpr(argR), mkexpr(argMask)), + binop(Iop_AndV128, mkexpr(argL), mkexpr(argMask))) + : binop(op, binop(Iop_AndV128, mkexpr(argL), mkexpr(argMask)), + binop(Iop_AndV128, mkexpr(argR), mkexpr(argMask))) + ); if (all_lanes) { /* This is simple: just invert the result, if necessary, and @@ -23414,6 +23467,7 @@ Long dis_AVX256_cmp_V_E_to_G ( /*OUT*/Bool* uses_vvvv, Int alen; UInt imm8; IRTemp addr; + Bool preZero = False; Bool preSwap = False; IROp op = Iop_INVALID; Bool postNot = False; @@ -23431,7 +23485,7 @@ Long dis_AVX256_cmp_V_E_to_G ( /*OUT*/Bool* uses_vvvv, assign(argL, getYMMReg(rV)); if (epartIsReg(rm)) { imm8 = getUChar(delta+1); - Bool ok = findSSECmpOp(&preSwap, &op, &postNot, imm8, + Bool ok = findSSECmpOp(&preZero, &preSwap, &op, &postNot, imm8, True/*all_lanes*/, sz); if (!ok) return deltaIN; /* FAIL */ UInt rE = eregOfRexRM(pfx,rm); @@ -23443,7 +23497,7 @@ Long dis_AVX256_cmp_V_E_to_G ( /*OUT*/Bool* uses_vvvv, } else { addr = disAMode ( &alen, vbi, pfx, delta, dis_buf, 1 ); imm8 = getUChar(delta+alen); - Bool ok = findSSECmpOp(&preSwap, &op, &postNot, imm8, + Bool ok = findSSECmpOp(&preZero, &preSwap, &op, &postNot, imm8, True/*all_lanes*/, sz); if (!ok) return deltaIN; /* FAIL */ assign(argR, loadLE(Ity_V256, mkexpr(addr)) ); @@ -23454,9 +23508,24 @@ Long dis_AVX256_cmp_V_E_to_G ( /*OUT*/Bool* uses_vvvv, breakupV256toV128s( preSwap ? argR : argL, &argLhi, &argLlo ); breakupV256toV128s( preSwap ? argL : argR, &argRhi, &argRlo ); - assign(plain, binop( Iop_V128HLtoV256, - binop(op, mkexpr(argLhi), mkexpr(argRhi)), - binop(op, mkexpr(argLlo), mkexpr(argRlo)) ) ); + + IRTemp argMask = newTemp(Ity_V128); + if (preZero) { + // In this case, preSwap is irrelevant, but it's harmless to honour it + // anyway. + assign(argMask, mkV128(0x0000)); + } else { + assign(argMask, mkV128(0xFFFF)); + } + + assign( + plain, + binop( Iop_V128HLtoV256, + binop(op, binop(Iop_AndV128, mkexpr(argLhi), mkexpr(argMask)), + binop(Iop_AndV128, mkexpr(argRhi), mkexpr(argMask))), + binop(op, binop(Iop_AndV128, mkexpr(argLlo), mkexpr(argMask)), + binop(Iop_AndV128, mkexpr(argRlo), mkexpr(argMask)))) + ); /* This is simple: just invert the result, if necessary, and have done. */ diff --git a/VEX/priv/ir_opt.c b/VEX/priv/ir_opt.c index 23964be..cf00b0d 100644 --- a/VEX/priv/ir_opt.c +++ b/VEX/priv/ir_opt.c @@ -1205,6 +1205,14 @@ static Bool isZeroV128 ( IRExpr* e ) && e->Iex.Const.con->Ico.V128 == 0x0000); } +/* Is this literally IRExpr_Const(IRConst_V128(1...1)) ? */ +static Bool isOnesV128 ( IRExpr* e ) +{ + return toBool( e->tag == Iex_Const + && e->Iex.Const.con->tag == Ico_V128 + && e->Iex.Const.con->Ico.V128 == 0xFFFF); +} + /* Is this literally IRExpr_Const(IRConst_V256(0)) ? */ static Bool isZeroV256 ( IRExpr* e ) { @@ -2298,6 +2306,14 @@ static IRExpr* fold_Expr ( IRExpr** env, IRExpr* e ) e2 = mkZeroOfPrimopResultType(e->Iex.Binop.op); break; } + /* AndV128(t,1...1) ==> t. The amd64 front end generates these + for *CMP{P,S}{S,D} etc. */ + if (e->Iex.Binop.op == Iop_AndV128) { + if (isOnesV128(e->Iex.Binop.arg2)) { + e2 = e->Iex.Binop.arg1; + break; + } + } break; case Iop_OrV128: |
|
From: Mark W. <ma...@so...> - 2019-03-13 12:37:30
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=d15f70a92507c30717a6461258971fedcf3c20c2 commit d15f70a92507c30717a6461258971fedcf3c20c2 Author: Mark Wielaard <ma...@kl...> Date: Mon Mar 4 19:47:59 2019 +0100 Rename gettid() to gettid_sys() in gdbserver_tests. glibc might defined gettid() itself through unistd.h: https://sourceware.org/bugzilla/show_bug.cgi?id=6399 Rename to gettid_sys() so we don't clash with the glibc definition. Diff: --- gdbserver_tests/sleepers.c | 4 ++-- gdbserver_tests/t.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/gdbserver_tests/sleepers.c b/gdbserver_tests/sleepers.c index 5ffc6f8..dfda828 100644 --- a/gdbserver_tests/sleepers.c +++ b/gdbserver_tests/sleepers.c @@ -15,7 +15,7 @@ static int sleepms = 1000; // in each loop, will sleep "sleepms" milliseconds static int burn = 0; // after each sleep, will burn cpu in a tight 'burn' loop static void setup_sigusr_handler(void); // sigusr1 and 2 sigaction setup. -static pid_t gettid() +static pid_t gettid_sys() { #ifdef __NR_gettid return syscall(__NR_gettid); @@ -27,7 +27,7 @@ static pid_t gettid() static void whoami(char *msg) __attribute__((unused)); static void whoami(char *msg) { - fprintf(stderr, "pid %ld Thread %ld %s\n", (long) getpid(), (long) gettid(), + fprintf(stderr, "pid %ld Thread %ld %s\n", (long) getpid(), (long) gettid_sys(), msg); fflush(stderr); } diff --git a/gdbserver_tests/t.c b/gdbserver_tests/t.c index 228d4a4..b3e7a28 100644 --- a/gdbserver_tests/t.c +++ b/gdbserver_tests/t.c @@ -16,7 +16,7 @@ static int loopmain, loopt1, loopt2; static double pi = 3.14159265358979323846264338327950288; -static pid_t gettid() +static pid_t gettid_sys() { #ifdef __NT_gettid return syscall(__NR_gettid); @@ -26,7 +26,7 @@ static pid_t gettid() } static void whoami(char *msg) { - printf("pid %ld Thread %ld %s\n", (long) getpid(), (long) gettid(), msg); + printf("pid %ld Thread %ld %s\n", (long) getpid(), (long) gettid_sys(), msg); fflush(stdout); } |