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
(17) |
2
(10) |
3
(5) |
|
4
(12) |
5
(12) |
6
(15) |
7
(17) |
8
(13) |
9
(18) |
10
(10) |
|
11
|
12
(2) |
13
(20) |
14
(16) |
15
(17) |
16
(19) |
17
(17) |
|
18
(14) |
19
(12) |
20
|
21
(5) |
22
(12) |
23
(10) |
24
(1) |
|
25
|
26
(2) |
27
|
28
(2) |
29
|
30
(1) |
31
(2) |
|
From: <sv...@va...> - 2014-05-15 16:49:28
|
Author: sewardj
Date: Thu May 15 16:49:21 2014
New Revision: 2862
Log:
Initial front-end fixings needed to handle code generated by gcc-4.9
on arm64-linux.
Modified:
trunk/priv/guest_arm64_toIR.c
Modified: trunk/priv/guest_arm64_toIR.c
==============================================================================
--- trunk/priv/guest_arm64_toIR.c (original)
+++ trunk/priv/guest_arm64_toIR.c Thu May 15 16:49:21 2014
@@ -1004,6 +1004,8 @@
{
Int off = offsetQRegLane(qregNo, ty, 0);
switch (ty) {
+ case Ity_I8:
+ case Ity_I16:
case Ity_I32: case Ity_I64:
case Ity_F32: case Ity_F64: case Ity_V128:
break;
@@ -7102,6 +7104,20 @@
/* else it's really an ORR; fall through. */
}
+ /* ---------------- CMEQ_d_d_#0 ---------------- */
+ /*
+ 010 11110 11 10000 0100 110 n d
+ */
+ if ((INSN(31,0) & 0xFFFFFC00) == 0x5EE09800) {
+ UInt nn = INSN(9,5);
+ UInt dd = INSN(4,0);
+ putQReg128(dd, unop(Iop_ZeroHI64ofV128,
+ binop(Iop_CmpEQ64x2, getQReg128(nn),
+ mkV128(0x0000))));
+ DIP("cmeq d%u, d%u, #0\n", dd, nn);
+ return True;
+ }
+
vex_printf("ARM64 front end: simd_and_fp\n");
return False;
# undef INSN
|
|
From: <sv...@va...> - 2014-05-15 16:48:04
|
Author: sewardj
Date: Thu May 15 16:47:56 2014
New Revision: 13972
Log:
Enable: sys_add_key, sys_keyctl, apparently needed by glibc-2.19.90 on
arm64-linux.
Modified:
trunk/coregrind/m_syswrap/syswrap-arm64-linux.c
Modified: trunk/coregrind/m_syswrap/syswrap-arm64-linux.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-arm64-linux.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-arm64-linux.c Thu May 15 16:47:56 2014
@@ -1024,6 +1024,8 @@
GENX_(__NR_brk, sys_brk), // 214
GENXY(__NR_munmap, sys_munmap), // 215
GENX_(__NR_mremap, sys_mremap), // 216
+ LINX_(__NR_add_key, sys_add_key), // 217
+ LINXY(__NR_keyctl, sys_keyctl), // 219
PLAX_(__NR_clone, sys_clone), // 220
GENX_(__NR_execve, sys_execve), // 221
@@ -1342,9 +1344,7 @@
//ZZ LINXY(__NR_msgrcv, sys_msgrcv),
//ZZ LINXY(__NR_msgctl, sys_msgctl), // 304
//ZZ
-//ZZ LINX_(__NR_add_key, sys_add_key), // 286
//ZZ LINX_(__NR_request_key, sys_request_key), // 287
-//ZZ LINXY(__NR_keyctl, sys_keyctl), // not 288...
//ZZ // LINX_(__NR_ioprio_set, sys_ioprio_set), // 289
//ZZ
//ZZ // LINX_(__NR_ioprio_get, sys_ioprio_get), // 290
|
|
From: <sv...@va...> - 2014-05-15 13:50:55
|
Author: sewardj
Date: Thu May 15 13:50:47 2014
New Revision: 13971
Log:
Make the PLAT_ identification work properly for mingw-win64. Problem was
that mingw64 also defines __MINGW32__, which led to the 32-bit definitions
being used in the 64-bit case. n-i-bz. (Ber...@ru...)
Modified:
trunk/include/valgrind.h
Modified: trunk/include/valgrind.h
==============================================================================
--- trunk/include/valgrind.h (original)
+++ trunk/include/valgrind.h Thu May 15 13:50:47 2014
@@ -127,10 +127,12 @@
# define PLAT_x86_darwin 1
#elif defined(__APPLE__) && defined(__x86_64__)
# define PLAT_amd64_darwin 1
-#elif defined(__MINGW32__) || defined(__CYGWIN32__) \
+#elif (defined(__MINGW32__) && !defined(__MINGW64__)) \
+ || defined(__CYGWIN32__) \
|| (defined(_WIN32) && defined(_M_IX86))
# define PLAT_x86_win32 1
-#elif defined(__MINGW64__) || (defined(_WIN64) && defined(_M_X64))
+#elif defined(__MINGW64__) \
+ || (defined(_WIN64) && defined(_M_X64))
# define PLAT_amd64_win64 1
#elif defined(__linux__) && defined(__i386__)
# define PLAT_x86_linux 1
@@ -377,7 +379,8 @@
/* ------------------------ amd64-{linux,darwin} --------------- */
-#if defined(PLAT_amd64_linux) || defined(PLAT_amd64_darwin)
+#if defined(PLAT_amd64_linux) || defined(PLAT_amd64_darwin) \
+ || (defined(PLAT_amd64_win64) && defined(__GNUC__))
typedef
struct {
@@ -439,6 +442,14 @@
#endif /* PLAT_amd64_linux || PLAT_amd64_darwin */
+/* ------------------------- amd64-Win64 ------------------------- */
+
+#if defined(PLAT_amd64_win64) && !defined(__GNUC__)
+
+#error Unsupported compiler.
+
+#endif /* PLAT_amd64_win64 */
+
/* ------------------------ ppc32-linux ------------------------ */
#if defined(PLAT_ppc32_linux)
|
|
From: <sv...@va...> - 2014-05-15 12:18:32
|
Author: sewardj
Date: Thu May 15 12:18:17 2014
New Revision: 13970
Log:
Add more test cases: trn1, trn2, uzp1, uzp2, zip1, zip2, urecpe, ursqrte.
This completes the test cases for the SIMD integer instructions.
Modified:
trunk/none/tests/arm64/fp_and_simd.c
Modified: trunk/none/tests/arm64/fp_and_simd.c
==============================================================================
--- trunk/none/tests/arm64/fp_and_simd.c (original)
+++ trunk/none/tests/arm64/fp_and_simd.c Thu May 15 12:18:17 2014
@@ -2859,6 +2859,60 @@
GEN_TWOVEC_TEST(usqadd_16b_16b, "usqadd v6.16b, v27.16b", 6, 27)
GEN_TWOVEC_TEST(usqadd_8b_8b, "usqadd v6.8b, v27.8b", 6, 27)
+GEN_THREEVEC_TEST(trn1_2d_2d_2d, "trn1 v1.2d, v2.2d, v4.2d", 1, 2, 4)
+GEN_THREEVEC_TEST(trn1_4s_4s_4s, "trn1 v1.4s, v2.4s, v4.4s", 1, 2, 4)
+GEN_THREEVEC_TEST(trn1_2s_2s_2s, "trn1 v1.2s, v2.2s, v4.2s", 1, 2, 4)
+GEN_THREEVEC_TEST(trn1_8h_8h_8h, "trn1 v1.8h, v2.8h, v4.8h", 1, 2, 4)
+GEN_THREEVEC_TEST(trn1_4h_4h_4h, "trn1 v1.4h, v2.4h, v4.4h", 1, 2, 4)
+GEN_THREEVEC_TEST(trn1_16b_16b_16b, "trn1 v1.16b, v2.16b, v4.16b", 1, 2, 4)
+GEN_THREEVEC_TEST(trn1_8b_8b_8b, "trn1 v1.8b, v2.8b, v4.8b", 1, 2, 4)
+
+GEN_THREEVEC_TEST(trn2_2d_2d_2d, "trn2 v1.2d, v2.2d, v4.2d", 1, 2, 4)
+GEN_THREEVEC_TEST(trn2_4s_4s_4s, "trn2 v1.4s, v2.4s, v4.4s", 1, 2, 4)
+GEN_THREEVEC_TEST(trn2_2s_2s_2s, "trn2 v1.2s, v2.2s, v4.2s", 1, 2, 4)
+GEN_THREEVEC_TEST(trn2_8h_8h_8h, "trn2 v1.8h, v2.8h, v4.8h", 1, 2, 4)
+GEN_THREEVEC_TEST(trn2_4h_4h_4h, "trn2 v1.4h, v2.4h, v4.4h", 1, 2, 4)
+GEN_THREEVEC_TEST(trn2_16b_16b_16b, "trn2 v1.16b, v2.16b, v4.16b", 1, 2, 4)
+GEN_THREEVEC_TEST(trn2_8b_8b_8b, "trn2 v1.8b, v2.8b, v4.8b", 1, 2, 4)
+
+GEN_THREEVEC_TEST(uzp1_2d_2d_2d, "uzp1 v1.2d, v2.2d, v4.2d", 1, 2, 4)
+GEN_THREEVEC_TEST(uzp1_4s_4s_4s, "uzp1 v1.4s, v2.4s, v4.4s", 1, 2, 4)
+GEN_THREEVEC_TEST(uzp1_2s_2s_2s, "uzp1 v1.2s, v2.2s, v4.2s", 1, 2, 4)
+GEN_THREEVEC_TEST(uzp1_8h_8h_8h, "uzp1 v1.8h, v2.8h, v4.8h", 1, 2, 4)
+GEN_THREEVEC_TEST(uzp1_4h_4h_4h, "uzp1 v1.4h, v2.4h, v4.4h", 1, 2, 4)
+GEN_THREEVEC_TEST(uzp1_16b_16b_16b, "uzp1 v1.16b, v2.16b, v4.16b", 1, 2, 4)
+GEN_THREEVEC_TEST(uzp1_8b_8b_8b, "uzp1 v1.8b, v2.8b, v4.8b", 1, 2, 4)
+
+GEN_THREEVEC_TEST(uzp2_2d_2d_2d, "uzp2 v1.2d, v2.2d, v4.2d", 1, 2, 4)
+GEN_THREEVEC_TEST(uzp2_4s_4s_4s, "uzp2 v1.4s, v2.4s, v4.4s", 1, 2, 4)
+GEN_THREEVEC_TEST(uzp2_2s_2s_2s, "uzp2 v1.2s, v2.2s, v4.2s", 1, 2, 4)
+GEN_THREEVEC_TEST(uzp2_8h_8h_8h, "uzp2 v1.8h, v2.8h, v4.8h", 1, 2, 4)
+GEN_THREEVEC_TEST(uzp2_4h_4h_4h, "uzp2 v1.4h, v2.4h, v4.4h", 1, 2, 4)
+GEN_THREEVEC_TEST(uzp2_16b_16b_16b, "uzp2 v1.16b, v2.16b, v4.16b", 1, 2, 4)
+GEN_THREEVEC_TEST(uzp2_8b_8b_8b, "uzp2 v1.8b, v2.8b, v4.8b", 1, 2, 4)
+
+GEN_THREEVEC_TEST(zip1_2d_2d_2d, "zip1 v1.2d, v2.2d, v4.2d", 1, 2, 4)
+GEN_THREEVEC_TEST(zip1_4s_4s_4s, "zip1 v1.4s, v2.4s, v4.4s", 1, 2, 4)
+GEN_THREEVEC_TEST(zip1_2s_2s_2s, "zip1 v1.2s, v2.2s, v4.2s", 1, 2, 4)
+GEN_THREEVEC_TEST(zip1_8h_8h_8h, "zip1 v1.8h, v2.8h, v4.8h", 1, 2, 4)
+GEN_THREEVEC_TEST(zip1_4h_4h_4h, "zip1 v1.4h, v2.4h, v4.4h", 1, 2, 4)
+GEN_THREEVEC_TEST(zip1_16b_16b_16b, "zip1 v1.16b, v2.16b, v4.16b", 1, 2, 4)
+GEN_THREEVEC_TEST(zip1_8b_8b_8b, "zip1 v1.8b, v2.8b, v4.8b", 1, 2, 4)
+
+GEN_THREEVEC_TEST(zip2_2d_2d_2d, "zip2 v1.2d, v2.2d, v4.2d", 1, 2, 4)
+GEN_THREEVEC_TEST(zip2_4s_4s_4s, "zip2 v1.4s, v2.4s, v4.4s", 1, 2, 4)
+GEN_THREEVEC_TEST(zip2_2s_2s_2s, "zip2 v1.2s, v2.2s, v4.2s", 1, 2, 4)
+GEN_THREEVEC_TEST(zip2_8h_8h_8h, "zip2 v1.8h, v2.8h, v4.8h", 1, 2, 4)
+GEN_THREEVEC_TEST(zip2_4h_4h_4h, "zip2 v1.4h, v2.4h, v4.4h", 1, 2, 4)
+GEN_THREEVEC_TEST(zip2_16b_16b_16b, "zip2 v1.16b, v2.16b, v4.16b", 1, 2, 4)
+GEN_THREEVEC_TEST(zip2_8b_8b_8b, "zip2 v1.8b, v2.8b, v4.8b", 1, 2, 4)
+
+GEN_TWOVEC_TEST(urecpe_4s_4s, "urecpe v6.4s, v27.4s", 6, 27)
+GEN_TWOVEC_TEST(urecpe_2s_2s, "urecpe v6.2s, v27.2s", 6, 27)
+
+GEN_TWOVEC_TEST(ursqrte_4s_4s, "ursqrte v6.4s, v27.4s", 6, 27)
+GEN_TWOVEC_TEST(ursqrte_2s_2s, "ursqrte v6.2s, v27.2s", 6, 27)
+
/* ---------------------------------------------------------------- */
/* -- main() -- */
@@ -5101,13 +5155,60 @@
// trn1 2d,4s,2s,8h,4h,16b,8b
// trn2 2d,4s,2s,8h,4h,16b,8b
+ test_trn1_2d_2d_2d(TyD);
+ test_trn1_4s_4s_4s(TyS);
+ test_trn1_2s_2s_2s(TyS);
+ test_trn1_8h_8h_8h(TyH);
+ test_trn1_4h_4h_4h(TyH);
+ test_trn1_16b_16b_16b(TyB);
+ test_trn1_8b_8b_8b(TyB);
+ test_trn2_2d_2d_2d(TyD);
+ test_trn2_4s_4s_4s(TyS);
+ test_trn2_2s_2s_2s(TyS);
+ test_trn2_8h_8h_8h(TyH);
+ test_trn2_4h_4h_4h(TyH);
+ test_trn2_16b_16b_16b(TyB);
+ test_trn2_8b_8b_8b(TyB);
// urecpe 4s,2s
-
// ursqrte 4s,2s
+ test_urecpe_4s_4s(TyS);
+ test_urecpe_2s_2s(TyS);
+ test_ursqrte_4s_4s(TyS);
+ test_ursqrte_2s_2s(TyS);
// uzp1 2d,4s,2s,8h,4h,16b,8b
// uzp2 2d,4s,2s,8h,4h,16b,8b
+ // zip1 2d,4s,2s,8h,4h,16b,8b
+ // zip2 2d,4s,2s,8h,4h,16b,8b
+ test_uzp1_2d_2d_2d(TyD);
+ test_uzp1_4s_4s_4s(TyS);
+ test_uzp1_2s_2s_2s(TyS);
+ test_uzp1_8h_8h_8h(TyH);
+ test_uzp1_4h_4h_4h(TyH);
+ test_uzp1_16b_16b_16b(TyB);
+ test_uzp1_8b_8b_8b(TyB);
+ test_uzp2_2d_2d_2d(TyD);
+ test_uzp2_4s_4s_4s(TyS);
+ test_uzp2_2s_2s_2s(TyS);
+ test_uzp2_8h_8h_8h(TyH);
+ test_uzp2_4h_4h_4h(TyH);
+ test_uzp2_16b_16b_16b(TyB);
+ test_uzp2_8b_8b_8b(TyB);
+ test_zip1_2d_2d_2d(TyD);
+ test_zip1_4s_4s_4s(TyS);
+ test_zip1_2s_2s_2s(TyS);
+ test_zip1_8h_8h_8h(TyH);
+ test_zip1_4h_4h_4h(TyH);
+ test_zip1_16b_16b_16b(TyB);
+ test_zip1_8b_8b_8b(TyB);
+ test_zip2_2d_2d_2d(TyD);
+ test_zip2_4s_4s_4s(TyS);
+ test_zip2_2s_2s_2s(TyS);
+ test_zip2_8h_8h_8h(TyH);
+ test_zip2_4h_4h_4h(TyH);
+ test_zip2_16b_16b_16b(TyB);
+ test_zip2_8b_8b_8b(TyB);
// xtn{2} 2s/4s_2d, 4h/8h_4s, 8b/16b_8h
test_xtn_2s_2d(TyD);
@@ -5117,9 +5218,6 @@
test_xtn_8b_8h(TyH);
test_xtn2_16b_8h(TyH);
- // zip1 2d,4s,2s,8h,4h,16b,8b
- // zip2 2d,4s,2s,8h,4h,16b,8b
-
// ======================== MEM ========================
// ld1 (multiple 1-element structures to 1/2/3/4 regs)
|
|
From: <sv...@va...> - 2014-05-15 11:56:08
|
Author: sewardj
Date: Thu May 15 11:55:56 2014
New Revision: 13969
Log:
Add more test cases: sqrshrn, uqrshrn, sqshrn, uqshrn, sqrshrun,
sqshrun, sqshl, uqshl, sqshlu, sqxtn, uqxtn, sqxtun, srhadd, urhadd,
sshl, ushl, shl, sshr, ushr, ssra, usra, srshl, urshl, srshr, urshr,
srsra, ursra, suqadd, usqadd.
Modified:
trunk/none/tests/arm64/fp_and_simd.c
Modified: trunk/none/tests/arm64/fp_and_simd.c
==============================================================================
--- trunk/none/tests/arm64/fp_and_simd.c (original)
+++ trunk/none/tests/arm64/fp_and_simd.c Thu May 15 11:55:56 2014
@@ -1007,66 +1007,66 @@
GEN_SHIFT_TEST(ushr, 2d, 2d, 1)
GEN_SHIFT_TEST(ushr, 2d, 2d, 13)
-GEN_SHIFT_TEST(ushr, 2d, 2d, 63)
+GEN_SHIFT_TEST(ushr, 2d, 2d, 64)
GEN_SHIFT_TEST(sshr, 2d, 2d, 1)
GEN_SHIFT_TEST(sshr, 2d, 2d, 13)
-GEN_SHIFT_TEST(sshr, 2d, 2d, 63)
-GEN_SHIFT_TEST(shl, 2d, 2d, 1)
+GEN_SHIFT_TEST(sshr, 2d, 2d, 64)
+GEN_SHIFT_TEST(shl, 2d, 2d, 0)
GEN_SHIFT_TEST(shl, 2d, 2d, 13)
GEN_SHIFT_TEST(shl, 2d, 2d, 63)
GEN_SHIFT_TEST(ushr, 4s, 4s, 1)
GEN_SHIFT_TEST(ushr, 4s, 4s, 13)
-GEN_SHIFT_TEST(ushr, 4s, 4s, 31)
+GEN_SHIFT_TEST(ushr, 4s, 4s, 32)
GEN_SHIFT_TEST(sshr, 4s, 4s, 1)
GEN_SHIFT_TEST(sshr, 4s, 4s, 13)
-GEN_SHIFT_TEST(sshr, 4s, 4s, 31)
-GEN_SHIFT_TEST(shl, 4s, 4s, 1)
+GEN_SHIFT_TEST(sshr, 4s, 4s, 32)
+GEN_SHIFT_TEST(shl, 4s, 4s, 0)
GEN_SHIFT_TEST(shl, 4s, 4s, 13)
GEN_SHIFT_TEST(shl, 4s, 4s, 31)
GEN_SHIFT_TEST(ushr, 2s, 2s, 1)
GEN_SHIFT_TEST(ushr, 2s, 2s, 13)
-GEN_SHIFT_TEST(ushr, 2s, 2s, 31)
+GEN_SHIFT_TEST(ushr, 2s, 2s, 32)
GEN_SHIFT_TEST(sshr, 2s, 2s, 1)
GEN_SHIFT_TEST(sshr, 2s, 2s, 13)
-GEN_SHIFT_TEST(sshr, 2s, 2s, 31)
-GEN_SHIFT_TEST(shl, 2s, 2s, 1)
+GEN_SHIFT_TEST(sshr, 2s, 2s, 32)
+GEN_SHIFT_TEST(shl, 2s, 2s, 0)
GEN_SHIFT_TEST(shl, 2s, 2s, 13)
GEN_SHIFT_TEST(shl, 2s, 2s, 31)
GEN_SHIFT_TEST(ushr, 8h, 8h, 1)
GEN_SHIFT_TEST(ushr, 8h, 8h, 13)
-GEN_SHIFT_TEST(ushr, 8h, 8h, 15)
+GEN_SHIFT_TEST(ushr, 8h, 8h, 16)
GEN_SHIFT_TEST(sshr, 8h, 8h, 1)
GEN_SHIFT_TEST(sshr, 8h, 8h, 13)
-GEN_SHIFT_TEST(sshr, 8h, 8h, 15)
-GEN_SHIFT_TEST(shl, 8h, 8h, 1)
+GEN_SHIFT_TEST(sshr, 8h, 8h, 16)
+GEN_SHIFT_TEST(shl, 8h, 8h, 0)
GEN_SHIFT_TEST(shl, 8h, 8h, 13)
GEN_SHIFT_TEST(shl, 8h, 8h, 15)
GEN_SHIFT_TEST(ushr, 4h, 4h, 1)
GEN_SHIFT_TEST(ushr, 4h, 4h, 13)
-GEN_SHIFT_TEST(ushr, 4h, 4h, 15)
+GEN_SHIFT_TEST(ushr, 4h, 4h, 16)
GEN_SHIFT_TEST(sshr, 4h, 4h, 1)
GEN_SHIFT_TEST(sshr, 4h, 4h, 13)
-GEN_SHIFT_TEST(sshr, 4h, 4h, 15)
-GEN_SHIFT_TEST(shl, 4h, 4h, 1)
+GEN_SHIFT_TEST(sshr, 4h, 4h, 16)
+GEN_SHIFT_TEST(shl, 4h, 4h, 0)
GEN_SHIFT_TEST(shl, 4h, 4h, 13)
GEN_SHIFT_TEST(shl, 4h, 4h, 15)
GEN_SHIFT_TEST(ushr, 16b, 16b, 1)
-GEN_SHIFT_TEST(ushr, 16b, 16b, 7)
+GEN_SHIFT_TEST(ushr, 16b, 16b, 8)
GEN_SHIFT_TEST(sshr, 16b, 16b, 1)
-GEN_SHIFT_TEST(sshr, 16b, 16b, 7)
-GEN_SHIFT_TEST(shl, 16b, 16b, 1)
+GEN_SHIFT_TEST(sshr, 16b, 16b, 8)
+GEN_SHIFT_TEST(shl, 16b, 16b, 0)
GEN_SHIFT_TEST(shl, 16b, 16b, 7)
GEN_SHIFT_TEST(ushr, 8b, 8b, 1)
-GEN_SHIFT_TEST(ushr, 8b, 8b, 7)
+GEN_SHIFT_TEST(ushr, 8b, 8b, 8)
GEN_SHIFT_TEST(sshr, 8b, 8b, 1)
-GEN_SHIFT_TEST(sshr, 8b, 8b, 7)
-GEN_SHIFT_TEST(shl, 8b, 8b, 1)
+GEN_SHIFT_TEST(sshr, 8b, 8b, 8)
+GEN_SHIFT_TEST(shl, 8b, 8b, 0)
GEN_SHIFT_TEST(shl, 8b, 8b, 7)
GEN_SHIFT_TEST(ushll, 2d, 2s, 0)
@@ -1075,13 +1075,38 @@
GEN_SHIFT_TEST(ushll2, 2d, 4s, 0)
GEN_SHIFT_TEST(ushll2, 2d, 4s, 15)
GEN_SHIFT_TEST(ushll2, 2d, 4s, 31)
+GEN_SHIFT_TEST(ushll, 4s, 4h, 0)
+GEN_SHIFT_TEST(ushll, 4s, 4h, 7)
+GEN_SHIFT_TEST(ushll, 4s, 4h, 15)
+GEN_SHIFT_TEST(ushll2, 4s, 8h, 0)
+GEN_SHIFT_TEST(ushll2, 4s, 8h, 7)
+GEN_SHIFT_TEST(ushll2, 4s, 8h, 15)
+GEN_SHIFT_TEST(ushll, 8h, 8b, 0)
+GEN_SHIFT_TEST(ushll, 8h, 8b, 3)
+GEN_SHIFT_TEST(ushll, 8h, 8b, 7)
+GEN_SHIFT_TEST(ushll2, 8h, 16b, 0)
+GEN_SHIFT_TEST(ushll2, 8h, 16b, 3)
+GEN_SHIFT_TEST(ushll2, 8h, 16b, 7)
+
+GEN_SHIFT_TEST(sshll, 2d, 2s, 0)
+GEN_SHIFT_TEST(sshll, 2d, 2s, 15)
+GEN_SHIFT_TEST(sshll, 2d, 2s, 31)
+GEN_SHIFT_TEST(sshll2, 2d, 4s, 0)
+GEN_SHIFT_TEST(sshll2, 2d, 4s, 15)
+GEN_SHIFT_TEST(sshll2, 2d, 4s, 31)
+GEN_SHIFT_TEST(sshll, 4s, 4h, 0)
+GEN_SHIFT_TEST(sshll, 4s, 4h, 7)
+GEN_SHIFT_TEST(sshll, 4s, 4h, 15)
+GEN_SHIFT_TEST(sshll2, 4s, 8h, 0)
+GEN_SHIFT_TEST(sshll2, 4s, 8h, 7)
+GEN_SHIFT_TEST(sshll2, 4s, 8h, 15)
+GEN_SHIFT_TEST(sshll, 8h, 8b, 0)
+GEN_SHIFT_TEST(sshll, 8h, 8b, 3)
+GEN_SHIFT_TEST(sshll, 8h, 8b, 7)
+GEN_SHIFT_TEST(sshll2, 8h, 16b, 0)
+GEN_SHIFT_TEST(sshll2, 8h, 16b, 3)
+GEN_SHIFT_TEST(sshll2, 8h, 16b, 7)
-GEN_SHIFT_TEST(sshll, 2d, 2s, 0)
-GEN_SHIFT_TEST(sshll, 2d, 2s, 15)
-GEN_SHIFT_TEST(sshll, 2d, 2s, 31)
-GEN_SHIFT_TEST(sshll2, 2d, 4s, 0)
-GEN_SHIFT_TEST(sshll2, 2d, 4s, 15)
-GEN_SHIFT_TEST(sshll2, 2d, 4s, 31)
GEN_UNARY_TEST(xtn, 2s, 2d)
GEN_UNARY_TEST(xtn2, 4s, 2d)
@@ -2336,6 +2361,504 @@
GEN_TWOVEC_TEST(sqshrun_b_h_4, "sqshrun b2, h5, #4", 2, 5)
GEN_TWOVEC_TEST(sqshrun_b_h_8, "sqshrun b2, h5, #8", 2, 5)
+GEN_TWOVEC_TEST(sqrshrn_2s_2d_1, "sqrshrn v4.2s, v29.2d, #1", 4, 29)
+GEN_TWOVEC_TEST(sqrshrn_2s_2d_17, "sqrshrn v4.2s, v29.2d, #17", 4, 29)
+GEN_TWOVEC_TEST(sqrshrn_2s_2d_32, "sqrshrn v4.2s, v29.2d, #32", 4, 29)
+GEN_TWOVEC_TEST(sqrshrn2_4s_2d_1, "sqrshrn2 v4.4s, v29.2d, #1", 4, 29)
+GEN_TWOVEC_TEST(sqrshrn2_4s_2d_17, "sqrshrn2 v4.4s, v29.2d, #17", 4, 29)
+GEN_TWOVEC_TEST(sqrshrn2_4s_2d_32, "sqrshrn2 v4.4s, v29.2d, #32", 4, 29)
+GEN_TWOVEC_TEST(sqrshrn_4h_4s_1, "sqrshrn v4.4h, v29.4s, #1", 4, 29)
+GEN_TWOVEC_TEST(sqrshrn_4h_4s_9, "sqrshrn v4.4h, v29.4s, #9", 4, 29)
+GEN_TWOVEC_TEST(sqrshrn_4h_4s_16, "sqrshrn v4.4h, v29.4s, #16", 4, 29)
+GEN_TWOVEC_TEST(sqrshrn2_8h_4s_1, "sqrshrn2 v4.8h, v29.4s, #1", 4, 29)
+GEN_TWOVEC_TEST(sqrshrn2_8h_4s_9, "sqrshrn2 v4.8h, v29.4s, #9", 4, 29)
+GEN_TWOVEC_TEST(sqrshrn2_8h_4s_16, "sqrshrn2 v4.8h, v29.4s, #16", 4, 29)
+GEN_TWOVEC_TEST(sqrshrn_8b_8h_1, "sqrshrn v4.8b, v29.8h, #1", 4, 29)
+GEN_TWOVEC_TEST(sqrshrn_8b_8h_4, "sqrshrn v4.8b, v29.8h, #4", 4, 29)
+GEN_TWOVEC_TEST(sqrshrn_8b_8h_8, "sqrshrn v4.8b, v29.8h, #8", 4, 29)
+GEN_TWOVEC_TEST(sqrshrn2_16b_8h_1, "sqrshrn2 v4.16b, v29.8h, #1", 4, 29)
+GEN_TWOVEC_TEST(sqrshrn2_16b_8h_4, "sqrshrn2 v4.16b, v29.8h, #4", 4, 29)
+GEN_TWOVEC_TEST(sqrshrn2_16b_8h_8, "sqrshrn2 v4.16b, v29.8h, #8", 4, 29)
+
+GEN_TWOVEC_TEST(uqrshrn_2s_2d_1, "uqrshrn v4.2s, v29.2d, #1", 4, 29)
+GEN_TWOVEC_TEST(uqrshrn_2s_2d_17, "uqrshrn v4.2s, v29.2d, #17", 4, 29)
+GEN_TWOVEC_TEST(uqrshrn_2s_2d_32, "uqrshrn v4.2s, v29.2d, #32", 4, 29)
+GEN_TWOVEC_TEST(uqrshrn2_4s_2d_1, "uqrshrn2 v4.4s, v29.2d, #1", 4, 29)
+GEN_TWOVEC_TEST(uqrshrn2_4s_2d_17, "uqrshrn2 v4.4s, v29.2d, #17", 4, 29)
+GEN_TWOVEC_TEST(uqrshrn2_4s_2d_32, "uqrshrn2 v4.4s, v29.2d, #32", 4, 29)
+GEN_TWOVEC_TEST(uqrshrn_4h_4s_1, "uqrshrn v4.4h, v29.4s, #1", 4, 29)
+GEN_TWOVEC_TEST(uqrshrn_4h_4s_9, "uqrshrn v4.4h, v29.4s, #9", 4, 29)
+GEN_TWOVEC_TEST(uqrshrn_4h_4s_16, "uqrshrn v4.4h, v29.4s, #16", 4, 29)
+GEN_TWOVEC_TEST(uqrshrn2_8h_4s_1, "uqrshrn2 v4.8h, v29.4s, #1", 4, 29)
+GEN_TWOVEC_TEST(uqrshrn2_8h_4s_9, "uqrshrn2 v4.8h, v29.4s, #9", 4, 29)
+GEN_TWOVEC_TEST(uqrshrn2_8h_4s_16, "uqrshrn2 v4.8h, v29.4s, #16", 4, 29)
+GEN_TWOVEC_TEST(uqrshrn_8b_8h_1, "uqrshrn v4.8b, v29.8h, #1", 4, 29)
+GEN_TWOVEC_TEST(uqrshrn_8b_8h_4, "uqrshrn v4.8b, v29.8h, #4", 4, 29)
+GEN_TWOVEC_TEST(uqrshrn_8b_8h_8, "uqrshrn v4.8b, v29.8h, #8", 4, 29)
+GEN_TWOVEC_TEST(uqrshrn2_16b_8h_1, "uqrshrn2 v4.16b, v29.8h, #1", 4, 29)
+GEN_TWOVEC_TEST(uqrshrn2_16b_8h_4, "uqrshrn2 v4.16b, v29.8h, #4", 4, 29)
+GEN_TWOVEC_TEST(uqrshrn2_16b_8h_8, "uqrshrn2 v4.16b, v29.8h, #8", 4, 29)
+
+GEN_TWOVEC_TEST(sqshrn_2s_2d_1, "sqshrn v4.2s, v29.2d, #1", 4, 29)
+GEN_TWOVEC_TEST(sqshrn_2s_2d_17, "sqshrn v4.2s, v29.2d, #17", 4, 29)
+GEN_TWOVEC_TEST(sqshrn_2s_2d_32, "sqshrn v4.2s, v29.2d, #32", 4, 29)
+GEN_TWOVEC_TEST(sqshrn2_4s_2d_1, "sqshrn2 v4.4s, v29.2d, #1", 4, 29)
+GEN_TWOVEC_TEST(sqshrn2_4s_2d_17, "sqshrn2 v4.4s, v29.2d, #17", 4, 29)
+GEN_TWOVEC_TEST(sqshrn2_4s_2d_32, "sqshrn2 v4.4s, v29.2d, #32", 4, 29)
+GEN_TWOVEC_TEST(sqshrn_4h_4s_1, "sqshrn v4.4h, v29.4s, #1", 4, 29)
+GEN_TWOVEC_TEST(sqshrn_4h_4s_9, "sqshrn v4.4h, v29.4s, #9", 4, 29)
+GEN_TWOVEC_TEST(sqshrn_4h_4s_16, "sqshrn v4.4h, v29.4s, #16", 4, 29)
+GEN_TWOVEC_TEST(sqshrn2_8h_4s_1, "sqshrn2 v4.8h, v29.4s, #1", 4, 29)
+GEN_TWOVEC_TEST(sqshrn2_8h_4s_9, "sqshrn2 v4.8h, v29.4s, #9", 4, 29)
+GEN_TWOVEC_TEST(sqshrn2_8h_4s_16, "sqshrn2 v4.8h, v29.4s, #16", 4, 29)
+GEN_TWOVEC_TEST(sqshrn_8b_8h_1, "sqshrn v4.8b, v29.8h, #1", 4, 29)
+GEN_TWOVEC_TEST(sqshrn_8b_8h_4, "sqshrn v4.8b, v29.8h, #4", 4, 29)
+GEN_TWOVEC_TEST(sqshrn_8b_8h_8, "sqshrn v4.8b, v29.8h, #8", 4, 29)
+GEN_TWOVEC_TEST(sqshrn2_16b_8h_1, "sqshrn2 v4.16b, v29.8h, #1", 4, 29)
+GEN_TWOVEC_TEST(sqshrn2_16b_8h_4, "sqshrn2 v4.16b, v29.8h, #4", 4, 29)
+GEN_TWOVEC_TEST(sqshrn2_16b_8h_8, "sqshrn2 v4.16b, v29.8h, #8", 4, 29)
+
+GEN_TWOVEC_TEST(uqshrn_2s_2d_1, "uqshrn v4.2s, v29.2d, #1", 4, 29)
+GEN_TWOVEC_TEST(uqshrn_2s_2d_17, "uqshrn v4.2s, v29.2d, #17", 4, 29)
+GEN_TWOVEC_TEST(uqshrn_2s_2d_32, "uqshrn v4.2s, v29.2d, #32", 4, 29)
+GEN_TWOVEC_TEST(uqshrn2_4s_2d_1, "uqshrn2 v4.4s, v29.2d, #1", 4, 29)
+GEN_TWOVEC_TEST(uqshrn2_4s_2d_17, "uqshrn2 v4.4s, v29.2d, #17", 4, 29)
+GEN_TWOVEC_TEST(uqshrn2_4s_2d_32, "uqshrn2 v4.4s, v29.2d, #32", 4, 29)
+GEN_TWOVEC_TEST(uqshrn_4h_4s_1, "uqshrn v4.4h, v29.4s, #1", 4, 29)
+GEN_TWOVEC_TEST(uqshrn_4h_4s_9, "uqshrn v4.4h, v29.4s, #9", 4, 29)
+GEN_TWOVEC_TEST(uqshrn_4h_4s_16, "uqshrn v4.4h, v29.4s, #16", 4, 29)
+GEN_TWOVEC_TEST(uqshrn2_8h_4s_1, "uqshrn2 v4.8h, v29.4s, #1", 4, 29)
+GEN_TWOVEC_TEST(uqshrn2_8h_4s_9, "uqshrn2 v4.8h, v29.4s, #9", 4, 29)
+GEN_TWOVEC_TEST(uqshrn2_8h_4s_16, "uqshrn2 v4.8h, v29.4s, #16", 4, 29)
+GEN_TWOVEC_TEST(uqshrn_8b_8h_1, "uqshrn v4.8b, v29.8h, #1", 4, 29)
+GEN_TWOVEC_TEST(uqshrn_8b_8h_4, "uqshrn v4.8b, v29.8h, #4", 4, 29)
+GEN_TWOVEC_TEST(uqshrn_8b_8h_8, "uqshrn v4.8b, v29.8h, #8", 4, 29)
+GEN_TWOVEC_TEST(uqshrn2_16b_8h_1, "uqshrn2 v4.16b, v29.8h, #1", 4, 29)
+GEN_TWOVEC_TEST(uqshrn2_16b_8h_4, "uqshrn2 v4.16b, v29.8h, #4", 4, 29)
+GEN_TWOVEC_TEST(uqshrn2_16b_8h_8, "uqshrn2 v4.16b, v29.8h, #8", 4, 29)
+
+GEN_TWOVEC_TEST(sqrshrun_2s_2d_1, "sqrshrun v4.2s, v29.2d, #1", 4, 29)
+GEN_TWOVEC_TEST(sqrshrun_2s_2d_17, "sqrshrun v4.2s, v29.2d, #17", 4, 29)
+GEN_TWOVEC_TEST(sqrshrun_2s_2d_32, "sqrshrun v4.2s, v29.2d, #32", 4, 29)
+GEN_TWOVEC_TEST(sqrshrun2_4s_2d_1, "sqrshrun2 v4.4s, v29.2d, #1", 4, 29)
+GEN_TWOVEC_TEST(sqrshrun2_4s_2d_17, "sqrshrun2 v4.4s, v29.2d, #17", 4, 29)
+GEN_TWOVEC_TEST(sqrshrun2_4s_2d_32, "sqrshrun2 v4.4s, v29.2d, #32", 4, 29)
+GEN_TWOVEC_TEST(sqrshrun_4h_4s_1, "sqrshrun v4.4h, v29.4s, #1", 4, 29)
+GEN_TWOVEC_TEST(sqrshrun_4h_4s_9, "sqrshrun v4.4h, v29.4s, #9", 4, 29)
+GEN_TWOVEC_TEST(sqrshrun_4h_4s_16, "sqrshrun v4.4h, v29.4s, #16", 4, 29)
+GEN_TWOVEC_TEST(sqrshrun2_8h_4s_1, "sqrshrun2 v4.8h, v29.4s, #1", 4, 29)
+GEN_TWOVEC_TEST(sqrshrun2_8h_4s_9, "sqrshrun2 v4.8h, v29.4s, #9", 4, 29)
+GEN_TWOVEC_TEST(sqrshrun2_8h_4s_16, "sqrshrun2 v4.8h, v29.4s, #16", 4, 29)
+GEN_TWOVEC_TEST(sqrshrun_8b_8h_1, "sqrshrun v4.8b, v29.8h, #1", 4, 29)
+GEN_TWOVEC_TEST(sqrshrun_8b_8h_4, "sqrshrun v4.8b, v29.8h, #4", 4, 29)
+GEN_TWOVEC_TEST(sqrshrun_8b_8h_8, "sqrshrun v4.8b, v29.8h, #8", 4, 29)
+GEN_TWOVEC_TEST(sqrshrun2_16b_8h_1, "sqrshrun2 v4.16b, v29.8h, #1", 4, 29)
+GEN_TWOVEC_TEST(sqrshrun2_16b_8h_4, "sqrshrun2 v4.16b, v29.8h, #4", 4, 29)
+GEN_TWOVEC_TEST(sqrshrun2_16b_8h_8, "sqrshrun2 v4.16b, v29.8h, #8", 4, 29)
+
+GEN_TWOVEC_TEST(sqshrun_2s_2d_1, "sqshrun v4.2s, v29.2d, #1", 4, 29)
+GEN_TWOVEC_TEST(sqshrun_2s_2d_17, "sqshrun v4.2s, v29.2d, #17", 4, 29)
+GEN_TWOVEC_TEST(sqshrun_2s_2d_32, "sqshrun v4.2s, v29.2d, #32", 4, 29)
+GEN_TWOVEC_TEST(sqshrun2_4s_2d_1, "sqshrun2 v4.4s, v29.2d, #1", 4, 29)
+GEN_TWOVEC_TEST(sqshrun2_4s_2d_17, "sqshrun2 v4.4s, v29.2d, #17", 4, 29)
+GEN_TWOVEC_TEST(sqshrun2_4s_2d_32, "sqshrun2 v4.4s, v29.2d, #32", 4, 29)
+GEN_TWOVEC_TEST(sqshrun_4h_4s_1, "sqshrun v4.4h, v29.4s, #1", 4, 29)
+GEN_TWOVEC_TEST(sqshrun_4h_4s_9, "sqshrun v4.4h, v29.4s, #9", 4, 29)
+GEN_TWOVEC_TEST(sqshrun_4h_4s_16, "sqshrun v4.4h, v29.4s, #16", 4, 29)
+GEN_TWOVEC_TEST(sqshrun2_8h_4s_1, "sqshrun2 v4.8h, v29.4s, #1", 4, 29)
+GEN_TWOVEC_TEST(sqshrun2_8h_4s_9, "sqshrun2 v4.8h, v29.4s, #9", 4, 29)
+GEN_TWOVEC_TEST(sqshrun2_8h_4s_16, "sqshrun2 v4.8h, v29.4s, #16", 4, 29)
+GEN_TWOVEC_TEST(sqshrun_8b_8h_1, "sqshrun v4.8b, v29.8h, #1", 4, 29)
+GEN_TWOVEC_TEST(sqshrun_8b_8h_4, "sqshrun v4.8b, v29.8h, #4", 4, 29)
+GEN_TWOVEC_TEST(sqshrun_8b_8h_8, "sqshrun v4.8b, v29.8h, #8", 4, 29)
+GEN_TWOVEC_TEST(sqshrun2_16b_8h_1, "sqshrun2 v4.16b, v29.8h, #1", 4, 29)
+GEN_TWOVEC_TEST(sqshrun2_16b_8h_4, "sqshrun2 v4.16b, v29.8h, #4", 4, 29)
+GEN_TWOVEC_TEST(sqshrun2_16b_8h_8, "sqshrun2 v4.16b, v29.8h, #8", 4, 29)
+
+GEN_TWOVEC_TEST(sqshl_d_d_0, "sqshl d5, d28, #0", 5, 28)
+GEN_TWOVEC_TEST(sqshl_d_d_32, "sqshl d5, d28, #32", 5, 28)
+GEN_TWOVEC_TEST(sqshl_d_d_63, "sqshl d5, d28, #63", 5, 28)
+GEN_TWOVEC_TEST(sqshl_s_s_0, "sqshl s5, s28, #0", 5, 28)
+GEN_TWOVEC_TEST(sqshl_s_s_16, "sqshl s5, s28, #16", 5, 28)
+GEN_TWOVEC_TEST(sqshl_s_s_31, "sqshl s5, s28, #31", 5, 28)
+GEN_TWOVEC_TEST(sqshl_h_h_0, "sqshl h5, h28, #0", 5, 28)
+GEN_TWOVEC_TEST(sqshl_h_h_8, "sqshl h5, h28, #8", 5, 28)
+GEN_TWOVEC_TEST(sqshl_h_h_15, "sqshl h5, h28, #15", 5, 28)
+GEN_TWOVEC_TEST(sqshl_b_b_0, "sqshl b5, b28, #0", 5, 28)
+GEN_TWOVEC_TEST(sqshl_b_b_4, "sqshl b5, b28, #4", 5, 28)
+GEN_TWOVEC_TEST(sqshl_b_b_7, "sqshl b5, b28, #7", 5, 28)
+
+GEN_TWOVEC_TEST(uqshl_d_d_0, "uqshl d5, d28, #0", 5, 28)
+GEN_TWOVEC_TEST(uqshl_d_d_32, "uqshl d5, d28, #32", 5, 28)
+GEN_TWOVEC_TEST(uqshl_d_d_63, "uqshl d5, d28, #63", 5, 28)
+GEN_TWOVEC_TEST(uqshl_s_s_0, "uqshl s5, s28, #0", 5, 28)
+GEN_TWOVEC_TEST(uqshl_s_s_16, "uqshl s5, s28, #16", 5, 28)
+GEN_TWOVEC_TEST(uqshl_s_s_31, "uqshl s5, s28, #31", 5, 28)
+GEN_TWOVEC_TEST(uqshl_h_h_0, "uqshl h5, h28, #0", 5, 28)
+GEN_TWOVEC_TEST(uqshl_h_h_8, "uqshl h5, h28, #8", 5, 28)
+GEN_TWOVEC_TEST(uqshl_h_h_15, "uqshl h5, h28, #15", 5, 28)
+GEN_TWOVEC_TEST(uqshl_b_b_0, "uqshl b5, b28, #0", 5, 28)
+GEN_TWOVEC_TEST(uqshl_b_b_4, "uqshl b5, b28, #4", 5, 28)
+GEN_TWOVEC_TEST(uqshl_b_b_7, "uqshl b5, b28, #7", 5, 28)
+
+GEN_TWOVEC_TEST(sqshlu_d_d_0, "sqshlu d5, d28, #0", 5, 28)
+GEN_TWOVEC_TEST(sqshlu_d_d_32, "sqshlu d5, d28, #32", 5, 28)
+GEN_TWOVEC_TEST(sqshlu_d_d_63, "sqshlu d5, d28, #63", 5, 28)
+GEN_TWOVEC_TEST(sqshlu_s_s_0, "sqshlu s5, s28, #0", 5, 28)
+GEN_TWOVEC_TEST(sqshlu_s_s_16, "sqshlu s5, s28, #16", 5, 28)
+GEN_TWOVEC_TEST(sqshlu_s_s_31, "sqshlu s5, s28, #31", 5, 28)
+GEN_TWOVEC_TEST(sqshlu_h_h_0, "sqshlu h5, h28, #0", 5, 28)
+GEN_TWOVEC_TEST(sqshlu_h_h_8, "sqshlu h5, h28, #8", 5, 28)
+GEN_TWOVEC_TEST(sqshlu_h_h_15, "sqshlu h5, h28, #15", 5, 28)
+GEN_TWOVEC_TEST(sqshlu_b_b_0, "sqshlu b5, b28, #0", 5, 28)
+GEN_TWOVEC_TEST(sqshlu_b_b_4, "sqshlu b5, b28, #4", 5, 28)
+GEN_TWOVEC_TEST(sqshlu_b_b_7, "sqshlu b5, b28, #7", 5, 28)
+
+GEN_TWOVEC_TEST(sqshl_2d_2d_0, "sqshl v6.2d, v27.2d, #0", 6, 27)
+GEN_TWOVEC_TEST(sqshl_2d_2d_32, "sqshl v6.2d, v27.2d, #32", 6, 27)
+GEN_TWOVEC_TEST(sqshl_2d_2d_63, "sqshl v6.2d, v27.2d, #63", 6, 27)
+GEN_TWOVEC_TEST(sqshl_4s_4s_0, "sqshl v6.4s, v27.4s, #0", 6, 27)
+GEN_TWOVEC_TEST(sqshl_4s_4s_16, "sqshl v6.4s, v27.4s, #16", 6, 27)
+GEN_TWOVEC_TEST(sqshl_4s_4s_31, "sqshl v6.4s, v27.4s, #31", 6, 27)
+GEN_TWOVEC_TEST(sqshl_2s_2s_0, "sqshl v6.2s, v27.2s, #0", 6, 27)
+GEN_TWOVEC_TEST(sqshl_2s_2s_16, "sqshl v6.2s, v27.2s, #16", 6, 27)
+GEN_TWOVEC_TEST(sqshl_2s_2s_31, "sqshl v6.2s, v27.2s, #31", 6, 27)
+GEN_TWOVEC_TEST(sqshl_8h_8h_0, "sqshl v6.8h, v27.8h, #0", 6, 27)
+GEN_TWOVEC_TEST(sqshl_8h_8h_8, "sqshl v6.8h, v27.8h, #8", 6, 27)
+GEN_TWOVEC_TEST(sqshl_8h_8h_15, "sqshl v6.8h, v27.8h, #15", 6, 27)
+GEN_TWOVEC_TEST(sqshl_4h_4h_0, "sqshl v6.4h, v27.4h, #0", 6, 27)
+GEN_TWOVEC_TEST(sqshl_4h_4h_8, "sqshl v6.4h, v27.4h, #8", 6, 27)
+GEN_TWOVEC_TEST(sqshl_4h_4h_15, "sqshl v6.4h, v27.4h, #15", 6, 27)
+GEN_TWOVEC_TEST(sqshl_16b_16b_0, "sqshl v6.16b, v27.16b, #0", 6, 27)
+GEN_TWOVEC_TEST(sqshl_16b_16b_3, "sqshl v6.16b, v27.16b, #3", 6, 27)
+GEN_TWOVEC_TEST(sqshl_16b_16b_7, "sqshl v6.16b, v27.16b, #7", 6, 27)
+GEN_TWOVEC_TEST(sqshl_8b_8b_0, "sqshl v6.8b, v27.8b, #0", 6, 27)
+GEN_TWOVEC_TEST(sqshl_8b_8b_3, "sqshl v6.8b, v27.8b, #3", 6, 27)
+GEN_TWOVEC_TEST(sqshl_8b_8b_7, "sqshl v6.8b, v27.8b, #7", 6, 27)
+
+GEN_TWOVEC_TEST(uqshl_2d_2d_0, "uqshl v6.2d, v27.2d, #0", 6, 27)
+GEN_TWOVEC_TEST(uqshl_2d_2d_32, "uqshl v6.2d, v27.2d, #32", 6, 27)
+GEN_TWOVEC_TEST(uqshl_2d_2d_63, "uqshl v6.2d, v27.2d, #63", 6, 27)
+GEN_TWOVEC_TEST(uqshl_4s_4s_0, "uqshl v6.4s, v27.4s, #0", 6, 27)
+GEN_TWOVEC_TEST(uqshl_4s_4s_16, "uqshl v6.4s, v27.4s, #16", 6, 27)
+GEN_TWOVEC_TEST(uqshl_4s_4s_31, "uqshl v6.4s, v27.4s, #31", 6, 27)
+GEN_TWOVEC_TEST(uqshl_2s_2s_0, "uqshl v6.2s, v27.2s, #0", 6, 27)
+GEN_TWOVEC_TEST(uqshl_2s_2s_16, "uqshl v6.2s, v27.2s, #16", 6, 27)
+GEN_TWOVEC_TEST(uqshl_2s_2s_31, "uqshl v6.2s, v27.2s, #31", 6, 27)
+GEN_TWOVEC_TEST(uqshl_8h_8h_0, "uqshl v6.8h, v27.8h, #0", 6, 27)
+GEN_TWOVEC_TEST(uqshl_8h_8h_8, "uqshl v6.8h, v27.8h, #8", 6, 27)
+GEN_TWOVEC_TEST(uqshl_8h_8h_15, "uqshl v6.8h, v27.8h, #15", 6, 27)
+GEN_TWOVEC_TEST(uqshl_4h_4h_0, "uqshl v6.4h, v27.4h, #0", 6, 27)
+GEN_TWOVEC_TEST(uqshl_4h_4h_8, "uqshl v6.4h, v27.4h, #8", 6, 27)
+GEN_TWOVEC_TEST(uqshl_4h_4h_15, "uqshl v6.4h, v27.4h, #15", 6, 27)
+GEN_TWOVEC_TEST(uqshl_16b_16b_0, "uqshl v6.16b, v27.16b, #0", 6, 27)
+GEN_TWOVEC_TEST(uqshl_16b_16b_3, "uqshl v6.16b, v27.16b, #3", 6, 27)
+GEN_TWOVEC_TEST(uqshl_16b_16b_7, "uqshl v6.16b, v27.16b, #7", 6, 27)
+GEN_TWOVEC_TEST(uqshl_8b_8b_0, "uqshl v6.8b, v27.8b, #0", 6, 27)
+GEN_TWOVEC_TEST(uqshl_8b_8b_3, "uqshl v6.8b, v27.8b, #3", 6, 27)
+GEN_TWOVEC_TEST(uqshl_8b_8b_7, "uqshl v6.8b, v27.8b, #7", 6, 27)
+
+GEN_TWOVEC_TEST(sqshlu_2d_2d_0, "sqshlu v6.2d, v27.2d, #0", 6, 27)
+GEN_TWOVEC_TEST(sqshlu_2d_2d_32, "sqshlu v6.2d, v27.2d, #32", 6, 27)
+GEN_TWOVEC_TEST(sqshlu_2d_2d_63, "sqshlu v6.2d, v27.2d, #63", 6, 27)
+GEN_TWOVEC_TEST(sqshlu_4s_4s_0, "sqshlu v6.4s, v27.4s, #0", 6, 27)
+GEN_TWOVEC_TEST(sqshlu_4s_4s_16, "sqshlu v6.4s, v27.4s, #16", 6, 27)
+GEN_TWOVEC_TEST(sqshlu_4s_4s_31, "sqshlu v6.4s, v27.4s, #31", 6, 27)
+GEN_TWOVEC_TEST(sqshlu_2s_2s_0, "sqshlu v6.2s, v27.2s, #0", 6, 27)
+GEN_TWOVEC_TEST(sqshlu_2s_2s_16, "sqshlu v6.2s, v27.2s, #16", 6, 27)
+GEN_TWOVEC_TEST(sqshlu_2s_2s_31, "sqshlu v6.2s, v27.2s, #31", 6, 27)
+GEN_TWOVEC_TEST(sqshlu_8h_8h_0, "sqshlu v6.8h, v27.8h, #0", 6, 27)
+GEN_TWOVEC_TEST(sqshlu_8h_8h_8, "sqshlu v6.8h, v27.8h, #8", 6, 27)
+GEN_TWOVEC_TEST(sqshlu_8h_8h_15, "sqshlu v6.8h, v27.8h, #15", 6, 27)
+GEN_TWOVEC_TEST(sqshlu_4h_4h_0, "sqshlu v6.4h, v27.4h, #0", 6, 27)
+GEN_TWOVEC_TEST(sqshlu_4h_4h_8, "sqshlu v6.4h, v27.4h, #8", 6, 27)
+GEN_TWOVEC_TEST(sqshlu_4h_4h_15, "sqshlu v6.4h, v27.4h, #15", 6, 27)
+GEN_TWOVEC_TEST(sqshlu_16b_16b_0, "sqshlu v6.16b, v27.16b, #0", 6, 27)
+GEN_TWOVEC_TEST(sqshlu_16b_16b_3, "sqshlu v6.16b, v27.16b, #3", 6, 27)
+GEN_TWOVEC_TEST(sqshlu_16b_16b_7, "sqshlu v6.16b, v27.16b, #7", 6, 27)
+GEN_TWOVEC_TEST(sqshlu_8b_8b_0, "sqshlu v6.8b, v27.8b, #0", 6, 27)
+GEN_TWOVEC_TEST(sqshlu_8b_8b_3, "sqshlu v6.8b, v27.8b, #3", 6, 27)
+GEN_TWOVEC_TEST(sqshlu_8b_8b_7, "sqshlu v6.8b, v27.8b, #7", 6, 27)
+
+GEN_TWOVEC_TEST(sqxtn_s_d, "sqxtn s31, d0", 31, 0)
+GEN_TWOVEC_TEST(sqxtn_h_s, "sqxtn h31, s0", 31, 0)
+GEN_TWOVEC_TEST(sqxtn_b_h, "sqxtn b31, h0", 31, 0)
+GEN_TWOVEC_TEST(uqxtn_s_d, "uqxtn s31, d0", 31, 0)
+GEN_TWOVEC_TEST(uqxtn_h_s, "uqxtn h31, s0", 31, 0)
+GEN_TWOVEC_TEST(uqxtn_b_h, "uqxtn b31, h0", 31, 0)
+GEN_TWOVEC_TEST(sqxtun_s_d, "sqxtun s31, d0", 31, 0)
+GEN_TWOVEC_TEST(sqxtun_h_s, "sqxtun h31, s0", 31, 0)
+GEN_TWOVEC_TEST(sqxtun_b_h, "sqxtun b31, h0", 31, 0)
+
+GEN_UNARY_TEST(sqxtn, 2s, 2d)
+GEN_UNARY_TEST(sqxtn2, 4s, 2d)
+GEN_UNARY_TEST(sqxtn, 4h, 4s)
+GEN_UNARY_TEST(sqxtn2, 8h, 4s)
+GEN_UNARY_TEST(sqxtn, 8b, 8h)
+GEN_UNARY_TEST(sqxtn2, 16b, 8h)
+
+GEN_UNARY_TEST(uqxtn, 2s, 2d)
+GEN_UNARY_TEST(uqxtn2, 4s, 2d)
+GEN_UNARY_TEST(uqxtn, 4h, 4s)
+GEN_UNARY_TEST(uqxtn2, 8h, 4s)
+GEN_UNARY_TEST(uqxtn, 8b, 8h)
+GEN_UNARY_TEST(uqxtn2, 16b, 8h)
+
+GEN_UNARY_TEST(sqxtun, 2s, 2d)
+GEN_UNARY_TEST(sqxtun2, 4s, 2d)
+GEN_UNARY_TEST(sqxtun, 4h, 4s)
+GEN_UNARY_TEST(sqxtun2, 8h, 4s)
+GEN_UNARY_TEST(sqxtun, 8b, 8h)
+GEN_UNARY_TEST(sqxtun2, 16b, 8h)
+
+GEN_THREEVEC_TEST(srhadd_4s_4s_4s,"srhadd v2.4s, v11.4s, v29.4s", 2, 11, 29)
+GEN_THREEVEC_TEST(srhadd_2s_2s_2s,"srhadd v2.2s, v11.2s, v29.2s", 2, 11, 29)
+GEN_THREEVEC_TEST(srhadd_8h_8h_8h,"srhadd v2.8h, v11.8h, v29.8h", 2, 11, 29)
+GEN_THREEVEC_TEST(srhadd_4h_4h_4h,"srhadd v2.4h, v11.4h, v29.4h", 2, 11, 29)
+GEN_THREEVEC_TEST(srhadd_16b_16b_16b,
+ "srhadd v2.16b, v11.16b, v29.16b", 2, 11, 29)
+GEN_THREEVEC_TEST(srhadd_8b_8b_8b,"srhadd v2.8b, v11.8b, v29.8b", 2, 11, 29)
+
+GEN_THREEVEC_TEST(urhadd_4s_4s_4s,"urhadd v2.4s, v11.4s, v29.4s", 2, 11, 29)
+GEN_THREEVEC_TEST(urhadd_2s_2s_2s,"urhadd v2.2s, v11.2s, v29.2s", 2, 11, 29)
+GEN_THREEVEC_TEST(urhadd_8h_8h_8h,"urhadd v2.8h, v11.8h, v29.8h", 2, 11, 29)
+GEN_THREEVEC_TEST(urhadd_4h_4h_4h,"urhadd v2.4h, v11.4h, v29.4h", 2, 11, 29)
+GEN_THREEVEC_TEST(urhadd_16b_16b_16b,
+ "urhadd v2.16b, v11.16b, v29.16b", 2, 11, 29)
+GEN_THREEVEC_TEST(urhadd_8b_8b_8b,"urhadd v2.8b, v11.8b, v29.8b", 2, 11, 29)
+
+GEN_THREEVEC_TEST(sshl_d_d_d, "sshl d29, d28, d27", 29, 28, 27)
+GEN_THREEVEC_TEST(ushl_d_d_d, "ushl d29, d28, d27", 29, 28, 27)
+
+GEN_THREEVEC_TEST(sshl_2d_2d_2d, "sshl v29.2d, v28.2d, v27.2d", 29,28,27)
+GEN_THREEVEC_TEST(sshl_4s_4s_4s, "sshl v29.4s, v28.4s, v27.4s", 29,28,27)
+GEN_THREEVEC_TEST(sshl_2s_2s_2s, "sshl v29.2s, v28.2s, v27.2s", 29,28,27)
+GEN_THREEVEC_TEST(sshl_8h_8h_8h, "sshl v29.8h, v28.8h, v27.8h", 29,28,27)
+GEN_THREEVEC_TEST(sshl_4h_4h_4h, "sshl v29.4h, v28.4h, v27.4h", 29,28,27)
+GEN_THREEVEC_TEST(sshl_16b_16b_16b, "sshl v29.16b, v28.16b, v27.16b", 29,28,27)
+GEN_THREEVEC_TEST(sshl_8b_8b_8b, "sshl v29.8b, v28.8b, v27.8b", 29,28,27)
+
+GEN_THREEVEC_TEST(ushl_2d_2d_2d, "ushl v29.2d, v28.2d, v27.2d", 29,28,27)
+GEN_THREEVEC_TEST(ushl_4s_4s_4s, "ushl v29.4s, v28.4s, v27.4s", 29,28,27)
+GEN_THREEVEC_TEST(ushl_2s_2s_2s, "ushl v29.2s, v28.2s, v27.2s", 29,28,27)
+GEN_THREEVEC_TEST(ushl_8h_8h_8h, "ushl v29.8h, v28.8h, v27.8h", 29,28,27)
+GEN_THREEVEC_TEST(ushl_4h_4h_4h, "ushl v29.4h, v28.4h, v27.4h", 29,28,27)
+GEN_THREEVEC_TEST(ushl_16b_16b_16b, "ushl v29.16b, v28.16b, v27.16b", 29,28,27)
+GEN_THREEVEC_TEST(ushl_8b_8b_8b, "ushl v29.8b, v28.8b, v27.8b", 29,28,27)
+
+GEN_TWOVEC_TEST(shl_d_d_0, "shl d5, d28, #0", 5, 28)
+GEN_TWOVEC_TEST(shl_d_d_32, "shl d5, d28, #32", 5, 28)
+GEN_TWOVEC_TEST(shl_d_d_63, "shl d5, d28, #63", 5, 28)
+
+GEN_TWOVEC_TEST(sshr_d_d_1, "sshr d5, d28, #1", 5, 28)
+GEN_TWOVEC_TEST(sshr_d_d_32, "sshr d5, d28, #32", 5, 28)
+GEN_TWOVEC_TEST(sshr_d_d_64, "sshr d5, d28, #64", 5, 28)
+
+GEN_TWOVEC_TEST(ushr_d_d_1, "ushr d5, d28, #1", 5, 28)
+GEN_TWOVEC_TEST(ushr_d_d_32, "ushr d5, d28, #32", 5, 28)
+GEN_TWOVEC_TEST(ushr_d_d_64, "ushr d5, d28, #64", 5, 28)
+
+GEN_TWOVEC_TEST(ssra_d_d_1, "ssra d5, d28, #1", 5, 28)
+GEN_TWOVEC_TEST(ssra_d_d_32, "ssra d5, d28, #32", 5, 28)
+GEN_TWOVEC_TEST(ssra_d_d_64, "ssra d5, d28, #64", 5, 28)
+
+GEN_TWOVEC_TEST(usra_d_d_1, "usra d5, d28, #1", 5, 28)
+GEN_TWOVEC_TEST(usra_d_d_32, "usra d5, d28, #32", 5, 28)
+GEN_TWOVEC_TEST(usra_d_d_64, "usra d5, d28, #64", 5, 28)
+
+GEN_TWOVEC_TEST(ssra_2d_2d_1, "ssra v6.2d, v27.2d, #1", 6, 27)
+GEN_TWOVEC_TEST(ssra_2d_2d_32, "ssra v6.2d, v27.2d, #32", 6, 27)
+GEN_TWOVEC_TEST(ssra_2d_2d_64, "ssra v6.2d, v27.2d, #64", 6, 27)
+GEN_TWOVEC_TEST(ssra_4s_4s_1, "ssra v6.4s, v27.4s, #1", 6, 27)
+GEN_TWOVEC_TEST(ssra_4s_4s_16, "ssra v6.4s, v27.4s, #16", 6, 27)
+GEN_TWOVEC_TEST(ssra_4s_4s_32, "ssra v6.4s, v27.4s, #32", 6, 27)
+GEN_TWOVEC_TEST(ssra_2s_2s_1, "ssra v6.2s, v27.2s, #1", 6, 27)
+GEN_TWOVEC_TEST(ssra_2s_2s_16, "ssra v6.2s, v27.2s, #16", 6, 27)
+GEN_TWOVEC_TEST(ssra_2s_2s_32, "ssra v6.2s, v27.2s, #32", 6, 27)
+GEN_TWOVEC_TEST(ssra_8h_8h_1, "ssra v6.8h, v27.8h, #1", 6, 27)
+GEN_TWOVEC_TEST(ssra_8h_8h_8, "ssra v6.8h, v27.8h, #8", 6, 27)
+GEN_TWOVEC_TEST(ssra_8h_8h_16, "ssra v6.8h, v27.8h, #16", 6, 27)
+GEN_TWOVEC_TEST(ssra_4h_4h_1, "ssra v6.4h, v27.4h, #1", 6, 27)
+GEN_TWOVEC_TEST(ssra_4h_4h_8, "ssra v6.4h, v27.4h, #8", 6, 27)
+GEN_TWOVEC_TEST(ssra_4h_4h_16, "ssra v6.4h, v27.4h, #16", 6, 27)
+GEN_TWOVEC_TEST(ssra_16b_16b_1, "ssra v6.16b, v27.16b, #1", 6, 27)
+GEN_TWOVEC_TEST(ssra_16b_16b_3, "ssra v6.16b, v27.16b, #3", 6, 27)
+GEN_TWOVEC_TEST(ssra_16b_16b_8, "ssra v6.16b, v27.16b, #8", 6, 27)
+GEN_TWOVEC_TEST(ssra_8b_8b_1, "ssra v6.8b, v27.8b, #1", 6, 27)
+GEN_TWOVEC_TEST(ssra_8b_8b_3, "ssra v6.8b, v27.8b, #3", 6, 27)
+GEN_TWOVEC_TEST(ssra_8b_8b_8, "ssra v6.8b, v27.8b, #8", 6, 27)
+
+GEN_TWOVEC_TEST(usra_2d_2d_1, "usra v6.2d, v27.2d, #1", 6, 27)
+GEN_TWOVEC_TEST(usra_2d_2d_32, "usra v6.2d, v27.2d, #32", 6, 27)
+GEN_TWOVEC_TEST(usra_2d_2d_64, "usra v6.2d, v27.2d, #64", 6, 27)
+GEN_TWOVEC_TEST(usra_4s_4s_1, "usra v6.4s, v27.4s, #1", 6, 27)
+GEN_TWOVEC_TEST(usra_4s_4s_16, "usra v6.4s, v27.4s, #16", 6, 27)
+GEN_TWOVEC_TEST(usra_4s_4s_32, "usra v6.4s, v27.4s, #32", 6, 27)
+GEN_TWOVEC_TEST(usra_2s_2s_1, "usra v6.2s, v27.2s, #1", 6, 27)
+GEN_TWOVEC_TEST(usra_2s_2s_16, "usra v6.2s, v27.2s, #16", 6, 27)
+GEN_TWOVEC_TEST(usra_2s_2s_32, "usra v6.2s, v27.2s, #32", 6, 27)
+GEN_TWOVEC_TEST(usra_8h_8h_1, "usra v6.8h, v27.8h, #1", 6, 27)
+GEN_TWOVEC_TEST(usra_8h_8h_8, "usra v6.8h, v27.8h, #8", 6, 27)
+GEN_TWOVEC_TEST(usra_8h_8h_16, "usra v6.8h, v27.8h, #16", 6, 27)
+GEN_TWOVEC_TEST(usra_4h_4h_1, "usra v6.4h, v27.4h, #1", 6, 27)
+GEN_TWOVEC_TEST(usra_4h_4h_8, "usra v6.4h, v27.4h, #8", 6, 27)
+GEN_TWOVEC_TEST(usra_4h_4h_16, "usra v6.4h, v27.4h, #16", 6, 27)
+GEN_TWOVEC_TEST(usra_16b_16b_1, "usra v6.16b, v27.16b, #1", 6, 27)
+GEN_TWOVEC_TEST(usra_16b_16b_3, "usra v6.16b, v27.16b, #3", 6, 27)
+GEN_TWOVEC_TEST(usra_16b_16b_8, "usra v6.16b, v27.16b, #8", 6, 27)
+GEN_TWOVEC_TEST(usra_8b_8b_1, "usra v6.8b, v27.8b, #1", 6, 27)
+GEN_TWOVEC_TEST(usra_8b_8b_3, "usra v6.8b, v27.8b, #3", 6, 27)
+GEN_TWOVEC_TEST(usra_8b_8b_8, "usra v6.8b, v27.8b, #8", 6, 27)
+
+GEN_THREEVEC_TEST(srshl_d_d_d, "srshl d29, d28, d27", 29, 28, 27)
+GEN_THREEVEC_TEST(urshl_d_d_d, "urshl d29, d28, d27", 29, 28, 27)
+
+GEN_THREEVEC_TEST(srshl_2d_2d_2d, "srshl v29.2d, v28.2d, v27.2d", 29,28,27)
+GEN_THREEVEC_TEST(srshl_4s_4s_4s, "srshl v29.4s, v28.4s, v27.4s", 29,28,27)
+GEN_THREEVEC_TEST(srshl_2s_2s_2s, "srshl v29.2s, v28.2s, v27.2s", 29,28,27)
+GEN_THREEVEC_TEST(srshl_8h_8h_8h, "srshl v29.8h, v28.8h, v27.8h", 29,28,27)
+GEN_THREEVEC_TEST(srshl_4h_4h_4h, "srshl v29.4h, v28.4h, v27.4h", 29,28,27)
+GEN_THREEVEC_TEST(srshl_16b_16b_16b,"srshl v29.16b, v28.16b, v27.16b", 29,28,27)
+GEN_THREEVEC_TEST(srshl_8b_8b_8b, "srshl v29.8b, v28.8b, v27.8b", 29,28,27)
+
+GEN_THREEVEC_TEST(urshl_2d_2d_2d, "urshl v29.2d, v28.2d, v27.2d", 29,28,27)
+GEN_THREEVEC_TEST(urshl_4s_4s_4s, "urshl v29.4s, v28.4s, v27.4s", 29,28,27)
+GEN_THREEVEC_TEST(urshl_2s_2s_2s, "urshl v29.2s, v28.2s, v27.2s", 29,28,27)
+GEN_THREEVEC_TEST(urshl_8h_8h_8h, "urshl v29.8h, v28.8h, v27.8h", 29,28,27)
+GEN_THREEVEC_TEST(urshl_4h_4h_4h, "urshl v29.4h, v28.4h, v27.4h", 29,28,27)
+GEN_THREEVEC_TEST(urshl_16b_16b_16b,"urshl v29.16b, v28.16b, v27.16b", 29,28,27)
+GEN_THREEVEC_TEST(urshl_8b_8b_8b, "urshl v29.8b, v28.8b, v27.8b", 29,28,27)
+
+GEN_TWOVEC_TEST(srshr_d_d_1, "srshr d5, d28, #1", 5, 28)
+GEN_TWOVEC_TEST(srshr_d_d_32, "srshr d5, d28, #32", 5, 28)
+GEN_TWOVEC_TEST(srshr_d_d_64, "srshr d5, d28, #64", 5, 28)
+
+GEN_TWOVEC_TEST(urshr_d_d_1, "urshr d5, d28, #1", 5, 28)
+GEN_TWOVEC_TEST(urshr_d_d_32, "urshr d5, d28, #32", 5, 28)
+GEN_TWOVEC_TEST(urshr_d_d_64, "urshr d5, d28, #64", 5, 28)
+
+GEN_TWOVEC_TEST(srshr_2d_2d_1, "srshr v6.2d, v27.2d, #1", 6, 27)
+GEN_TWOVEC_TEST(srshr_2d_2d_32, "srshr v6.2d, v27.2d, #32", 6, 27)
+GEN_TWOVEC_TEST(srshr_2d_2d_64, "srshr v6.2d, v27.2d, #64", 6, 27)
+GEN_TWOVEC_TEST(srshr_4s_4s_1, "srshr v6.4s, v27.4s, #1", 6, 27)
+GEN_TWOVEC_TEST(srshr_4s_4s_16, "srshr v6.4s, v27.4s, #16", 6, 27)
+GEN_TWOVEC_TEST(srshr_4s_4s_32, "srshr v6.4s, v27.4s, #32", 6, 27)
+GEN_TWOVEC_TEST(srshr_2s_2s_1, "srshr v6.2s, v27.2s, #1", 6, 27)
+GEN_TWOVEC_TEST(srshr_2s_2s_16, "srshr v6.2s, v27.2s, #16", 6, 27)
+GEN_TWOVEC_TEST(srshr_2s_2s_32, "srshr v6.2s, v27.2s, #32", 6, 27)
+GEN_TWOVEC_TEST(srshr_8h_8h_1, "srshr v6.8h, v27.8h, #1", 6, 27)
+GEN_TWOVEC_TEST(srshr_8h_8h_8, "srshr v6.8h, v27.8h, #8", 6, 27)
+GEN_TWOVEC_TEST(srshr_8h_8h_16, "srshr v6.8h, v27.8h, #16", 6, 27)
+GEN_TWOVEC_TEST(srshr_4h_4h_1, "srshr v6.4h, v27.4h, #1", 6, 27)
+GEN_TWOVEC_TEST(srshr_4h_4h_8, "srshr v6.4h, v27.4h, #8", 6, 27)
+GEN_TWOVEC_TEST(srshr_4h_4h_16, "srshr v6.4h, v27.4h, #16", 6, 27)
+GEN_TWOVEC_TEST(srshr_16b_16b_1, "srshr v6.16b, v27.16b, #1", 6, 27)
+GEN_TWOVEC_TEST(srshr_16b_16b_3, "srshr v6.16b, v27.16b, #3", 6, 27)
+GEN_TWOVEC_TEST(srshr_16b_16b_8, "srshr v6.16b, v27.16b, #8", 6, 27)
+GEN_TWOVEC_TEST(srshr_8b_8b_1, "srshr v6.8b, v27.8b, #1", 6, 27)
+GEN_TWOVEC_TEST(srshr_8b_8b_3, "srshr v6.8b, v27.8b, #3", 6, 27)
+GEN_TWOVEC_TEST(srshr_8b_8b_8, "srshr v6.8b, v27.8b, #8", 6, 27)
+
+GEN_TWOVEC_TEST(urshr_2d_2d_1, "urshr v6.2d, v27.2d, #1", 6, 27)
+GEN_TWOVEC_TEST(urshr_2d_2d_32, "urshr v6.2d, v27.2d, #32", 6, 27)
+GEN_TWOVEC_TEST(urshr_2d_2d_64, "urshr v6.2d, v27.2d, #64", 6, 27)
+GEN_TWOVEC_TEST(urshr_4s_4s_1, "urshr v6.4s, v27.4s, #1", 6, 27)
+GEN_TWOVEC_TEST(urshr_4s_4s_16, "urshr v6.4s, v27.4s, #16", 6, 27)
+GEN_TWOVEC_TEST(urshr_4s_4s_32, "urshr v6.4s, v27.4s, #32", 6, 27)
+GEN_TWOVEC_TEST(urshr_2s_2s_1, "urshr v6.2s, v27.2s, #1", 6, 27)
+GEN_TWOVEC_TEST(urshr_2s_2s_16, "urshr v6.2s, v27.2s, #16", 6, 27)
+GEN_TWOVEC_TEST(urshr_2s_2s_32, "urshr v6.2s, v27.2s, #32", 6, 27)
+GEN_TWOVEC_TEST(urshr_8h_8h_1, "urshr v6.8h, v27.8h, #1", 6, 27)
+GEN_TWOVEC_TEST(urshr_8h_8h_8, "urshr v6.8h, v27.8h, #8", 6, 27)
+GEN_TWOVEC_TEST(urshr_8h_8h_16, "urshr v6.8h, v27.8h, #16", 6, 27)
+GEN_TWOVEC_TEST(urshr_4h_4h_1, "urshr v6.4h, v27.4h, #1", 6, 27)
+GEN_TWOVEC_TEST(urshr_4h_4h_8, "urshr v6.4h, v27.4h, #8", 6, 27)
+GEN_TWOVEC_TEST(urshr_4h_4h_16, "urshr v6.4h, v27.4h, #16", 6, 27)
+GEN_TWOVEC_TEST(urshr_16b_16b_1, "urshr v6.16b, v27.16b, #1", 6, 27)
+GEN_TWOVEC_TEST(urshr_16b_16b_3, "urshr v6.16b, v27.16b, #3", 6, 27)
+GEN_TWOVEC_TEST(urshr_16b_16b_8, "urshr v6.16b, v27.16b, #8", 6, 27)
+GEN_TWOVEC_TEST(urshr_8b_8b_1, "urshr v6.8b, v27.8b, #1", 6, 27)
+GEN_TWOVEC_TEST(urshr_8b_8b_3, "urshr v6.8b, v27.8b, #3", 6, 27)
+GEN_TWOVEC_TEST(urshr_8b_8b_8, "urshr v6.8b, v27.8b, #8", 6, 27)
+
+GEN_TWOVEC_TEST(srsra_d_d_1, "srsra d5, d28, #1", 5, 28)
+GEN_TWOVEC_TEST(srsra_d_d_32, "srsra d5, d28, #32", 5, 28)
+GEN_TWOVEC_TEST(srsra_d_d_64, "srsra d5, d28, #64", 5, 28)
+
+GEN_TWOVEC_TEST(ursra_d_d_1, "ursra d5, d28, #1", 5, 28)
+GEN_TWOVEC_TEST(ursra_d_d_32, "ursra d5, d28, #32", 5, 28)
+GEN_TWOVEC_TEST(ursra_d_d_64, "ursra d5, d28, #64", 5, 28)
+
+GEN_TWOVEC_TEST(srsra_2d_2d_1, "srsra v6.2d, v27.2d, #1", 6, 27)
+GEN_TWOVEC_TEST(srsra_2d_2d_32, "srsra v6.2d, v27.2d, #32", 6, 27)
+GEN_TWOVEC_TEST(srsra_2d_2d_64, "srsra v6.2d, v27.2d, #64", 6, 27)
+GEN_TWOVEC_TEST(srsra_4s_4s_1, "srsra v6.4s, v27.4s, #1", 6, 27)
+GEN_TWOVEC_TEST(srsra_4s_4s_16, "srsra v6.4s, v27.4s, #16", 6, 27)
+GEN_TWOVEC_TEST(srsra_4s_4s_32, "srsra v6.4s, v27.4s, #32", 6, 27)
+GEN_TWOVEC_TEST(srsra_2s_2s_1, "srsra v6.2s, v27.2s, #1", 6, 27)
+GEN_TWOVEC_TEST(srsra_2s_2s_16, "srsra v6.2s, v27.2s, #16", 6, 27)
+GEN_TWOVEC_TEST(srsra_2s_2s_32, "srsra v6.2s, v27.2s, #32", 6, 27)
+GEN_TWOVEC_TEST(srsra_8h_8h_1, "srsra v6.8h, v27.8h, #1", 6, 27)
+GEN_TWOVEC_TEST(srsra_8h_8h_8, "srsra v6.8h, v27.8h, #8", 6, 27)
+GEN_TWOVEC_TEST(srsra_8h_8h_16, "srsra v6.8h, v27.8h, #16", 6, 27)
+GEN_TWOVEC_TEST(srsra_4h_4h_1, "srsra v6.4h, v27.4h, #1", 6, 27)
+GEN_TWOVEC_TEST(srsra_4h_4h_8, "srsra v6.4h, v27.4h, #8", 6, 27)
+GEN_TWOVEC_TEST(srsra_4h_4h_16, "srsra v6.4h, v27.4h, #16", 6, 27)
+GEN_TWOVEC_TEST(srsra_16b_16b_1, "srsra v6.16b, v27.16b, #1", 6, 27)
+GEN_TWOVEC_TEST(srsra_16b_16b_3, "srsra v6.16b, v27.16b, #3", 6, 27)
+GEN_TWOVEC_TEST(srsra_16b_16b_8, "srsra v6.16b, v27.16b, #8", 6, 27)
+GEN_TWOVEC_TEST(srsra_8b_8b_1, "srsra v6.8b, v27.8b, #1", 6, 27)
+GEN_TWOVEC_TEST(srsra_8b_8b_3, "srsra v6.8b, v27.8b, #3", 6, 27)
+GEN_TWOVEC_TEST(srsra_8b_8b_8, "srsra v6.8b, v27.8b, #8", 6, 27)
+
+GEN_TWOVEC_TEST(ursra_2d_2d_1, "ursra v6.2d, v27.2d, #1", 6, 27)
+GEN_TWOVEC_TEST(ursra_2d_2d_32, "ursra v6.2d, v27.2d, #32", 6, 27)
+GEN_TWOVEC_TEST(ursra_2d_2d_64, "ursra v6.2d, v27.2d, #64", 6, 27)
+GEN_TWOVEC_TEST(ursra_4s_4s_1, "ursra v6.4s, v27.4s, #1", 6, 27)
+GEN_TWOVEC_TEST(ursra_4s_4s_16, "ursra v6.4s, v27.4s, #16", 6, 27)
+GEN_TWOVEC_TEST(ursra_4s_4s_32, "ursra v6.4s, v27.4s, #32", 6, 27)
+GEN_TWOVEC_TEST(ursra_2s_2s_1, "ursra v6.2s, v27.2s, #1", 6, 27)
+GEN_TWOVEC_TEST(ursra_2s_2s_16, "ursra v6.2s, v27.2s, #16", 6, 27)
+GEN_TWOVEC_TEST(ursra_2s_2s_32, "ursra v6.2s, v27.2s, #32", 6, 27)
+GEN_TWOVEC_TEST(ursra_8h_8h_1, "ursra v6.8h, v27.8h, #1", 6, 27)
+GEN_TWOVEC_TEST(ursra_8h_8h_8, "ursra v6.8h, v27.8h, #8", 6, 27)
+GEN_TWOVEC_TEST(ursra_8h_8h_16, "ursra v6.8h, v27.8h, #16", 6, 27)
+GEN_TWOVEC_TEST(ursra_4h_4h_1, "ursra v6.4h, v27.4h, #1", 6, 27)
+GEN_TWOVEC_TEST(ursra_4h_4h_8, "ursra v6.4h, v27.4h, #8", 6, 27)
+GEN_TWOVEC_TEST(ursra_4h_4h_16, "ursra v6.4h, v27.4h, #16", 6, 27)
+GEN_TWOVEC_TEST(ursra_16b_16b_1, "ursra v6.16b, v27.16b, #1", 6, 27)
+GEN_TWOVEC_TEST(ursra_16b_16b_3, "ursra v6.16b, v27.16b, #3", 6, 27)
+GEN_TWOVEC_TEST(ursra_16b_16b_8, "ursra v6.16b, v27.16b, #8", 6, 27)
+GEN_TWOVEC_TEST(ursra_8b_8b_1, "ursra v6.8b, v27.8b, #1", 6, 27)
+GEN_TWOVEC_TEST(ursra_8b_8b_3, "ursra v6.8b, v27.8b, #3", 6, 27)
+GEN_TWOVEC_TEST(ursra_8b_8b_8, "ursra v6.8b, v27.8b, #8", 6, 27)
+
+GEN_TWOVEC_TEST(suqadd_d_d, "suqadd d22, d23", 22, 23)
+GEN_TWOVEC_TEST(suqadd_s_s, "suqadd s22, s23", 22, 23)
+GEN_TWOVEC_TEST(suqadd_h_h, "suqadd h22, h23", 22, 23)
+GEN_TWOVEC_TEST(suqadd_b_b, "suqadd b22, b23", 22, 23)
+
+GEN_TWOVEC_TEST(suqadd_2d_2d, "suqadd v6.2d, v27.2d", 6, 27)
+GEN_TWOVEC_TEST(suqadd_4s_4s, "suqadd v6.4s, v27.4s", 6, 27)
+GEN_TWOVEC_TEST(suqadd_2s_2s, "suqadd v6.2s, v27.2s", 6, 27)
+GEN_TWOVEC_TEST(suqadd_8h_8h, "suqadd v6.8h, v27.8h", 6, 27)
+GEN_TWOVEC_TEST(suqadd_4h_4h, "suqadd v6.4h, v27.4h", 6, 27)
+GEN_TWOVEC_TEST(suqadd_16b_16b, "suqadd v6.16b, v27.16b", 6, 27)
+GEN_TWOVEC_TEST(suqadd_8b_8b, "suqadd v6.8b, v27.8b", 6, 27)
+
+GEN_TWOVEC_TEST(usqadd_d_d, "usqadd d22, d23", 22, 23)
+GEN_TWOVEC_TEST(usqadd_s_s, "usqadd s22, s23", 22, 23)
+GEN_TWOVEC_TEST(usqadd_h_h, "usqadd h22, h23", 22, 23)
+GEN_TWOVEC_TEST(usqadd_b_b, "usqadd b22, b23", 22, 23)
+
+GEN_TWOVEC_TEST(usqadd_2d_2d, "usqadd v6.2d, v27.2d", 6, 27)
+GEN_TWOVEC_TEST(usqadd_4s_4s, "usqadd v6.4s, v27.4s", 6, 27)
+GEN_TWOVEC_TEST(usqadd_2s_2s, "usqadd v6.2s, v27.2s", 6, 27)
+GEN_TWOVEC_TEST(usqadd_8h_8h, "usqadd v6.8h, v27.8h", 6, 27)
+GEN_TWOVEC_TEST(usqadd_4h_4h, "usqadd v6.4h, v27.4h", 6, 27)
+GEN_TWOVEC_TEST(usqadd_16b_16b, "usqadd v6.16b, v27.16b", 6, 27)
+GEN_TWOVEC_TEST(usqadd_8b_8b, "usqadd v6.8b, v27.8b", 6, 27)
+
/* ---------------------------------------------------------------- */
/* -- main() -- */
@@ -3937,134 +4460,618 @@
// uqshrn{2} 2s/4s_2d, 4h/8h_4s, 8b/16b_8h, #imm
// sqrshrun{2} 2s/4s_2d, 4h/8h_4s, 8b/16b_8h, #imm
// sqshrun{2} 2s/4s_2d, 4h/8h_4s, 8b/16b_8h, #imm
+ test_sqrshrn_2s_2d_1(TyD);
+ test_sqrshrn_2s_2d_17(TyD);
+ test_sqrshrn_2s_2d_32(TyD);
+ test_sqrshrn2_4s_2d_1(TyD);
+ test_sqrshrn2_4s_2d_17(TyD);
+ test_sqrshrn2_4s_2d_32(TyD);
+ test_sqrshrn_4h_4s_1(TyS);
+ test_sqrshrn_4h_4s_9(TyS);
+ test_sqrshrn_4h_4s_16(TyS);
+ test_sqrshrn2_8h_4s_1(TyS);
+ test_sqrshrn2_8h_4s_9(TyS);
+ test_sqrshrn2_8h_4s_16(TyS);
+ test_sqrshrn_8b_8h_1(TyH);
+ test_sqrshrn_8b_8h_4(TyH);
+ test_sqrshrn_8b_8h_8(TyH);
+ test_sqrshrn2_16b_8h_1(TyH);
+ test_sqrshrn2_16b_8h_4(TyH);
+ test_sqrshrn2_16b_8h_8(TyH);
+ test_uqrshrn_2s_2d_1(TyD);
+ test_uqrshrn_2s_2d_17(TyD);
+ test_uqrshrn_2s_2d_32(TyD);
+ test_uqrshrn2_4s_2d_1(TyD);
+ test_uqrshrn2_4s_2d_17(TyD);
+ test_uqrshrn2_4s_2d_32(TyD);
+ test_uqrshrn_4h_4s_1(TyS);
+ test_uqrshrn_4h_4s_9(TyS);
+ test_uqrshrn_4h_4s_16(TyS);
+ test_uqrshrn2_8h_4s_1(TyS);
+ test_uqrshrn2_8h_4s_9(TyS);
+ test_uqrshrn2_8h_4s_16(TyS);
+ test_uqrshrn_8b_8h_1(TyH);
+ test_uqrshrn_8b_8h_4(TyH);
+ test_uqrshrn_8b_8h_8(TyH);
+ test_uqrshrn2_16b_8h_1(TyH);
+ test_uqrshrn2_16b_8h_4(TyH);
+ test_uqrshrn2_16b_8h_8(TyH);
+ test_sqshrn_2s_2d_1(TyD);
+ test_sqshrn_2s_2d_17(TyD);
+ test_sqshrn_2s_2d_32(TyD);
+ test_sqshrn2_4s_2d_1(TyD);
+ test_sqshrn2_4s_2d_17(TyD);
+ test_sqshrn2_4s_2d_32(TyD);
+ test_sqshrn_4h_4s_1(TyS);
+ test_sqshrn_4h_4s_9(TyS);
+ test_sqshrn_4h_4s_16(TyS);
+ test_sqshrn2_8h_4s_1(TyS);
+ test_sqshrn2_8h_4s_9(TyS);
+ test_sqshrn2_8h_4s_16(TyS);
+ test_sqshrn_8b_8h_1(TyH);
+ test_sqshrn_8b_8h_4(TyH);
+ test_sqshrn_8b_8h_8(TyH);
+ test_sqshrn2_16b_8h_1(TyH);
+ test_sqshrn2_16b_8h_4(TyH);
+ test_sqshrn2_16b_8h_8(TyH);
+ test_uqshrn_2s_2d_1(TyD);
+ test_uqshrn_2s_2d_17(TyD);
+ test_uqshrn_2s_2d_32(TyD);
+ test_uqshrn2_4s_2d_1(TyD);
+ test_uqshrn2_4s_2d_17(TyD);
+ test_uqshrn2_4s_2d_32(TyD);
+ test_uqshrn_4h_4s_1(TyS);
+ test_uqshrn_4h_4s_9(TyS);
+ test_uqshrn_4h_4s_16(TyS);
+ test_uqshrn2_8h_4s_1(TyS);
+ test_uqshrn2_8h_4s_9(TyS);
+ test_uqshrn2_8h_4s_16(TyS);
+ test_uqshrn_8b_8h_1(TyH);
+ test_uqshrn_8b_8h_4(TyH);
+ test_uqshrn_8b_8h_8(TyH);
+ test_uqshrn2_16b_8h_1(TyH);
+ test_uqshrn2_16b_8h_4(TyH);
+ test_uqshrn2_16b_8h_8(TyH);
+ test_sqrshrun_2s_2d_1(TyD);
+ test_sqrshrun_2s_2d_17(TyD);
+ test_sqrshrun_2s_2d_32(TyD);
+ test_sqrshrun2_4s_2d_1(TyD);
+ test_sqrshrun2_4s_2d_17(TyD);
+ test_sqrshrun2_4s_2d_32(TyD);
+ test_sqrshrun_4h_4s_1(TyS);
+ test_sqrshrun_4h_4s_9(TyS);
+ test_sqrshrun_4h_4s_16(TyS);
+ test_sqrshrun2_8h_4s_1(TyS);
+ test_sqrshrun2_8h_4s_9(TyS);
+ test_sqrshrun2_8h_4s_16(TyS);
+ test_sqrshrun_8b_8h_1(TyH);
+ test_sqrshrun_8b_8h_4(TyH);
+ test_sqrshrun_8b_8h_8(TyH);
+ test_sqrshrun2_16b_8h_1(TyH);
+ test_sqrshrun2_16b_8h_4(TyH);
+ test_sqrshrun2_16b_8h_8(TyH);
+ test_sqshrun_2s_2d_1(TyD);
+ test_sqshrun_2s_2d_17(TyD);
+ test_sqshrun_2s_2d_32(TyD);
+ test_sqshrun2_4s_2d_1(TyD);
+ test_sqshrun2_4s_2d_17(TyD);
+ test_sqshrun2_4s_2d_32(TyD);
+ test_sqshrun_4h_4s_1(TyS);
+ test_sqshrun_4h_4s_9(TyS);
+ test_sqshrun_4h_4s_16(TyS);
+ test_sqshrun2_8h_4s_1(TyS);
+ test_sqshrun2_8h_4s_9(TyS);
+ test_sqshrun2_8h_4s_16(TyS);
+ test_sqshrun_8b_8h_1(TyH);
+ test_sqshrun_8b_8h_4(TyH);
+ test_sqshrun_8b_8h_8(TyH);
+ test_sqshrun2_16b_8h_1(TyH);
+ test_sqshrun2_16b_8h_4(TyH);
+ test_sqshrun2_16b_8h_8(TyH);
// sqshl (imm) d,s,h,b _#imm
// uqshl (imm) d,s,h,b _#imm
// sqshlu (imm) d,s,h,b _#imm
+ test_sqshl_d_d_0(TyD);
+ test_sqshl_d_d_32(TyD);
+ test_sqshl_d_d_63(TyD);
+ test_sqshl_s_s_0(TyS);
+ test_sqshl_s_s_16(TyS);
+ test_sqshl_s_s_31(TyS);
+ test_sqshl_h_h_0(TyH);
+ test_sqshl_h_h_8(TyH);
+ test_sqshl_h_h_15(TyH);
+ test_sqshl_b_b_0(TyB);
+ test_sqshl_b_b_4(TyB);
+ test_sqshl_b_b_7(TyB);
+ test_uqshl_d_d_0(TyD);
+ test_uqshl_d_d_32(TyD);
+ test_uqshl_d_d_63(TyD);
+ test_uqshl_s_s_0(TyS);
+ test_uqshl_s_s_16(TyS);
+ test_uqshl_s_s_31(TyS);
+ test_uqshl_h_h_0(TyH);
+ test_uqshl_h_h_8(TyH);
+ test_uqshl_h_h_15(TyH);
+ test_uqshl_b_b_0(TyB);
+ test_uqshl_b_b_4(TyB);
+ test_uqshl_b_b_7(TyB);
+ test_sqshlu_d_d_0(TyD);
+ test_sqshlu_d_d_32(TyD);
+ test_sqshlu_d_d_63(TyD);
+ test_sqshlu_s_s_0(TyS);
+ test_sqshlu_s_s_16(TyS);
+ test_sqshlu_s_s_31(TyS);
+ test_sqshlu_h_h_0(TyH);
+ test_sqshlu_h_h_8(TyH);
+ test_sqshlu_h_h_15(TyH);
+ test_sqshlu_b_b_0(TyB);
+ test_sqshlu_b_b_4(TyB);
+ test_sqshlu_b_b_7(TyB);
// sqshl (imm) 2d,4s,2s,8h,4h,16b,8b _#imm
// uqshl (imm) 2d,4s,2s,8h,4h,16b,8b _#imm
// sqshlu (imm) 2d,4s,2s,8h,4h,16b,8b _#imm
+ test_sqshl_2d_2d_0(TyD);
+ test_sqshl_2d_2d_32(TyD);
+ test_sqshl_2d_2d_63(TyD);
+ test_sqshl_4s_4s_0(TyS);
+ test_sqshl_4s_4s_16(TyS);
+ test_sqshl_4s_4s_31(TyS);
+ test_sqshl_2s_2s_0(TyS);
+ test_sqshl_2s_2s_16(TyS);
+ test_sqshl_2s_2s_31(TyS);
+ test_sqshl_8h_8h_0(TyH);
+ test_sqshl_8h_8h_8(TyH);
+ test_sqshl_8h_8h_15(TyH);
+ test_sqshl_4h_4h_0(TyH);
+ test_sqshl_4h_4h_8(TyH);
+ test_sqshl_4h_4h_15(TyH);
+ test_sqshl_16b_16b_0(TyB);
+ test_sqshl_16b_16b_3(TyB);
+ test_sqshl_16b_16b_7(TyB);
+ test_sqshl_8b_8b_0(TyB);
+ test_sqshl_8b_8b_3(TyB);
+ test_sqshl_8b_8b_7(TyB);
+ test_uqshl_2d_2d_0(TyD);
+ test_uqshl_2d_2d_32(TyD);
+ test_uqshl_2d_2d_63(TyD);
+ test_uqshl_4s_4s_0(TyS);
+ test_uqshl_4s_4s_16(TyS);
+ test_uqshl_4s_4s_31(TyS);
+ test_uqshl_2s_2s_0(TyS);
+ test_uqshl_2s_2s_16(TyS);
+ test_uqshl_2s_2s_31(TyS);
+ test_uqshl_8h_8h_0(TyH);
+ test_uqshl_8h_8h_8(TyH);
+ test_uqshl_8h_8h_15(TyH);
+ test_uqshl_4h_4h_0(TyH);
+ test_uqshl_4h_4h_8(TyH);
+ test_uqshl_4h_4h_15(TyH);
+ test_uqshl_16b_16b_0(TyB);
+ test_uqshl_16b_16b_3(TyB);
+ test_uqshl_16b_16b_7(TyB);
+ test_uqshl_8b_8b_0(TyB);
+ test_uqshl_8b_8b_3(TyB);
+ test_uqshl_8b_8b_7(TyB);
+ test_sqshlu_2d_2d_0(TyD);
+ test_sqshlu_2d_2d_32(TyD);
+ test_sqshlu_2d_2d_63(TyD);
+ test_sqshlu_4s_4s_0(TyS);
+ test_sqshlu_4s_4s_16(TyS);
+ test_sqshlu_4s_4s_31(TyS);
+ test_sqshlu_2s_2s_0(TyS);
+ test_sqshlu_2s_2s_16(TyS);
+ test_sqshlu_2s_2s_31(TyS);
+ test_sqshlu_8h_8h_0(TyH);
+ test_sqshlu_8h_8h_8(TyH);
+ test_sqshlu_8h_8h_15(TyH);
+ test_sqshlu_4h_4h_0(TyH);
+ test_sqshlu_4h_4h_8(TyH);
+ test_sqshlu_4h_4h_15(TyH);
+ test_sqshlu_16b_16b_0(TyB);
+ test_sqshlu_16b_16b_3(TyB);
+ test_sqshlu_16b_16b_7(TyB);
+ test_sqshlu_8b_8b_0(TyB);
+ test_sqshlu_8b_8b_3(TyB);
+ test_sqshlu_8b_8b_7(TyB);
// sqxtn s_d,h_s,b_h
// uqxtn s_d,h_s,b_h
// sqxtun s_d,h_s,b_h
+ test_sqxtn_s_d(TyD);
+ test_sqxtn_h_s(TyS);
+ test_sqxtn_b_h(TyH);
+ test_uqxtn_s_d(TyD);
+ test_uqxtn_h_s(TyS);
+ test_uqxtn_b_h(TyH);
+ test_sqxtun_s_d(TyD);
+ test_sqxtun_h_s(TyS);
+ test_sqxtun_b_h(TyH);
// sqxtn{2} 2s/4s_2d, 4h/8h_4s, 8b/16b_8h
// uqxtn{2} 2s/4s_2d, 4h/8h_4s, 8b/16b_8h
// sqxtun{2} 2s/4s_2d, 4h/8h_4s, 8b/16b_8h
+ test_sqxtn_2s_2d(TyD);
+ test_sqxtn2_4s_2d(TyD);
+ test_sqxtn_4h_4s(TyS);
+ test_sqxtn2_8h_4s(TyS);
+ test_sqxtn_8b_8h(TyH);
+ test_sqxtn2_16b_8h(TyH);
+ test_uqxtn_2s_2d(TyD);
+ test_uqxtn2_4s_2d(TyD);
+ test_uqxtn_4h_4s(TyS);
+ test_uqxtn2_8h_4s(TyS);
+ test_uqxtn_8b_8h(TyH);
+ test_uqxtn2_16b_8h(TyH);
+ test_sqxtun_2s_2d(TyD);
+ test_sqxtun2_4s_2d(TyD);
+ test_sqxtun_4h_4s(TyS);
+ test_sqxtun2_8h_4s(TyS);
+ test_sqxtun_8b_8h(TyH);
+ test_sqxtun2_16b_8h(TyH);
// srhadd 4s,2s,8h,4h,16b,8b
// urhadd 4s,2s,8h,4h,16b,8b
+ test_srhadd_4s_4s_4s(TyS);
+ test_srhadd_2s_2s_2s(TyS);
+ test_srhadd_8h_8h_8h(TyH);
+ test_srhadd_4h_4h_4h(TyH);
+ test_srhadd_16b_16b_16b(TyB);
+ test_srhadd_8b_8b_8b(TyB);
+ test_urhadd_4s_4s_4s(TyS);
+ test_urhadd_2s_2s_2s(TyS);
+ test_urhadd_8h_8h_8h(TyH);
+ test_urhadd_4h_4h_4h(TyH);
+ test_urhadd_16b_16b_16b(TyB);
+ test_urhadd_8b_8b_8b(TyB);
// sshl (reg) d
// ushl (reg) d
+ test_sshl_d_d_d(TyD);
+ test_ushl_d_d_d(TyD);
+
// sshl (reg) 2d,4s,2s,8h,4h,16b,8b
// ushl (reg) 2d,4s,2s,8h,4h,16b,8b
+ test_sshl_2d_2d_2d(TyD);
+ test_sshl_4s_4s_4s(TyS);
+ test_sshl_2s_2s_2s(TyS);
+ test_sshl_8h_8h_8h(TyH);
+ test_sshl_4h_4h_4h(TyH);
+ test_sshl_16b_16b_16b(TyB);
+ test_sshl_8b_8b_8b(TyB);
+ test_ushl_2d_2d_2d(TyD);
+ test_ushl_4s_4s_4s(TyS);
+ test_ushl_2s_2s_2s(TyS);
+ test_ushl_8h_8h_8h(TyH);
+ test_ushl_4h_4h_4h(TyH);
+ test_ushl_16b_16b_16b(TyB);
+ test_ushl_8b_8b_8b(TyB);
// shl (imm) d
// sshr (imm) d
// ushr (imm) d
+ test_shl_d_d_0(TyD);
+ test_shl_d_d_32(TyD);
+ test_shl_d_d_63(TyD);
+ test_sshr_d_d_1(TyD);
+ test_sshr_d_d_32(TyD);
+ test_sshr_d_d_64(TyD);
+ test_ushr_d_d_1(TyD);
+ test_ushr_d_d_32(TyD);
+ test_ushr_d_d_64(TyD);
// shl (imm) 16b,8b,8h,4h,4s,2s,2d
// sshr (imm) 2d,4s,2s,8h,4h,16b,8b
// ushr (imm) 2d,4s,2s,8h,4h,16b,8b
- test_shl_2d_2d_1(TyD);
+ test_shl_2d_2d_0(TyD);
test_shl_2d_2d_13(TyD);
test_shl_2d_2d_63(TyD);
- test_shl_4s_4s_1(TyS);
+ test_shl_4s_4s_0(TyS);
test_shl_4s_4s_13(TyS);
test_shl_4s_4s_31(TyS);
- test_shl_2s_2s_1(TyS);
+ test_shl_2s_2s_0(TyS);
test_shl_2s_2s_13(TyS);
test_shl_2s_2s_31(TyS);
- test_shl_8h_8h_1(TyH);
+ test_shl_8h_8h_0(TyH);
test_shl_8h_8h_13(TyH);
test_shl_8h_8h_15(TyH);
- test_shl_4h_4h_1(TyH);
+ test_shl_4h_4h_0(TyH);
test_shl_4h_4h_13(TyH);
test_shl_4h_4h_15(TyH);
- test_shl_16b_16b_1(TyB);
+ test_shl_16b_16b_0(TyB);
test_shl_16b_16b_7(TyB);
- test_shl_8b_8b_1(TyB);
+ test_shl_8b_8b_0(TyB);
test_shl_8b_8b_7(TyB);
test_sshr_2d_2d_1(TyD);
test_sshr_2d_2d_13(TyD);
- test_sshr_2d_2d_63(TyD);
+ test_sshr_2d_2d_64(TyD);
test_sshr_4s_4s_1(TyS);
test_sshr_4s_4s_13(TyS);
- test_sshr_4s_4s_31(TyS);
+ test_sshr_4s_4s_32(TyS);
test_sshr_2s_2s_1(TyS);
test_sshr_2s_2s_13(TyS);
- test_sshr_2s_2s_31(TyS);
+ test_sshr_2s_2s_32(TyS);
test_sshr_8h_8h_1(TyH);
test_sshr_8h_8h_13(TyH);
- test_sshr_8h_8h_15(TyH);
+ test_sshr_8h_8h_16(TyH);
test_sshr_4h_4h_1(TyH);
test_sshr_4h_4h_13(TyH);
- test_sshr_4h_4h_15(TyH);
+ test_sshr_4h_4h_16(TyH);
test_sshr_16b_16b_1(TyB);
- test_sshr_16b_16b_7(TyB);
+ test_sshr_16b_16b_8(TyB);
test_sshr_8b_8b_1(TyB);
- test_sshr_8b_8b_7(TyB);
+ test_sshr_8b_8b_8(TyB);
test_ushr_2d_2d_1(TyD);
test_ushr_2d_2d_13(TyD);
- test_ushr_2d_2d_63(TyD);
+ test_ushr_2d_2d_64(TyD);
test_ushr_4s_4s_1(TyS);
test_ushr_4s_4s_13(TyS);
- test_ushr_4s_4s_31(TyS);
+ test_ushr_4s_4s_32(TyS);
test_ushr_2s_2s_1(TyS);
test_ushr_2s_2s_13(TyS);
- test_ushr_2s_2s_31(TyS);
+ test_ushr_2s_2s_32(TyS);
test_ushr_8h_8h_1(TyH);
test_ushr_8h_8h_13(TyH);
- test_ushr_8h_8h_15(TyH);
+ test_ushr_8h_8h_16(TyH);
test_ushr_4h_4h_1(TyH);
test_ushr_4h_4h_13(TyH);
- test_ushr_4h_4h_15(TyH);
+ test_ushr_4h_4h_16(TyH);
test_ushr_16b_16b_1(TyB);
- test_ushr_16b_16b_7(TyB);
+ test_ushr_16b_16b_8(TyB);
test_ushr_8b_8b_1(TyB);
- test_ushr_8b_8b_7(TyB);
+ test_ushr_8b_8b_8(TyB);
// ssra (imm) d
// usra (imm) d
+ test_ssra_d_d_1(TyD);
+ test_ssra_d_d_32(TyD);
+ test_ssra_d_d_64(TyD);
+ test_usra_d_d_1(TyD);
+ test_usra_d_d_32(TyD);
+ test_usra_d_d_64(TyD);
+
// ssra (imm) 2d,4s,2s,8h,4h,16b,8b
// usra (imm) 2d,4s,2s,8h,4h,16b,8b
+ test_ssra_2d_2d_1(TyD);
+ test_ssra_2d_2d_32(TyD);
+ test_ssra_2d_2d_64(TyD);
+ test_ssra_4s_4s_1(TyS);
+ test_ssra_4s_4s_16(TyS);
+ test_ssra_4s_4s_32(TyS);
+ test_ssra_2s_2s_1(TyS);
+ test_ssra_2s_2s_16(TyS);
+ test_ssra_2s_2s_32(TyS);
+ test_ssra_8h_8h_1(TyH);
+ test_ssra_8h_8h_8(TyH);
+ test_ssra_8h_8h_16(TyH);
+ test_ssra_4h_4h_1(TyH);
+ test_ssra_4h_4h_8(TyH);
+ test_ssra_4h_4h_16(TyH);
+ test_ssra_16b_16b_1(TyB);
+ test_ssra_16b_16b_3(TyB);
+ test_ssra_16b_16b_8(TyB);
+ test_ssra_8b_8b_1(TyB);
+ test_ssra_8b_8b_3(TyB);
+ test_ssra_8b_8b_8(TyB);
+ test_usra_2d_2d_1(TyD);
+ test_usra_2d_2d_32(TyD);
+ test_usra_2d_2d_64(TyD);
+ test_usra_4s_4s_1(TyS);
+ test_usra_4s_4s_16(TyS);
+ test_usra_4s_4s_32(TyS);
+ test_usra_2s_2s_1(TyS);
+ test_usra_2s_2s_16(TyS);
+ test_usra_2s_2s_32(TyS);
+ test_usra_8h_8h_1(TyH);
+ test_usra_8h_8h_8(TyH);
+ test_usra_8h_8h_16(TyH);
+ test_usra_4h_4h_1(TyH);
+ test_usra_4h_4h_8(TyH);
+ test_usra_4h_4h_16(TyH);
+ test_usra_16b_16b_1(TyB);
+ test_usra_16b_16b_3(TyB);
+ test_usra_16b_16b_8(TyB);
+ test_usra_8b_8b_1(TyB);
+ test_usra_8b_8b_3(TyB);
+ test_usra_8b_8b_8(TyB);
// srshl (reg) d
// urshl (reg) d
+ test_srshl_d_d_d(TyD);
+ test_urshl_d_d_d(TyD);
+
// srshl (reg) 2d,4s,2s,8h,4h,16b,8b
// urshl (reg) 2d,4s,2s,8h,4h,16b,8b
+ test_srshl_2d_2d_2d(TyD);
+ test_srshl_4s_4s_4s(TyS);
+ test_srshl_2s_2s_2s(TyS);
+ test_srshl_8h_8h_8h(TyH);
+ test_srshl_4h_4h_4h(TyH);
+ test_srshl_16b_16b_16b(TyB);
+ test_srshl_8b_8b_8b(TyB);
+ test_urshl_2d_2d_2d(TyD);
+ test_urshl_4s_4s_4s(TyS);
+ test_urshl_2s_2s_2s(TyS);
+ test_urshl_8h_8h_8h(TyH);
+ test_urshl_4h_4h_4h(TyH);
+ test_urshl_16b_16b_16b(TyB);
+ test_urshl_8b_8b_8b(TyB);
// srshr (imm) d
// urshr (imm) d
+ test_srshr_d_d_1(TyD);
+ test_srshr_d_d_32(TyD);
+ test_srshr_d_d_64(TyD);
+ test_urshr_d_d_1(TyD);
+ test_urshr_d_d_32(TyD);
+ test_urshr_d_d_64(TyD);
+
// srshr (imm) 2d,4s,2s,8h,4h,16b,8b
// urshr (imm) 2d,4s,2s,8h,4h,16b,8b
+ test_srshr_2d_2d_1(TyD);
+ test_srshr_2d_2d_32(TyD);
+ test_srshr_2d_2d_64(TyD);
+ test_srshr_4s_4s_1(TyS);
+ test_srshr_4s_4s_16(TyS);
+ test_srshr_4s_4s_32(TyS);
+ test_srshr_2s_2s_1(TyS);
+ test_srshr_2s_2s_16(TyS);
+ test_srshr_2s_2s_32(TyS);
+ test_srshr_8h_8h_1(TyH);
+ test_srshr_8h_8h_8(TyH);
+ test_srshr_8h_8h_16(TyH);
+ test_srshr_4h_4h_1(TyH);
+ test_srshr_4h_4h_8(TyH);
+ test_srshr_4h_4h_16(TyH);
+ test_srshr_16b_16b_1(TyB);
+ test_srshr_16b_16b_3(TyB);
+ test_srshr_16b_16b_8(TyB);
+ test_srshr_8b_8b_1(TyB);
+ test_srshr_8b_8b_3(TyB);
+ test_srshr_8b_8b_8(TyB);
+ test_urshr_2d_2d_1(TyD);
+ test_urshr_2d_2d_32(TyD);
+ test_urshr_2d_2d_64(TyD);
+ test_urshr_4s_4s_1(TyS);
+ test_urshr_4s_4s_16(TyS);
+ test_urshr_4s_4s_32(TyS);
+ test_urshr_2s_2s_1(TyS);
+ test_urshr_2s_2s_16(TyS);
+ test_urshr_2s_2s_32(TyS);
+ test_urshr_8h_8h_1(TyH);
+ test_urshr_8h_8h_8(TyH);
+ test_urshr_8h_8h_16(TyH);
+ test_urshr_4h_4h_1(TyH);
+ test_urshr_4h_4h_8(TyH);
+ test_urshr_4h_4h_16(TyH);
+ test_urshr_16b_16b_1(TyB);
+ test_urshr_16b_16b_3(TyB);
+ test_urshr_16b_16b_8(TyB);
+ test_urshr_8b_8b_1(TyB);
+ test_urshr_8b_8b_3(TyB);
+ test_urshr_8b_8b_8(TyB);
// srsra (imm) d
// ursra (imm) d
+ test_srsra_d_d_1(TyD);
+ test_srsra_d_d_32(TyD);
+ test_srsra_d_d_64(TyD);
+ test_ursra_d_d_1(TyD);
+ test_ursra_d_d_32(TyD);
+ test_ursra_d_d_64(TyD);
+
// srsra (imm) 2d,4s,2s,8h,4h,16b,8b
// ursra (imm) 2d,4s,2s,8h,4h,16b,8b
+ test_srsra_2d_2d_1(TyD);
+ test_srsra_2d_2d_32(TyD);
+ test_srsra_2d_2d_64(TyD);
+ test_srsra_4s_4s_1(TyS);
+ test_srsra_4s_4s_16(TyS);
+ test_srsra_4s_4s_32(TyS);
+ test_srsra_2s_2s_1(TyS);
+ test_srsra_2s_2s_16(TyS);
+ test_srsra_2s_2s_32(TyS);
+ test_srsra_8h_8h_1(TyH);
+ test_srsra_8h_8h_8(TyH);
+ test_srsra_8h_8h_16(TyH);
+ test_srsra_4h_4h_1(TyH);
+ test_srsra_4h_4h_8(TyH);
+ test_srsra_4h_4h_16(TyH);
+ test_srsra_16b_16b_1(TyB);
+ test_srsra_16b_16b_3(TyB);
+ test_srsra_16b_16b_8(TyB);
+ test_srsra_8b_8b_1(TyB);
+ test_srsra_8b_8b_3(TyB);
+ test_srsra_8b_8b_8(TyB);
+ test_ursra_2d_2d_1(TyD);
+ test_ursra_2d_2d_32(TyD);
+ test_ursra_2d_2d_64(TyD);
+ test_ursra_4s_4s_1(TyS);
+ test_ursra_4s_4s_16(TyS);
+ test_ursra_4s_4s_32(TyS);
+ test_ursra_2s_2s_1(TyS);
+ test_ursra_2s_2s_16(TyS);
+ test_ursra_2s_2s_32(TyS);
+ test_ursra_8h_8h_1(TyH);
+ test_ursra_8h_8h_8(TyH);
+ test_ursra_8h_8h_16(TyH);
+ test_ursra_4h_4h_1(TyH);
+ test_ursra_4h_4h_8(TyH);
+ test_ursra_4h_4h_16(TyH);
+ test_ursra_16b_16b_1(TyB);
+ test_ursra_16b_16b_3(TyB);
+ test_ursra_16b_16b_8(TyB);
+ test_ursra_8b_8b_1(TyB);
+ test_ursra_8b_8b_3(TyB);
+ test_ursra_8b_8b_8(TyB);
// sshll{2} (imm) 2d_2s/4s, 4s_4h/8h, 8h_8b/16b
// ushll{2} (imm) 2d_2s/4s, 4s_4h/8h, 8h_8b/16b
- // INCOMPLETE
test_sshll_2d_2s_0(TyS);
test_sshll_2d_2s_15(TyS);
test_sshll_2d_2s_31(TyS);
test_sshll2_2d_4s_0(TyS);
test_sshll2_2d_4s_15(TyS);
test_sshll2_2d_4s_31(TyS);
+ test_sshll_4s_4h_0(TyH);
+ test_sshll_4s_4h_7(TyH);
+ test_sshll_4s_4h_15(TyH);
+ test_sshll2_4s_8h_0(TyH);
+ test_sshll2_4s_8h_7(TyH);
+ test_sshll2_4s_8h_15(TyH);
+ test_sshll_8h_8b_0(TyB);
+ test_sshll_8h_8b_3(TyB);
+ test_sshll_8h_8b_7(TyB);
+ test_sshll2_8h_16b_0(TyB);
+ test_sshll2_8h_16b_3(TyB);
+ test_sshll2_8h_16b_7(TyB);
test_ushll_2d_2s_0(TyS);
test_ushll_2d_2s_15(TyS);
test_ushll_2d_2s_31(TyS);
test_ushll2_2d_4s_0(TyS);
test_ushll2_2d_4s_15(TyS);
test_ushll2_2d_4s_31(TyS);
+ test_ushll_4s_4h_0(TyH);
+ test_ushll_4s_4h_7(TyH);
+ test_ushll_4s_4h_15(TyH);
+ test_ushll2_4s_8h_0(TyH);
+ test_ushll2_4s_8h_7(TyH);
+ test_ushll2_4s_8h_15(TyH);
+ test_ushll_8h_8b_0(TyB);
+ test_ushll_8h_8b_3(TyB);
+ test_ushll_8h_8b_7(TyB);
+ test_ushll2_8h_16b_0(TyB);
+ test_ushll2_8h_16b_3(TyB);
+ test_ushll2_8h_16b_7(TyB);
// suqadd d,s,h,b
+ // usqadd d,s,h,b
+ test_suqadd_d_d(TyD);
+ test_suqadd_s_s(TyS);
+ test_suqadd_h_h(TyH);
+ test_suqadd_b_b(TyB);
+ test_usqadd_d_d(TyD);
+ test_usqadd_s_s(TyS);
+ test_usqadd_h_h(TyH);
+ test_usqadd_b_b(TyB);
+
// suqadd 2d,4s,2s,8h,4h,16b,8b
+ // usqadd 2d,4s,2s,8h,4h,16b,8b
+ test_suqadd_2d_2d(TyD);
+ test_suqadd_4s_4s(TyS);
+ test_suqadd_2s_2s(TyS);
+ test_suqadd_8h_8h(TyH);
+ test_suqadd_4h_4h(TyH);
+ test_suqadd_16b_16b(TyB);
+ test_suqadd_8b_8b(TyB);
+ test_usqadd_2d_2d(TyD);
+ test_usqadd_4s_4s(TyS);
+ test_usqadd_2s_2s(TyS);
+ test_usqadd_8h_8h(TyH);
+ test_usqadd_4h_4h(TyH);
+ test_usqadd_16b_16b(TyB);
+ test_usqadd_8b_8b(TyB);
// tbl 8b_{16b}_8b, 16b_{16b}_16b
// tbl 8b_{16b,16b}_8b, 16b_{16b,16b}_16b
@@ -4099,9 +5106,6 @@
// ursqrte 4s,2s
- // usqadd d,s,h,b
- // usqadd 2d,4s,2s,8h,4h,16b,8b
-
// uzp1 2d,4s,2s,8h,4h,16b,8b
// uzp2 2d,4s,2s,8h,4h,16b,8b
|
|
From: <sv...@va...> - 2014-05-15 08:22:49
|
Author: sewardj
Date: Thu May 15 08:22:34 2014
New Revision: 13968
Log:
Add more test cases: sqdmulh, sqrdmulh, sqshl, uqshl, sqrshl, uqrshl,
sqrshrn, uqrshrn, sqshrn, uqshrn, sqrshrun, sqshrun.
Modified:
trunk/none/tests/arm64/fp_and_simd.c
Modified: trunk/none/tests/arm64/fp_and_simd.c
==============================================================================
--- trunk/none/tests/arm64/fp_and_simd.c (original)
+++ trunk/none/tests/arm64/fp_and_simd.c Thu May 15 08:22:34 2014
@@ -2214,6 +2214,128 @@
GEN_THREEVEC_TEST(sqrdmulh_4h_4h_h2, "sqrdmulh v0.4h, v1.4h, v2.h[2]", 0,1,2)
GEN_THREEVEC_TEST(sqrdmulh_4h_4h_h7, "sqrdmulh v0.4h, v1.4h, v2.h[7]", 0,1,2)
+GEN_THREEVEC_TEST(sqdmulh_s_s_s, "sqdmulh s1, s2, s4", 1, 2, 4)
+GEN_THREEVEC_TEST(sqdmulh_h_h_h, "sqdmulh h1, h2, h4", 1, 2, 4)
+GEN_THREEVEC_TEST(sqrdmulh_s_s_s, "sqrdmulh s1, s2, s4", 1, 2, 4)
+GEN_THREEVEC_TEST(sqrdmulh_h_h_h, "sqrdmulh h1, h2, h4", 1, 2, 4)
+
+GEN_THREEVEC_TEST(sqdmulh_4s_4s_4s, "sqdmulh v1.4s, v2.4s, v4.4s", 1, 2, 4)
+GEN_THREEVEC_TEST(sqdmulh_2s_2s_2s, "sqdmulh v1.2s, v2.2s, v4.2s", 1, 2, 4)
+GEN_THREEVEC_TEST(sqdmulh_8h_8h_8h, "sqdmulh v1.8h, v2.8h, v4.8h", 1, 2, 4)
+GEN_THREEVEC_TEST(sqdmulh_4h_4h_4h, "sqdmulh v1.4h, v2.4h, v4.4h", 1, 2, 4)
+GEN_THREEVEC_TEST(sqrdmulh_4s_4s_4s, "sqrdmulh v1.4s, v2.4s, v4.4s", 1, 2, 4)
+GEN_THREEVEC_TEST(sqrdmulh_2s_2s_2s, "sqrdmulh v1.2s, v2.2s, v4.2s", 1, 2, 4)
+GEN_THREEVEC_TEST(sqrdmulh_8h_8h_8h, "sqrdmulh v1.8h, v2.8h, v4.8h", 1, 2, 4)
+GEN_THREEVEC_TEST(sqrdmulh_4h_4h_4h, "sqrdmulh v1.4h, v2.4h, v4.4h", 1, 2, 4)
+
+GEN_THREEVEC_TEST(sqshl_d_d_d, "sqshl d1, d2, d4", 1, 2, 4)
+GEN_THREEVEC_TEST(sqshl_s_s_s, "sqshl s1, s2, s4", 1, 2, 4)
+GEN_THREEVEC_TEST(sqshl_h_h_h, "sqshl h1, h2, h4", 1, 2, 4)
+GEN_THREEVEC_TEST(sqshl_b_b_b, "sqshl b1, b2, b4", 1, 2, 4)
+GEN_THREEVEC_TEST(sqshl_2d_2d_2d, "sqshl v1.2d, v2.2d, v4.2d", 1, 2, 4)
+GEN_THREEVEC_TEST(sqshl_4s_4s_4s, "sqshl v1.4s, v2.4s, v4.4s", 1, 2, 4)
+GEN_THREEVEC_TEST(sqshl_2s_2s_2s, "sqshl v1.2s, v2.2s, v4.2s", 1, 2, 4)
+GEN_THREEVEC_TEST(sqshl_8h_8h_8h, "sqshl v1.8h, v2.8h, v4.8h", 1, 2, 4)
+GEN_THREEVEC_TEST(sqshl_4h_4h_4h, "sqshl v1.4h, v2.4h, v4.4h", 1, 2, 4)
+GEN_THREEVEC_TEST(sqshl_16b_16b_16b, "sqshl v1.16b, v2.16b, v4.16b", 1, 2, 4)
+GEN_THREEVEC_TEST(sqshl_8b_8b_8b, "sqshl v1.8b, v2.8b, v4.8b", 1, 2, 4)
+
+GEN_THREEVEC_TEST(uqshl_d_d_d, "uqshl d1, d2, d4", 1, 2, 4)
+GEN_THREEVEC_TEST(uqshl_s_s_s, "uqshl s1, s2, s4", 1, 2, 4)
+GEN_THREEVEC_TEST(uqshl_h_h_h, "uqshl h1, h2, h4", 1, 2, 4)
+GEN_THREEVEC_TEST(uqshl_b_b_b, "uqshl b1, b2, b4", 1, 2, 4)
+GEN_THREEVEC_TEST(uqshl_2d_2d_2d, "uqshl v1.2d, v2.2d, v4.2d", 1, 2, 4)
+GEN_THREEVEC_TEST(uqshl_4s_4s_4s, "uqshl v1.4s, v2.4s, v4.4s", 1, 2, 4)
+GEN_THREEVEC_TEST(uqshl_2s_2s_2s, "uqshl v1.2s, v2.2s, v4.2s", 1, 2, 4)
+GEN_THREEVEC_TEST(uqshl_8h_8h_8h, "uqshl v1.8h, v2.8h, v4.8h", 1, 2, 4)
+GEN_THREEVEC_TEST(uqshl_4h_4h_4h, "uqshl v1.4h, v2.4h, v4.4h", 1, 2, 4)
+GEN_THREEVEC_TEST(uqshl_16b_16b_16b, "uqshl v1.16b, v2.16b, v4.16b", 1, 2, 4)
+GEN_THREEVEC_TEST(uqshl_8b_8b_8b, "uqshl v1.8b, v2.8b, v4.8b", 1, 2, 4)
+
+GEN_THREEVEC_TEST(sqrshl_d_d_d, "sqrshl d1, d2, d4", 1, 2, 4)
+GEN_THREEVEC_TEST(sqrshl_s_s_s, "sqrshl s1, s2, s4", 1, 2, 4)
+GEN_THREEVEC_TEST(sqrshl_h_h_h, "sqrshl h1, h2, h4", 1, 2, 4)
+GEN_THREEVEC_TEST(sqrshl_b_b_b, "sqrshl b1, b2, b4", 1, 2, 4)
+GEN_THREEVEC_TEST(sqrshl_2d_2d_2d, "sqrshl v1.2d, v2.2d, v4.2d", 1, 2, 4)
+GEN_THREEVEC_TEST(sqrshl_4s_4s_4s, "sqrshl v1.4s, v2.4s, v4.4s", 1, 2, 4)
+GEN_THREEVEC_TEST(sqrshl_2s_2s_2s, "sqrshl v1.2s, v2.2s, v4.2s", 1, 2, 4)
+GEN_THREEVEC_TEST(sqrshl_8h_8h_8h, "sqrshl v1.8h, v2.8h, v4.8h", 1, 2, 4)
+GEN_THREEVEC_TEST(sqrshl_4h_4h_4h, "sqrshl v1.4h, v2.4h, v4.4h", 1, 2, 4)
+GEN_THREEVEC_TEST(sqrshl_16b_16b_16b, "sqrshl v1.16b, v2.16b, v4.16b", 1, 2, 4)
+GEN_THREEVEC_TEST(sqrshl_8b_8b_8b, "sqrshl v1.8b, v2.8b, v4.8b", 1, 2, 4)
+
+GEN_THREEVEC_TEST(uqrshl_d_d_d, "uqrshl d1, d2, d4", 1, 2, 4)
+GEN_THREEVEC_TEST(uqrshl_s_s_s, "uqrshl s1, s2, s4", 1, 2, 4)
+GEN_THREEVEC_TEST(uqrshl_h_h_h, "uqrshl h1, h2, h4", 1, 2, 4)
+GEN_THREEVEC_TEST(uqrshl_b_b_b, "uqrshl b1, b2, b4", 1, 2, 4)
+GEN_THREEVEC_TEST(uqrshl_2d_2d_2d, "uqrshl v1.2d, v2.2d, v4.2d", 1, 2, 4)
+GEN_THREEVEC_TEST(uqrshl_4s_4s_4s, "uqrshl v1.4s, v2.4s, v4.4s", 1, 2, 4)
+GEN_THREEVEC_TEST(uqrshl_2s_2s_2s, "uqrshl v1.2s, v2.2s, v4.2s", 1, 2, 4)
+GEN_THREEVEC_TEST(uqrshl_8h_8h_8h, "uqrshl v1.8h, v2.8h, v4.8h", 1, 2, 4)
+GEN_THREEVEC_TEST(uqrshl_4h_4h_4h, "uqrshl v1.4h, v2.4h, v4.4h", 1, 2, 4)
+GEN_THREEVEC_TEST(uqrshl_16b_16b_16b, "uqrshl v1.16b, v2.16b, v4.16b", 1, 2, 4)
+GEN_THREEVEC_TEST(uqrshl_8b_8b_8b, "uqrshl v1.8b, v2.8b, v4.8b", 1, 2, 4)
+
+GEN_TWOVEC_TEST(sqrshrn_s_d_1, "sqrshrn s2, d5, #1", 2, 5)
+GEN_TWOVEC_TEST(sqrshrn_s_d_17, "sqrshrn s2, d5, #17", 2, 5)
+GEN_TWOVEC_TEST(sqrshrn_s_d_32, "sqrshrn s2, d5, #32", 2, 5)
+GEN_TWOVEC_TEST(sqrshrn_h_s_1, "sqrshrn h2, s5, #1", 2, 5)
+GEN_TWOVEC_TEST(sqrshrn_h_s_9, "sqrshrn h2, s5, #9", 2, 5)
+GEN_TWOVEC_TEST(sqrshrn_h_s_16, "sqrshrn h2, s5, #16", 2, 5)
+GEN_TWOVEC_TEST(sqrshrn_b_h_1, "sqrshrn b2, h5, #1", 2, 5)
+GEN_TWOVEC_TEST(sqrshrn_b_h_4, "sqrshrn b2, h5, #4", 2, 5)
+GEN_TWOVEC_TEST(sqrshrn_b_h_8, "sqrshrn b2, h5, #8", 2, 5)
+
+GEN_TWOVEC_TEST(uqrshrn_s_d_1, "uqrshrn s2, d5, #1", 2, 5)
+GEN_TWOVEC_TEST(uqrshrn_s_d_17, "uqrshrn s2, d5, #17", 2, 5)
+GEN_TWOVEC_TEST(uqrshrn_s_d_32, "uqrshrn s2, d5, #32", 2, 5)
+GEN_TWOVEC_TEST(uqrshrn_h_s_1, "uqrshrn h2, s5, #1", 2, 5)
+GEN_TWOVEC_TEST(uqrshrn_h_s_9, "uqrshrn h2, s5, #9", 2, 5)
+GEN_TWOVEC_TEST(uqrshrn_h_s_16, "uqrshrn h2, s5, #16", 2, 5)
+GEN_TWOVEC_TEST(uqrshrn_b_h_1, "uqrshrn b2, h5, #1", 2, 5)
+GEN_TWOVEC_TEST(uqrshrn_b_h_4, "uqrshrn b2, h5, #4", 2, 5)
+GEN_TWOVEC_TEST(uqrshrn_b_h_8, "uqrshrn b2, h5, #8", 2, 5)
+
+GEN_TWOVEC_TEST(sqshrn_s_d_1, "sqshrn s2, d5, #1", 2, 5)
+GEN_TWOVEC_TEST(sqshrn_s_d_17, "sqshrn s2, d5, #17", 2, 5)
+GEN_TWOVEC_TEST(sqshrn_s_d_32, "sqshrn s2, d5, #32", 2, 5)
+GEN_TWOVEC_TEST(sqshrn_h_s_1, "sqshrn h2, s5, #1", 2, 5)
+GEN_TWOVEC_TEST(sqshrn_h_s_9, "sqshrn h2, s5, #9", 2, 5)
+GEN_TWOVEC_TEST(sqshrn_h_s_16, "sqshrn h2, s5, #16", 2, 5)
+GEN_TWOVEC_TEST(sqshrn_b_h_1, "sqshrn b2, h5, #1", 2, 5)
+GEN_TWOVEC_TEST(sqshrn_b_h_4, "sqshrn b2, h5, #4", 2, 5)
+GEN_TWOVEC_TEST(sqshrn_b_h_8, "sqshrn b2, h5, #8", 2, 5)
+
+GEN_TWOVEC_TEST(uqshrn_s_d_1, "uqshrn s2, d5, #1", 2, 5)
+GEN_TWOVEC_TEST(uqshrn_s_d_17, "uqshrn s2, d5, #17", 2, 5)
+GEN_TWOVEC_TEST(uqshrn_s_d_32, "uqshrn s2, d5, #32", 2, 5)
+GEN_TWOVEC_TEST(uqshrn_h_s_1, "uqshrn h2, s5, #1", 2, 5)
+GEN_TWOVEC_TEST(uqshrn_h_s_9, "uqshrn h2, s5, #9", 2, 5)
+GEN_TWOVEC_TEST(uqshrn_h_s_16, "uqshrn h2, s5, #16", 2, 5)
+GEN_TWOVEC_TEST(uqshrn_b_h_1, "uqshrn b2, h5, #1", 2, 5)
+GEN_TWOVEC_TEST(uqshrn_b_h_4, "uqshrn b2, h5, #4", 2, 5)
+GEN_TWOVEC_TEST(uqshrn_b_h_8, "uqshrn b2, h5, #8", 2, 5)
+
+GEN_TWOVEC_TEST(sqrshrun_s_d_1, "sqrshrun s2, d5, #1", 2, 5)
+GEN_TWOVEC_TEST(sqrshrun_s_d_17, "sqrshrun s2, d5, #17", 2, 5)
+GEN_TWOVEC_TEST(sqrshrun_s_d_32, "sqrshrun s2, d5, #32", 2, 5)
+GEN_TWOVEC_TEST(sqrshrun_h_s_1, "sqrshrun h2, s5, #1", 2, 5)
+GEN_TWOVEC_TEST(sqrshrun_h_s_9, "sqrshrun h2, s5, #9", 2, 5)
+GEN_TWOVEC_TEST(sqrshrun_h_s_16, "sqrshrun h2, s5, #16", 2, 5)
+GEN_TWOVEC_TEST(sqrshrun_b_h_1, "sqrshrun b2, h5, #1", 2, 5)
+GEN_TWOVEC_TEST(sqrshrun_b_h_4, "sqrshrun b2, h5, #4", 2, 5)
+GEN_TWOVEC_TEST(sqrshrun_b_h_8, "sqrshrun b2, h5, #8", 2, 5)
+
+GEN_TWOVEC_TEST(sqshrun_s_d_1, "sqshrun s2, d5, #1", 2, 5)
+GEN_TWOVEC_TEST(sqshrun_s_d_17, "sqshrun s2, d5, #17", 2, 5)
+GEN_TWOVEC_TEST(sqshrun_s_d_32, "sqshrun s2, d5, #32", 2, 5)
+GEN_TWOVEC_TEST(sqshrun_h_s_1, "sqshrun h2, s5, #1", 2, 5)
+GEN_TWOVEC_TEST(sqshrun_h_s_9, "sqshrun h2, s5, #9", 2, 5)
+GEN_TWOVEC_TEST(sqshrun_h_s_16, "sqshrun h2, s5, #16", 2, 5)
+GEN_TWOVEC_TEST(sqshrun_b_h_1, "sqshrun b2, h5, #1", 2, 5)
+GEN_TWOVEC_TEST(sqshrun_b_h_4, "sqshrun b2, h5, #4", 2, 5)
+GEN_TWOVEC_TEST(sqshrun_b_h_8, "sqshrun b2, h5, #8", 2, 5)
+
/* ---------------------------------------------------------------- */
/* -- main() -- */
@@ -3678,43 +3800,151 @@
// sqdmulh h,s
// sqrdmulh h,s
+ test_sqdmulh_s_s_s(TyS);
+ test_sqdmulh_h_h_h(TyH);
+ test_sqrdmulh_s_s_s(TyS);
+ test_sqrdmulh_h_h_h(TyH);
// sqdmulh 4s,2s,8h,4h
// sqrdmulh 4s,2s,8h,4h
-
- // sqshl d,s,h,b
- // uqshl d,s,h,b
- // sqrshl d,s,h,b
- // uqrshl d,s,h,b
-
- // sqshl 2d,4s,2s,8h,4h,16b,8b
- // uqshl 2d,4s,2s,8h,4h,16b,8b
- // sqrshl 2d,4s,2s,8h,4h,16b,8b
- // uqrshl 2d,4s,2s,8h,4h,16b,8b
+ test_sqdmulh_4s_4s_4s(TyS);
+ test_sqdmulh_2s_2s_2s(TyS);
+ test_sqdmulh_8h_8h_8h(TyH);
+ test_sqdmulh_4h_4h_4h(TyH);
+ test_sqrdmulh_4s_4s_4s(TyS);
+ test_sqrdmulh_2s_2s_2s(TyS);
+ test_sqrdmulh_8h_8h_8h(TyH);
+ test_sqrdmulh_4h_4h_4h(TyH);
+
+ // sqshl (reg) d,s,h,b
+ // uqshl (reg) d,s,h,b
+ // sqrshl (reg) d,s,h,b
+ // uqrshl (reg) d,s,h,b
+ test_sqshl_d_d_d(TyD);
+ test_sqshl_s_s_s(TyS);
+ test_sqshl_h_h_h(TyH);
+ test_sqshl_b_b_b(TyB);
+ test_uqshl_d_d_d(TyD);
+ test_uqshl_s_s_s(TyS);
+ test_uqshl_h_h_h(TyH);
+ test_uqshl_b_b_b(TyB);
+ test_sqrshl_d_d_d(TyD);
+ test_sqrshl_s_s_s(TyS);
+ test_sqrshl_h_h_h(TyH);
+ test_sqrshl_b_b_b(TyB);
+ test_uqrshl_d_d_d(TyD);
+ test_uqrshl_s_s_s(TyS);
+ test_uqrshl_h_h_h(TyH);
+ test_uqrshl_b_b_b(TyB);
+
+ // sqshl (reg) 2d,4s,2s,8h,4h,16b,8b
+ // uqshl (reg) 2d,4s,2s,8h,4h,16b,8b
+ // sqrshl (reg) 2d,4s,2s,8h,4h,16b,8b
+ // uqrshl (reg) 2d,4s,2s,8h,4h,16b,8b
+ test_sqshl_2d_2d_2d(TyD);
+ test_sqshl_4s_4s_4s(TyS);
+ test_sqshl_2s_2s_2s(TyS);
+ test_sqshl_8h_8h_8h(TyH);
+ test_sqshl_4h_4h_4h(TyH);
+ test_sqshl_16b_16b_16b(TyB);
+ test_sqshl_8b_8b_8b(TyB);
+ test_uqshl_2d_2d_2d(TyD);
+ test_uqshl_4s_4s_4s(TyS);
+ test_uqshl_2s_2s_2s(TyS);
+ test_uqshl_8h_8h_8h(TyH);
+ test_uqshl_4h_4h_4h(TyH);
+ test_uqshl_16b_16b_16b(TyB);
+ test_uqshl_8b_8b_8b(TyB);
+ test_sqrshl_2d_2d_2d(TyD);
+ test_sqrshl_4s_4s_4s(TyS);
+ test_sqrshl_2s_2s_2s(TyS);
+ test_sqrshl_8h_8h_8h(TyH);
+ test_sqrshl_4h_4h_4h(TyH);
+ test_sqrshl_16b_16b_16b(TyB);
+ test_sqrshl_8b_8b_8b(TyB);
+ test_uqrshl_2d_2d_2d(TyD);
+ test_uqrshl_4s_4s_4s(TyS);
+ test_uqrshl_2s_2s_2s(TyS);
+ test_uqrshl_8h_8h_8h(TyH);
+ test_uqrshl_4h_4h_4h(TyH);
+ test_uqrshl_16b_16b_16b(TyB);
+ test_uqrshl_8b_8b_8b(TyB);
// sqrshrn s_d, h_s, b_h #imm
// uqrshrn s_d, h_s, b_h #imm
// sqshrn s_d, h_s, b_h #imm
// uqshrn s_d, h_s, b_h #imm
-
// sqrshrun s_d, h_s, b_h #imm
// sqshrun s_d, h_s, b_h #imm
+ test_sqrshrn_s_d_1(TyD);
+ test_sqrshrn_s_d_17(TyD);
+ test_sqrshrn_s_d_32(TyD);
+ test_sqrshrn_h_s_1(TyS);
+ test_sqrshrn_h_s_9(TyS);
+ test_sqrshrn_h_s_16(TyS);
+ test_sqrshrn_b_h_1(TyH);
+ test_sqrshrn_b_h_4(TyH);
+ test_sqrshrn_b_h_8(TyH);
+ test_uqrshrn_s_d_1(TyD);
+ test_uqrshrn_s_d_17(TyD);
+ test_uqrshrn_s_d_32(TyD);
+ test_uqrshrn_h_s_1(TyS);
+ test_uqrshrn_h_s_9(TyS);
+ test_uqrshrn_h_s_16(TyS);
+ test_uqrshrn_b_h_1(TyH);
+ test_uqrshrn_b_h_4(TyH);
+ test_uqrshrn_b_h_8(TyH);
+ test_sqshrn_s_d_1(TyD);
+ test_sqshrn_s_d_17(TyD);
+ test_sqshrn_s_d_32(TyD);
+ test_sqshrn_h_s_1(TyS);
+ test_sqshrn_h_s_9(TyS);
+ test_sqshrn_h_s_16(TyS);
+ test_sqshrn_b_h_1(TyH);
+ test_sqshrn_b_h_4(TyH);
+ test_sqshrn_b_h_8(TyH);
+ test_uqshrn_s_d_1(TyD);
+ test_uqshrn_s_d_17(TyD);
+ test_uqshrn_s_d_32(TyD);
+ test_uqshrn_h_s_1(TyS);
+ test_uqshrn_h_s_9(TyS);
+ test_uqshrn_h_s_16(TyS);
+ test_uqshrn_b_h_1(TyH);
+ test_uqshrn_b_h_4(TyH);
+ test_uqshrn_b_h_8(TyH);
+ test_sqrshrun_s_d_1(TyD);
+ test_sqrshrun_s_d_17(TyD);
+ test_sqrshrun_s_d_32(TyD);
+ test_sqrshrun_h_s_1(TyS);
+ test_sqrshrun_h_s_9(TyS);
+ test_sqrshrun_h_s_16(TyS);
+ test_sqrshrun_b_h_1(TyH);
+ test_sqrshrun_b_h_4(TyH);
+ test_sqrshrun_b_h_8(TyH);
+ test_sqshrun_s_d_1(TyD);
+ test_sqshrun_s_d_17(TyD);
+ test_sqshrun_s_d_32(TyD);
+ test_sqshrun_h_s_1(TyS);
+ test_sqshrun_h_s_9(TyS);
+ test_sqshrun_h_s_16(TyS);
+ test_sqshrun_b_h_1(TyH);
+ test_sqshrun_b_h_4(TyH);
+ test_sqshrun_b_h_8(TyH);
// sqrshrn{2} 2s/4s_2d, 4h/8h_4s, 8b/16b_8h, #imm
// uqrshrn{2} 2s/4s_2d, 4h/8h_4s, 8b/16b_8h, #imm
// sqshrn{2} 2s/4s_2d, 4h/8h_4s, 8b/16b_8h, #imm
// uqshrn{2} 2s/4s_2d, 4h/8h_4s, 8b/16b_8h, #imm
-
// sqrshrun{2} 2s/4s_2d, 4h/8h_4s, 8b/16b_8h, #imm
// sqshrun{2} 2s/4s_2d, 4h/8h_4s, 8b/16b_8h, #imm
- // sqshl d,s,h,b _#imm
- // uqshl d,s,h,b _#imm
- // sqshlu d,s,h,b _#imm
-
- // sqshl 2d,4s,2s,8h,4h,16b,8b _#imm
- // uqshl 2d,4s,2s,8h,4h,16b,8b _#imm
- // sqshlu 2d,4s,2s,8h,4h,16b,8b _#imm
+ // sqshl (imm) d,s,h,b _#imm
+ // uqshl (imm) d,s,h,b _#imm
+ // sqshlu (imm) d,s,h,b _#imm
+
+ // sqshl (imm) 2d,4s,2s,8h,4h,16b,8b _#imm
+ // uqshl (imm) 2d,4s,2s,8h,4h,16b,8b _#imm
+ // sqshlu (imm) 2d,4s,2s,8h,4h,16b,8b _#imm
// sqxtn s_d,h_s,b_h
// uqxtn s_d,h_s,b_h
|
|
From: Philippe W. <phi...@sk...> - 2014-05-15 04:54:12
|
valgrind revision: 13967 VEX revision: 2861 C compiler: gcc (GCC) 4.7.2 20121109 (Red Hat 4.7.2-8) GDB: GNU gdb (GDB) Fedora (7.5.1-37.fc18) Assembler: GNU assembler version 2.23.51.0.1-7.fc18 20120806 C library: GNU C Library stable release version 2.16 uname -mrs: Linux 3.8.8-202.fc18.ppc64p7 ppc64 Vendor version: Fedora release 18 (Spherical Cow) Nightly build on gcc110 ( Fedora release 18 (Spherical Cow), ppc64 ) Started at 2014-05-14 20:00:11 PDT Ended at 2014-05-14 21:50:56 PDT Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 579 tests, 32 stderr failures, 3 stdout failures, 0 stderrB failures, 0 stdoutB failures, 2 post failures == memcheck/tests/linux/getregset (stdout) memcheck/tests/linux/getregset (stderr) memcheck/tests/ppc64/power_ISA2_05 (stdout) memcheck/tests/supp_unknown (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/wrap8 (stdout) memcheck/tests/wrap8 (stderr) massif/tests/big-alloc (post) massif/tests/deep-D (post) helgrind/tests/annotate_rwlock (stderr) helgrind/tests/free_is_write (stderr) helgrind/tests/hg02_deadlock (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/locked_vs_unlocked1_fwd (stderr) helgrind/tests/locked_vs_unlocked1_rev (stderr) helgrind/tests/locked_vs_unlocked2 (stderr) helgrind/tests/locked_vs_unlocked3 (stderr) helgrind/tests/pth_barrier1 (stderr) helgrind/tests/pth_barrier2 (stderr) helgrind/tests/pth_barrier3 (stderr) helgrind/tests/pth_cond_destroy_busy (stderr) helgrind/tests/pth_destroy_cond (stderr) helgrind/tests/rwlock_race (stderr) helgrind/tests/tc01_simple_race (stderr) helgrind/tests/tc05_simple_race (stderr) helgrind/tests/tc06_two_races (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc09_bad_unlock (stderr) helgrind/tests/tc14_laog_dinphils (stderr) helgrind/tests/tc16_byterace (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc19_shadowmem (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 578 tests, 32 stderr failures, 3 stdout failures, 0 stderrB failures, 0 stdoutB failures, 2 post failures == memcheck/tests/linux/getregset (stdout) memcheck/tests/linux/getregset (stderr) memcheck/tests/ppc64/power_ISA2_05 (stdout) memcheck/tests/supp_unknown (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/wrap8 (stdout) memcheck/tests/wrap8 (stderr) massif/tests/big-alloc (post) massif/tests/deep-D (post) helgrind/tests/annotate_rwlock (stderr) helgrind/tests/free_is_write (stderr) helgrind/tests/hg02_deadlock (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/locked_vs_unlocked1_fwd (stderr) helgrind/tests/locked_vs_unlocked1_rev (stderr) helgrind/tests/locked_vs_unlocked2 (stderr) helgrind/tests/locked_vs_unlocked3 (stderr) helgrind/tests/pth_barrier1 (stderr) helgrind/tests/pth_barrier2 (stderr) helgrind/tests/pth_barrier3 (stderr) helgrind/tests/pth_cond_destroy_busy (stderr) helgrind/tests/pth_destroy_cond (stderr) helgrind/tests/rwlock_race (stderr) helgrind/tests/tc01_simple_race (stderr) helgrind/tests/tc05_simple_race (stderr) helgrind/tests/tc06_two_races (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc09_bad_unlock (stderr) helgrind/tests/tc14_laog_dinphils (stderr) helgrind/tests/tc16_byterace (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc19_shadowmem (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Wed May 14 20:28:33 2014 --- new.short Wed May 14 20:57:14 2014 *************** *** 8,10 **** ! == 578 tests, 32 stderr failures, 3 stdout failures, 0 stderrB failures, 0 stdoutB failures, 2 post failures == memcheck/tests/linux/getregset (stdout) --- 8,10 ---- ! == 579 tests, 32 stderr failures, 3 stdout failures, 0 stderrB failures, 0 stdoutB failures, 2 post failures == memcheck/tests/linux/getregset (stdout) --tools=none,memcheck,callgrind,helgrind,cachegrind,drd,massif --reps=3 --vg=../valgrind-new --vg=../valgrind-old -- Running tests in perf ---------------------------------------------- -- bigcode1 -- bigcode1 valgrind-new:0.23s no: 1.6s ( 6.8x, -----) me: 2.9s (12.6x, -----) ca:17.9s (78.0x, -----) he: 1.7s ( 7.6x, -----) ca: 5.3s (23.0x, -----) dr: 1.7s ( 7.3x, -----) ma: 2.1s ( 9.2x, -----) bigcode1 valgrind-old:0.23s no: 1.5s ( 6.7x, 1.9%) me: 2.8s (12.3x, 2.4%) ca:17.9s (77.9x, 0.1%) he: 1.7s ( 7.5x, 0.6%) ca: 5.3s (23.0x, 0.4%) dr: 1.7s ( 7.4x, -1.8%) ma: 2.1s ( 9.2x, 0.0%) -- bigcode2 -- bigcode2 valgrind-new:0.23s no: 1.5s ( 6.6x, -----) me: 3.2s (13.9x, -----) ca:18.3s (79.5x, -----) he: 2.1s ( 9.1x, -----) ca: 5.4s (23.5x, -----) dr: 1.8s ( 8.0x, -----) ma: 2.1s ( 9.3x, -----) bigcode2 valgrind-old:0.23s no: 1.5s ( 6.6x, 0.0%) me: 2.9s (12.7x, 8.8%) ca:18.4s (79.9x, -0.5%) he: 2.1s ( 9.1x, 0.0%) ca: 5.5s (23.7x, -0.9%) dr: 1.8s ( 8.0x, 0.0%) ma: 2.1s ( 9.2x, 0.9%) -- bz2 -- bz2 valgrind-new:0.73s no: 4.7s ( 6.4x, -----) me:11.5s (15.8x, -----) ca:25.9s (35.4x, -----) he:14.7s (20.2x, -----) ca:24.5s (33.6x, -----) dr:19.2s (26.2x, -----) ma: 4.7s ( 6.4x, -----) bz2 valgrind-old:0.73s no: 4.6s ( 6.3x, 1.9%) me:11.5s (15.7x, 0.6%) ca:26.0s (35.6x, -0.5%) he:14.9s (20.4x, -1.0%) ca:24.3s (33.3x, 0.9%) dr:19.2s (26.4x, -0.4%) ma: 4.7s ( 6.4x, 0.6%) -- fbench -- fbench valgrind-new:0.34s no: 2.1s ( 6.3x, -----) me: 5.2s (15.4x, -----) ca: 8.5s (25.1x, -----) he: 5.2s (15.4x, -----) ca: 7.4s (21.8x, -----) dr: 4.8s (14.3x, -----) ma: 2.1s ( 6.3x, -----) fbench valgrind-old:0.34s no: 2.1s ( 6.3x, 0.5%) me: 5.2s (15.2x, 0.8%) ca: 8.5s (25.0x, 0.5%) he: 5.3s (15.5x, -0.6%) ca: 7.5s (22.1x, -1.2%) dr: 4.9s (14.3x, -0.4%) ma: 2.1s ( 6.3x, 0.5%) -- ffbench -- ffbench valgrind-new:0.45s no: 1.3s ( 2.9x, -----) me: 2.5s ( 5.4x, -----) ca: 2.5s ( 5.6x, -----) he: 7.0s (15.5x, -----) ca: 7.0s (15.6x, -----) dr: 4.9s (10.9x, -----) ma: 1.0s ( 2.2x, -----) ffbench valgrind-old:0.45s no: 1.3s ( 3.0x, -0.8%) me: 2.5s ( 5.6x, -2.4%) ca: 2.5s ( 5.5x, 0.4%) he: 7.1s (15.8x, -1.9%) ca: 7.3s (16.2x, -4.3%) dr: 4.9s (10.9x, 0.0%) ma: 1.0s ( 2.2x, 0.0%) -- heap -- heap valgrind-new:0.41s no: 2.4s ( 5.9x, -----) me: 9.9s (24.1x, -----) ca:13.2s (32.1x, -----) he:11.9s (29.0x, -----) ca:12.1s (29.6x, -----) dr: 8.4s (20.5x, -----) ma: 8.8s (21.5x, -----) heap valgrind-old:0.41s no: 2.5s ( 6.0x, -2.1%) me: 9.8s (23.8x, 1.3%) ca:13.2s (32.3x, -0.7%) he:12.1s (29.4x, -1.3%) ca:12.1s (29.5x, 0.3%) dr: 8.6s (21.0x, -2.3%) ma: 8.7s (21.3x, 0.8%) -- heap_pdb4 -- heap_pdb4 valgrind-new:0.43s no: 2.6s ( 6.0x, -----) me:13.9s (32.2x, -----) ca:14.2s (32.9x, -----) he:13.5s (31.3x, -----) ca:13.2s (30.7x, -----) dr: 9.3s (21.5x, -----) ma: 9.0s (21.0x, -----) heap_pdb4 valgrind-old:0.43s no: 2.6s ( 6.0x, 0.0%) me:13.7s (31.9x, 1.1%) ca:14.2s (33.0x, -0.2%) he:13.3s (30.9x, 1.3%) ca:13.1s (30.5x, 0.9%) dr: 9.6s (22.4x, -3.9%) ma: 8.9s (20.8x, 1.2%) -- many-loss-records -- many-loss-records valgrind-new:0.03s no: 0.5s (17.3x, -----) me: 2.2s (72.7x, -----) ca: 1.9s (62.7x, -----) he: 1.8s (60.3x, -----) ca: 1.9s (62.0x, -----) dr: 1.6s (52.0x, -----) ma: 1.6s (53.3x, -----) many-loss-records valgrind-old:0.03s no: 0.5s (17.7x, -1.9%) me: 2.2s (73.3x, -0.9%) ca: 1.9s (63.0x, -0.5%) he: 1.8s (61.0x, -1.1%) ca: 1.9s (62.0x, 0.0%) dr: 1.6s (53.7x, -3.2%) ma: 1.6s (52.3x, 1.9%) -- many-xpts -- many-xpts valgrind-new:0.07s no: 0.7s (10.4x, -----) me: 3.4s (48.1x, -----) ca: 4.7s (67.3x, -----) he: 4.8s (68.7x, -----) ca: 2.9s (41.1x, -----) dr: 2.3s (32.7x, -----) ma: 2.3s (32.6x, -----) many-xpts valgrind-old:0.07s no: 0.7s (10.4x, 0.0%) me: 3.4s (48.4x, -0.6%) ca: 4.7s (67.3x, 0.0%) he: 4.9s (70.0x, -1.9%) ca: 2.9s (41.0x, 0.3%) dr: 2.4s (33.6x, -2.6%) ma: 2.3s (32.4x, 0.4%) -- sarp -- sarp valgrind-new:0.02s no: 0.4s (20.0x, -----) me: 3.0s (150.5x, -----) ca: 3.0s (149.0x, -----) he:11.0s (552.0x, -----) ca: 1.7s (83.5x, -----) dr: 1.1s (53.5x, -----) ma: 0.4s (21.0x, -----) sarp valgrind-old:0.02s no: 0.4s (19.5x, 2.5%) me: 3.0s (152.0x, -1.0%) ca: 3.0s (149.5x, -0.3%) he:11.3s (567.5x, -2.8%) ca: 1.7s (83.5x, 0.0%) dr: 1.1s (55.0x, -2.8%) ma: 0.4s (21.0x, 0.0%) -- tinycc -- tinycc valgrind-new:0.30s no: 3.0s (10.1x, -----) me:13.8s (45.9x, -----) ca:17.5s (58.3x, -----) he:19.0s (63.3x, -----) ca:15.6s (52.1x, -----) dr:12.1s (40.3x, -----) ma: 3.8s (12.7x, -----) tinycc valgrind-old:0.30s no: 3.0s ( 9.9x, 2.3%) me:13.8s (46.1x, -0.6%) ca:17.4s (58.0x, 0.5%) he:19.1s (63.6x, -0.5%) ca:15.7s (52.3x, -0.5%) dr:12.2s (40.7x, -0.9%) ma: 3.8s (12.7x, 0.0%) -- Finished tests in perf ---------------------------------------------- == 11 programs, 154 timings ================= real 53m41.004s user 52m17.479s sys 0m20.084s |
|
From: Christian B. <bor...@de...> - 2014-05-15 04:12:20
|
valgrind revision: 13967 VEX revision: 2861 C compiler: gcc (SUSE Linux) 4.3.4 [gcc-4_3-branch revision 152973] GDB: GNU gdb (GDB) SUSE (7.5.1-0.7.29) Assembler: GNU assembler (GNU Binutils; SUSE Linux Enterprise 11) 2.23.1 C library: GNU C Library stable release version 2.11.3 (20110527) uname -mrs: Linux 3.0.101-0.21-default s390x Vendor version: Welcome to SUSE Linux Enterprise Server 11 SP3 (s390x) - Kernel %r (%t). Nightly build on sless390 ( SUSE Linux Enterprise Server 11 SP3 gcc 4.3.4 on z196 (s390x) ) Started at 2014-05-15 03:45:01 CEST Ended at 2014-05-15 06:12:09 CEST Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 646 tests, 2 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == helgrind/tests/pth_cond_destroy_busy (stderr) helgrind/tests/tc20_verifywrap (stderr) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 645 tests, 1 stderr failure, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == helgrind/tests/pth_cond_destroy_busy (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Thu May 15 04:03:13 2014 --- new.short Thu May 15 04:21:26 2014 *************** *** 8,11 **** ! == 645 tests, 1 stderr failure, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == helgrind/tests/pth_cond_destroy_busy (stderr) --- 8,12 ---- ! == 646 tests, 2 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == helgrind/tests/pth_cond_destroy_busy (stderr) + helgrind/tests/tc20_verifywrap (stderr) --tools=none,memcheck,callgrind,helgrind,cachegrind,drd,massif --reps=3 --vg=../valgrind-new --vg=../valgrind-old -- Running tests in perf ---------------------------------------------- -- bigcode1 -- bigcode1 valgrind-new:0.23s no: 4.3s (18.8x, -----) me: 6.9s (30.0x, -----) ca:26.4s (114.7x, -----) he: 5.1s (22.0x, -----) ca: 9.2s (39.9x, -----) dr: 5.4s (23.4x, -----) ma: 4.6s (19.9x, -----) bigcode1 valgrind-old:0.23s no: 4.3s (18.8x, 0.0%) me: 6.9s (30.0x, 0.3%) ca:26.4s (114.7x, -0.0%) he: 5.1s (22.2x, -0.6%) ca: 9.1s (39.7x, 0.3%) dr: 5.4s (23.4x, -0.2%) ma: 4.6s (19.9x, 0.0%) -- bigcode2 -- bigcode2 valgrind-new:0.24s no: 7.2s (30.1x, -----) me:13.7s (57.0x, -----) ca:39.6s (165.0x, -----) he:10.0s (41.8x, -----) ca:14.3s (59.7x, -----) dr: 9.5s (39.5x, -----) ma: 8.0s (33.5x, -----) bigcode2 valgrind-old:0.24s no: 7.2s (30.2x, -0.4%) me:13.8s (57.5x, -0.9%) ca:39.6s (165.1x, -0.1%) he:10.1s (42.1x, -0.7%) ca:14.2s (59.4x, 0.6%) dr: 9.6s (40.2x, -1.6%) ma: 8.0s (33.2x, 0.6%) -- bz2 -- bz2 valgrind-new:0.69s no: 5.1s ( 7.4x, -----) me:12.7s (18.4x, -----) ca:30.7s (44.4x, -----) he:19.6s (28.4x, -----) ca:34.3s (49.8x, -----) dr:31.6s (45.9x, -----) ma: 3.9s ( 5.6x, -----) bz2 valgrind-old:0.69s no: 5.1s ( 7.4x, 0.4%) me:12.6s (18.3x, 0.7%) ca:30.6s (44.4x, 0.1%) he:19.6s (28.4x, 0.1%) ca:34.3s (49.7x, 0.1%) dr:29.4s (42.6x, 7.0%) ma: 3.9s ( 5.6x, 0.0%) -- fbench -- fbench valgrind-new:0.41s no: 1.6s ( 3.9x, -----) me: 4.2s (10.2x, -----) ca: 9.3s (22.7x, -----) he: 6.2s (15.2x, -----) ca: 7.2s (17.5x, -----) dr: 5.8s (14.1x, -----) ma: 1.7s ( 4.1x, -----) fbench valgrind-old:0.41s no: 1.6s ( 3.9x, -0.0%) me: 4.2s (10.2x, 0.0%) ca: 9.3s (22.7x, 0.0%) he: 6.3s (15.4x, -0.8%) ca: 7.2s (17.5x, 0.0%) dr: 5.4s (13.2x, 6.2%) ma: 1.7s ( 4.1x, -1.2%) -- ffbench -- ffbench valgrind-new:0.20s no: 1.1s ( 5.3x, -----) me: 3.0s (14.8x, -----) ca: 3.0s (15.1x, -----) he:44.2s (221.2x, -----) ca: 9.6s (48.1x, -----) dr: 6.8s (33.8x, -----) ma: 1.0s ( 4.8x, -----) ffbench valgrind-old:0.20s no: 1.0s ( 5.2x, 2.8%) me: 2.9s (14.7x, 0.7%) ca: 3.0s (15.1x, 0.0%) he:44.1s (220.5x, 0.3%) ca: 9.6s (48.0x, 0.2%) dr: 6.8s (33.9x, -0.3%) ma: 1.0s ( 4.8x, -1.0%) -- heap -- heap valgrind-new:0.23s no: 1.9s ( 8.1x, -----) me: 8.6s (37.3x, -----) ca:13.2s (57.3x, -----) he:12.7s (55.3x, -----) ca:11.3s (49.2x, -----) dr: 7.8s (33.9x, -----) ma: 7.9s (34.2x, -----) heap valgrind-old:0.23s no: 1.9s ( 8.1x, 0.0%) me: 8.7s (38.0x, -2.0%) ca:13.2s (57.2x, 0.3%) he:13.2s (57.3x, -3.7%) ca:11.2s (48.7x, 1.1%) dr: 7.6s (33.1x, 2.3%) ma: 7.8s (34.1x, 0.3%) -- heap_pdb4 -- heap_pdb4 valgrind-new:0.22s no: 2.0s ( 9.3x, -----) me:12.7s (57.5x, -----) ca:14.2s (64.7x, -----) he:14.1s (64.2x, -----) ca:12.4s (56.2x, -----) dr: 8.7s (39.6x, -----) ma: 8.0s (36.3x, -----) heap_pdb4 valgrind-old:0.22s no: 2.0s ( 9.3x, 0.5%) me:12.9s (58.6x, -1.8%) ca:14.2s (64.6x, 0.2%) he:14.4s (65.4x, -1.8%) ca:12.3s (56.0x, 0.2%) dr: 8.5s (38.8x, 2.1%) ma: 8.0s (36.2x, 0.3%) -- many-loss-records -- many-loss-records valgrind-new:0.02s no: 0.5s (24.0x, -----) me: 2.1s (103.5x, -----) ca: 1.9s (97.0x, -----) he: 2.2s (108.0x, -----) ca: 1.9s (96.0x, -----) dr: 1.8s (88.0x, -----) ma: 1.6s (81.0x, -----) many-loss-records valgrind-old:0.02s no: 0.5s (23.5x, 2.1%) me: 2.1s (104.0x, -0.5%) ca: 1.9s (97.0x, 0.0%) he: 2.2s (109.5x, -1.4%) ca: 1.9s (95.5x, 0.5%) dr: 1.7s (86.0x, 2.3%) ma: 1.6s (82.0x, -1.2%) -- many-xpts -- many-xpts valgrind-new:0.07s no: 0.6s ( 9.1x, -----) me: 3.1s (44.7x, -----) ca:373.2s (5331.0x, -----) he: 6.5s (93.4x, -----) ca: 2.8s (39.9x, -----) dr: 2.6s (36.9x, -----) ma: 2.6s (36.7x, -----) many-xpts valgrind-old:0.07s no: 0.6s ( 9.0x, 1.6%) me: 3.1s (45.0x, -0.6%) ca:371.0s (5300.3x, 0.6%) he: 6.7s (96.1x, -2.9%) ca: 2.8s (39.9x, 0.0%) dr: 2.5s (35.9x, 2.7%) ma: 2.6s (37.0x, -0.8%) -- sarp -- sarp valgrind-new:0.03s no: 0.6s (19.0x, -----) me: 3.4s (114.3x, -----) ca: 3.1s (104.7x, -----) he:16.9s (562.3x, -----) ca: 2.1s (68.7x, -----) dr: 1.4s (45.3x, -----) ma: 0.5s (15.7x, -----) sarp valgrind-old:0.03s no: 0.6s (19.0x, 0.0%) me: 3.5s (116.0x, -1.5%) ca: 3.1s (105.0x, -0.3%) he:18.0s (600.3x, -6.8%) ca: 2.0s (68.3x, 0.5%) dr: 1.4s (45.0x, 0.7%) ma: 0.5s (16.0x, -2.1%) -- tinycc -- tinycc valgrind-new:0.22s no: 2.8s (12.8x, -----) me:14.4s (65.4x, -----) ca:30.0s (136.3x, -----) he:27.7s (126.1x, -----) ca:21.4s (97.3x, -----) dr:21.9s (99.7x, -----) ma: 4.0s (18.0x, -----) tinycc valgrind-old:0.22s no: 2.8s (12.8x, 0.0%) me:14.4s (65.4x, 0.0%) ca:29.9s (135.9x, 0.3%) he:28.1s (127.9x, -1.4%) ca:21.4s (97.0x, 0.3%) dr:20.4s (92.6x, 7.1%) ma: 4.0s (18.0x, 0.0%) -- Finished tests in perf ---------------------------------------------- == 11 programs, 154 timings ================= real 110m42.681s user 110m4.282s sys 0m30.746s |
|
From: Tom H. <to...@co...> - 2014-05-15 03:26:35
|
valgrind revision: 13967 VEX revision: 2861 C compiler: gcc (GCC) 4.3.0 20080428 (Red Hat 4.3.0-8) GDB: Assembler: GNU assembler version 2.18.50.0.6-2 20080403 C library: GNU C Library stable release version 2.8 uname -mrs: Linux 3.13.10-200.fc20.x86_64 x86_64 Vendor version: Fedora release 9 (Sulphur) Nightly build on bristol ( x86_64, Fedora 9 ) Started at 2014-05-15 03:51:16 BST Ended at 2014-05-15 04:26:13 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 649 tests, 1 stderr failure, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/amd64/insn-pcmpistri (stderr) none/tests/amd64/sse4-64 (stdout) |
|
From: Rich C. <rc...@wi...> - 2014-05-15 03:01:00
|
valgrind revision: 13967
VEX revision: 2861
C compiler: gcc (SUSE Linux) 4.7.2 20130108 [gcc-4_7-branch revision 195012]
GDB: GNU gdb (GDB) SUSE (7.5.1-2.1.1)
Assembler: GNU assembler (GNU Binutils; openSUSE 12.3) 2.23.1
C library: GNU C Library (GNU libc) stable release version 2.17 (git c758a6861537)
uname -mrs: Linux 3.7.9-1.1-desktop x86_64
Vendor version: Welcome to openSUSE 12.3 "Dartmouth" Beta 1 - Kernel %r (%t).
Nightly build on ultra ( gcc (SUSE Linux) 4.7.2 20130108 [gcc-4_7-branch revision 195012] Linux 3.7.9-1.1-desktop x86_64 )
Started at 2014-05-14 21:30:01 CDT
Ended at 2014-05-14 22:00:49 CDT
Results differ from 24 hours ago
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... failed
Regression test results follow
== 672 tests, 0 stderr failures, 0 stdout failures, 2 stderrB failures, 0 stdoutB failures, 0 post failures ==
gdbserver_tests/hginfo (stderrB)
gdbserver_tests/mssnapshot (stderrB)
=================================================
== Results from 24 hours ago ==
=================================================
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... failed
Regression test results follow
== 671 tests, 0 stderr failures, 0 stdout failures, 1 stderrB failure, 0 stdoutB failures, 0 post failures ==
gdbserver_tests/mssnapshot (stderrB)
=================================================
== Difference between 24 hours ago and now ==
=================================================
*** old.short Wed May 14 21:45:32 2014
--- new.short Wed May 14 22:00:49 2014
***************
*** 8,10 ****
! == 671 tests, 0 stderr failures, 0 stdout failures, 1 stderrB failure, 0 stdoutB failures, 0 post failures ==
gdbserver_tests/mssnapshot (stderrB)
--- 8,11 ----
! == 672 tests, 0 stderr failures, 0 stdout failures, 2 stderrB failures, 0 stdoutB failures, 0 post failures ==
! gdbserver_tests/hginfo (stderrB)
gdbserver_tests/mssnapshot (stderrB)
=================================================
./valgrind-new/gdbserver_tests/hginfo.stderrB.diff
=================================================
--- hginfo.stderrB.exp 2014-05-14 21:45:47.513465407 -0500
+++ hginfo.stderrB.out 2014-05-14 21:49:13.731712304 -0500
@@ -1,5 +1,11 @@
relaying data between gdb and process ....
+Missing separate debuginfo for /lib64/ld-linux-x86-64.so.2
+Try: zypper install -C "debuginfo(build-id)=ecb8ef1a6904a2a3ec60a527f415f520c8636158"
vgdb-error value changed from 0 to 999999
+Missing separate debuginfo for /lib64/libpthread.so.0
+Try: zypper install -C "debuginfo(build-id)=ef5f5dbcb2398c608fef7884e1bfb65be3b5f0ef"
+Missing separate debuginfo for /lib64/libc.so.6
+Try: zypper install -C "debuginfo(build-id)=bd1473e8e6a4c10a14731b5be4b35b4e87db2af7"
Lock ga 0x........ {
Address 0x........ is 0 bytes inside data symbol "mx"
kind mbRec
=================================================
./valgrind-new/gdbserver_tests/mssnapshot.stderrB.diff
=================================================
--- mssnapshot.stderrB.exp 2014-05-14 21:45:47.535464793 -0500
+++ mssnapshot.stderrB.out 2014-05-14 21:49:46.135808493 -0500
@@ -1,5 +1,11 @@
relaying data between gdb and process ....
+Missing separate debuginfo for /lib64/ld-linux-x86-64.so.2
+Try: zypper install -C "debuginfo(build-id)=ecb8ef1a6904a2a3ec60a527f415f520c8636158"
vgdb-error value changed from 0 to 999999
+Missing separate debuginfo for /lib64/libpthread.so.0
+Try: zypper install -C "debuginfo(build-id)=ef5f5dbcb2398c608fef7884e1bfb65be3b5f0ef"
+Missing separate debuginfo for /lib64/libc.so.6
+Try: zypper install -C "debuginfo(build-id)=bd1473e8e6a4c10a14731b5be4b35b4e87db2af7"
general valgrind monitor commands:
help [debug] : monitor command help. With debug: + debugging commands
v.wait [<ms>] : sleep <ms> (default 0) then continue
=================================================
./valgrind-old/gdbserver_tests/mssnapshot.stderrB.diff
=================================================
--- mssnapshot.stderrB.exp 2014-05-14 21:30:45.359662799 -0500
+++ mssnapshot.stderrB.out 2014-05-14 21:34:31.957329102 -0500
@@ -1,5 +1,11 @@
relaying data between gdb and process ....
+Missing separate debuginfo for /lib64/ld-linux-x86-64.so.2
+Try: zypper install -C "debuginfo(build-id)=ecb8ef1a6904a2a3ec60a527f415f520c8636158"
vgdb-error value changed from 0 to 999999
+Missing separate debuginfo for /lib64/libpthread.so.0
+Try: zypper install -C "debuginfo(build-id)=ef5f5dbcb2398c608fef7884e1bfb65be3b5f0ef"
+Missing separate debuginfo for /lib64/libc.so.6
+Try: zypper install -C "debuginfo(build-id)=bd1473e8e6a4c10a14731b5be4b35b4e87db2af7"
general valgrind monitor commands:
help [debug] : monitor command help. With debug: + debugging commands
v.wait [<ms>] : sleep <ms> (default 0) then continue
|
|
From: Tom H. <to...@co...> - 2014-05-15 02:50:28
|
valgrind revision: 13967
VEX revision: 2861
C compiler: gcc (GCC) 4.6.3 20120306 (Red Hat 4.6.3-2)
GDB: GNU gdb (GDB) Fedora (7.3.1-48.fc15)
Assembler: GNU assembler version 2.21.51.0.6-6.fc15 20110118
C library: GNU C Library stable release version 2.14.1
uname -mrs: Linux 3.13.10-200.fc20.x86_64 x86_64
Vendor version: Fedora release 15 (Lovelock)
Nightly build on bristol ( x86_64, Fedora 15 )
Started at 2014-05-15 03:14:04 BST
Ended at 2014-05-15 03:50:14 BST
Results differ from 24 hours ago
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... failed
Regression test results follow
== 679 tests, 0 stderr failures, 0 stdout failures, 1 stderrB failure, 0 stdoutB failures, 0 post failures ==
gdbserver_tests/hginfo (stderrB)
=================================================
== Results from 24 hours ago ==
=================================================
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... done
Regression test results follow
== 678 tests, 0 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
=================================================
== Difference between 24 hours ago and now ==
=================================================
*** old.short 2014-05-15 03:31:58.996941345 +0100
--- new.short 2014-05-15 03:50:14.177844547 +0100
***************
*** 4,6 ****
Building valgrind ... done
! Running regression tests ... done
--- 4,6 ----
Building valgrind ... done
! Running regression tests ... failed
***************
*** 8,10 ****
! == 678 tests, 0 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
--- 8,11 ----
! == 679 tests, 0 stderr failures, 0 stdout failures, 1 stderrB failure, 0 stdoutB failures, 0 post failures ==
! gdbserver_tests/hginfo (stderrB)
|
|
From: Tom H. <to...@co...> - 2014-05-15 02:44:14
|
valgrind revision: 13967 VEX revision: 2861 C compiler: gcc (GCC) 4.6.3 20120306 (Red Hat 4.6.3-2) GDB: GNU gdb (GDB) Fedora (7.3.50.20110722-16.fc16) Assembler: GNU assembler version 2.21.53.0.1-6.fc16 20110716 C library: GNU C Library development release version 2.14.90 uname -mrs: Linux 3.13.10-200.fc20.x86_64 x86_64 Vendor version: Fedora release 16 (Verne) Nightly build on bristol ( x86_64, Fedora 16 ) Started at 2014-05-15 03:02:32 BST Ended at 2014-05-15 03:44:04 BST Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Regression test results follow == 679 tests, 0 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Regression test results follow == 678 tests, 0 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short 2014-05-15 03:25:12.255794780 +0100 --- new.short 2014-05-15 03:44:04.116974012 +0100 *************** *** 8,10 **** ! == 678 tests, 0 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == --- 8,10 ---- ! == 679 tests, 0 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == |
|
From: Tom H. <to...@co...> - 2014-05-15 02:37:11
|
valgrind revision: 13967 VEX revision: 2861 C compiler: gcc (GCC) 4.7.2 20120921 (Red Hat 4.7.2-2) GDB: GNU gdb (GDB) Fedora (7.4.50.20120120-54.fc17) Assembler: GNU assembler version 2.22.52.0.1-10.fc17 20120131 C library: GNU C Library stable release version 2.15 uname -mrs: Linux 3.13.10-200.fc20.x86_64 x86_64 Vendor version: Fedora release 17 (Beefy Miracle) Nightly build on bristol ( x86_64, Fedora 17 (Beefy Miracle) ) Started at 2014-05-15 02:51:17 BST Ended at 2014-05-15 03:36:58 BST Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 679 tests, 4 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == gdbserver_tests/mcinfcallRU (stderr) gdbserver_tests/mcinfcallWSRU (stderr) gdbserver_tests/mcmain_pic (stderr) exp-sgcheck/tests/preen_invars (stdout) exp-sgcheck/tests/preen_invars (stderr) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 678 tests, 4 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == gdbserver_tests/mcinfcallRU (stderr) gdbserver_tests/mcinfcallWSRU (stderr) gdbserver_tests/mcmain_pic (stderr) exp-sgcheck/tests/preen_invars (stdout) exp-sgcheck/tests/preen_invars (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short 2014-05-15 03:18:53.216118217 +0100 --- new.short 2014-05-15 03:36:58.629169703 +0100 *************** *** 8,10 **** ! == 678 tests, 4 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == gdbserver_tests/mcinfcallRU (stderr) --- 8,10 ---- ! == 679 tests, 4 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == gdbserver_tests/mcinfcallRU (stderr) |
|
From: Tom H. <to...@co...> - 2014-05-15 02:24:50
|
valgrind revision: 13967 VEX revision: 2861 C compiler: gcc (GCC) 4.7.2 20121109 (Red Hat 4.7.2-8) GDB: GNU gdb (GDB) Fedora 7.5.1-42.fc18 Assembler: GNU assembler version 2.23.51.0.1-10.fc18 20120806 C library: GNU C Library stable release version 2.16 uname -mrs: Linux 3.13.10-200.fc20.x86_64 x86_64 Vendor version: Fedora release 18 (Spherical Cow) Nightly build on bristol ( x86_64, Fedora 18 (Spherical Cow) ) Started at 2014-05-15 02:41:08 BST Ended at 2014-05-15 03:24:31 BST Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 679 tests, 1 stderr failure, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == exp-sgcheck/tests/preen_invars (stdout) exp-sgcheck/tests/preen_invars (stderr) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 678 tests, 1 stderr failure, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == exp-sgcheck/tests/preen_invars (stdout) exp-sgcheck/tests/preen_invars (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short 2014-05-15 02:59:44.398393495 +0100 --- new.short 2014-05-15 03:24:31.836575861 +0100 *************** *** 8,10 **** ! == 678 tests, 1 stderr failure, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == exp-sgcheck/tests/preen_invars (stdout) --- 8,10 ---- ! == 679 tests, 1 stderr failure, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == exp-sgcheck/tests/preen_invars (stdout) |
|
From: Rich C. <rc...@wi...> - 2014-05-15 02:24:49
|
valgrind revision: 13967
VEX revision: 2861
C compiler: gcc (SUSE Linux) 4.8.1 20130909 [gcc-4_8-branch revision 202388]
GDB: GNU gdb (GDB; openSUSE Factory) 7.6.50.20130731-cvs
Assembler: GNU assembler (GNU Binutils; openSUSE Factory) 2.23.2
C library: GNU C Library (GNU libc) stable release version 2.18 (git )
uname -mrs: Linux 3.11.4-3-desktop x86_64
Vendor version: Welcome to openSUSE 13.1 "Bottle" Beta 1 - Kernel %r (%t).
Nightly build on rodan ( Linux 3.11.4-3-desktop x86_64 )
Started at 2014-05-14 19:22:01 CDT
Ended at 2014-05-14 21:24:46 CDT
Results differ from 24 hours ago
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... failed
Regression test results follow
== 593 tests, 5 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
memcheck/tests/err_disable3 (stderr)
memcheck/tests/err_disable4 (stderr)
memcheck/tests/threadname (stderr)
memcheck/tests/threadname_xml (stderr)
exp-sgcheck/tests/hackedbz2 (stderr)
=================================================
== Results from 24 hours ago ==
=================================================
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... failed
Regression test results follow
== 592 tests, 5 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
memcheck/tests/err_disable3 (stderr)
memcheck/tests/err_disable4 (stderr)
memcheck/tests/threadname (stderr)
memcheck/tests/threadname_xml (stderr)
exp-sgcheck/tests/hackedbz2 (stderr)
=================================================
== Difference between 24 hours ago and now ==
=================================================
*** old.short Wed May 14 20:23:02 2014
--- new.short Wed May 14 21:24:46 2014
***************
*** 8,10 ****
! == 592 tests, 5 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
memcheck/tests/err_disable3 (stderr)
--- 8,10 ----
! == 593 tests, 5 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
memcheck/tests/err_disable3 (stderr)
=================================================
./valgrind-new/exp-sgcheck/tests/hackedbz2.stderr.diff-glibc28-amd64
=================================================
--- hackedbz2.stderr.exp-glibc28-amd64 2014-05-14 20:23:06.578444220 -0500
+++ hackedbz2.stderr.out 2014-05-14 21:23:30.166479482 -0500
@@ -1,7 +1,6 @@
Invalid read of size 1
- at 0x........: vex_strlen (hackedbz2.c:1006)
- by 0x........: add_to_myprintf_buf (hackedbz2.c:1284)
+ at 0x........: add_to_myprintf_buf (hackedbz2.c:1006)
by 0x........: vex_printf (hackedbz2.c:1155)
by 0x........: BZ2_compressBlock (hackedbz2.c:4039)
by 0x........: handle_compress (hackedbz2.c:4761)
=================================================
./valgrind-new/memcheck/tests/err_disable3.stderr.diff
=================================================
--- err_disable3.stderr.exp 2014-05-14 20:24:00.798073192 -0500
+++ err_disable3.stderr.out 2014-05-14 20:42:19.530818990 -0500
@@ -10,8 +10,6 @@
Thread 2:
Invalid read of size 1
at 0x........: err (err_disable3.c:25)
- by 0x........: child_fn (err_disable3.c:31)
- ...
Address 0x........ is 5 bytes inside a block of size 10 free'd
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: main (err_disable3.c:42)
=================================================
./valgrind-new/memcheck/tests/err_disable4.stderr.diff
=================================================
--- err_disable4.stderr.exp 2014-05-14 20:24:10.394184511 -0500
+++ err_disable4.stderr.out 2014-05-14 20:42:23.407863965 -0500
@@ -1501,8 +1501,6 @@
Thread x:
Invalid read of size 1
at 0x........: err (err_disable4.c:41)
- by 0x........: child_fn_2 (err_disable4.c:55)
- ...
Address 0x........ is 5 bytes inside a block of size 10 free'd
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: main (err_disable4.c:68)
=================================================
./valgrind-new/memcheck/tests/threadname.stderr.diff
=================================================
--- threadname.stderr.exp 2014-05-14 20:23:59.421057218 -0500
+++ threadname.stderr.out 2014-05-14 20:48:03.675811227 -0500
@@ -9,36 +9,12 @@
Thread 2:
Invalid write of size 1
at 0x........: bad_things (threadname.c:16)
- by 0x........: child_fn_0 (threadname.c:53)
- ...
Address 0x........ is 0 bytes after a block of size 2 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: bad_things (threadname.c:15)
by 0x........: child_fn_0 (threadname.c:53)
...
-Thread 3 try1:
-Invalid write of size 1
- at 0x........: bad_things (threadname.c:16)
- by 0x........: child_fn_1 (threadname.c:38)
- ...
- Address 0x........ is 0 bytes after a block of size 3 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: bad_things (threadname.c:15)
- by 0x........: child_fn_1 (threadname.c:38)
- ...
-
-Thread 4 012345678901234:
-Invalid write of size 1
- at 0x........: bad_things (threadname.c:16)
- by 0x........: child_fn_2 (threadname.c:26)
- ...
- Address 0x........ is 0 bytes after a block of size 4 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: bad_things (threadname.c:15)
- by 0x........: child_fn_2 (threadname.c:26)
- ...
-
Thread 1:
Invalid write of size 1
at 0x........: bad_things (threadname.c:16)
=================================================
./valgrind-new/memcheck/tests/threadname_xml.stderr.diff
=================================================
--- threadname_xml.stderr.exp 2014-05-14 20:23:59.137053924 -0500
+++ threadname_xml.stderr.out 2014-05-14 20:48:05.668834347 -0500
@@ -94,14 +94,6 @@
<file>threadname.c</file>
<line>...</line>
</frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_0</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
</stack>
<auxwhat>Address 0x........ is 0 bytes after a block of size 2 alloc'd</auxwhat>
<stack>
@@ -135,112 +127,6 @@
<error>
<unique>0x........</unique>
<tid>...</tid>
- <threadname>try1</threadname>
- <kind>InvalidWrite</kind>
- <what>Invalid write of size 1</what>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>bad_things</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_1</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- </stack>
- <auxwhat>Address 0x........ is 0 bytes after a block of size 3 alloc'd</auxwhat>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>malloc</fn>
- <dir>...</dir>
- <file>vg_replace_malloc.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>bad_things</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_1</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- </stack>
-</error>
-
-<error>
- <unique>0x........</unique>
- <tid>...</tid>
- <threadname>012345678901234</threadname>
- <kind>InvalidWrite</kind>
- <what>Invalid write of size 1</what>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>bad_things</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_2</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- </stack>
- <auxwhat>Address 0x........ is 0 bytes after a block of size 4 alloc'd</auxwhat>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
<truncated beyond 100 lines>
=================================================
./valgrind-old/exp-sgcheck/tests/hackedbz2.stderr.diff-glibc28-amd64
=================================================
--- hackedbz2.stderr.exp-glibc28-amd64 2014-05-14 19:22:25.570206876 -0500
+++ hackedbz2.stderr.out 2014-05-14 20:21:45.841507635 -0500
@@ -1,7 +1,6 @@
Invalid read of size 1
- at 0x........: vex_strlen (hackedbz2.c:1006)
- by 0x........: add_to_myprintf_buf (hackedbz2.c:1284)
+ at 0x........: add_to_myprintf_buf (hackedbz2.c:1006)
by 0x........: vex_printf (hackedbz2.c:1155)
by 0x........: BZ2_compressBlock (hackedbz2.c:4039)
by 0x........: handle_compress (hackedbz2.c:4761)
=================================================
./valgrind-old/memcheck/tests/err_disable3.stderr.diff
=================================================
--- err_disable3.stderr.exp 2014-05-14 19:22:27.926234207 -0500
+++ err_disable3.stderr.out 2014-05-14 19:40:30.326790543 -0500
@@ -10,8 +10,6 @@
Thread 2:
Invalid read of size 1
at 0x........: err (err_disable3.c:25)
- by 0x........: child_fn (err_disable3.c:31)
- ...
Address 0x........ is 5 bytes inside a block of size 10 free'd
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: main (err_disable3.c:42)
=================================================
./valgrind-old/memcheck/tests/err_disable4.stderr.diff
=================================================
--- err_disable4.stderr.exp 2014-05-14 19:22:28.755243823 -0500
+++ err_disable4.stderr.out 2014-05-14 19:40:34.117834521 -0500
@@ -1501,8 +1501,6 @@
Thread x:
Invalid read of size 1
at 0x........: err (err_disable4.c:41)
- by 0x........: child_fn_2 (err_disable4.c:55)
- ...
Address 0x........ is 5 bytes inside a block of size 10 free'd
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: main (err_disable4.c:68)
=================================================
./valgrind-old/memcheck/tests/threadname.stderr.diff
=================================================
--- threadname.stderr.exp 2014-05-14 19:22:28.395239647 -0500
+++ threadname.stderr.out 2014-05-14 19:46:16.388805019 -0500
@@ -9,36 +9,12 @@
Thread 2:
Invalid write of size 1
at 0x........: bad_things (threadname.c:16)
- by 0x........: child_fn_0 (threadname.c:53)
- ...
Address 0x........ is 0 bytes after a block of size 2 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: bad_things (threadname.c:15)
by 0x........: child_fn_0 (threadname.c:53)
...
-Thread 3 try1:
-Invalid write of size 1
- at 0x........: bad_things (threadname.c:16)
- by 0x........: child_fn_1 (threadname.c:38)
- ...
- Address 0x........ is 0 bytes after a block of size 3 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: bad_things (threadname.c:15)
- by 0x........: child_fn_1 (threadname.c:38)
- ...
-
-Thread 4 012345678901234:
-Invalid write of size 1
- at 0x........: bad_things (threadname.c:16)
- by 0x........: child_fn_2 (threadname.c:26)
- ...
- Address 0x........ is 0 bytes after a block of size 4 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: bad_things (threadname.c:15)
- by 0x........: child_fn_2 (threadname.c:26)
- ...
-
Thread 1:
Invalid write of size 1
at 0x........: bad_things (threadname.c:16)
=================================================
./valgrind-old/memcheck/tests/threadname_xml.stderr.diff
=================================================
--- threadname_xml.stderr.exp 2014-05-14 19:22:28.766243951 -0500
+++ threadname_xml.stderr.out 2014-05-14 19:46:18.384828174 -0500
@@ -94,14 +94,6 @@
<file>threadname.c</file>
<line>...</line>
</frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_0</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
</stack>
<auxwhat>Address 0x........ is 0 bytes after a block of size 2 alloc'd</auxwhat>
<stack>
@@ -135,112 +127,6 @@
<error>
<unique>0x........</unique>
<tid>...</tid>
- <threadname>try1</threadname>
- <kind>InvalidWrite</kind>
- <what>Invalid write of size 1</what>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>bad_things</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_1</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- </stack>
- <auxwhat>Address 0x........ is 0 bytes after a block of size 3 alloc'd</auxwhat>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>malloc</fn>
- <dir>...</dir>
- <file>vg_replace_malloc.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>bad_things</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_1</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- </stack>
-</error>
-
-<error>
- <unique>0x........</unique>
- <tid>...</tid>
- <threadname>012345678901234</threadname>
- <kind>InvalidWrite</kind>
- <what>Invalid write of size 1</what>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>bad_things</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_2</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- </stack>
- <auxwhat>Address 0x........ is 0 bytes after a block of size 4 alloc'd</auxwhat>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
<truncated beyond 100 lines>
|
|
From: Tom H. <to...@co...> - 2014-05-15 02:13:30
|
valgrind revision: 13967 VEX revision: 2861 C compiler: gcc (GCC) 4.8.2 20131212 (Red Hat 4.8.2-7) GDB: GNU gdb (GDB) Fedora 7.6.1-46.fc19 Assembler: GNU assembler version 2.23.52.0.1-9.fc19 20130226 C library: GNU C Library (GNU libc) stable release version 2.17 uname -mrs: Linux 3.13.10-200.fc20.x86_64 x86_64 Vendor version: Fedora release 19 (Schrödingerâs Cat) Nightly build on bristol ( x86_64, Fedora 19 (Schrödingerâs Cat) ) Started at 2014-05-15 02:31:33 BST Ended at 2014-05-15 03:13:11 BST Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 679 tests, 1 stderr failure, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == exp-sgcheck/tests/hackedbz2 (stderr) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 678 tests, 1 stderr failure, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == exp-sgcheck/tests/hackedbz2 (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short 2014-05-15 02:50:37.519943169 +0100 --- new.short 2014-05-15 03:13:11.243703885 +0100 *************** *** 8,10 **** ! == 678 tests, 1 stderr failure, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == exp-sgcheck/tests/hackedbz2 (stderr) --- 8,10 ---- ! == 679 tests, 1 stderr failure, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == exp-sgcheck/tests/hackedbz2 (stderr) |
|
From: <sv...@va...> - 2014-05-15 00:12:46
|
Author: sewardj
Date: Thu May 15 00:12:36 2014
New Revision: 13967
Log:
Add tests for VFPv4 VFMA/VMFS. Pertains to #331057.
Added:
trunk/none/tests/arm/vfpv4_fma.c
trunk/none/tests/arm/vfpv4_fma.stderr.exp
trunk/none/tests/arm/vfpv4_fma.stdout.exp
trunk/none/tests/arm/vfpv4_fma.vgtest
Modified:
trunk/none/tests/arm/Makefile.am
Modified: trunk/none/tests/arm/Makefile.am
==============================================================================
--- trunk/none/tests/arm/Makefile.am (original)
+++ trunk/none/tests/arm/Makefile.am Thu May 15 00:12:36 2014
@@ -14,7 +14,8 @@
v6media.stdout.exp v6media.stderr.exp v6media.vgtest \
vcvt_fixed_float_VFP.stdout.exp vcvt_fixed_float_VFP.stderr.exp \
vcvt_fixed_float_VFP.vgtest \
- vfp.stdout.exp vfp.stderr.exp vfp.vgtest
+ vfp.stdout.exp vfp.stderr.exp vfp.vgtest \
+ vfpv4_fma.stdout.exp vfpv4_fma.stderr.exp vfpv4_fma.vgtest
check_PROGRAMS = \
allexec \
@@ -27,7 +28,8 @@
v6intThumb \
v6media \
vcvt_fixed_float_VFP \
- vfp
+ vfp \
+ vfpv4_fma
AM_CFLAGS += @FLAG_M32@
AM_CXXFLAGS += @FLAG_M32@
@@ -63,3 +65,5 @@
intdiv_CFLAGS = $(AM_CFLAGS) -g -mcpu=cortex-a15 -mthumb
ldrt_CFLAGS = $(AM_CFLAGS) -g -mcpu=cortex-a8 -mthumb
ldrt_arm_CFLAGS = $(AM_CFLAGS) -g -mcpu=cortex-a8 -marm
+
+vfpv4_fma_CFLAGS = $(AM_CFLAGS) -g -O0 -mcpu=cortex-a15 -mfpu=vfpv4 -marm
Added: trunk/none/tests/arm/vfpv4_fma.c
==============================================================================
--- trunk/none/tests/arm/vfpv4_fma.c (added)
+++ trunk/none/tests/arm/vfpv4_fma.c Thu May 15 00:12:36 2014
@@ -0,0 +1,182 @@
+
+/* Can be compiled both as ARM or Thumb using
+ gcc -Wall -g -O0 -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp -m{arm,thumb} -o vfp vfp.c
+*/
+
+#include <stdio.h>
+#include <string.h>
+#include <math.h>
+
+static unsigned int f2u(float x) {
+ union {
+ float f;
+ unsigned int u;
+ } cvt;
+ cvt.f = x;
+ return cvt.u;
+}
+
+static unsigned int f2u0(double x) {
+ union {
+ double f;
+ unsigned int u[2];
+ } cvt;
+ cvt.f = x;
+ return cvt.u[0];
+}
+
+static unsigned int f2u1(double x) {
+ union {
+ double f;
+ unsigned int u[2];
+ } cvt;
+ cvt.f = x;
+ return cvt.u[1];
+}
+
+/* test macros to generate and output the result of a single instruction */
+
+#define TESTINSN_bin_f64(instruction, QD, QM, QMtype, QMval0, QMval1, QN, QNtype, QNval0, QNval1) \
+{ \
+ unsigned int out[2] = { 0x55555555, 0x55555555 }; \
+ unsigned int block[2]; \
+ block[0] = block[1] = 0x3f800000; \
+ \
+ __asm__ volatile( \
+ "vldr " #QD ", [%5]\n\t" \
+ "vmov " #QM ", %1, %2 \n\t" \
+ "vmov " #QN ", %3, %4 \n\t" \
+ instruction "\n\t" \
+ "vstmia %0, {" #QD "}\n\t" \
+ : \
+ : "r" (&out[0]), "r" (QMval0), "r" (QMval1), "r" (QNval0), "r" (QNval1), "r"(&block[0]) \
+ : #QD, #QM, #QN, "memory" \
+ ); \
+ printf("%-24s :: Qd 0x%08x 0x%08x Qm 0x%08x %08x" \
+ " Qn 0x%08x %08x\n", \
+ instruction, out[1], out[0], QMval1, QMval0, QNval1, QNval0); \
+}
+
+#define TESTINSN_bin_f32(instruction, SD, SM, SMtype, SMval, SN, SNtype, SNval) \
+{ \
+ unsigned int out[2] = { 0x55555555, 0x55555555 }; \
+ \
+ __asm__ volatile( \
+ "vmov.f32 " #SM ", %1\n\t" \
+ "vmov.f32 " #SN ", %2\n\t" \
+ "vmov.f32 " #SD ", %3\n\t" \
+ instruction "\n\t" \
+ "vstmia %0, {" #SD "}\n\t" \
+ : \
+ : "r" (&out[0]), "r" (SMval), "r" (SNval), "r" (0xaaaaaaaa) \
+ : #SD, #SM, #SN, "memory" \
+ ); \
+ printf("%-24s :: Qd 0x%08x 0x%08x Sm (" #SMtype ")0x%08x" \
+ " Sn (" #SNtype ")0x%08x\n", \
+ instruction, out[1], out[0], SMval, SNval); \
+}
+
+int main(int argc, char **argv)
+{
+ printf("---- VFMA (fp, VFPv4) ----\n");
+ TESTINSN_bin_f64("vfma.f64 d0, d11, d12", d0, d11, i32, f2u0(-INFINITY), f2u1(-INFINITY), d12, i32, f2u0(NAN), f2u1(NAN));
+ TESTINSN_bin_f64("vfma.f64 d7, d1, d6", d7, d1, i32, f2u0(INFINITY), f2u1(INFINITY), d6, i32, f2u0(NAN), f2u1(NAN));
+ TESTINSN_bin_f64("vfma.f64 d0, d5, d2", d0, d5, i32, f2u0(NAN), f2u1(NAN), d2, i32, f2u0(-1.0), f2u1(-1.0));
+ TESTINSN_bin_f64("vfma.f64 d10, d13, d15", d10, d13, i32, f2u0(NAN), f2u1(NAN), d15, i32, f2u0(0.0), f2u1(0.0));
+ TESTINSN_bin_f64("vfma.f64 d10, d13, d15", d10, d13, i32, f2u0(NAN), f2u1(NAN), d15, i32, f2u0(NAN), f2u1(NAN));
+ TESTINSN_bin_f64("vfma.f64 d20, d25, d22", d20, d25, i32, f2u0(23.04), f2u1(23.04), d22, i32, f2u0(-45.5687), f2u1(-45.5687));
+ TESTINSN_bin_f64("vfma.f64 d23, d24, d25", d23, d24, i32, f2u0(-347856.475), f2u1(-347856.475), d25, i32, f2u0(1346), f2u1(1346));
+ TESTINSN_bin_f64("vfma.f64 d20, d31, d12", d20, d31, i32, f2u0(48755), f2u1(48755), d12, i32, f2u0(-45786.476), f2u1(-45786.476));
+ TESTINSN_bin_f64("vfma.f64 d19, d25, d27", d19, d25, i32, f2u0(95867.76), f2u1(95867.76), d27, i32, f2u0(17065), f2u1(17065));
+ TESTINSN_bin_f64("vfma.f64 d30, d15, d2", d30, d15, i32, f2u0(-45667.24), f2u1(-45667.24), d2, i32, f2u0(-248562.76), f2u1(-248562.76));
+ TESTINSN_bin_f64("vfma.f64 d23, d24, d5", d23, d24, i32, f2u0(24), f2u1(24), d5, i32, f2u0(1346), f2u1(1346));
+ TESTINSN_bin_f64("vfma.f64 d10, d11, d2", d10, d11, i32, f2u0(48755), f2u1(48755), d2, i32, f2u0(1089), f2u1(1089));
+ TESTINSN_bin_f64("vfma.f64 d29, d15, d7", d29, d15, i32, f2u0(214), f2u1(214), d7, i32, f2u0(1752065), f2u1(1752065));
+ TESTINSN_bin_f64("vfma.f64 d30, d11, d12", d30, d11, i32, f2u0(356047.56), f2u1(356047.56), d12, i32, f2u0(5867.009), f2u1(5867.009));
+ TESTINSN_bin_f64("vfma.f64 d27, d21, d6", d27, d21, i32, f2u0(34.00046), f2u1(34.00046), d6, i32, f2u0(0.0024575), f2u1(0.0024575));
+ TESTINSN_bin_f64("vfma.f64 d30, d31, d2", d30, d31, i32, f2u0(2754), f2u1(2754), d2, i32, f2u0(107), f2u1(107));
+ TESTINSN_bin_f64("vfma.f64 d13, d24, d5", d13, d24, i32, f2u0(874), f2u1(874), d5, i32, f2u0(1384.6), f2u1(1384.6));
+ TESTINSN_bin_f64("vfma.f64 d10, d11, d2", d10, d11, i32, f2u0(487.587), f2u1(487.587), d2, i32, f2u0(109), f2u1(109));
+ TESTINSN_bin_f64("vfma.f64 d29, d25, d7", d29, d25, i32, f2u0(-INFINITY), f2u1(-INFINITY), d7, i32, f2u0(1752), f2u1(1752));
+ TESTINSN_bin_f64("vfma.f64 d0, d11, d12", d0, d11, i32, f2u0(INFINITY), f2u1(INFINITY), d12, i32, f2u0(-5786.47), f2u1(-5786.47));
+ TESTINSN_bin_f64("vfma.f64 d27, d21, d16", d27, d21, i32, f2u0(456.2489562), f2u1(456.2489562), d16, i32, f2u0(-7.2945676), f2u1(-7.2945676));
+ TESTINSN_bin_f64("vfma.f64 d0, d5, d2", d0, d5, i32, f2u0(INFINITY), f2u1(INFINITY), d2, i32, f2u0(-INFINITY), f2u1(-INFINITY));
+ TESTINSN_bin_f64("vfma.f64 d20, d13, d15", d20, d13, i32, f2u0(-INFINITY), f2u1(-INFINITY), d15, i32, f2u0(0.0), f2u1(0.0));
+ TESTINSN_bin_f64("vfma.f64 d10, d23, d15", d10, d23, i32, f2u0(INFINITY), f2u1(INFINITY), d15, i32, f2u0(0.0), f2u1(0.0));
+ TESTINSN_bin_f32("vfma.f32 s0, s11, s12", s0, s11, i32, f2u(-INFINITY), s12, i32, f2u(NAN));
+ TESTINSN_bin_f32("vfma.f32 s7, s1, s6", s7, s1, i32, f2u(INFINITY), s6, i32, f2u(NAN));
+ TESTINSN_bin_f32("vfma.f32 s0, s5, s2", s0, s5, i32, f2u(NAN), s2, i32, f2u(-1.0));
+ TESTINSN_bin_f32("vfma.f32 s10, s13, s15", s10, s13, i32, f2u(NAN), s15, i32, f2u(0.0));
+ TESTINSN_bin_f32("vfma.f32 s10, s13, s15", s10, s13, i32, f2u(NAN), s15, i32, f2u(NAN));
+ TESTINSN_bin_f32("vfma.f32 s20, s25, s22", s20, s25, i32, f2u(23.04), s22, i32, f2u(-45.5687));
+ TESTINSN_bin_f32("vfma.f32 s23, s24, s25", s23, s24, i32, f2u(-347856.475), s25, i32, f2u(1346));
+ TESTINSN_bin_f32("vfma.f32 s20, s31, s12", s20, s31, i32, f2u(48755), s12, i32, f2u(-45786.476));
+ TESTINSN_bin_f32("vfma.f32 s19, s25, s27", s19, s25, i32, f2u(95867.76), s27, i32, f2u(17065));
+ TESTINSN_bin_f32("vfma.f32 s30, s15, s2", s30, s15, i32, f2u(-45667.24), s2, i32, f2u(-248562.76));
+ TESTINSN_bin_f32("vfma.f32 s23, s24, s5", s23, s24, i32, f2u(24), s5, i32, f2u(1346));
+ TESTINSN_bin_f32("vfma.f32 s10, s11, s2", s10, s11, i32, f2u(48755), s2, i32, f2u(1089));
+ TESTINSN_bin_f32("vfma.f32 s29, s15, s7", s29, s15, i32, f2u(214), s7, i32, f2u(1752065));
+ TESTINSN_bin_f32("vfma.f32 s30, s11, s12", s30, s11, i32, f2u(356047.56), s12, i32, f2u(5867.009));
+ TESTINSN_bin_f32("vfma.f32 s27, s21, s6", s27, s21, i32, f2u(34.00046), s6, i32, f2u(0.0024575));
+ TESTINSN_bin_f32("vfma.f32 s30, s31, s2", s30, s31, i32, f2u(2754), s2, i32, f2u(107));
+ TESTINSN_bin_f32("vfma.f32 s13, s24, s5", s13, s24, i32, f2u(874), s5, i32, f2u(1384.6));
+ TESTINSN_bin_f32("vfma.f32 s10, s11, s2", s10, s11, i32, f2u(487.587), s2, i32, f2u(109));
+ TESTINSN_bin_f32("vfma.f32 s29, s25, s7", s29, s25, i32, f2u(-INFINITY), s7, i32, f2u(1752));
+ TESTINSN_bin_f32("vfma.f32 s0, s11, s12", s0, s11, i32, f2u(INFINITY), s12, i32, f2u(-5786.47));
+ TESTINSN_bin_f32("vfma.f32 s27, s21, s16", s27, s21, i32, f2u(456.2489562), s16, i32, f2u(-7.2945676));
+ TESTINSN_bin_f32("vfma.f32 s0, s5, s2", s0, s5, i32, f2u(INFINITY), s2, i32, f2u(-INFINITY));
+ TESTINSN_bin_f32("vfma.f32 s20, s13, s15", s20, s13, i32, f2u(-INFINITY), s15, i32, f2u(0.0));
+ TESTINSN_bin_f32("vfma.f32 s10, s23, s15", s10, s23, i32, f2u(INFINITY), s15, i32, f2u(0.0));
+
+ printf("---- VFMS (fp, VFPv4) ----\n");
+ TESTINSN_bin_f64("vfms.f64 d0, d11, d12", d0, d11, i32, f2u0(-INFINITY), f2u1(-INFINITY), d12, i32, f2u0(NAN), f2u1(NAN));
+ TESTINSN_bin_f64("vfms.f64 d7, d1, d6", d7, d1, i32, f2u0(INFINITY), f2u1(INFINITY), d6, i32, f2u0(NAN), f2u1(NAN));
+ TESTINSN_bin_f64("vfms.f64 d0, d5, d2", d0, d5, i32, f2u0(NAN), f2u1(NAN), d2, i32, f2u0(-1.0), f2u1(-1.0));
+ TESTINSN_bin_f64("vfms.f64 d10, d13, d15", d10, d13, i32, f2u0(NAN), f2u1(NAN), d15, i32, f2u0(0.0), f2u1(0.0));
+ TESTINSN_bin_f64("vfms.f64 d10, d13, d15", d10, d13, i32, f2u0(NAN), f2u1(NAN), d15, i32, f2u0(NAN), f2u1(NAN));
+ TESTINSN_bin_f64("vfms.f64 d20, d25, d22", d20, d25, i32, f2u0(23.04), f2u1(23.04), d22, i32, f2u0(-45.5687), f2u1(-45.5687));
+ TESTINSN_bin_f64("vfms.f64 d23, d24, d25", d23, d24, i32, f2u0(-347856.475), f2u1(-347856.475), d25, i32, f2u0(1346), f2u1(1346));
+ TESTINSN_bin_f64("vfms.f64 d20, d31, d12", d20, d31, i32, f2u0(48755), f2u1(48755), d12, i32, f2u0(-45786.476), f2u1(-45786.476));
+ TESTINSN_bin_f64("vfms.f64 d19, d25, d27", d19, d25, i32, f2u0(95867.76), f2u1(95867.76), d27, i32, f2u0(17065), f2u1(17065));
+ TESTINSN_bin_f64("vfms.f64 d30, d15, d2", d30, d15, i32, f2u0(-45667.24), f2u1(-45667.24), d2, i32, f2u0(-248562.76), f2u1(-248562.76));
+ TESTINSN_bin_f64("vfms.f64 d23, d24, d5", d23, d24, i32, f2u0(24), f2u1(24), d5, i32, f2u0(1346), f2u1(1346));
+ TESTINSN_bin_f64("vfms.f64 d10, d11, d2", d10, d11, i32, f2u0(48755), f2u1(48755), d2, i32, f2u0(1089), f2u1(1089));
+ TESTINSN_bin_f64("vfms.f64 d29, d15, d7", d29, d15, i32, f2u0(214), f2u1(214), d7, i32, f2u0(1752065), f2u1(1752065));
+ TESTINSN_bin_f64("vfms.f64 d30, d11, d12", d30, d11, i32, f2u0(356047.56), f2u1(356047.56), d12, i32, f2u0(5867.009), f2u1(5867.009));
+ TESTINSN_bin_f64("vfms.f64 d27, d21, d6", d27, d21, i32, f2u0(34.00046), f2u1(34.00046), d6, i32, f2u0(0.0024575), f2u1(0.0024575));
+ TESTINSN_bin_f64("vfms.f64 d30, d31, d2", d30, d31, i32, f2u0(2754), f2u1(2754), d2, i32, f2u0(107), f2u1(107));
+ TESTINSN_bin_f64("vfms.f64 d13, d24, d5", d13, d24, i32, f2u0(874), f2u1(874), d5, i32, f2u0(1384.6), f2u1(1384.6));
+ TESTINSN_bin_f64("vfms.f64 d10, d11, d2", d10, d11, i32, f2u0(487.587), f2u1(487.587), d2, i32, f2u0(109), f2u1(109));
+ TESTINSN_bin_f64("vfms.f64 d29, d25, d7", d29, d25, i32, f2u0(-INFINITY), f2u1(-INFINITY), d7, i32, f2u0(1752), f2u1(1752));
+ TESTINSN_bin_f64("vfms.f64 d0, d11, d12", d0, d11, i32, f2u0(INFINITY), f2u1(INFINITY), d12, i32, f2u0(-5786.47), f2u1(-5786.47));
+ TESTINSN_bin_f64("vfms.f64 d27, d21, d16", d27, d21, i32, f2u0(456.2489562), f2u1(456.2489562), d16, i32, f2u0(-7.2945676), f2u1(-7.2945676));
+ TESTINSN_bin_f64("vfms.f64 d0, d5, d2", d0, d5, i32, f2u0(INFINITY), f2u1(INFINITY), d2, i32, f2u0(-INFINITY), f2u1(-INFINITY));
+ TESTINSN_bin_f64("vfms.f64 d20, d13, d15", d20, d13, i32, f2u0(-INFINITY), f2u1(-INFINITY), d15, i32, f2u0(0.0), f2u1(0.0));
+ TESTINSN_bin_f64("vfms.f64 d10, d23, d15", d10, d23, i32, f2u0(INFINITY), f2u1(INFINITY), d15, i32, f2u0(0.0), f2u1(0.0));
+ TESTINSN_bin_f32("vfms.f32 s0, s11, s12", s0, s11, i32, f2u(-INFINITY), s12, i32, f2u(NAN));
+ TESTINSN_bin_f32("vfms.f32 s7, s1, s6", s7, s1, i32, f2u(INFINITY), s6, i32, f2u(NAN));
+ TESTINSN_bin_f32("vfms.f32 s0, s5, s2", s0, s5, i32, f2u(NAN), s2, i32, f2u(-1.0));
+ TESTINSN_bin_f32("vfms.f32 s10, s13, s15", s10, s13, i32, f2u(NAN), s15, i32, f2u(0.0));
+ TESTINSN_bin_f32("vfms.f32 s10, s13, s15", s10, s13, i32, f2u(NAN), s15, i32, f2u(NAN));
+ TESTINSN_bin_f32("vfms.f32 s20, s25, s22", s20, s25, i32, f2u(23.04), s22, i32, f2u(-45.5687));
+ TESTINSN_bin_f32("vfms.f32 s23, s24, s25", s23, s24, i32, f2u(-347856.475), s25, i32, f2u(1346));
+ TESTINSN_bin_f32("vfms.f32 s20, s31, s12", s20, s31, i32, f2u(48755), s12, i32, f2u(-45786.476));
+ TESTINSN_bin_f32("vfms.f32 s19, s25, s27", s19, s25, i32, f2u(95867.76), s27, i32, f2u(17065));
+ TESTINSN_bin_f32("vfms.f32 s30, s15, s2", s30, s15, i32, f2u(-45667.24), s2, i32, f2u(-248562.76));
+ TESTINSN_bin_f32("vfms.f32 s23, s24, s5", s23, s24, i32, f2u(24), s5, i32, f2u(1346));
+ TESTINSN_bin_f32("vfms.f32 s10, s11, s2", s10, s11, i32, f2u(48755), s2, i32, f2u(1089));
+ TESTINSN_bin_f32("vfms.f32 s29, s15, s7", s29, s15, i32, f2u(214), s7, i32, f2u(1752065));
+ TESTINSN_bin_f32("vfms.f32 s30, s11, s12", s30, s11, i32, f2u(356047.56), s12, i32, f2u(5867.009));
+ TESTINSN_bin_f32("vfms.f32 s27, s21, s6", s27, s21, i32, f2u(34.00046), s6, i32, f2u(0.0024575));
+ TESTINSN_bin_f32("vfms.f32 s30, s31, s2", s30, s31, i32, f2u(2754), s2, i32, f2u(107));
+ TESTINSN_bin_f32("vfms.f32 s13, s24, s5", s13, s24, i32, f2u(874), s5, i32, f2u(1384.6));
+ TESTINSN_bin_f32("vfms.f32 s10, s11, s2", s10, s11, i32, f2u(487.587), s2, i32, f2u(109));
+ TESTINSN_bin_f32("vfms.f32 s29, s25, s7", s29, s25, i32, f2u(-INFINITY), s7, i32, f2u(1752));
+ TESTINSN_bin_f32("vfms.f32 s0, s11, s12", s0, s11, i32, f2u(INFINITY), s12, i32, f2u(-5786.47));
+ TESTINSN_bin_f32("vfms.f32 s27, s21, s16", s27, s21, i32, f2u(456.2489562), s16, i32, f2u(-7.2945676));
+ TESTINSN_bin_f32("vfms.f32 s0, s5, s2", s0, s5, i32, f2u(INFINITY), s2, i32, f2u(-INFINITY));
+ TESTINSN_bin_f32("vfms.f32 s20, s13, s15", s20, s13, i32, f2u(-INFINITY), s15, i32, f2u(0.0));
+ TESTINSN_bin_f32("vfms.f32 s10, s23, s15", s10, s23, i32, f2u(INFINITY), s15, i32, f2u(0.0));
+
+ return 0;
+}
Added: trunk/none/tests/arm/vfpv4_fma.stderr.exp
==============================================================================
(empty)
Added: trunk/none/tests/arm/vfpv4_fma.stdout.exp
==============================================================================
--- trunk/none/tests/arm/vfpv4_fma.stdout.exp (added)
+++ trunk/none/tests/arm/vfpv4_fma.stdout.exp Thu May 15 00:12:36 2014
@@ -0,0 +1,98 @@
+---- VFMA (fp, VFPv4) ----
+vfma.f64 d0, d11, d12 :: Qd 0x7ff80000 0x00000000 Qm 0xfff00000 00000000 Qn 0x7ff80000 00000000
+vfma.f64 d7, d1, d6 :: Qd 0x7ff80000 0x00000000 Qm 0x7ff00000 00000000 Qn 0x7ff80000 00000000
+vfma.f64 d0, d5, d2 :: Qd 0x7ff80000 0x00000000 Qm 0x7ff80000 00000000 Qn 0xbff00000 00000000
+vfma.f64 d10, d13, d15 :: Qd 0x7ff80000 0x00000000 Qm 0x7ff80000 00000000 Qn 0x00000000 00000000
+vfma.f64 d10, d13, d15 :: Qd 0x7ff80000 0x00000000 Qm 0x7ff80000 00000000 Qn 0x7ff80000 00000000
+vfma.f64 d20, d25, d22 :: Qd 0xc0906794 0x842f8549 Qm 0x40370a3d 70a3d70a Qn 0xc046c8cb 295e9e1b
+vfma.f64 d23, d24, d25 :: Qd 0xc1bbe864 0x1f579999 Qm 0xc1153b41 e6666666 Qn 0x40950800 00000000
+vfma.f64 d20, d31, d12 :: Qd 0xc1e0a1cf 0xd2abe8f6 Qm 0x40e7ce60 00000000 Qn 0xc0e65b4f 3b645a1d
+vfma.f64 d19, d25, d27 :: Qd 0x41d860c7 0xf71a1999 Qm 0x40f767bc 28f5c28f Qn 0x40d0aa40 00000000
+vfma.f64 d30, d15, d2 :: Qd 0x420524a9 0x817febf4 Qm 0xc0e64c67 ae147ae1 Qn 0xc10e5796 147ae148
+vfma.f64 d23, d24, d5 :: Qd 0x40df8c00 0x800001fc Qm 0x40380000 00000000 Qn 0x40950800 00000000
+vfma.f64 d10, d11, d2 :: Qd 0x41895139 0x98100000 Qm 0x40e7ce60 00000000 Qn 0x40910400 00000000
+vfma.f64 d29, d15, d7 :: Qd 0x41b65928 0xd6020000 Qm 0x406ac000 00000000 Qn 0x413abc01 00000000
+vfma.f64 d30, d11, d12 :: Qd 0x41df20a6 0xd7bd2cb0 Qm 0x4115bb3e 3d70a3d7 Qn 0x40b6eb02 4dd2f1aa
+vfma.f64 d27, d21, d6 :: Qd 0x3fb763ef 0x4799be48 Qm 0x4041000f 12c27a63 Qn 0x3f6421c0 44284dfd
+vfma.f64 d30, d31, d2 :: Qd 0x4111fc58 0x08000020 Qm 0x40a58400 00000000 Qn 0x405ac000 00000000
+vfma.f64 d13, d24, d5 :: Qd 0x4132771c 0x6866666e Qm 0x408b5000 00000000 Qn 0x4095a266 66666666
+vfma.f64 d10, d11, d2 :: Qd 0x40e9f35f 0xb4bc6b7d Qm 0x407e7964 5a1cac08 Qn 0x405b4000 00000000
+vfma.f64 d29, d25, d7 :: Qd 0xfff00000 0x00000000 Qm 0xfff00000 00000000 Qn 0x409b6000 00000000
+vfma.f64 d0, d11, d12 :: Qd 0xfff00000 0x00000000 Qm 0x7ff00000 00000000 Qn 0xc0b69a78 51eb851f
+vfma.f64 d27, d21, d16 :: Qd 0xc0aa0043 0x17cbec9d Qm 0x407c83fb b97f122f Qn 0xc01d2da3 2101d847
+vfma.f64 d0, d5, d2 :: Qd 0xfff00000 0x00000000 Qm 0x7ff00000 00000000 Qn 0xfff00000 00000000
+vfma.f64 d20, d13, d15 :: Qd 0x7ff80000 0x00000000 Qm 0xfff00000 00000000 Qn 0x00000000 00000000
+vfma.f64 d10, d23, d15 :: Qd 0x7ff80000 0x00000000 Qm 0x7ff00000 00000000 Qn 0x00000000 00000000
+vfma.f32 s0, s11, s12 :: Qd 0x55555555 0x7fc00000 Sm (i32)0xff800000 Sn (i32)0x7fc00000
+vfma.f32 s7, s1, s6 :: Qd 0x55555555 0x7fc00000 Sm (i32)0x7f800000 Sn (i32)0x7fc00000
+vfma.f32 s0, s5, s2 :: Qd 0x55555555 0x7fc00000 Sm (i32)0x7fc00000 Sn (i32)0xbf800000
+vfma.f32 s10, s13, s15 :: Qd 0x55555555 0x7fc00000 Sm (i32)0x7fc00000 Sn (i32)0x00000000
+vfma.f32 s10, s13, s15 :: Qd 0x55555555 0x7fc00000 Sm (i32)0x7fc00000 Sn (i32)0x7fc00000
+vfma.f32 s20, s25, s22 :: Qd 0x55555555 0xc4833ce4 Sm (i32)0x41b851ec Sn (i32)0xc2364659
+vfma.f32 s23, s24, s25 :: Qd 0x55555555 0xcddf4321 Sm (i32)0xc8a9da0f Sn (i32)0x44a84000
+vfma.f32 s20, s31, s12 :: Qd 0x55555555 0xcf050e7f Sm (i32)0x473e7300 Sn (i32)0xc732da7a
+vfma.f32 s19, s25, s27 :: Qd 0x55555555 0x4ec3063f Sm (i32)0x47bb3de1 Sn (i32)0x46855200
+vfma.f32 s30, s15, s2 :: Qd 0x55555555 0x5029254c Sm (i32)0xc732633d Sn (i32)0xc872bcb1
+vfma.f32 s23, s24, s5 :: Qd 0x55555555 0x46fc6000 Sm (i32)0x41c00000 Sn (i32)0x44a84000
+vfma.f32 s10, s11, s2 :: Qd 0x55555555 0x4c4a89cd Sm (i32)0x473e7300 Sn (i32)0x44882000
+vfma.f32 s29, s15, s7 :: Qd 0x55555555 0x4db2c947 Sm (i32)0x43560000 Sn (i32)0x49d5e008
+vfma.f32 s30, s11, s12 :: Qd 0x55555555 0x4ef90536 Sm (i32)0x48add9f2 Sn (i32)0x45b75812
+vfma.f32 s27, s21, s6 :: Qd 0x55555555 0x3dab1f7a Sm (i32)0x42080079 Sn (i32)0x3b210e02
+vfma.f32 s30, s31, s2 :: Qd 0x55555555 0x488fe2c0 Sm (i32)0x452c2000 Sn (i32)0x42d60000
+vfma.f32 s13, s24, s5 :: Qd 0x55555555 0x4993b8e3 Sm (i32)0x445a8000 Sn (i32)0x44ad1333
+vfma.f32 s10, s11, s2 :: Qd 0x55555555 0x474f9afc Sm (i32)0x43f3cb23 Sn (i32)0x42da0000
+vfma.f32 s29, s25, s7 :: Qd 0x55555555 0xff800000 Sm (i32)0xff800000 Sn (i32)0x44db0000
+vfma.f32 s0, s11, s12 :: Qd 0x55555555 0xff800000 Sm (i32)0x7f800000 Sn (i32)0xc5b4d3c3
+vfma.f32 s27, s21, s16 :: Qd 0x55555555 0xc5500239 Sm (i32)0x43e41fde Sn (i32)0xc0e96d19
+vfma.f32 s0, s5, s2 :: Qd 0x55555555 0xff800000 Sm (i32)0x7f800000 Sn (i32)0xff800000
+vfma.f32 s20, s13, s15 :: Qd 0x55555555 0x7fc00000 Sm (i32)0xff800000 Sn (i32)0x00000000
+vfma.f32 s10, s23, s15 :: Qd 0x55555555 0x7fc00000 Sm (i32)0x7f800000 Sn (i32)0x00000000
+---- VFMS (fp, VFPv4) ----
+vfms.f64 d0, d11, d12 :: Qd 0x7ff80000 0x00000000 Qm 0xfff00000 00000000 Qn 0x7ff80000 00000000
+vfms.f64 d7, d1, d6 :: Qd 0x7ff80000 0x00000000 Qm 0x7ff00000 00000000 Qn 0x7ff80000 00000000
+vfms.f64 d0, d5, d2 :: Qd 0xfff80000 0x00000000 Qm 0x7ff80000 00000000 Qn 0xbff00000 00000000
+vfms.f64 d10, d13, d15 :: Qd 0xfff80000 0x00000000 Qm 0x7ff80000 00000000 Qn 0x00000000 00000000
+vfms.f64 d10, d13, d15 :: Qd 0xfff80000 0x00000000 Qm 0x7ff80000 00000000 Qn 0x7ff80000 00000000
+vfms.f64 d20, d25, d22 :: Qd 0x409067a4 0x842fc4c9 Qm 0x40370a3d 70a3d70a Qn 0xc046c8cb 295e9e1b
+vfms.f64 d23, d24, d25 :: Qd 0x41bbe864 0x1f5b9999 Qm 0xc1153b41 e6666666 Qn 0x40950800 00000000
+vfms.f64 d20, d31, d12 :: Qd 0x41e0a1cf 0xd2ac68f6 Qm 0x40e7ce60 00000000 Qn 0xc0e65b4f 3b645a1d
+vfms.f64 d19, d25, d27 :: Qd 0xc1d860c7 0xf7191999 Qm 0x40f767bc 28f5c28f Qn 0x40d0aa40 00000000
+vfms.f64 d30, d15, d2 :: Qd 0xc20524a9 0x817fcbf4 Qm 0xc0e64c67 ae147ae1 Qn 0xc10e5796 147ae148
+vfms.f64 d23, d24, d5 :: Qd 0xc0df8bff 0x7ffffe04 Qm 0x40380000 00000000 Qn 0x40950800 00000000
+vfms.f64 d10, d11, d2 :: Qd 0xc1895139 0x97f00000 Qm 0x40e7ce60 00000000 Qn 0x40910400 00000000
+vfms.f64 d29, d15, d7 :: Qd 0xc1b65928 0xd5fe0000 Qm 0x406ac000 00000000 Qn 0x413abc01 00000000
+vfms.f64 d30, d11, d12 :: Qd 0xc1df20a6 0xd7bc2cb0 Qm 0x4115bb3e 3d70a3d7 Qn 0x40b6eb02 4dd2f1aa
+vfms.f64 d27, d21, d6 :: Qd 0xbfb363ef 0x37b9be48 Qm 0x4041000f 12c27a63 Qn 0x3f6421c0 44284dfd
+vfms.f64 d30, d31, d2 :: Qd 0xc111fc57 0xf7ffffe0 Qm 0x40a58400 00000000 Qn 0x405ac000 00000000
+vfms.f64 d13, d24, d5 :: Qd 0xc132771c 0x6466665e Qm 0x408b5000 00000000 Qn 0x4095a266 66666666
+vfms.f64 d10, d11, d2 :: Qd 0xc0e9f35f 0x34bc6981 Qm 0x407e7964 5a1cac08 Qn 0x405b4000 00000000
+vfms.f64 d29, d25, d7 :: Qd 0x7ff00000 0x00000000 Qm 0xfff00000 00000000 Qn 0x409b6000 00000000
+vfms.f64 d0, d11, d12 :: Qd 0x7ff00000 0x00000000 Qm 0x7ff00000 00000000 Qn 0xc0b69a78 51eb851f
+vfms.f64 d27, d21, d16 :: Qd 0x40aa004b 0x17cc0c5d Qm 0x407c83fb b97f122f Qn 0xc01d2da3 2101d847
+vfms.f64 d0, d5, d2 :: Qd 0x7ff00000 0x00000000 Qm 0x7ff00000 00000000 Qn 0xfff00000 00000000
+vfms.f64 d20, d13, d15 :: Qd 0x7ff80000 0x00000000 Qm 0xfff00000 00000000 Qn 0x00000000 00000000
+vfms.f64 d10, d23, d15 :: Qd 0x7ff80000 0x00000000 Qm 0x7ff00000 00000000 Qn 0x00000000 00000000
+vfms.f32 s0, s11, s12 :: Qd 0x55555555 0x7fc00000 Sm (i32)0xff800000 Sn (i32)0x7fc00000
+vfms.f32 s7, s1, s6 :: Qd 0x55555555 0x7fc00000 Sm (i32)0x7f800000 Sn (i32)0x7fc00000
+vfms.f32 s0, s5, s2 :: Qd 0x55555555 0xffc00000 Sm (i32)0x7fc00000 Sn (i32)0xbf800000
+vfms.f32 s10, s13, s15 :: Qd 0x55555555 0xffc00000 Sm (i32)0x7fc00000 Sn (i32)0x00000000
+vfms.f32 s10, s13, s15 :: Qd 0x55555555 0xffc00000 Sm (i32)0x7fc00000 Sn (i32)0x7fc00000
+vfms.f32 s20, s25, s22 :: Qd 0x55555555 0x44833ce4 Sm (i32)0x41b851ec Sn (i32)0xc2364659
+vfms.f32 s23, s24, s25 :: Qd 0x55555555 0x4ddf4321 Sm (i32)0xc8a9da0f Sn (i32)0x44a84000
+vfms.f32 s20, s31, s12 :: Qd 0x55555555 0x4f050e7f Sm (i32)0x473e7300 Sn (i32)0xc732da7a
+vfms.f32 s19, s25, s27 :: Qd 0x55555555 0xcec3063f Sm (i32)0x47bb3de1 Sn (i32)0x46855200
+vfms.f32 s30, s15, s2 :: Qd 0x55555555 0xd029254c Sm (i32)0xc732633d Sn (i32)0xc872bcb1
+vfms.f32 s23, s24, s5 :: Qd 0x55555555 0xc6fc6000 Sm (i32)0x41c00000 Sn (i32)0x44a84000
+vfms.f32 s10, s11, s2 :: Qd 0x55555555 0xcc4a89cd Sm (i32)0x473e7300 Sn (i32)0x44882000
+vfms.f32 s29, s15, s7 :: Qd 0x55555555 0xcdb2c947 Sm (i32)0x43560000 Sn (i32)0x49d5e008
+vfms.f32 s30, s11, s12 :: Qd 0x55555555 0xcef90536 Sm (i32)0x48add9f2 Sn (i32)0x45b75812
+vfms.f32 s27, s21, s6 :: Qd 0x55555555 0xbdab1f7a Sm (i32)0x42080079 Sn (i32)0x3b210e02
+vfms.f32 s30, s31, s2 :: Qd 0x55555555 0xc88fe2c0 Sm (i32)0x452c2000 Sn (i32)0x42d60000
+vfms.f32 s13, s24, s5 :: Qd 0x55555555 0xc993b8e3 Sm (i32)0x445a8000 Sn (i32)0x44ad1333
+vfms.f32 s10, s11, s2 :: Qd 0x55555555 0xc74f9afc Sm (i32)0x43f3cb23 Sn (i32)0x42da0000
+vfms.f32 s29, s25, s7 :: Qd 0x55555555 0x7f800000 Sm (i32)0xff800000 Sn (i32)0x44db0000
+vfms.f32 s0, s11, s12 :: Qd 0x55555555 0x7f800000 Sm (i32)0x7f800000 Sn (i32)0xc5b4d3c3
+vfms.f32 s27, s21, s16 :: Qd 0x55555555 0x45500239 Sm (i32)0x43e41fde Sn (i32)0xc0e96d19
+vfms.f32 s0, s5, s2 :: Qd 0x55555555 0x7f800000 Sm (i32)0x7f800000 Sn (i32)0xff800000
+vfms.f32 s20, s13, s15 :: Qd 0x55555555 0x7fc00000 Sm (i32)0xff800000 Sn (i32)0x00000000
+vfms.f32 s10, s23, s15 :: Qd 0x55555555 0x7fc00000 Sm (i32)0x7f800000 Sn (i32)0x00000000
Added: trunk/none/tests/arm/vfpv4_fma.vgtest
==============================================================================
--- trunk/none/tests/arm/vfpv4_fma.vgtest (added)
+++ trunk/none/tests/arm/vfpv4_fma.vgtest Thu May 15 00:12:36 2014
@@ -0,0 +1,2 @@
+prog: vfpv4_fma
+vgopts: -q
|