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
(5) |
2
(11) |
3
|
4
(9) |
5
(10) |
6
(4) |
7
(14) |
|
8
(15) |
9
(15) |
10
(14) |
11
(13) |
12
(16) |
13
(12) |
14
(9) |
|
15
(21) |
16
(13) |
17
(11) |
18
(13) |
19
(5) |
20
(29) |
21
(20) |
|
22
(13) |
23
(18) |
24
(21) |
25
(17) |
26
(26) |
27
(13) |
28
(17) |
|
29
(10) |
30
(5) |
|
|
|
|
|
|
From: <sv...@va...> - 2014-06-27 10:44:23
|
Author: sewardj
Date: Fri Jun 27 10:44:14 2014
New Revision: 14115
Log:
Enable test cases for: rev32, rev64, saba, uaba, sabd, uabd.
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 Fri Jun 27 10:44:14 2014
@@ -3774,31 +3774,31 @@
if (1) test_rbit_8b_8b(TyB);
if (1) test_rev16_16b_16b(TyB);
if (1) test_rev16_8b_8b(TyB);
- if (0) test_rev32_16b_16b(TyB);
- if (0) test_rev32_8b_8b(TyB);
- if (0) test_rev32_8h_8h(TyH);
- if (0) test_rev32_4h_4h(TyH);
- if (0) test_rev64_16b_16b(TyB);
- if (0) test_rev64_8b_8b(TyB);
- if (0) test_rev64_8h_8h(TyH);
- if (0) test_rev64_4h_4h(TyH);
- if (0) test_rev64_4s_4s(TyS);
- if (0) test_rev64_2s_2s(TyS);
+ if (1) test_rev32_16b_16b(TyB);
+ if (1) test_rev32_8b_8b(TyB);
+ if (1) test_rev32_8h_8h(TyH);
+ if (1) test_rev32_4h_4h(TyH);
+ if (1) test_rev64_16b_16b(TyB);
+ if (1) test_rev64_8b_8b(TyB);
+ if (1) test_rev64_8h_8h(TyH);
+ if (1) test_rev64_4h_4h(TyH);
+ if (1) test_rev64_4s_4s(TyS);
+ if (1) test_rev64_2s_2s(TyS);
// saba 16b,8b,8h,4h,4s,2s
// uaba 16b,8b,8h,4h,4s,2s
- if (0) test_saba_4s_4s_4s(TyS);
- if (0) test_saba_2s_2s_2s(TyS);
- if (0) test_saba_8h_8h_8h(TyH);
- if (0) test_saba_4h_4h_4h(TyH);
- if (0) test_saba_16b_16b_16b(TyB);
- if (0) test_saba_8b_8b_8b(TyB);
- if (0) test_uaba_4s_4s_4s(TyS);
- if (0) test_uaba_2s_2s_2s(TyS);
- if (0) test_uaba_8h_8h_8h(TyH);
- if (0) test_uaba_4h_4h_4h(TyH);
- if (0) test_uaba_16b_16b_16b(TyB);
- if (0) test_uaba_8b_8b_8b(TyB);
+ if (1) test_saba_4s_4s_4s(TyS);
+ if (1) test_saba_2s_2s_2s(TyS);
+ if (1) test_saba_8h_8h_8h(TyH);
+ if (1) test_saba_4h_4h_4h(TyH);
+ if (1) test_saba_16b_16b_16b(TyB);
+ if (1) test_saba_8b_8b_8b(TyB);
+ if (1) test_uaba_4s_4s_4s(TyS);
+ if (1) test_uaba_2s_2s_2s(TyS);
+ if (1) test_uaba_8h_8h_8h(TyH);
+ if (1) test_uaba_4h_4h_4h(TyH);
+ if (1) test_uaba_16b_16b_16b(TyB);
+ if (1) test_uaba_8b_8b_8b(TyB);
// sabal{2} 2d_(2s_2s)/(4s_4s), 4s_(4h_4h)/(8h_8h), 8h_(8b_8b)/(16b_16b)
// uabal{2} 2d_(2s_2s)/(4s_4s), 4s_(4h_4h)/(8h_8h), 8h_(8b_8b)/(16b_16b)
@@ -3817,18 +3817,18 @@
// sabd 16b,8b,8h,4h,4s,2s
// uabd 16b,8b,8h,4h,4s,2s
- if (0) test_sabd_4s_4s_4s(TyS);
- if (0) test_sabd_2s_2s_2s(TyS);
- if (0) test_sabd_8h_8h_8h(TyH);
- if (0) test_sabd_4h_4h_4h(TyH);
- if (0) test_sabd_16b_16b_16b(TyB);
- if (0) test_sabd_8b_8b_8b(TyB);
- if (0) test_uabd_4s_4s_4s(TyS);
- if (0) test_uabd_2s_2s_2s(TyS);
- if (0) test_uabd_8h_8h_8h(TyH);
- if (0) test_uabd_4h_4h_4h(TyH);
- if (0) test_uabd_16b_16b_16b(TyB);
- if (0) test_uabd_8b_8b_8b(TyB);
+ if (1) test_sabd_4s_4s_4s(TyS);
+ if (1) test_sabd_2s_2s_2s(TyS);
+ if (1) test_sabd_8h_8h_8h(TyH);
+ if (1) test_sabd_4h_4h_4h(TyH);
+ if (1) test_sabd_16b_16b_16b(TyB);
+ if (1) test_sabd_8b_8b_8b(TyB);
+ if (1) test_uabd_4s_4s_4s(TyS);
+ if (1) test_uabd_2s_2s_2s(TyS);
+ if (1) test_uabd_8h_8h_8h(TyH);
+ if (1) test_uabd_4h_4h_4h(TyH);
+ if (1) test_uabd_16b_16b_16b(TyB);
+ if (1) test_uabd_8b_8b_8b(TyB);
// sabdl{2} 2d_(2s_2s)/(4s_4s), 4s_(4h_4h)/(8h_8h), 8h_(8b_8b)/(16b_16b)
// uabdl{2} 2d_(2s_2s)/(4s_4s), 4s_(4h_4h)/(8h_8h), 8h_(8b_8b)/(16b_16b)
|
|
From: <sv...@va...> - 2014-06-27 10:43:31
|
Author: sewardj
Date: Fri Jun 27 10:43:22 2014
New Revision: 2892
Log:
arm64:
* implement: rev32, rev64, saba, uaba, sabd, uabd.
* factor out a large number of duplicated expressions of the form
bitQ == 0 ? unop(Iop_ZeroHI64ofV128, mkexpr(t)) : mkexpr(t)
Modified:
trunk/priv/guest_arm64_toIR.c
trunk/priv/host_arm64_defs.c
trunk/priv/host_arm64_defs.h
trunk/priv/host_arm64_isel.c
Modified: trunk/priv/guest_arm64_toIR.c
==============================================================================
--- trunk/priv/guest_arm64_toIR.c (original)
+++ trunk/priv/guest_arm64_toIR.c Fri Jun 27 10:43:22 2014
@@ -1728,6 +1728,16 @@
}
+/* |fullWidth| is a full V128 width result. Depending on bitQ,
+ zero out the upper half. */
+static IRExpr* math_MAYBE_ZERO_HI64 ( UInt bitQ, IRTemp fullWidth )
+{
+ if (bitQ == 1) return mkexpr(fullWidth);
+ if (bitQ == 0) return unop(Iop_ZeroHI64ofV128, mkexpr(fullWidth));
+ vassert(0);
+}
+
+
/*------------------------------------------------------------*/
/*--- FP comparison helpers ---*/
/*------------------------------------------------------------*/
@@ -4335,7 +4345,7 @@
*/
if (INSN(31,31) == 0 && INSN(29,24) == BITS6(0,0,1,1,0,1)
&& INSN(22,21) == BITS2(1,0) && INSN(15,12) == BITS4(1,1,0,0)) {
- Bool isQ = INSN(30,30) == 1;
+ UInt bitQ = INSN(30,30);
Bool isPX = INSN(23,23) == 1;
UInt mm = INSN(20,16);
UInt sz = INSN(11,10);
@@ -4348,9 +4358,8 @@
IRTemp loaded = newTemp(ty);
assign(loaded, loadLE(ty, mkexpr(tEA)));
IRTemp dupd = math_DUP_TO_V128(loaded, ty);
- putQReg128(tt, isQ ? mkexpr(dupd)
- : unop(Iop_ZeroHI64ofV128, mkexpr(dupd)));
- const HChar* arr = nameArr_Q_SZ(isQ ? 1 : 0, sz);
+ putQReg128(tt, math_MAYBE_ZERO_HI64(bitQ, dupd));
+ const HChar* arr = nameArr_Q_SZ(bitQ, sz);
/* Deal with the writeback, if any. */
if (!isPX && mm == BITS5(0,0,0,0,0)) {
/* No writeback. */
@@ -5330,7 +5339,7 @@
/* Generate IR to fold all lanes of the V128 value in 'src' as
characterised by the operator 'op', and return the result in the
bottom bits of a V128, with all other bits set to zero. */
-static IRTemp math_MINMAXV ( IRTemp src, IROp op )
+static IRTemp math_FOLDV ( IRTemp src, IROp op )
{
/* The basic idea is to use repeated applications of Iop_CatEven*
and Iop_CatOdd* operators to 'src' so as to clone each lane into
@@ -5627,6 +5636,34 @@
}
+/* Generate signed/unsigned absolute difference vector IR. */
+static
+IRTemp math_ABD ( Bool isU, UInt size, IRExpr* argLE, IRExpr* argRE )
+{
+ const IROp opSUB[3] = { Iop_Sub8x16, Iop_Sub16x8, Iop_Sub32x4 };
+ const IROp opGTU[3] = { Iop_CmpGT8Ux16, Iop_CmpGT16Ux8, Iop_CmpGT32Ux4 };
+ const IROp opGTS[3] = { Iop_CmpGT8Sx16, Iop_CmpGT16Sx8, Iop_CmpGT32Sx4 };
+ vassert(size <= 2);
+ IRTemp argL = newTemp(Ity_V128);
+ IRTemp argR = newTemp(Ity_V128);
+ IRTemp msk = newTemp(Ity_V128);
+ IRTemp res = newTemp(Ity_V128);
+ assign(argL, argLE);
+ assign(argR, argRE);
+ assign(msk, binop(isU ? opGTU[size] : opGTS[size],
+ mkexpr(argL), mkexpr(argR)));
+ assign(res,
+ binop(Iop_OrV128,
+ binop(Iop_AndV128,
+ binop(opSUB[size], mkexpr(argL), mkexpr(argR)),
+ mkexpr(msk)),
+ binop(Iop_AndV128,
+ binop(opSUB[size], mkexpr(argR), mkexpr(argL)),
+ unop(Iop_NotV128, mkexpr(msk)))));
+ return res;
+}
+
+
/* Let |new64| be a V128 in which only the lower 64 bits are interesting,
and the upper can contain any value -- it is ignored. If |is2| is False,
generate IR to put |new64| in the lower half of vector reg |dd| and zero
@@ -5657,16 +5694,6 @@
}
-/* |fullWidth| is a full V128 width result. Depending on bitQ,
- zero out the upper half. */
-static IRExpr* math_MAYBE_ZERO_HI64 ( UInt bitQ, IRTemp fullWidth )
-{
- if (bitQ == 1) return mkexpr(fullWidth);
- if (bitQ == 0) return unop(Iop_ZeroHI64ofV128, mkexpr(fullWidth));
- vassert(0);
-}
-
-
static
Bool dis_AdvSIMD_EXT(/*MB_OUT*/DisResult* dres, UInt insn)
{
@@ -5758,7 +5785,6 @@
0q0 01110 000 m 0 len 100 n d TBX Vd.Ta, {Vn .. V(n+len)%32}, Vm.Ta
where Ta = 16b(q=1) or 8b(q=0)
*/
- Bool isQ = bitQ == 1;
Bool isTBX = bitOP == 1;
/* The out-of-range values to use. */
IRTemp oor_values = newTemp(Ity_V128);
@@ -5775,9 +5801,8 @@
assign(tab[i], getQReg128((nn + i) % 32));
}
IRTemp res = math_TBL_TBX(tab, len, src, oor_values);
- putQReg128(dd, isQ ? mkexpr(res)
- : unop(Iop_ZeroHI64ofV128, mkexpr(res)) );
- const HChar* Ta = isQ ? "16b" : "8b";
+ putQReg128(dd, math_MAYBE_ZERO_HI64(bitQ, res));
+ const HChar* Ta = bitQ ==1 ? "16b" : "8b";
const HChar* nm = isTBX ? "tbx" : "tbl";
DIP("%s %s.%s, {v%d.16b .. v%d.16b}, %s.%s\n",
nm, nameQReg128(dd), Ta, nn, (nn + len) % 32, nameQReg128(mm), Ta);
@@ -5867,7 +5892,7 @@
? (ix == 5 ? unop(Iop_ZeroHI64ofV128, mkexpr(tN1))
: mk_CatEvenLanes64x2(tN1,tN1))
: mkexpr(tN1));
- IRTemp res = math_MINMAXV(tN2, op);
+ IRTemp res = math_FOLDV(tN2, op);
if (res == IRTemp_INVALID)
return False; /* means math_MINMAXV
doesn't handle this case yet */
@@ -6331,7 +6356,6 @@
= binop(Iop_64HLtoV128, mkU64(inv ^ imm64lo), mkU64(inv ^ imm64lo));
IRExpr* res
= binop(isORR ? Iop_OrV128 : Iop_AndV128, getQReg128(dd), immV128);
- putQReg128(dd, bitQ == 0 ? unop(Iop_ZeroHI64ofV128, res) : res);
const HChar* nm = isORR ? "orr" : "bic";
if (bitQ == 0) {
putQReg128(dd, unop(Iop_ZeroHI64ofV128, res));
@@ -6626,8 +6650,6 @@
return True;
}
-
-
return False;
# undef INSN
}
@@ -6766,8 +6788,9 @@
&& !(size == 3/*64bit*/ && !isQ)) {
IROp op = isU ? opsSHRN[size] : opsSARN[size];
IRExpr* src = getQReg128(nn);
- IRExpr* res = binop(op, src, mkU8(shift));
- putQReg128(dd, isQ ? res : unop(Iop_ZeroHI64ofV128, res));
+ IRTemp res = newTemp(Ity_V128);
+ assign(res, binop(op, src, mkU8(shift)));
+ putQReg128(dd, math_MAYBE_ZERO_HI64(bitQ, res));
HChar laneCh = "bhsd"[size];
UInt nLanes = (isQ ? 128 : 64) / (8 << size);
const HChar* nm = isU ? "ushr" : "sshr";
@@ -6802,8 +6825,9 @@
&& !(size == 3/*64bit*/ && !isQ)) {
IROp op = opsSHLN[size];
IRExpr* src = getQReg128(nn);
- IRExpr* res = binop(op, src, mkU8(shift));
- putQReg128(dd, isQ ? res : unop(Iop_ZeroHI64ofV128, res));
+ IRTemp res = newTemp(Ity_V128);
+ assign(res, binop(op, src, mkU8(shift)));
+ putQReg128(dd, math_MAYBE_ZERO_HI64(bitQ, res));
HChar laneCh = "bhsd"[size];
UInt nLanes = (isQ ? 128 : 64) / (8 << size);
const HChar* nm = "shl";
@@ -7015,18 +7039,16 @@
/* -------- 0,01,00011 BIC 16b_16b_16b, 8b_8b_8b -------- */
/* -------- 0,10,00011 ORR 16b_16b_16b, 8b_8b_8b -------- */
/* -------- 0,10,00011 ORN 16b_16b_16b, 8b_8b_8b -------- */
- Bool isQ = bitQ == 1;
- Bool isORR = (size & 2) == 2;
+ Bool isORx = (size & 2) == 2;
Bool invert = (size & 1) == 1;
IRTemp res = newTemp(Ity_V128);
- assign(res, binop(isORR ? Iop_OrV128 : Iop_AndV128,
+ assign(res, binop(isORx ? Iop_OrV128 : Iop_AndV128,
getQReg128(nn),
invert ? unop(Iop_NotV128, getQReg128(mm))
: getQReg128(mm)));
- putQReg128(dd, isQ ? mkexpr(res)
- : unop(Iop_ZeroHI64ofV128, mkexpr(res)));
+ putQReg128(dd, math_MAYBE_ZERO_HI64(bitQ, res));
const HChar* names[4] = { "and", "bic", "orr", "orn" };
- const HChar* ar = isQ ? "16b" : "8b";
+ const HChar* ar = bitQ == 1 ? "16b" : "8b";
DIP("%s %s.%s, %s.%s, %s.%s\n", names[INSN(23,22)],
nameQReg128(dd), ar, nameQReg128(nn), ar, nameQReg128(mm), ar);
return True;
@@ -7037,7 +7059,6 @@
/* -------- 1,01,00011 BSL 16b_16b_16b, 8b_8b_8b -------- */
/* -------- 1,10,00011 BIT 16b_16b_16b, 8b_8b_8b -------- */
/* -------- 1,10,00011 BIF 16b_16b_16b, 8b_8b_8b -------- */
- Bool isQ = bitQ == 1;
IRTemp argD = newTemp(Ity_V128);
IRTemp argN = newTemp(Ity_V128);
IRTemp argM = newTemp(Ity_V128);
@@ -7047,36 +7068,35 @@
const IROp opXOR = Iop_XorV128;
const IROp opAND = Iop_AndV128;
const IROp opNOT = Iop_NotV128;
- IRExpr* res = NULL;
+ IRTemp res = newTemp(Ity_V128);
switch (size) {
case BITS2(0,0): /* EOR */
- res = binop(opXOR, mkexpr(argM), mkexpr(argN));
+ assign(res, binop(opXOR, mkexpr(argM), mkexpr(argN)));
break;
case BITS2(0,1): /* BSL */
- res = binop(opXOR, mkexpr(argM),
- binop(opAND,
- binop(opXOR, mkexpr(argM), mkexpr(argN)),
- mkexpr(argD)));
+ assign(res, binop(opXOR, mkexpr(argM),
+ binop(opAND,
+ binop(opXOR, mkexpr(argM), mkexpr(argN)),
+ mkexpr(argD))));
break;
case BITS2(1,0): /* BIT */
- res = binop(opXOR, mkexpr(argD),
- binop(opAND,
- binop(opXOR, mkexpr(argD), mkexpr(argN)),
- mkexpr(argM)));
+ assign(res, binop(opXOR, mkexpr(argD),
+ binop(opAND,
+ binop(opXOR, mkexpr(argD), mkexpr(argN)),
+ mkexpr(argM))));
break;
case BITS2(1,1): /* BIF */
- res = binop(opXOR, mkexpr(argD),
- binop(opAND,
- binop(opXOR, mkexpr(argD), mkexpr(argN)),
- unop(opNOT, mkexpr(argM))));
+ assign(res, binop(opXOR, mkexpr(argD),
+ binop(opAND,
+ binop(opXOR, mkexpr(argD), mkexpr(argN)),
+ unop(opNOT, mkexpr(argM)))));
break;
default:
vassert(0);
}
- vassert(res);
- putQReg128(dd, isQ ? res : unop(Iop_ZeroHI64ofV128, res));
+ putQReg128(dd, math_MAYBE_ZERO_HI64(bitQ, res));
const HChar* nms[4] = { "eor", "bsl", "bit", "bif" };
- const HChar* arr = isQ ? "16b" : "8b";
+ const HChar* arr = bitQ == 1 ? "16b" : "8b";
DIP("%s %s.%s, %s.%s, %s.%s\n", nms[size],
nameQReg128(dd), arr, nameQReg128(nn), arr, nameQReg128(mm), arr);
return True;
@@ -7097,8 +7117,7 @@
assign(res,
isGT ? binop(opsGTS[size], argL, argR)
: binop(opsGTU[size], argL, argR));
- putQReg128(dd, bitQ == 0 ? unop(Iop_ZeroHI64ofV128, mkexpr(res))
- : mkexpr(res));
+ putQReg128(dd, math_MAYBE_ZERO_HI64(bitQ, res));
const HChar* nm = isGT ? "cmgt" : "cmhi";
const HChar* arr = nameArr_Q_SZ(bitQ, size);
DIP("%s %s.%s, %s.%s, %s.%s\n", nm,
@@ -7121,8 +7140,7 @@
assign(res,
isGE ? unop(Iop_NotV128, binop(opsGTS[size], argR, argL))
: unop(Iop_NotV128, binop(opsGTU[size], argR, argL)));
- putQReg128(dd, bitQ == 0 ? unop(Iop_ZeroHI64ofV128, mkexpr(res))
- : mkexpr(res));
+ putQReg128(dd, math_MAYBE_ZERO_HI64(bitQ, res));
const HChar* nm = isGE ? "cmge" : "cmhs";
const HChar* arr = nameArr_Q_SZ(bitQ, size);
DIP("%s %s.%s, %s.%s, %s.%s\n", nm,
@@ -7150,8 +7168,7 @@
: (isU ? opMINU[size] : opMINS[size]);
IRTemp t = newTemp(Ity_V128);
assign(t, binop(op, getQReg128(nn), getQReg128(mm)));
- putQReg128(dd, bitQ == 0 ? unop(Iop_ZeroHI64ofV128, mkexpr(t))
- : mkexpr(t));
+ putQReg128(dd, math_MAYBE_ZERO_HI64(bitQ, t));
const HChar* nm = isMAX ? (isU ? "umax" : "smax")
: (isU ? "umin" : "smin");
const HChar* arr = nameArr_Q_SZ(bitQ, size);
@@ -7160,6 +7177,29 @@
return True;
}
+ if (opcode == BITS5(0,1,1,1,0) || opcode == BITS5(0,1,1,1,1)) {
+ /* -------- 0,xx,01110 SABD std6_std6_std6 -------- */
+ /* -------- 1,xx,01110 UABD std6_std6_std6 -------- */
+ /* -------- 0,xx,01111 SABA std6_std6_std6 -------- */
+ /* -------- 1,xx,01111 UABA std6_std6_std6 -------- */
+ if (size == X11) return False; // 1d/2d cases not allowed
+ Bool isU = bitU == 1;
+ Bool isACC = opcode == BITS5(0,1,1,1,1);
+ const IROp opsADD[3] = { Iop_Add8x16, Iop_Add16x8, Iop_Add32x4 };
+ vassert(size <= 2);
+ IRTemp t1 = math_ABD(isU, size, getQReg128(nn), getQReg128(mm));
+ IRTemp t2 = newTemp(Ity_V128);
+ assign(t2, isACC ? binop(opsADD[size], mkexpr(t1), getQReg128(dd))
+ : mkexpr(t1));
+ putQReg128(dd, math_MAYBE_ZERO_HI64(bitQ, t2));
+ const HChar* nm = isACC ? (isU ? "uaba" : "saba")
+ : (isU ? "uabd" : "sabd");
+ const HChar* arr = nameArr_Q_SZ(bitQ, size);
+ DIP("%s %s.%s, %s.%s, %s.%s\n", nm,
+ nameQReg128(dd), arr, nameQReg128(nn), arr, nameQReg128(mm), arr);
+ return True;
+ }
+
if (opcode == BITS5(1,0,0,0,0)) {
/* -------- 0,xx,10000 ADD std7_std7_std7 -------- */
/* -------- 1,xx,10000 SUB std7_std7_std7 -------- */
@@ -7172,8 +7212,7 @@
IROp op = isSUB ? opsSUB[size] : opsADD[size];
IRTemp t = newTemp(Ity_V128);
assign(t, binop(op, getQReg128(nn), getQReg128(mm)));
- putQReg128(dd, bitQ == 0 ? unop(Iop_ZeroHI64ofV128, mkexpr(t))
- : mkexpr(t));
+ putQReg128(dd, math_MAYBE_ZERO_HI64(bitQ, t));
const HChar* nm = isSUB ? "sub" : "add";
const HChar* arr = nameArr_Q_SZ(bitQ, size);
DIP("%s %s.%s, %s.%s, %s.%s\n", nm,
@@ -7196,8 +7235,7 @@
: unop(Iop_NotV128, binop(opsEQ[size],
binop(Iop_AndV128, argL, argR),
mkV128(0x0000))));
- putQReg128(dd, bitQ == 0 ? unop(Iop_ZeroHI64ofV128, mkexpr(res))
- : mkexpr(res));
+ putQReg128(dd, math_MAYBE_ZERO_HI64(bitQ, res));
const HChar* nm = isEQ ? "cmeq" : "cmtst";
const HChar* arr = nameArr_Q_SZ(bitQ, size);
DIP("%s %s.%s, %s.%s, %s.%s\n", nm,
@@ -7223,8 +7261,7 @@
assign(res, binop(opADDSUB,
getQReg128(dd),
binop(opMUL, getQReg128(nn), getQReg128(mm))));
- putQReg128(dd, bitQ == 0 ? unop(Iop_ZeroHI64ofV128, mkexpr(res))
- : mkexpr(res));
+ putQReg128(dd, math_MAYBE_ZERO_HI64(bitQ, res));
const HChar* arr = nameArr_Q_SZ(bitQ, size);
DIP("%s %s.%s, %s.%s, %s.%s\n", isMLS ? "mls" : "mla",
nameQReg128(dd), arr, nameQReg128(nn), arr, nameQReg128(mm), arr);
@@ -7279,8 +7316,7 @@
IRTemp res = newTemp(Ity_V128);
if (opMUL != Iop_INVALID) {
assign(res, binop(opMUL, getQReg128(nn), getQReg128(mm)));
- putQReg128(dd, bitQ == 0 ? unop(Iop_ZeroHI64ofV128, mkexpr(res))
- : mkexpr(res));
+ putQReg128(dd, math_MAYBE_ZERO_HI64(bitQ, res));
const HChar* arr = nameArr_Q_SZ(bitQ, size);
DIP("%s %s.%s, %s.%s, %s.%s\n", isPMUL ? "pmul" : "mul",
nameQReg128(dd), arr, nameQReg128(nn), arr, nameQReg128(mm), arr);
@@ -7306,8 +7342,7 @@
mkexpr(rm), getQReg128(nn), getQReg128(mm)));
assign(t2, triop(isSUB ? opSUB : opADD,
mkexpr(rm), getQReg128(dd), mkexpr(t1)));
- putQReg128(dd, bitQ == 0 ? unop(Iop_ZeroHI64ofV128, mkexpr(t2))
- : mkexpr(t2));
+ putQReg128(dd, math_MAYBE_ZERO_HI64(bitQ, t2));
const HChar* arr = bitQ == 0 ? "2s" : (isD ? "2d" : "4s");
DIP("%s %s.%s, %s.%s, %s.%s\n", isSUB ? "fmls" : "fmla",
nameQReg128(dd), arr, nameQReg128(nn), arr, nameQReg128(mm), arr);
@@ -7327,8 +7362,7 @@
IRTemp t1 = newTemp(Ity_V128);
IRTemp t2 = newTemp(Ity_V128);
assign(t1, triop(op, mkexpr(rm), getQReg128(nn), getQReg128(mm)));
- assign(t2, bitQ == 0 ? unop(Iop_ZeroHI64ofV128, mkexpr(t1))
- : mkexpr(t1));
+ assign(t2, math_MAYBE_ZERO_HI64(bitQ, t1));
putQReg128(dd, mkexpr(t2));
const HChar* arr = bitQ == 0 ? "2s" : (isD ? "2d" : "4s");
DIP("%s %s.%s, %s.%s, %s.%s\n", isSUB ? "fsub" : "fadd",
@@ -7346,11 +7380,9 @@
IRTemp t1 = newTemp(Ity_V128);
IRTemp t2 = newTemp(Ity_V128);
// FIXME: use Abd primop instead?
- assign(t1, triop(opSUB,
- mkexpr(rm), getQReg128(nn), getQReg128(mm)));
+ assign(t1, triop(opSUB, mkexpr(rm), getQReg128(nn), getQReg128(mm)));
assign(t2, unop(opABS, mkexpr(t1)));
- putQReg128(dd, bitQ == 0 ? unop(Iop_ZeroHI64ofV128, mkexpr(t2))
- : mkexpr(t2));
+ putQReg128(dd, math_MAYBE_ZERO_HI64(bitQ, t2));
const HChar* arr = bitQ == 0 ? "2s" : (isD ? "2d" : "4s");
DIP("fabd %s.%s, %s.%s, %s.%s\n",
nameQReg128(dd), arr, nameQReg128(nn), arr, nameQReg128(mm), arr);
@@ -7365,8 +7397,7 @@
IRTemp t1 = newTemp(Ity_V128);
assign(t1, triop(isD ? Iop_Mul64Fx2 : Iop_Mul32Fx4,
mkexpr(rm), getQReg128(nn), getQReg128(mm)));
- putQReg128(dd, bitQ == 0 ? unop(Iop_ZeroHI64ofV128, mkexpr(t1))
- : mkexpr(t1));
+ putQReg128(dd, math_MAYBE_ZERO_HI64(bitQ, t1));
const HChar* arr = bitQ == 0 ? "2s" : (isD ? "2d" : "4s");
DIP("fmul %s.%s, %s.%s, %s.%s\n",
nameQReg128(dd), arr, nameQReg128(nn), arr, nameQReg128(mm), arr);
@@ -7384,8 +7415,7 @@
IRTemp t1 = newTemp(Ity_V128);
assign(t1, isGE ? binop(opCMP, getQReg128(mm), getQReg128(nn)) // swapd
: binop(opCMP, getQReg128(nn), getQReg128(mm)));
- putQReg128(dd, bitQ == 0 ? unop(Iop_ZeroHI64ofV128, mkexpr(t1))
- : mkexpr(t1));
+ putQReg128(dd, math_MAYBE_ZERO_HI64(bitQ, t1));
const HChar* arr = bitQ == 0 ? "2s" : (isD ? "2d" : "4s");
DIP("%s %s.%s, %s.%s, %s.%s\n", isGE ? "fcmge" : "fcmeq",
nameQReg128(dd), arr, nameQReg128(nn), arr, nameQReg128(mm), arr);
@@ -7399,8 +7429,7 @@
IROp opCMP = isD ? Iop_CmpLT64Fx2 : Iop_CmpLT32Fx4;
IRTemp t1 = newTemp(Ity_V128);
assign(t1, binop(opCMP, getQReg128(mm), getQReg128(nn))); // swapd
- putQReg128(dd, bitQ == 0 ? unop(Iop_ZeroHI64ofV128, mkexpr(t1))
- : mkexpr(t1));
+ putQReg128(dd, math_MAYBE_ZERO_HI64(bitQ, t1));
const HChar* arr = bitQ == 0 ? "2s" : (isD ? "2d" : "4s");
DIP("%s %s.%s, %s.%s, %s.%s\n", "fcmgt",
nameQReg128(dd), arr, nameQReg128(nn), arr, nameQReg128(mm), arr);
@@ -7419,8 +7448,7 @@
IRTemp t1 = newTemp(Ity_V128);
assign(t1, binop(opCMP, unop(opABS, getQReg128(mm)),
unop(opABS, getQReg128(nn)))); // swapd
- putQReg128(dd, bitQ == 0 ? unop(Iop_ZeroHI64ofV128, mkexpr(t1))
- : mkexpr(t1));
+ putQReg128(dd, math_MAYBE_ZERO_HI64(bitQ, t1));
const HChar* arr = bitQ == 0 ? "2s" : (isD ? "2d" : "4s");
DIP("%s %s.%s, %s.%s, %s.%s\n", isGT ? "facgt" : "facge",
nameQReg128(dd), arr, nameQReg128(nn), arr, nameQReg128(mm), arr);
@@ -7438,8 +7466,7 @@
IRTemp t1 = newTemp(Ity_V128);
IRTemp t2 = newTemp(Ity_V128);
assign(t1, triop(op, mkexpr(rm), getQReg128(nn), getQReg128(mm)));
- assign(t2, bitQ == 0 ? unop(Iop_ZeroHI64ofV128, mkexpr(t1))
- : mkexpr(t1));
+ assign(t2, math_MAYBE_ZERO_HI64(bitQ, t1));
putQReg128(dd, mkexpr(t2));
const HChar* arr = bitQ == 0 ? "2s" : (isD ? "2d" : "4s");
DIP("%s %s.%s, %s.%s, %s.%s\n", "fdiv",
@@ -7474,12 +7501,42 @@
UInt dd = INSN(4,0);
vassert(size < 4);
+ if (bitU == 0 && size <= X10 && opcode == BITS5(0,0,0,0,0)) {
+ /* -------- 0,00,00000: REV64 16b_16b, 8b_8b -------- */
+ /* -------- 0,01,00000: REV64 8h_8h, 4h_4h -------- */
+ /* -------- 0,10,00000: REV64 4s_4s, 2s_2s -------- */
+ const IROp iops[3] = { Iop_Reverse8sIn64_x2,
+ Iop_Reverse16sIn64_x2, Iop_Reverse32sIn64_x2 };
+ vassert(size <= 2);
+ IRTemp res = newTemp(Ity_V128);
+ assign(res, unop(iops[size], getQReg128(nn)));
+ putQReg128(dd, math_MAYBE_ZERO_HI64(bitQ, res));
+ const HChar* arr = nameArr_Q_SZ(bitQ, size);
+ DIP("%s %s.%s, %s.%s\n", "rev64",
+ nameQReg128(dd), arr, nameQReg128(nn), arr);
+ return True;
+ }
+
+ if (bitU == 1 && size <= X01 && opcode == BITS5(0,0,0,0,0)) {
+ /* -------- 1,00,00000: REV32 16b_16b, 8b_8b -------- */
+ /* -------- 1,01,00000: REV32 8h_8h, 4h_4h -------- */
+ Bool isH = size == X01;
+ IRTemp res = newTemp(Ity_V128);
+ IROp iop = isH ? Iop_Reverse16sIn32_x4 : Iop_Reverse8sIn32_x4;
+ assign(res, unop(iop, getQReg128(nn)));
+ putQReg128(dd, math_MAYBE_ZERO_HI64(bitQ, res));
+ const HChar* arr = nameArr_Q_SZ(bitQ, size);
+ DIP("%s %s.%s, %s.%s\n", "rev32",
+ nameQReg128(dd), arr, nameQReg128(nn), arr);
+ return True;
+ }
+
if (bitU == 0 && size == X00 && opcode == BITS5(0,0,0,0,1)) {
/* -------- 0,00,00001: REV16 16b_16b, 8b_8b -------- */
IRTemp res = newTemp(Ity_V128);
assign(res, unop(Iop_Reverse8sIn16_x8, getQReg128(nn)));
putQReg128(dd, math_MAYBE_ZERO_HI64(bitQ, res));
- const HChar* arr = nameArr_Q_SZ(bitQ, 0);
+ const HChar* arr = nameArr_Q_SZ(bitQ, size);
DIP("%s %s.%s, %s.%s\n", "rev16",
nameQReg128(dd), arr, nameQReg128(nn), arr);
return True;
@@ -7495,8 +7552,7 @@
IRTemp res = newTemp(Ity_V128);
vassert(size <= 2);
assign(res, unop(isCLZ ? opsCLZ[size] : opsCLS[size], getQReg128(nn)));
- putQReg128(dd, bitQ == 0 ? unop(Iop_ZeroHI64ofV128, mkexpr(res))
- : mkexpr(res));
+ putQReg128(dd, math_MAYBE_ZERO_HI64(bitQ, res));
const HChar* arr = nameArr_Q_SZ(bitQ, size);
DIP("%s %s.%s, %s.%s\n", isCLZ ? "clz" : "cls",
nameQReg128(dd), arr, nameQReg128(nn), arr);
@@ -7508,8 +7564,7 @@
/* -------- 1,00,00101: NOT 16b_16b, 8b_8b -------- */
IRTemp res = newTemp(Ity_V128);
assign(res, unop(bitU == 0 ? Iop_Cnt8x16 : Iop_NotV128, getQReg128(nn)));
- putQReg128(dd, bitQ == 0 ? unop(Iop_ZeroHI64ofV128, mkexpr(res))
- : mkexpr(res));
+ putQReg128(dd, math_MAYBE_ZERO_HI64(bitQ, res));
const HChar* arr = nameArr_Q_SZ(bitQ, 0);
DIP("%s %s.%s, %s.%s\n", bitU == 0 ? "cnt" : "not",
nameQReg128(dd), arr, nameQReg128(nn), arr);
@@ -7520,8 +7575,7 @@
/* -------- 1,01,00101 RBIT 16b_16b, 8b_8b -------- */
IRTemp res = newTemp(Ity_V128);
assign(res, unop(Iop_Reverse1sIn8_x16, getQReg128(nn)));
- putQReg128(dd, bitQ == 0 ? unop(Iop_ZeroHI64ofV128, mkexpr(res))
- : mkexpr(res));
+ putQReg128(dd, math_MAYBE_ZERO_HI64(bitQ, res));
const HChar* arr = nameArr_Q_SZ(bitQ, 0);
DIP("%s %s.%s, %s.%s\n", "rbit",
nameQReg128(dd), arr, nameQReg128(nn), arr);
@@ -7540,8 +7594,7 @@
IRTemp res = newTemp(Ity_V128);
assign(res, isGT ? binop(opsGTS[size], argL, argR)
: unop(Iop_NotV128, binop(opsGTS[size], argR, argL)));
- putQReg128(dd, bitQ == 0 ? unop(Iop_ZeroHI64ofV128, mkexpr(res))
- : mkexpr(res));
+ putQReg128(dd, math_MAYBE_ZERO_HI64(bitQ, res));
const HChar* arr = nameArr_Q_SZ(bitQ, size);
DIP("cm%s %s.%s, %s.%s, #0\n", isGT ? "gt" : "ge",
nameQReg128(dd), arr, nameQReg128(nn), arr);
@@ -7563,8 +7616,7 @@
assign(res, isEQ ? binop(opsEQ[size], argL, argR)
: unop(Iop_NotV128,
binop(opsGTS[size], argL, argR)));
- putQReg128(dd, bitQ == 0 ? unop(Iop_ZeroHI64ofV128, mkexpr(res))
- : mkexpr(res));
+ putQReg128(dd, math_MAYBE_ZERO_HI64(bitQ, res));
const HChar* arr = nameArr_Q_SZ(bitQ, size);
DIP("cm%s %s.%s, %s.%s, #0\n", isEQ ? "eq" : "le",
nameQReg128(dd), arr, nameQReg128(nn), arr);
@@ -7580,8 +7632,7 @@
IRExpr* argR = mkV128(0x0000);
IRTemp res = newTemp(Ity_V128);
assign(res, binop(opsGTS[size], argR, argL));
- putQReg128(dd, bitQ == 0 ? unop(Iop_ZeroHI64ofV128, mkexpr(res))
- : mkexpr(res));
+ putQReg128(dd, math_MAYBE_ZERO_HI64(bitQ, res));
const HChar* arr = nameArr_Q_SZ(bitQ, size);
DIP("cm%s %s.%s, %s.%s, #0\n", "lt",
nameQReg128(dd), arr, nameQReg128(nn), arr);
@@ -7595,8 +7646,7 @@
= { Iop_Abs8x16, Iop_Abs16x8, Iop_Abs32x4, Iop_Abs64x2 };
IRTemp res = newTemp(Ity_V128);
assign(res, unop(opABS[size], getQReg128(nn)));
- putQReg128(dd, bitQ == 0 ? unop(Iop_ZeroHI64ofV128, mkexpr(res))
- : mkexpr(res));
+ putQReg128(dd, math_MAYBE_ZERO_HI64(bitQ, res));
const HChar* arr = nameArr_Q_SZ(bitQ, size);
DIP("abs %s.%s, %s.%s\n", nameQReg128(dd), arr, nameQReg128(nn), arr);
return True;
@@ -7609,8 +7659,7 @@
= { Iop_Sub8x16, Iop_Sub16x8, Iop_Sub32x4, Iop_Sub64x2 };
IRTemp res = newTemp(Ity_V128);
assign(res, binop(opSUB[size], mkV128(0x0000), getQReg128(nn)));
- putQReg128(dd, bitQ == 0 ? unop(Iop_ZeroHI64ofV128, mkexpr(res))
- : mkexpr(res));
+ putQReg128(dd, math_MAYBE_ZERO_HI64(bitQ, res));
const HChar* arr = nameArr_Q_SZ(bitQ, size);
DIP("neg %s.%s, %s.%s\n", nameQReg128(dd), arr, nameQReg128(nn), arr);
return True;
@@ -7625,8 +7674,7 @@
: (size == X10 ? Iop_Abs32Fx4 : Iop_Abs64Fx2);
IRTemp res = newTemp(Ity_V128);
assign(res, unop(op, getQReg128(nn)));
- putQReg128(dd, bitQ == 0 ? unop(Iop_ZeroHI64ofV128, mkexpr(res))
- : mkexpr(res));
+ putQReg128(dd, math_MAYBE_ZERO_HI64(bitQ, res));
const HChar* arr = bitQ == 0 ? "2s" : (size == X11 ? "2d" : "4s");
DIP("%s %s.%s, %s.%s\n", isFNEG ? "fneg" : "fabs",
nameQReg128(dd), arr, nameQReg128(nn), arr);
@@ -7768,8 +7816,7 @@
assign(res, triop(isD ? Iop_Mul64Fx2 : Iop_Mul32Fx4,
mkexpr(mk_get_IR_rounding_mode()),
getQReg128(nn), mkexpr(dupd)));
- putQReg128(dd, bitQ == 0 ? unop(Iop_ZeroHI64ofV128, mkexpr(res))
- : mkexpr(res));
+ putQReg128(dd, math_MAYBE_ZERO_HI64(bitQ, res));
const HChar* arr = bitQ == 0 ? "2s" : (isD ? "2d" : "4s");
DIP("fmul %s.%s, %s.%s, %s.%c[%u]\n", nameQReg128(dd), arr,
nameQReg128(nn), arr, nameQReg128(mm), isD ? 'd' : 's', index);
@@ -7817,8 +7864,7 @@
} else {
assign(res, prod);
}
- putQReg128(dd, bitQ == 0 ? unop(Iop_ZeroHI64ofV128, mkexpr(res))
- : mkexpr(res));
+ putQReg128(dd, math_MAYBE_ZERO_HI64(bitQ, res));
const HChar* arr = nameArr_Q_SZ(bitQ, size);
DIP("%s %s.%s, %s.%s, %s.%c[%u]\n", isMLA ? "mla"
: (isMLS ? "mls" : "mul"),
Modified: trunk/priv/host_arm64_defs.c
==============================================================================
--- trunk/priv/host_arm64_defs.c (original)
+++ trunk/priv/host_arm64_defs.c Fri Jun 27 10:43:22 2014
@@ -949,6 +949,11 @@
case ARM64vecu_CNT8x16: *nm = "cnt "; *ar = "16b"; return;
case ARM64vecu_RBIT: *nm = "rbit "; *ar = "16b"; return;
case ARM64vecu_REV1616B: *nm = "rev16"; *ar = "16b"; return;
+ case ARM64vecu_REV3216B: *nm = "rev32"; *ar = "16b"; return;
+ case ARM64vecu_REV328H: *nm = "rev32"; *ar = "8h"; return;
+ case ARM64vecu_REV6416B: *nm = "rev64"; *ar = "16b"; return;
+ case ARM64vecu_REV648H: *nm = "rev64"; *ar = "8h"; return;
+ case ARM64vecu_REV644S: *nm = "rev64"; *ar = "4s"; return;
default: vpanic("showARM64VecUnaryOp");
}
}
@@ -3449,6 +3454,7 @@
#define X000000 BITS8(0,0, 0,0,0,0,0,0)
#define X000001 BITS8(0,0, 0,0,0,0,0,1)
+#define X000010 BITS8(0,0, 0,0,0,0,1,0)
#define X000100 BITS8(0,0, 0,0,0,1,0,0)
#define X000110 BITS8(0,0, 0,0,0,1,1,0)
#define X000111 BITS8(0,0, 0,0,0,1,1,1)
@@ -5391,8 +5397,13 @@
010 01110 00 1 00000 010110 n d CNT Vd.16b, Vn.16b
011 01110 01 1 00000 010110 n d RBIT Vd.16b, Vn.16b
-
010 01110 00 1 00000 000110 n d REV16 Vd.16b, Vn.16b
+ 011 01110 00 1 00000 000010 n d REV32 Vd.16b, Vn.16b
+ 011 01110 01 1 00000 000010 n d REV32 Vd.8h, Vn.8h
+
+ 010 01110 00 1 00000 000010 n d REV64 Vd.16b, Vn.16b
+ 010 01110 01 1 00000 000010 n d REV64 Vd.8h, Vn.8h
+ 010 01110 10 1 00000 000010 n d REV64 Vd.4s, Vn.4s
*/
UInt vD = qregNo(i->ARM64in.VUnaryV.dst);
UInt vN = qregNo(i->ARM64in.VUnaryV.arg);
@@ -5451,6 +5462,21 @@
case ARM64vecu_REV1616B:
*p++ = X_3_8_5_6_5_5(X010, X01110001, X00000, X000110, vN, vD);
break;
+ case ARM64vecu_REV3216B:
+ *p++ = X_3_8_5_6_5_5(X011, X01110001, X00000, X000010, vN, vD);
+ break;
+ case ARM64vecu_REV328H:
+ *p++ = X_3_8_5_6_5_5(X011, X01110011, X00000, X000010, vN, vD);
+ break;
+ case ARM64vecu_REV6416B:
+ *p++ = X_3_8_5_6_5_5(X010, X01110001, X00000, X000010, vN, vD);
+ break;
+ case ARM64vecu_REV648H:
+ *p++ = X_3_8_5_6_5_5(X010, X01110011, X00000, X000010, vN, vD);
+ break;
+ case ARM64vecu_REV644S:
+ *p++ = X_3_8_5_6_5_5(X010, X01110101, X00000, X000010, vN, vD);
+ break;
default:
goto bad;
}
Modified: trunk/priv/host_arm64_defs.h
==============================================================================
--- trunk/priv/host_arm64_defs.h (original)
+++ trunk/priv/host_arm64_defs.h Fri Jun 27 10:43:22 2014
@@ -362,6 +362,8 @@
ARM64vecu_CNT8x16,
ARM64vecu_RBIT,
ARM64vecu_REV1616B,
+ ARM64vecu_REV3216B, ARM64vecu_REV328H,
+ ARM64vecu_REV6416B, ARM64vecu_REV648H, ARM64vecu_REV644S,
ARM64vecu_INVALID
}
ARM64VecUnaryOp;
Modified: trunk/priv/host_arm64_isel.c
==============================================================================
--- trunk/priv/host_arm64_isel.c (original)
+++ trunk/priv/host_arm64_isel.c Fri Jun 27 10:43:22 2014
@@ -4419,6 +4419,9 @@
case Iop_Cnt8x16:
case Iop_Reverse1sIn8_x16:
case Iop_Reverse8sIn16_x8:
+ case Iop_Reverse8sIn32_x4: case Iop_Reverse16sIn32_x4:
+ case Iop_Reverse8sIn64_x2: case Iop_Reverse16sIn64_x2:
+ case Iop_Reverse32sIn64_x2:
{
HReg res = newVRegV(env);
HReg arg = iselV128Expr(env, e->Iex.Unop.arg);
@@ -4440,8 +4443,13 @@
case Iop_Clz16x8: op = ARM64vecu_CLZ16x8; break;
case Iop_Clz8x16: op = ARM64vecu_CLZ8x16; break;
case Iop_Cnt8x16: op = ARM64vecu_CNT8x16; break;
- case Iop_Reverse1sIn8_x16: op = ARM64vecu_RBIT; break;
- case Iop_Reverse8sIn16_x8: op = ARM64vecu_REV1616B; break;
+ case Iop_Reverse1sIn8_x16: op = ARM64vecu_RBIT; break;
+ case Iop_Reverse8sIn16_x8: op = ARM64vecu_REV1616B; break;
+ case Iop_Reverse8sIn32_x4: op = ARM64vecu_REV3216B; break;
+ case Iop_Reverse16sIn32_x4: op = ARM64vecu_REV328H; break;
+ case Iop_Reverse8sIn64_x2: op = ARM64vecu_REV6416B; break;
+ case Iop_Reverse16sIn64_x2: op = ARM64vecu_REV648H; break;
+ case Iop_Reverse32sIn64_x2: op = ARM64vecu_REV644S; break;
default: vassert(0);
}
addInstr(env, ARM64Instr_VUnaryV(op, res, arg));
|
|
From: <sv...@va...> - 2014-06-27 10:00:06
|
Author: tom
Date: Fri Jun 27 09:59:52 2014
New Revision: 14114
Log:
Add support for various SIOCETHTOOL operations. BZ#303536.
Modified:
trunk/NEWS
trunk/coregrind/m_syswrap/syswrap-linux.c
trunk/docs/internals/3_8_BUGSTATUS.txt
trunk/include/vki/vki-linux.h
Modified: trunk/NEWS
==============================================================================
--- trunk/NEWS (original)
+++ trunk/NEWS Fri Jun 27 09:59:52 2014
@@ -86,6 +86,7 @@
199144 == 278972
232510 make distcheck fails
278972 support for inlined function calls in stacktraces and suppression
+303536 ioctl for SIOCETHTOOL (ethtool(8)) isn't wrapped
308729 vex x86->IR: unhandled instruction bytes 0xf 0x5 (syscall)
325110 Add test-cases for Power ISA 2.06 insns: divdo/divdo. and divduo/divduo.
325124 [MIPSEL] Compilation error
Modified: trunk/coregrind/m_syswrap/syswrap-linux.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-linux.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-linux.c Fri Jun 27 09:59:52 2014
@@ -5869,6 +5869,127 @@
sizeof(((struct vki_ifreq *)ARG3)->vki_ifr_ifindex) );
PRE_MEM_WRITE( "ioctl(SIOCGIFNAME)", ARG3, sizeof(struct vki_ifreq));
break;
+ case VKI_SIOCETHTOOL: { /* ethtool(8) interface */
+ struct vki_ifreq *ir = (struct vki_ifreq *)ARG3;
+ PRE_MEM_READ( "ioctl(SIOCETHTOOL)", (Addr)ir, sizeof(struct vki_ifreq) );
+ PRE_MEM_RASCIIZ( "ioctl(SIOCETHTOOL)", (Addr)ir->vki_ifr_name );
+ PRE_MEM_READ( "ioctl(SIOCETHTOOL)", (Addr)ir->vki_ifr_data, sizeof(vki_u32) );
+ PRINT("SIOCETHTOOL( 0x%x )", *(vki_u32 *)ir->vki_ifr_data );
+ switch ( *(vki_u32 *)ir->vki_ifr_data ) {
+ case VKI_ETHTOOL_GSET:
+ PRE_MEM_WRITE( "ioctl(SIOCETHTOOL,GSET)",
+ (Addr)ir->vki_ifr_data, sizeof(struct vki_ethtool_cmd) );
+ break;
+ case VKI_ETHTOOL_SSET:
+ PRE_MEM_READ( "ioctl(SIOCETHTOOL,SSET)",
+ (Addr)ir->vki_ifr_data, sizeof(struct vki_ethtool_cmd) );
+ break;
+ case VKI_ETHTOOL_GDRVINFO:
+ PRE_MEM_WRITE( "ioctl(SIOCETHTOOL,GDRVINFO)",
+ (Addr)ir->vki_ifr_data, sizeof(struct vki_ethtool_drvinfo) );
+ break;
+ case VKI_ETHTOOL_GREGS:
+ PRE_MEM_READ( "ioctl(SIOCETHTOOL,GREGS)",
+ (Addr)ir->vki_ifr_data, sizeof(struct vki_ethtool_regs) );
+ PRE_MEM_WRITE( "ioctl(SIOCETHTOOL,GREGS)",
+ (Addr)((struct vki_ethtool_regs *)ir->vki_ifr_data)->data,
+ ((struct vki_ethtool_regs *)ir->vki_ifr_data)->len );
+ break;
+ case VKI_ETHTOOL_GWOL:
+ PRE_MEM_WRITE( "ioctl(SIOCETHTOOL,GWOL)",
+ (Addr)ir->vki_ifr_data, sizeof(struct vki_ethtool_wolinfo) );
+ break;
+ case VKI_ETHTOOL_SWOL:
+ PRE_MEM_READ( "ioctl(SIOCETHTOOL,SWOL)",
+ (Addr)ir->vki_ifr_data, sizeof(struct vki_ethtool_wolinfo) );
+ break;
+ case VKI_ETHTOOL_GMSGLVL:
+ case VKI_ETHTOOL_GLINK:
+ case VKI_ETHTOOL_GRXCSUM:
+ case VKI_ETHTOOL_GSG:
+ case VKI_ETHTOOL_GTSO:
+ case VKI_ETHTOOL_GUFO:
+ case VKI_ETHTOOL_GGSO:
+ case VKI_ETHTOOL_GFLAGS:
+ case VKI_ETHTOOL_GGRO:
+ PRE_MEM_WRITE( "ioctl(SIOCETHTOOL,Gvalue)",
+ (Addr)ir->vki_ifr_data, sizeof(struct vki_ethtool_value) );
+ break;
+ case VKI_ETHTOOL_SMSGLVL:
+ case VKI_ETHTOOL_SRXCSUM:
+ case VKI_ETHTOOL_SSG:
+ case VKI_ETHTOOL_STSO:
+ case VKI_ETHTOOL_SUFO:
+ case VKI_ETHTOOL_SGSO:
+ case VKI_ETHTOOL_SFLAGS:
+ case VKI_ETHTOOL_SGRO:
+ PRE_MEM_READ( "ioctl(SIOCETHTOOL,Svalue)",
+ (Addr)ir->vki_ifr_data, sizeof(struct vki_ethtool_value) );
+ break;
+ case VKI_ETHTOOL_NWAY_RST:
+ break;
+ case VKI_ETHTOOL_GRINGPARAM:
+ PRE_MEM_WRITE( "ioctl(SIOCETHTOOL,GRINGPARAM)",
+ (Addr)ir->vki_ifr_data, sizeof(struct vki_ethtool_ringparam) );
+ break;
+ case VKI_ETHTOOL_SRINGPARAM:
+ PRE_MEM_READ( "ioctl(SIOCETHTOOL,SRINGPARAM)",
+ (Addr)ir->vki_ifr_data, sizeof(struct vki_ethtool_ringparam) );
+ break;
+ case VKI_ETHTOOL_TEST:
+ PRE_MEM_READ( "ioctl(SIOCETHTOOL,TEST)",
+ (Addr)ir->vki_ifr_data, sizeof(struct vki_ethtool_test) );
+ PRE_MEM_WRITE( "ioctl(SIOCETHTOOL,TEST)",
+ (Addr)((struct vki_ethtool_test *)ir->vki_ifr_data)->data,
+ ((struct vki_ethtool_test *)ir->vki_ifr_data)->len * sizeof(__vki_u64) );
+ break;
+ case VKI_ETHTOOL_PHYS_ID:
+ break;
+ case VKI_ETHTOOL_GPERMADDR:
+ PRE_MEM_READ( "ioctl(SIOCETHTOOL,GPERMADDR)",
+ (Addr)ir->vki_ifr_data, sizeof(struct vki_ethtool_perm_addr) );
+ PRE_MEM_WRITE( "ioctl(SIOCETHTOOL,GPERMADDR)",
+ (Addr)((struct vki_ethtool_perm_addr *)ir->vki_ifr_data)->data,
+ ((struct vki_ethtool_perm_addr *)ir->vki_ifr_data)->size );
+ break;
+ case VKI_ETHTOOL_RESET:
+ break;
+ case VKI_ETHTOOL_GSSET_INFO:
+ PRE_MEM_READ( "ioctl(SIOCETHTOOL,GSSET_INFO)",
+ (Addr)ir->vki_ifr_data, sizeof(struct vki_ethtool_sset_info) );
+ PRE_MEM_WRITE( "ioctl(SIOCETHTOOL,GSSET_INFO)",
+ (Addr)((struct vki_ethtool_sset_info *)ir->vki_ifr_data)->data,
+ __builtin_popcountll(((struct vki_ethtool_sset_info *)ir->vki_ifr_data)->sset_mask) * sizeof(__vki_u32) );
+ break;
+ case VKI_ETHTOOL_GFEATURES:
+ PRE_MEM_READ( "ioctl(SIOCETHTOOL,GFEATURES)",
+ (Addr)ir->vki_ifr_data, sizeof(struct vki_ethtool_gfeatures) );
+ PRE_MEM_WRITE( "ioctl(SIOCETHTOOL,GFEATURES)",
+ (Addr)((struct vki_ethtool_gfeatures *)ir->vki_ifr_data)->features,
+ ((struct vki_ethtool_gfeatures *)ir->vki_ifr_data)->size * sizeof(struct vki_ethtool_get_features_block) );
+ break;
+ case VKI_ETHTOOL_SFEATURES:
+ PRE_MEM_READ( "ioctl(SIOCETHTOOL,SFEATURES)",
+ (Addr)ir->vki_ifr_data, sizeof(struct vki_ethtool_sfeatures) );
+ PRE_MEM_READ( "ioctl(SIOCETHTOOL,SFEATURES)",
+ (Addr)((struct vki_ethtool_sfeatures *)ir->vki_ifr_data)->features,
+ ((struct vki_ethtool_sfeatures *)ir->vki_ifr_data)->size * sizeof(struct vki_ethtool_set_features_block) );
+ break;
+ case VKI_ETHTOOL_GCHANNELS:
+ PRE_MEM_WRITE( "ioctl(SIOCETHTOOL,GCHANNELS)",
+ (Addr)ir->vki_ifr_data, sizeof(struct vki_ethtool_channels) );
+ break;
+ case VKI_ETHTOOL_SCHANNELS:
+ PRE_MEM_READ( "ioctl(SIOCETHTOOL,SCHANNELS)",
+ (Addr)ir->vki_ifr_data, sizeof(struct vki_ethtool_channels) );
+ break;
+ case VKI_ETHTOOL_GET_TS_INFO:
+ PRE_MEM_WRITE( "ioctl(SIOCETHTOOL,GET_TS_INFO)",
+ (Addr)ir->vki_ifr_data, sizeof(struct vki_ethtool_ts_info) );
+ break;
+ }
+ break;
+ }
case VKI_SIOCGMIIPHY: /* get hardware entry */
PRE_MEM_RASCIIZ( "ioctl(SIOCGIFMIIPHY)",
(Addr)((struct vki_ifreq *)ARG3)->vki_ifr_name );
@@ -7332,6 +7453,86 @@
(Addr)&((struct vki_ifreq *)ARG3)->vki_ifr_name,
sizeof(((struct vki_ifreq *)ARG3)->vki_ifr_name) );
break;
+ case VKI_SIOCETHTOOL: { /* ethtool(8) interface */
+ struct vki_ifreq *ir = (struct vki_ifreq *)ARG3;
+ switch ( *(vki_u32 *)ir->vki_ifr_data ) {
+ case VKI_ETHTOOL_GSET:
+ POST_MEM_WRITE( (Addr)ir->vki_ifr_data, sizeof(struct vki_ethtool_cmd));
+ break;
+ case VKI_ETHTOOL_SSET:
+ break;
+ case VKI_ETHTOOL_GDRVINFO:
+ POST_MEM_WRITE( (Addr)ir->vki_ifr_data, sizeof(struct vki_ethtool_drvinfo) );
+ break;
+ case VKI_ETHTOOL_GREGS:
+ POST_MEM_WRITE( (Addr)((struct vki_ethtool_regs *)ir->vki_ifr_data)->data,
+ ((struct vki_ethtool_regs *)ir->vki_ifr_data)->len );
+ break;
+ case VKI_ETHTOOL_GWOL:
+ POST_MEM_WRITE( (Addr)ir->vki_ifr_data, sizeof(struct vki_ethtool_wolinfo) );
+ break;
+ case VKI_ETHTOOL_SWOL:
+ break;
+ case VKI_ETHTOOL_GMSGLVL:
+ case VKI_ETHTOOL_GLINK:
+ case VKI_ETHTOOL_GRXCSUM:
+ case VKI_ETHTOOL_GSG:
+ case VKI_ETHTOOL_GTSO:
+ case VKI_ETHTOOL_GUFO:
+ case VKI_ETHTOOL_GGSO:
+ case VKI_ETHTOOL_GFLAGS:
+ case VKI_ETHTOOL_GGRO:
+ POST_MEM_WRITE( (Addr)ir->vki_ifr_data, sizeof(struct vki_ethtool_value));
+ break;
+ case VKI_ETHTOOL_SMSGLVL:
+ case VKI_ETHTOOL_SRXCSUM:
+ case VKI_ETHTOOL_SSG:
+ case VKI_ETHTOOL_STSO:
+ case VKI_ETHTOOL_SUFO:
+ case VKI_ETHTOOL_SGSO:
+ case VKI_ETHTOOL_SFLAGS:
+ case VKI_ETHTOOL_SGRO:
+ break;
+ case VKI_ETHTOOL_NWAY_RST:
+ break;
+ case VKI_ETHTOOL_GRINGPARAM:
+ POST_MEM_WRITE( (Addr)ir->vki_ifr_data, sizeof(struct vki_ethtool_ringparam));
+ break;
+ case VKI_ETHTOOL_SRINGPARAM:
+ break;
+ case VKI_ETHTOOL_TEST:
+ POST_MEM_WRITE( (Addr)((struct vki_ethtool_test *)ir->vki_ifr_data)->data,
+ ((struct vki_ethtool_test *)ir->vki_ifr_data)->len * sizeof(__vki_u64) );
+ break;
+ case VKI_ETHTOOL_PHYS_ID:
+ break;
+ case VKI_ETHTOOL_GPERMADDR:
+ POST_MEM_WRITE( (Addr)((struct vki_ethtool_perm_addr *)ir->vki_ifr_data)->data,
+ ((struct vki_ethtool_perm_addr *)ir->vki_ifr_data)->size );
+ break;
+ case VKI_ETHTOOL_RESET:
+ break;
+ case VKI_ETHTOOL_GSSET_INFO:
+ POST_MEM_WRITE( (Addr)((struct vki_ethtool_sset_info *)ir->vki_ifr_data)->data,
+ __builtin_popcountll(((struct vki_ethtool_sset_info *)ir->vki_ifr_data)->sset_mask) * sizeof(__vki_u32) );
+ break;
+ case VKI_ETHTOOL_GFEATURES:
+ POST_MEM_WRITE( (Addr)((struct vki_ethtool_gfeatures *)ir->vki_ifr_data)->features,
+ ((struct vki_ethtool_gfeatures *)ir->vki_ifr_data)->size * sizeof(struct vki_ethtool_get_features_block) );
+ break;
+ case VKI_ETHTOOL_SFEATURES:
+ break;
+ case VKI_ETHTOOL_GCHANNELS:
+ POST_MEM_WRITE( (Addr)ir->vki_ifr_data, sizeof(struct vki_ethtool_channels) );
+ break;
+ case VKI_ETHTOOL_SCHANNELS:
+ break;
+ case VKI_ETHTOOL_GET_TS_INFO:
+ POST_MEM_WRITE( (Addr)ir->vki_ifr_data, sizeof(struct vki_ethtool_ts_info) );
+ break;
+ }
+ break;
+ }
case VKI_SIOCGMIIPHY: /* get hardware entry */
POST_MEM_WRITE(
(Addr)&((struct vki_mii_ioctl_data *)&((struct vki_ifreq *)ARG3)->vki_ifr_data)->phy_id,
Modified: trunk/docs/internals/3_8_BUGSTATUS.txt
==============================================================================
--- trunk/docs/internals/3_8_BUGSTATUS.txt (original)
+++ trunk/docs/internals/3_8_BUGSTATUS.txt Fri Jun 27 09:59:52 2014
@@ -52,9 +52,6 @@
** no it's not; v38BRANCH shows error, vTRUNK doesn't -- investigate
REOP
-303536 ioctl for SIOCETHTOOL (ethtool(8)) isn't wrapped (w/ patch)
- SYSCALL, HAS_PATCH
-
-------- Unfixed in 3.8.0
303741 sockaddr* parameter of recvfrom not handled correctly
Modified: trunk/include/vki/vki-linux.h
==============================================================================
--- trunk/include/vki/vki-linux.h (original)
+++ trunk/include/vki/vki-linux.h Fri Jun 27 09:59:52 2014
@@ -1631,6 +1631,8 @@
#define VKI_SIOCGIFTXQLEN 0x8942 /* Get the tx queue length */
#define VKI_SIOCSIFTXQLEN 0x8943 /* Set the tx queue length */
+#define VKI_SIOCETHTOOL 0x8946 /* Ethtool interface */
+
#define VKI_SIOCGMIIPHY 0x8947 /* Get address of MII PHY in use. */
#define VKI_SIOCGMIIREG 0x8948 /* Read MII PHY register. */
#define VKI_SIOCSMIIREG 0x8949 /* Write MII PHY register. */
@@ -3235,6 +3237,189 @@
struct vki_sock_filter *filter;
};
+//----------------------------------------------------------------------
+// From linux/include/uapi/linux/ethtool.h
+//----------------------------------------------------------------------
+
+struct vki_ethtool_cmd {
+ __vki_u32 cmd;
+ __vki_u32 supported;
+ __vki_u32 advertising;
+ __vki_u16 speed;
+ __vki_u8 duplex;
+ __vki_u8 port;
+ __vki_u8 phy_address;
+ __vki_u8 transceiver;
+ __vki_u8 autoneg;
+ __vki_u8 mdio_support;
+ __vki_u32 maxtxpkt;
+ __vki_u32 maxrxpkt;
+ __vki_u16 speed_hi;
+ __vki_u8 eth_tp_mdix;
+ __vki_u8 eth_tp_mdix_ctrl;
+ __vki_u32 lp_advertising;
+ __vki_u32 reserved[2];
+};
+
+#define VKI_ETHTOOL_FWVERS_LEN 32
+#define VKI_ETHTOOL_BUSINFO_LEN 32
+
+struct vki_ethtool_drvinfo {
+ __vki_u32 cmd;
+ char driver[32];
+ char version[32];
+ char fw_version[VKI_ETHTOOL_FWVERS_LEN];
+ char bus_info[VKI_ETHTOOL_BUSINFO_LEN];
+ char reserved1[32];
+ char reserved2[12];
+ __vki_u32 n_priv_flags;
+ __vki_u32 n_stats;
+ __vki_u32 testinfo_len;
+ __vki_u32 eedump_len;
+ __vki_u32 regdump_len;
+};
+
+#define VKI_SOPASS_MAX 6
+
+struct vki_ethtool_wolinfo {
+ __vki_u32 cmd;
+ __vki_u32 supported;
+ __vki_u32 wolopts;
+ __vki_u8 sopass[VKI_SOPASS_MAX];
+};
+
+struct vki_ethtool_value {
+ __vki_u32 cmd;
+ __vki_u32 data;
+};
+
+struct vki_ethtool_regs {
+ __vki_u32 cmd;
+ __vki_u32 version;
+ __vki_u32 len;
+ __vki_u8 data[0];
+};
+
+struct vki_ethtool_ringparam {
+ __vki_u32 cmd;
+ __vki_u32 rx_max_pending;
+ __vki_u32 rx_mini_max_pending;
+ __vki_u32 rx_jumbo_max_pending;
+ __vki_u32 tx_max_pending;
+ __vki_u32 rx_pending;
+ __vki_u32 rx_mini_pending;
+ __vki_u32 rx_jumbo_pending;
+ __vki_u32 tx_pending;
+};
+
+struct vki_ethtool_channels {
+ __vki_u32 cmd;
+ __vki_u32 max_rx;
+ __vki_u32 max_tx;
+ __vki_u32 max_other;
+ __vki_u32 max_combined;
+ __vki_u32 rx_count;
+ __vki_u32 tx_count;
+ __vki_u32 other_count;
+ __vki_u32 combined_count;
+};
+
+struct vki_ethtool_sset_info {
+ __vki_u32 cmd;
+ __vki_u32 reserved;
+ __vki_u64 sset_mask;
+ __vki_u32 data[0];
+};
+
+struct vki_ethtool_test {
+ __vki_u32 cmd;
+ __vki_u32 flags;
+ __vki_u32 reserved;
+ __vki_u32 len;
+ __vki_u64 data[0];
+};
+
+struct vki_ethtool_perm_addr {
+ __vki_u32 cmd;
+ __vki_u32 size;
+ __vki_u8 data[0];
+};
+
+struct vki_ethtool_get_features_block {
+ __vki_u32 available;
+ __vki_u32 requested;
+ __vki_u32 active;
+ __vki_u32 never_changed;
+};
+
+struct vki_ethtool_gfeatures {
+ __vki_u32 cmd;
+ __vki_u32 size;
+ struct vki_ethtool_get_features_block features[0];
+};
+
+struct vki_ethtool_set_features_block {
+ __vki_u32 valid;
+ __vki_u32 requested;
+};
+
+struct vki_ethtool_sfeatures {
+ __vki_u32 cmd;
+ __vki_u32 size;
+ struct vki_ethtool_set_features_block features[0];
+};
+
+struct vki_ethtool_ts_info {
+ __vki_u32 cmd;
+ __vki_u32 so_timestamping;
+ __vki_s32 phc_index;
+ __vki_u32 tx_types;
+ __vki_u32 tx_reserved[3];
+ __vki_u32 rx_filters;
+ __vki_u32 rx_reserved[3];
+};
+
+#define VKI_ETHTOOL_GSET 0x00000001 /* Get settings. */
+#define VKI_ETHTOOL_SSET 0x00000002 /* Set settings. */
+#define VKI_ETHTOOL_GDRVINFO 0x00000003 /* Get driver info. */
+#define VKI_ETHTOOL_GREGS 0x00000004 /* Get NIC registers. */
+#define VKI_ETHTOOL_GWOL 0x00000005 /* Get wake-on-lan options. */
+#define VKI_ETHTOOL_SWOL 0x00000006 /* Set wake-on-lan options. */
+#define VKI_ETHTOOL_GMSGLVL 0x00000007 /* Get driver message level */
+#define VKI_ETHTOOL_SMSGLVL 0x00000008 /* Set driver msg level. */
+#define VKI_ETHTOOL_NWAY_RST 0x00000009 /* Restart autonegotiation. */
+#define VKI_ETHTOOL_GLINK 0x0000000a
+#define VKI_ETHTOOL_GRINGPARAM 0x00000010 /* Get ring parameters */
+#define VKI_ETHTOOL_SRINGPARAM 0x00000011 /* Set ring parameters. */
+#define VKI_ETHTOOL_GRXCSUM 0x00000014 /* Get RX hw csum enable (ethtool_value) */
+#define VKI_ETHTOOL_SRXCSUM 0x00000015 /* Set RX hw csum enable (ethtool_value) */
+#define VKI_ETHTOOL_GTXCSUM 0x00000016 /* Get TX hw csum enable (ethtool_value) */
+#define VKI_ETHTOOL_STXCSUM 0x00000017 /* Set TX hw csum enable (ethtool_value) */
+#define VKI_ETHTOOL_GSG 0x00000018 /* Get scatter-gather enable
+ * (ethtool_value) */
+#define VKI_ETHTOOL_SSG 0x00000019 /* Set scatter-gather enable
+ * (ethtool_value). */
+#define VKI_ETHTOOL_TEST 0x0000001a /* execute NIC self-test. */
+#define VKI_ETHTOOL_PHYS_ID 0x0000001c /* identify the NIC */
+#define VKI_ETHTOOL_GTSO 0x0000001e /* Get TSO enable (ethtool_value) */
+#define VKI_ETHTOOL_STSO 0x0000001f /* Set TSO enable (ethtool_value) */
+#define VKI_ETHTOOL_GPERMADDR 0x00000020 /* Get permanent hardware address */
+#define VKI_ETHTOOL_GUFO 0x00000021 /* Get UFO enable (ethtool_value) */
+#define VKI_ETHTOOL_SUFO 0x00000022 /* Set UFO enable (ethtool_value) */
+#define VKI_ETHTOOL_GGSO 0x00000023 /* Get GSO enable (ethtool_value) */
+#define VKI_ETHTOOL_SGSO 0x00000024 /* Set GSO enable (ethtool_value) */
+#define VKI_ETHTOOL_GFLAGS 0x00000025 /* Get flags bitmap(ethtool_value) */
+#define VKI_ETHTOOL_SFLAGS 0x00000026 /* Set flags bitmap(ethtool_value) */
+#define VKI_ETHTOOL_GGRO 0x0000002b /* Get GRO enable (ethtool_value) */
+#define VKI_ETHTOOL_SGRO 0x0000002c /* Set GRO enable (ethtool_value) */
+#define VKI_ETHTOOL_RESET 0x00000034 /* Reset hardware */
+#define VKI_ETHTOOL_GSSET_INFO 0x00000037 /* Get string set info */
+#define VKI_ETHTOOL_GFEATURES 0x0000003a /* Get device offload settings */
+#define VKI_ETHTOOL_SFEATURES 0x0000003b /* Change device offload settings */
+#define VKI_ETHTOOL_GCHANNELS 0x0000003c /* Get no of channels */
+#define VKI_ETHTOOL_SCHANNELS 0x0000003d /* Set no of channels */
+#define VKI_ETHTOOL_GET_TS_INFO 0x00000041 /* Get time stamping and PHC info */
+
#endif // __VKI_LINUX_H
/*--------------------------------------------------------------------*/
|
|
From: Philippe W. <phi...@sk...> - 2014-06-27 04:55:42
|
valgrind revision: 14113 VEX revision: 2891 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-06-26 20:00:12 PDT Ended at 2014-06-26 21:52:16 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 == 588 tests, 9 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/vbit-test/vbit-test (stderr) memcheck/tests/wrap8 (stdout) memcheck/tests/wrap8 (stderr) massif/tests/big-alloc (post) massif/tests/deep-D (post) helgrind/tests/pth_cond_destroy_busy (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc18_semabuse (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 == 588 tests, 8 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/pth_cond_destroy_busy (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc20_verifywrap (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Thu Jun 26 20:32:23 2014 --- new.short Thu Jun 26 20:55:57 2014 *************** *** 8,10 **** ! == 588 tests, 8 stderr failures, 3 stdout failures, 0 stderrB failures, 0 stdoutB failures, 2 post failures == memcheck/tests/linux/getregset (stdout) --- 8,10 ---- ! == 588 tests, 9 stderr failures, 3 stdout failures, 0 stderrB failures, 0 stdoutB failures, 2 post failures == memcheck/tests/linux/getregset (stdout) *************** *** 14,15 **** --- 14,16 ---- memcheck/tests/varinfo6 (stderr) + memcheck/tests/vbit-test/vbit-test (stderr) memcheck/tests/wrap8 (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.26s no: 1.7s ( 6.5x, -----) me: 2.9s (11.1x, -----) ca:17.9s (68.8x, -----) he: 1.8s ( 6.7x, -----) ca: 5.4s (20.7x, -----) dr: 1.7s ( 6.6x, -----) ma: 2.1s ( 8.2x, -----) bigcode1 valgrind-old:0.26s no: 1.6s ( 6.2x, 4.2%) me: 2.8s (10.9x, 2.1%) ca:38.1s (146.7x,-113.2%) he: 1.8s ( 6.9x, -2.9%) ca: 5.6s (21.5x, -3.5%) dr: 1.7s ( 6.7x, -1.2%) ma: 2.2s ( 8.4x, -2.3%) -- bigcode2 -- bigcode2 valgrind-new:0.23s no: 1.6s ( 6.9x, -----) me: 3.8s (16.5x, -----) ca:18.4s (80.0x, -----) he: 2.1s ( 9.1x, -----) ca: 5.5s (23.7x, -----) dr: 1.8s ( 8.0x, -----) ma: 2.1s ( 9.3x, -----) bigcode2 valgrind-old:0.23s no: 1.5s ( 6.7x, 3.1%) me: 3.2s (13.9x, 15.8%) ca:18.6s (80.9x, -1.1%) he: 2.1s ( 9.1x, -0.5%) ca: 5.5s (24.0x, -1.3%) dr: 1.9s ( 8.1x, -1.1%) ma: 2.1s ( 9.3x, -0.9%) -- bz2 -- bz2 valgrind-new:0.72s no: 4.6s ( 6.3x, -----) me:11.6s (16.1x, -----) ca:25.8s (35.8x, -----) he:14.8s (20.5x, -----) ca:24.5s (34.0x, -----) dr:19.2s (26.6x, -----) ma: 4.7s ( 6.5x, -----) bz2 valgrind-old:0.72s no: 4.7s ( 6.6x, -3.3%) me:11.6s (16.1x, -0.1%) ca:26.0s (36.1x, -0.8%) he:14.9s (20.7x, -0.7%) ca:24.9s (34.6x, -1.6%) dr:19.1s (26.5x, 0.5%) ma: 4.9s ( 6.8x, -5.1%) -- fbench -- fbench valgrind-new:0.34s no: 2.1s ( 6.3x, -----) me: 5.3s (15.5x, -----) ca: 8.4s (24.9x, -----) he: 5.3s (15.6x, -----) ca: 7.5s (22.2x, -----) dr: 4.8s (14.2x, -----) ma: 2.1s ( 6.3x, -----) fbench valgrind-old:0.34s no: 2.1s ( 6.2x, 0.9%) me: 5.2s (15.4x, 0.8%) ca: 8.5s (24.9x, -0.4%) he: 5.3s (15.6x, 0.4%) ca: 7.5s (22.2x, 0.0%) dr: 4.8s (14.2x, -0.2%) ma: 2.2s ( 6.4x, -0.5%) -- ffbench -- ffbench valgrind-new:0.45s no: 1.3s ( 3.0x, -----) me: 2.4s ( 5.2x, -----) ca: 2.5s ( 5.5x, -----) he: 7.0s (15.4x, -----) ca: 7.0s (15.6x, -----) dr: 4.9s (11.0x, -----) ma: 1.0s ( 2.3x, -----) ffbench valgrind-old:0.45s no: 1.3s ( 3.0x, 0.7%) me: 2.5s ( 5.5x, -5.1%) ca: 2.5s ( 5.7x, -2.8%) he: 6.9s (15.4x, 0.4%) ca: 6.9s (15.3x, 2.3%) dr: 5.0s (11.0x, -0.4%) ma: 1.0s ( 2.3x, 1.0%) -- heap -- heap valgrind-new:0.40s no: 2.4s ( 6.1x, -----) me: 9.6s (23.9x, -----) ca:13.1s (32.6x, -----) he:11.9s (29.9x, -----) ca:12.2s (30.4x, -----) dr: 8.0s (19.9x, -----) ma: 8.4s (21.1x, -----) heap valgrind-old:0.40s no: 2.4s ( 6.0x, 2.0%) me: 9.6s (24.1x, -0.6%) ca:13.2s (33.1x, -1.5%) he:12.0s (29.9x, -0.3%) ca:12.2s (30.5x, -0.3%) dr: 8.0s (20.0x, -0.8%) ma: 8.7s (21.7x, -2.8%) -- heap_pdb4 -- heap_pdb4 valgrind-new:0.43s no: 2.6s ( 6.1x, -----) me:13.7s (32.0x, -----) ca:14.0s (32.6x, -----) he:18.5s (43.1x, -----) ca:15.1s (35.0x, -----) dr: 9.1s (21.2x, -----) ma: 8.9s (20.7x, -----) heap_pdb4 valgrind-old:0.43s no: 2.6s ( 6.1x, 0.4%) me:13.7s (31.8x, 0.5%) ca:14.2s (33.1x, -1.6%) he:13.5s (31.3x, 27.3%) ca:13.2s (30.6x, 12.7%) dr: 9.1s (21.1x, 0.2%) ma: 8.9s (20.7x, -0.1%) -- many-loss-records -- many-loss-records valgrind-new:0.03s no: 0.5s (17.7x, -----) me: 2.1s (71.3x, -----) ca: 1.9s (62.7x, -----) he: 1.9s (61.7x, -----) ca: 1.9s (62.0x, -----) dr: 1.5s (51.3x, -----) ma: 1.6s (51.7x, -----) many-loss-records valgrind-old:0.03s no: 0.5s (17.7x, 0.0%) me: 2.1s (71.3x, 0.0%) ca: 1.9s (62.7x, 0.0%) he: 1.9s (61.7x, 0.0%) ca: 1.9s (62.0x, 0.0%) dr: 1.6s (51.7x, -0.6%) ma: 1.6s (52.3x, -1.3%) -- many-xpts -- many-xpts valgrind-new:0.07s no: 0.8s (10.9x, -----) me: 3.4s (47.9x, -----) ca: 4.7s (66.6x, -----) he: 4.9s (70.1x, -----) ca: 2.9s (41.3x, -----) dr: 2.3s (32.9x, -----) ma: 2.3s (32.3x, -----) many-xpts valgrind-old:0.07s no: 0.8s (10.9x, 0.0%) me: 3.4s (48.3x, -0.9%) ca: 5.0s (71.0x, -6.7%) he: 5.4s (77.4x,-10.4%) ca: 3.0s (43.1x, -4.5%) dr: 2.3s (33.1x, -0.9%) ma: 2.3s (32.4x, -0.4%) -- sarp -- sarp valgrind-new:0.02s no: 0.4s (20.0x, -----) me: 3.1s (153.5x, -----) ca: 2.9s (147.0x, -----) he:11.4s (568.5x, -----) ca: 1.7s (86.5x, -----) dr: 1.1s (55.0x, -----) ma: 0.4s (21.5x, -----) sarp valgrind-old:0.02s no: 0.4s (20.5x, -2.5%) me: 3.0s (151.5x, 1.3%) ca: 3.0s (148.0x, -0.7%) he:11.3s (567.5x, 0.2%) ca: 1.8s (90.5x, -4.6%) dr: 1.1s (53.5x, 2.7%) ma: 0.4s (22.0x, -2.3%) -- tinycc -- tinycc valgrind-new:0.27s no: 3.0s (11.0x, -----) me:13.7s (50.7x, -----) ca:17.2s (63.9x, -----) he:19.0s (70.4x, -----) ca:15.6s (57.9x, -----) dr:12.1s (44.7x, -----) ma: 3.8s (14.1x, -----) tinycc valgrind-old:0.27s no: 3.0s (11.0x, -0.3%) me:13.7s (50.9x, -0.4%) ca:17.2s (63.8x, 0.1%) he:19.0s (70.5x, -0.2%) ca:16.1s (59.8x, -3.4%) dr:12.2s (45.1x, -0.9%) ma: 3.9s (14.5x, -2.6%) -- Finished tests in perf ---------------------------------------------- == 11 programs, 154 timings ================= real 56m19.202s user 55m5.292s sys 0m21.281s |
|
From: Christian B. <bor...@de...> - 2014-06-27 04:11:07
|
valgrind revision: 14113 VEX revision: 2891 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-06-27 03:45:01 CEST Ended at 2014-06-27 06:10:54 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 == 653 tests, 3 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/vbit-test/vbit-test (stderr) 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 == 653 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) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Fri Jun 27 04:01:33 2014 --- new.short Fri Jun 27 04:20:20 2014 *************** *** 8,10 **** ! == 653 tests, 2 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == helgrind/tests/pth_cond_destroy_busy (stderr) --- 8,11 ---- ! == 653 tests, 3 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == ! memcheck/tests/vbit-test/vbit-test (stderr) helgrind/tests/pth_cond_destroy_busy (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.7x, -----) me: 6.9s (30.0x, -----) ca:26.4s (114.8x, -----) he: 5.0s (21.9x, -----) ca: 9.1s (39.7x, -----) dr: 5.4s (23.5x, -----) ma: 5.0s (21.6x, -----) bigcode1 valgrind-old:0.23s no: 4.3s (18.7x, 0.0%) me: 6.9s (30.0x, 0.1%) ca:26.4s (114.7x, 0.1%) he: 5.0s (21.9x, 0.2%) ca: 9.2s (39.8x, -0.3%) dr: 5.4s (23.4x, 0.2%) ma: 4.9s (21.4x, 0.6%) -- bigcode2 -- bigcode2 valgrind-new:0.25s no: 7.2s (28.8x, -----) me:13.9s (55.7x, -----) ca:39.8s (159.0x, -----) he:10.1s (40.2x, -----) ca:14.2s (56.9x, -----) dr: 9.5s (38.2x, -----) ma: 8.3s (33.4x, -----) bigcode2 valgrind-old:0.25s no: 7.2s (28.8x, -0.1%) me:13.9s (55.6x, 0.1%) ca:39.5s (158.2x, 0.6%) he:10.0s (40.1x, 0.3%) ca:14.3s (57.3x, -0.7%) dr: 9.6s (38.2x, -0.1%) ma: 8.4s (33.5x, -0.2%) -- bz2 -- bz2 valgrind-new:0.70s no: 5.0s ( 7.2x, -----) me:12.7s (18.2x, -----) ca:30.7s (43.9x, -----) he:19.5s (27.9x, -----) ca:34.3s (49.0x, -----) dr:28.9s (41.3x, -----) ma: 4.7s ( 6.7x, -----) bz2 valgrind-old:0.70s no: 5.0s ( 7.1x, 0.6%) me:12.7s (18.2x, 0.0%) ca:30.6s (43.8x, 0.3%) he:19.5s (27.9x, 0.1%) ca:34.3s (49.0x, 0.0%) dr:28.9s (41.3x, 0.1%) ma: 4.7s ( 6.7x, 0.0%) -- fbench -- fbench valgrind-new:0.40s no: 1.6s ( 4.0x, -----) me: 4.2s (10.5x, -----) ca: 9.4s (23.4x, -----) he: 6.2s (15.5x, -----) ca: 7.2s (18.0x, -----) dr: 5.5s (13.8x, -----) ma: 1.7s ( 4.2x, -----) fbench valgrind-old:0.40s no: 1.6s ( 4.0x, 0.0%) me: 4.2s (10.6x, -0.7%) ca: 9.3s (23.2x, 0.7%) he: 6.2s (15.5x, 0.0%) ca: 7.2s (18.0x, 0.1%) dr: 5.5s (13.8x, 0.0%) ma: 1.7s ( 4.2x, -0.6%) -- ffbench -- ffbench valgrind-new:0.19s no: 1.1s ( 5.6x, -----) me: 3.0s (15.6x, -----) ca: 3.0s (15.9x, -----) he:43.3s (228.1x, -----) ca: 9.6s (50.6x, -----) dr: 6.9s (36.3x, -----) ma: 1.0s ( 5.1x, -----) ffbench valgrind-old:0.19s no: 1.1s ( 5.6x, 0.9%) me: 3.0s (15.8x, -1.0%) ca: 3.0s (15.8x, 0.3%) he:43.4s (228.3x, -0.1%) ca: 9.6s (50.6x, -0.1%) dr: 6.9s (36.4x, -0.3%) ma: 1.0s ( 5.1x, 0.0%) -- heap -- heap valgrind-new:0.23s no: 1.9s ( 8.2x, -----) me: 8.8s (38.4x, -----) ca:13.2s (57.5x, -----) he:12.6s (54.9x, -----) ca:11.3s (49.1x, -----) dr: 7.7s (33.6x, -----) ma: 7.9s (34.2x, -----) heap valgrind-old:0.23s no: 1.9s ( 8.2x, 0.0%) me: 8.8s (38.2x, 0.7%) ca:13.2s (57.3x, 0.4%) he:12.6s (54.9x, 0.0%) ca:11.3s (49.0x, 0.1%) dr: 7.8s (33.7x, -0.5%) ma: 7.9s (34.4x, -0.5%) -- heap_pdb4 -- heap_pdb4 valgrind-new:0.22s no: 2.1s ( 9.4x, -----) me:12.9s (58.6x, -----) ca:14.2s (64.7x, -----) he:14.0s (63.5x, -----) ca:12.4s (56.2x, -----) dr: 8.6s (39.2x, -----) ma: 8.0s (36.4x, -----) heap_pdb4 valgrind-old:0.22s no: 2.1s ( 9.4x, 0.0%) me:12.9s (58.5x, 0.3%) ca:14.2s (64.4x, 0.6%) he:14.1s (63.9x, -0.6%) ca:12.4s (56.2x, 0.1%) dr: 8.6s (39.2x, -0.1%) ma: 8.0s (36.4x, -0.1%) -- many-loss-records -- many-loss-records valgrind-new:0.02s no: 0.5s (24.5x, -----) me: 2.1s (106.0x, -----) ca: 1.9s (97.0x, -----) he: 2.2s (108.0x, -----) ca: 1.9s (96.5x, -----) dr: 1.7s (86.5x, -----) ma: 1.7s (83.5x, -----) many-loss-records valgrind-old:0.02s no: 0.5s (24.0x, 2.0%) me: 2.1s (106.0x, 0.0%) ca: 1.9s (97.0x, 0.0%) he: 2.2s (108.0x, 0.0%) ca: 1.9s (96.0x, 0.5%) dr: 1.8s (88.5x, -2.3%) ma: 1.7s (84.0x, -0.6%) -- many-xpts -- many-xpts valgrind-new:0.07s no: 0.6s ( 9.1x, -----) me: 3.2s (45.4x, -----) ca:369.7s (5281.4x, -----) he: 6.5s (93.6x, -----) ca: 2.8s (40.0x, -----) dr: 2.5s (35.9x, -----) ma: 2.7s (38.1x, -----) many-xpts valgrind-old:0.07s no: 0.6s ( 9.0x, 1.6%) me: 3.2s (45.4x, 0.0%) ca:374.6s (5351.3x, -1.3%) he: 6.6s (94.0x, -0.5%) ca: 2.8s (40.0x, 0.0%) dr: 2.5s (35.9x, 0.0%) ma: 2.7s (38.0x, 0.4%) -- sarp -- sarp valgrind-new:0.03s no: 0.6s (19.3x, -----) me: 3.4s (114.3x, -----) ca: 3.2s (105.7x, -----) he:17.1s (570.3x, -----) ca: 2.1s (68.7x, -----) dr: 1.4s (45.0x, -----) ma: 0.5s (17.3x, -----) sarp valgrind-old:0.03s no: 0.6s (19.3x, 0.0%) me: 3.5s (116.3x, -1.7%) ca: 3.1s (105.0x, 0.6%) he:17.1s (571.3x, -0.2%) ca: 2.1s (68.7x, 0.0%) dr: 1.4s (45.0x, 0.0%) ma: 0.5s (17.3x, 0.0%) -- tinycc -- tinycc valgrind-new:0.22s no: 2.8s (12.8x, -----) me:14.5s (66.0x, -----) ca:30.3s (137.6x, -----) he:28.2s (128.1x, -----) ca:21.4s (97.4x, -----) dr:20.4s (92.7x, -----) ma: 4.1s (18.6x, -----) tinycc valgrind-old:0.22s no: 2.9s (13.3x, -3.9%) me:14.5s (66.0x, 0.0%) ca:29.9s (136.1x, 1.1%) he:28.0s (127.4x, 0.6%) ca:21.4s (97.0x, 0.4%) dr:20.4s (92.7x, -0.0%) ma: 4.1s (18.5x, 0.5%) -- Finished tests in perf ---------------------------------------------- == 11 programs, 154 timings ================= real 110m33.814s user 109m47.666s sys 0m37.835s |
|
From: Tom H. <to...@co...> - 2014-06-27 03:31:59
|
valgrind revision: 14113 VEX revision: 2891 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.14.7-200.fc20.x86_64 x86_64 Vendor version: Fedora release 9 (Sulphur) Nightly build on bristol ( x86_64, Fedora 9 ) Started at 2014-06-27 03:52:15 BST Ended at 2014-06-27 04:31:43 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 == 656 tests, 3 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/amd64/insn-pcmpistri (stderr) memcheck/tests/err_disable4 (stderr) memcheck/tests/vbit-test/vbit-test (stderr) none/tests/amd64/sse4-64 (stdout) ================================================= == 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 == 656 tests, 2 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/amd64/insn-pcmpistri (stderr) memcheck/tests/err_disable4 (stderr) none/tests/amd64/sse4-64 (stdout) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short 2014-06-27 04:08:04.713931877 +0100 --- new.short 2014-06-27 04:31:43.755780999 +0100 *************** *** 8,12 **** ! == 656 tests, 2 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/amd64/insn-pcmpistri (stderr) memcheck/tests/err_disable4 (stderr) none/tests/amd64/sse4-64 (stdout) --- 8,13 ---- ! == 656 tests, 3 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/amd64/insn-pcmpistri (stderr) memcheck/tests/err_disable4 (stderr) + memcheck/tests/vbit-test/vbit-test (stderr) none/tests/amd64/sse4-64 (stdout) |
|
From: Rich C. <rc...@wi...> - 2014-06-27 03:00:17
|
valgrind revision: 14113
VEX revision: 2891
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-06-26 21:30:01 CDT
Ended at 2014-06-26 22:00:06 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
== 681 tests, 1 stderr failure, 0 stdout failures, 2 stderrB failures, 0 stdoutB failures, 0 post failures ==
gdbserver_tests/hginfo (stderrB)
gdbserver_tests/mssnapshot (stderrB)
memcheck/tests/vbit-test/vbit-test (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
== 681 tests, 0 stderr failures, 0 stdout failures, 2 stderrB failures, 0 stdoutB failures, 0 post failures ==
gdbserver_tests/hginfo (stderrB)
gdbserver_tests/mssnapshot (stderrB)
=================================================
== Difference between 24 hours ago and now ==
=================================================
*** old.short Thu Jun 26 21:45:00 2014
--- new.short Thu Jun 26 22:00:06 2014
***************
*** 8,12 ****
! == 681 tests, 0 stderr failures, 0 stdout failures, 2 stderrB failures, 0 stdoutB failures, 0 post failures ==
gdbserver_tests/hginfo (stderrB)
gdbserver_tests/mssnapshot (stderrB)
--- 8,13 ----
! == 681 tests, 1 stderr failure, 0 stdout failures, 2 stderrB failures, 0 stdoutB failures, 0 post failures ==
gdbserver_tests/hginfo (stderrB)
gdbserver_tests/mssnapshot (stderrB)
+ memcheck/tests/vbit-test/vbit-test (stderr)
=================================================
./valgrind-new/gdbserver_tests/hginfo.stderrB.diff
=================================================
--- hginfo.stderrB.exp 2014-06-26 21:45:14.805753251 -0500
+++ hginfo.stderrB.out 2014-06-26 21:48:43.926091757 -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-06-26 21:45:14.809753240 -0500
+++ mssnapshot.stderrB.out 2014-06-26 21:49:15.953224355 -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-new/memcheck/tests/vbit-test/vbit-test.stderr.diff
=================================================
--- vbit-test.stderr.exp 2014-06-26 21:45:11.629839519 -0500
+++ vbit-test.stderr.out 2014-06-26 21:52:17.228313421 -0500
@@ -0,0 +1 @@
+unknown opcode 5981
=================================================
./valgrind-old/gdbserver_tests/hginfo.stderrB.diff
=================================================
--- hginfo.stderrB.exp 2014-06-26 21:30:24.343826308 -0500
+++ hginfo.stderrB.out 2014-06-26 21:33:44.740411644 -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-old/gdbserver_tests/mssnapshot.stderrB.diff
=================================================
--- mssnapshot.stderrB.exp 2014-06-26 21:30:24.345826254 -0500
+++ mssnapshot.stderrB.out 2014-06-26 21:34:16.504553704 -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-06-27 02:40:38
|
valgrind revision: 14113 VEX revision: 2891 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.14.7-200.fc20.x86_64 x86_64 Vendor version: Fedora release 16 (Verne) Nightly build on bristol ( x86_64, Fedora 16 ) Started at 2014-06-27 03:01:46 BST Ended at 2014-06-27 03:40:28 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 == 688 tests, 2 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/err_disable4 (stderr) memcheck/tests/vbit-test/vbit-test (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 == 688 tests, 1 stderr failure, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/err_disable4 (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short 2014-06-27 03:22:40.073228384 +0100 --- new.short 2014-06-27 03:40:28.152676364 +0100 *************** *** 8,11 **** ! == 688 tests, 1 stderr failure, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/err_disable4 (stderr) --- 8,12 ---- ! == 688 tests, 2 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/err_disable4 (stderr) + memcheck/tests/vbit-test/vbit-test (stderr) |
|
From: Tom H. <to...@co...> - 2014-06-27 02:34:57
|
valgrind revision: 14113
VEX revision: 2891
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.14.7-200.fc20.x86_64 x86_64
Vendor version: Fedora release 15 (Lovelock)
Nightly build on bristol ( x86_64, Fedora 15 )
Started at 2014-06-27 03:12:47 BST
Ended at 2014-06-27 03:34:47 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
== 688 tests, 2 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
memcheck/tests/err_disable4 (stderr)
memcheck/tests/vbit-test/vbit-test (stderr)
=================================================
== Results from 24 hours ago ==
=================================================
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... failed
Last 20 lines of verbose log follow echo
make[4]: Nothing to be done for `install-data-am'.
make[4]: Leaving directory `/tmp/vgtest-30811/2014-06-27/valgrind-old/helgrind/tests'
make[3]: Leaving directory `/tmp/vgtest-30811/2014-06-27/valgrind-old/helgrind/tests'
make[2]: Leaving directory `/tmp/vgtest-30811/2014-06-27/valgrind-old/helgrind'
Making install in drd
make[2]: Entering directory `/tmp/vgtest-30811/2014-06-27/valgrind-old/drd'
Making install in .
make[3]: Entering directory `/tmp/vgtest-30811/2014-06-27/valgrind-old/drd'
mkdir -p ../.in_place; \
for f in drd-amd64-linux drd-x86-linux vgpreload_drd-amd64-linux.so vgpreload_drd-x86-linux.so ; do \
rm -f ../.in_place/$f; \
ln -f -s ../drd/$f ../.in_place; \
done
make[3]: vfork: Resource temporarily unavailable
make[3]: Leaving directory `/tmp/vgtest-30811/2014-06-27/valgrind-old/drd'
make[2]: *** [install-recursive] Error 1
make[2]: Leaving directory `/tmp/vgtest-30811/2014-06-27/valgrind-old/drd'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/tmp/vgtest-30811/2014-06-27/valgrind-old'
make: *** [install] Error 2
=================================================
== Difference between 24 hours ago and now ==
=================================================
*** old.short 2014-06-27 03:17:38.942989489 +0100
--- new.short 2014-06-27 03:34:47.926244380 +0100
***************
*** 3,26 ****
Configuring valgrind ... done
! Building valgrind ... failed
- Last 20 lines of verbose log follow echo
- make[4]: Nothing to be done for `install-data-am'.
- make[4]: Leaving directory `/tmp/vgtest-30811/2014-06-27/valgrind-old/helgrind/tests'
- make[3]: Leaving directory `/tmp/vgtest-30811/2014-06-27/valgrind-old/helgrind/tests'
- make[2]: Leaving directory `/tmp/vgtest-30811/2014-06-27/valgrind-old/helgrind'
- Making install in drd
- make[2]: Entering directory `/tmp/vgtest-30811/2014-06-27/valgrind-old/drd'
- Making install in .
- make[3]: Entering directory `/tmp/vgtest-30811/2014-06-27/valgrind-old/drd'
- mkdir -p ../.in_place; \
- for f in drd-amd64-linux drd-x86-linux vgpreload_drd-amd64-linux.so vgpreload_drd-x86-linux.so ; do \
- rm -f ../.in_place/$f; \
- ln -f -s ../drd/$f ../.in_place; \
- done
- make[3]: vfork: Resource temporarily unavailable
- make[3]: Leaving directory `/tmp/vgtest-30811/2014-06-27/valgrind-old/drd'
- make[2]: *** [install-recursive] Error 1
- make[2]: Leaving directory `/tmp/vgtest-30811/2014-06-27/valgrind-old/drd'
- make[1]: *** [install-recursive] Error 1
- make[1]: Leaving directory `/tmp/vgtest-30811/2014-06-27/valgrind-old'
- make: *** [install] Error 2
--- 3,12 ----
Configuring valgrind ... done
! Building valgrind ... done
! Running regression tests ... failed
!
! Regression test results follow
!
! == 688 tests, 2 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
! memcheck/tests/err_disable4 (stderr)
! memcheck/tests/vbit-test/vbit-test (stderr)
|
|
From: Rich C. <rc...@wi...> - 2014-06-27 02:31:07
|
valgrind revision: 14113
VEX revision: 2891
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-06-26 19:22:01 CDT
Ended at 2014-06-26 21:30:58 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
== 603 tests, 6 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)
memcheck/tests/vbit-test/vbit-test (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
== 603 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 Thu Jun 26 20:25:27 2014
--- new.short Thu Jun 26 21:30:58 2014
***************
*** 8,10 ****
! == 603 tests, 5 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
memcheck/tests/err_disable3 (stderr)
--- 8,10 ----
! == 603 tests, 6 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
memcheck/tests/err_disable3 (stderr)
***************
*** 13,14 ****
--- 13,15 ----
memcheck/tests/threadname_xml (stderr)
+ memcheck/tests/vbit-test/vbit-test (stderr)
exp-sgcheck/tests/hackedbz2 (stderr)
=================================================
./valgrind-new/exp-sgcheck/tests/hackedbz2.stderr.diff-glibc28-amd64
=================================================
--- hackedbz2.stderr.exp-glibc28-amd64 2014-06-26 20:26:39.256913737 -0500
+++ hackedbz2.stderr.out 2014-06-26 21:29:47.268856391 -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-06-26 20:29:36.155965846 -0500
+++ err_disable3.stderr.out 2014-06-26 20:50:52.324769982 -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-06-26 20:29:53.129162743 -0500
+++ err_disable4.stderr.out 2014-06-26 20:50:56.676820468 -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-06-26 20:29:42.786042758 -0500
+++ threadname.stderr.out 2014-06-26 20:57:07.578123091 -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-06-26 20:29:53.163163137 -0500
+++ threadname_xml.stderr.out 2014-06-26 20:57:09.667147324 -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-new/memcheck/tests/vbit-test/vbit-test.stderr.diff
=================================================
--- vbit-test.stderr.exp 2014-06-26 20:29:36.186966206 -0500
+++ vbit-test.stderr.out 2014-06-26 20:59:04.647481148 -0500
@@ -0,0 +1 @@
+unknown opcode 5981
=================================================
./valgrind-old/exp-sgcheck/tests/hackedbz2.stderr.diff-glibc28-amd64
=================================================
--- hackedbz2.stderr.exp-glibc28-amd64 2014-06-26 19:24:08.955408541 -0500
+++ hackedbz2.stderr.out 2014-06-26 20:24:15.899250723 -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-06-26 19:23:21.476857768 -0500
+++ err_disable3.stderr.out 2014-06-26 19:45:14.650091173 -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-06-26 19:23:23.440880552 -0500
+++ err_disable4.stderr.out 2014-06-26 19:45:18.932140846 -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-06-26 19:23:21.422857142 -0500
+++ threadname.stderr.out 2014-06-26 19:51:31.841466763 -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-06-26 19:23:28.183935574 -0500
+++ threadname_xml.stderr.out 2014-06-26 19:51:33.917490846 -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-06-27 02:29:03
|
valgrind revision: 14113 VEX revision: 2891 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.14.7-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-06-27 02:51:17 BST Ended at 2014-06-27 03:28:49 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 == 688 tests, 6 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) memcheck/tests/err_disable4 (stderr) memcheck/tests/vbit-test/vbit-test (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 == 688 tests, 6 stderr failures, 2 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == gdbserver_tests/mcinfcallRU (stderr) gdbserver_tests/mcinfcallWSRU (stderr) gdbserver_tests/mcmain_pic (stderr) memcheck/tests/err_disable4 (stderr) none/tests/fdleak_ipv4 (stdout) none/tests/fdleak_ipv4 (stderr) exp-sgcheck/tests/preen_invars (stdout) exp-sgcheck/tests/preen_invars (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short 2014-06-27 03:10:20.055368843 +0100 --- new.short 2014-06-27 03:28:49.924153004 +0100 *************** *** 8,10 **** ! == 688 tests, 6 stderr failures, 2 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == gdbserver_tests/mcinfcallRU (stderr) --- 8,10 ---- ! == 688 tests, 6 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == gdbserver_tests/mcinfcallRU (stderr) *************** *** 13,16 **** memcheck/tests/err_disable4 (stderr) ! none/tests/fdleak_ipv4 (stdout) ! none/tests/fdleak_ipv4 (stderr) exp-sgcheck/tests/preen_invars (stdout) --- 13,15 ---- memcheck/tests/err_disable4 (stderr) ! memcheck/tests/vbit-test/vbit-test (stderr) exp-sgcheck/tests/preen_invars (stdout) |
|
From: Tom H. <to...@co...> - 2014-06-27 02:22:54
|
valgrind revision: 14113 VEX revision: 2891 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.14.7-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-06-27 02:41:20 BST Ended at 2014-06-27 03:22:43 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 == 688 tests, 3 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/err_disable4 (stderr) memcheck/tests/vbit-test/vbit-test (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 == 688 tests, 2 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/err_disable4 (stderr) exp-sgcheck/tests/preen_invars (stdout) exp-sgcheck/tests/preen_invars (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short 2014-06-27 03:03:21.724355114 +0100 --- new.short 2014-06-27 03:22:43.030171850 +0100 *************** *** 8,11 **** ! == 688 tests, 2 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/err_disable4 (stderr) exp-sgcheck/tests/preen_invars (stdout) --- 8,12 ---- ! == 688 tests, 3 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/err_disable4 (stderr) + memcheck/tests/vbit-test/vbit-test (stderr) exp-sgcheck/tests/preen_invars (stdout) |
|
From: Tom H. <to...@co...> - 2014-06-27 02:10:26
|
valgrind revision: 14113 VEX revision: 2891 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.14.7-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-06-27 02:31:42 BST Ended at 2014-06-27 03:10:13 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 == 688 tests, 4 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/err_disable4 (stderr) memcheck/tests/vbit-test/vbit-test (stderr) none/tests/fdleak_ipv4 (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 == 688 tests, 2 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/err_disable4 (stderr) exp-sgcheck/tests/hackedbz2 (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short 2014-06-27 02:51:03.530422173 +0100 --- new.short 2014-06-27 03:10:13.295497967 +0100 *************** *** 8,11 **** ! == 688 tests, 2 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/err_disable4 (stderr) exp-sgcheck/tests/hackedbz2 (stderr) --- 8,13 ---- ! == 688 tests, 4 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/err_disable4 (stderr) + memcheck/tests/vbit-test/vbit-test (stderr) + none/tests/fdleak_ipv4 (stderr) exp-sgcheck/tests/hackedbz2 (stderr) |