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
(32) |
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
1
(11) |
|
2
|
3
|
4
|
5
(4) |
6
(21) |
7
(14) |
8
(14) |
|
9
(16) |
10
(19) |
11
(18) |
12
(17) |
13
(14) |
14
(21) |
15
(15) |
|
16
(10) |
17
(7) |
18
(15) |
19
(20) |
20
(20) |
21
(14) |
22
(7) |
|
23
(2) |
24
(8) |
25
(15) |
26
(11) |
27
(6) |
28
(10) |
|
|
From: <sv...@va...> - 2014-02-06 12:58:13
|
Author: sewardj
Date: Thu Feb 6 12:57:58 2014
New Revision: 2813
Log:
Implement a few more vector aarch64 insns:
LD1 {vT.8h}, [xN|SP], #16
LD1 {vT.16b}, [xN|SP], #16
ST1 {vT.4h}, [xN|SP], #8
MUL Vd.T, Vn.T, Vm.T
PMUL Vd.T, Vn.T, Vm.T (fe only)
MLA Vd.T, Vn.T, Vm.T
MLS Vd.T, Vn.T, Vm.T
UMOV Xd/Wd, Vn.Ts[index]
SMOV Xd/Wd, Vn.Ts[index]
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
trunk/pub/libvex_ir.h
Modified: trunk/priv/guest_arm64_toIR.c
==============================================================================
--- trunk/priv/guest_arm64_toIR.c (original)
+++ trunk/priv/guest_arm64_toIR.c Thu Feb 6 12:57:58 2014
@@ -3995,6 +3995,9 @@
0100 1100 1001 1111 0111 10 N T ST1 {vT.4s}, [xN|SP], #16
0100 1100 1101 1111 0111 10 N T LD1 {vT.4s}, [xN|SP], #16
0100 1100 1001 1111 0111 01 N T ST1 {vT.8h}, [xN|SP], #16
+ 0100 1100 1101 1111 0111 01 N T LD1 {vT.8h}, [xN|SP], #16
+ ..
+ 0100 1100 1101 1111 0111 00 N T LD1 {vT.16b}, [xN|SP], #16
Note that #16 is implied and cannot be any other value.
FIXME does this assume that the host is little endian?
*/
@@ -4003,6 +4006,9 @@
|| (insn & 0xFFFFFC00) == 0x4C9F7800 // ST1 {vT.4s}, [xN|SP], #16
|| (insn & 0xFFFFFC00) == 0x4CDF7800 // LD1 {vT.4s}, [xN|SP], #16
|| (insn & 0xFFFFFC00) == 0x4C9F7400 // ST1 {vT.8h}, [xN|SP], #16
+ || (insn & 0xFFFFFC00) == 0x4CDF7400 // LD1 {vT.8h}, [xN|SP], #16
+ /* */
+ || (insn & 0xFFFFFC00) == 0x4CDF7000 // LD1 {vT.16b}, [xN|SP], #16
) {
Bool isLD = INSN(22,22) == 1;
UInt rN = INSN(9,5);
@@ -4025,10 +4031,12 @@
/*
0000 1100 1001 1111 0111 10 N T ST1 {vT.2s}, [xN|SP], #8
+ 0000 1100 1001 1111 0111 01 N T ST1 {vT.4h}, [xN|SP], #8
Note that #8 is implied and cannot be any other value.
FIXME does this assume that the host is little endian?
*/
if ( (insn & 0xFFFFFC00) == 0x0C9F7800 // st1 {vT.2s}, [xN|SP], #8
+ || (insn & 0xFFFFFC00) == 0x0C9F7400 // st1 {vT.4h}, [xN|SP], #8
) {
UInt rN = INSN(9,5);
UInt vT = INSN(4,0);
@@ -5190,13 +5198,13 @@
const HChar* arrSpec = "";
Bool ok = getLaneInfo_SIMPLE(&zeroHI, &arrSpec, isQ, szBlg2 );
if (ok) {
- const IROp opADD[4]
+ const IROp opsADD[4]
= { Iop_Add8x16, Iop_Add16x8, Iop_Add32x4, Iop_Add64x2 };
- const IROp opSUB[4]
+ const IROp opsSUB[4]
= { Iop_Sub8x16, Iop_Sub16x8, Iop_Sub32x4, Iop_Sub64x2 };
vassert(szBlg2 < 4);
- IROp op = isSUB ? opSUB[szBlg2] : opADD[szBlg2];
- IRTemp t = newTemp(Ity_V128);
+ IROp op = isSUB ? opsSUB[szBlg2] : opsADD[szBlg2];
+ IRTemp t = newTemp(Ity_V128);
assign(t, binop(op, getQReg128(nn), getQReg128(mm)));
putQReg128(dd, zeroHI ? unop(Iop_ZeroHI64ofV128, mkexpr(t))
: mkexpr(t));
@@ -5232,6 +5240,65 @@
return True;
}
+ /* ------------ MUL/PMUL/MLA/MLS (vector) ------------ */
+ /* 31 28 23 21 20 15 9 4
+ 0q0 01110 size 1 m 100111 n d MUL Vd.T, Vn.T, Vm.T B/H/S only
+ 0q1 01110 size 1 m 100111 n d PMUL Vd.T, Vn.T, Vm.T B only
+ 0q0 01110 size 1 m 100101 n d MLA Vd.T, Vn.T, Vm.T B/H/S only
+ 0q1 01110 size 1 m 100101 n d MLS Vd.T, Vn.T, Vm.T B/H/S only
+ */
+ if (INSN(31,31) == 0 && INSN(28,24) == BITS5(0,1,1,1,0)
+ && INSN(21,21) == 1
+ && (INSN(15,10) & BITS6(1,1,1,1,0,1)) == BITS6(1,0,0,1,0,1)) {
+ Bool isQ = INSN(30,30) == 1;
+ UInt szBlg2 = INSN(23,22);
+ UInt bit29 = INSN(29,29);
+ UInt mm = INSN(20,16);
+ UInt nn = INSN(9,5);
+ UInt dd = INSN(4,0);
+ Bool isMLAS = INSN(11,11) == 0;
+ const IROp opsADD[4]
+ = { Iop_Add8x16, Iop_Add16x8, Iop_Add32x4, Iop_INVALID };
+ const IROp opsSUB[4]
+ = { Iop_Sub8x16, Iop_Sub16x8, Iop_Sub32x4, Iop_INVALID };
+ const IROp opsMUL[4]
+ = { Iop_Mul8x16, Iop_Mul16x8, Iop_Mul32x4, Iop_INVALID };
+ const IROp opsPMUL[4]
+ = { Iop_PolynomialMul8x16, Iop_INVALID, Iop_INVALID, Iop_INVALID };
+ /* Set opMUL and, if necessary, opACC. A result value of
+ Iop_INVALID for opMUL indicates that the instruction is
+ invalid. */
+ Bool zeroHI = False;
+ const HChar* arrSpec = "";
+ Bool ok = getLaneInfo_SIMPLE(&zeroHI, &arrSpec, isQ, szBlg2 );
+ vassert(szBlg2 < 4);
+ IROp opACC = Iop_INVALID;
+ IROp opMUL = Iop_INVALID;
+ if (ok) {
+ opMUL = (bit29 == 1 && !isMLAS) ? opsPMUL[szBlg2]
+ : opsMUL[szBlg2];
+ opACC = isMLAS ? (bit29 == 1 ? opsSUB[szBlg2] : opsADD[szBlg2])
+ : Iop_INVALID;
+ }
+ if (ok && opMUL != Iop_INVALID) {
+ IRTemp t1 = newTemp(Ity_V128);
+ assign(t1, binop(opMUL, getQReg128(nn), getQReg128(mm)));
+ IRTemp t2 = newTemp(Ity_V128);
+ assign(t2, opACC == Iop_INVALID
+ ? mkexpr(t1)
+ : binop(opACC, getQReg128(dd), mkexpr(t1)));
+ putQReg128(dd, zeroHI ? unop(Iop_ZeroHI64ofV128, mkexpr(t2))
+ : mkexpr(t2));
+ const HChar* nm = isMLAS ? (bit29 == 1 ? "mls" : "mla")
+ : (bit29 == 1 ? "pmul" : "mul");
+ DIP("%s %s.%s, %s.%s, %s.%s\n", nm,
+ nameQReg128(dd), arrSpec,
+ nameQReg128(nn), arrSpec, nameQReg128(mm), arrSpec);
+ return True;
+ }
+ /* else fall through */
+ }
+
/* ---------------- {S,U}{MIN,MAX} (vector) ---------------- */
/* 31 28 23 21 20 15 9 4
0q0 01110 size 1 m 011011 n d SMIN Vd.T, Vn.T, Vm.T
@@ -5487,6 +5554,104 @@
/* else fall through */
}
+ /* ---------------------- {S,U}MOV ---------------------- */
+ /* 31 28 20 15 9 4
+ 0q0 01110 000 imm5 001111 n d UMOV Xd/Wd, Vn.Ts[index]
+ 0q0 01110 000 imm5 001011 n d SMOV Xd/Wd, Vn.Ts[index]
+ dest is Xd when q==1, Wd when q==0
+ UMOV:
+ Ts,index,ops = case q:imm5 of
+ 0:xxxx1 -> B, xxxx, 8Uto64
+ 1:xxxx1 -> invalid
+ 0:xxx10 -> H, xxx, 16Uto64
+ 1:xxx10 -> invalid
+ 0:xx100 -> S, xx, 32Uto64
+ 1:xx100 -> invalid
+ 1:x1000 -> D, x, copy64
+ other -> invalid
+ SMOV:
+ Ts,index,ops = case q:imm5 of
+ 0:xxxx1 -> B, xxxx, (32Uto64 . 8Sto32)
+ 1:xxxx1 -> B, xxxx, 8Sto64
+ 0:xxx10 -> H, xxx, (32Uto64 . 16Sto32)
+ 1:xxx10 -> H, xxx, 16Sto64
+ 0:xx100 -> invalid
+ 1:xx100 -> S, xx, 32Sto64
+ 1:x1000 -> invalid
+ other -> invalid
+ */
+ if (INSN(31,31) == 0 && INSN(29,21) == BITS9(0,0,1,1,1,0,0,0,0)
+ && (INSN(15,10) & BITS6(1,1,1,0,1,1)) == BITS6(0,0,1,0,1,1)) {
+ UInt bitQ = INSN(30,30) == 1;
+ UInt imm5 = INSN(20,16);
+ UInt nn = INSN(9,5);
+ UInt dd = INSN(4,0);
+ Bool isU = INSN(12,12) == 1;
+ const HChar* arTs = "??";
+ UInt laneNo = 16; /* invalid */
+ // Setting 'res' to non-NULL determines valid/invalid
+ IRExpr* res = NULL;
+ if (!bitQ && (imm5 & 1)) { // 0:xxxx1
+ laneNo = (imm5 >> 1) & 15;
+ IRExpr* lane = getQRegLane(nn, laneNo, Ity_I8);
+ res = isU ? unop(Iop_8Uto64, lane)
+ : unop(Iop_32Uto64, unop(Iop_8Sto32, lane));
+ arTs = "b";
+ }
+ else if (bitQ && (imm5 & 1)) { // 1:xxxx1
+ laneNo = (imm5 >> 1) & 15;
+ IRExpr* lane = getQRegLane(nn, laneNo, Ity_I8);
+ res = isU ? NULL
+ : unop(Iop_8Sto64, lane);
+ arTs = "b";
+ }
+ else if (!bitQ && (imm5 & 2)) { // 0:xxx10
+ laneNo = (imm5 >> 2) & 7;
+ IRExpr* lane = getQRegLane(nn, laneNo, Ity_I16);
+ res = isU ? unop(Iop_16Uto64, lane)
+ : unop(Iop_32Uto64, unop(Iop_16Sto32, lane));
+ arTs = "h";
+ }
+ else if (bitQ && (imm5 & 2)) { // 1:xxx10
+ laneNo = (imm5 >> 2) & 7;
+ IRExpr* lane = getQRegLane(nn, laneNo, Ity_I16);
+ res = isU ? NULL
+ : unop(Iop_16Sto64, lane);
+ arTs = "h";
+ }
+ else if (!bitQ && (imm5 & 4)) { // 0:xx100
+ laneNo = (imm5 >> 3) & 3;
+ IRExpr* lane = getQRegLane(nn, laneNo, Ity_I32);
+ res = isU ? unop(Iop_32Uto64, lane)
+ : NULL;
+ arTs = "s";
+ }
+ else if (bitQ && (imm5 & 4)) { // 1:xxx10
+ laneNo = (imm5 >> 3) & 3;
+ IRExpr* lane = getQRegLane(nn, laneNo, Ity_I32);
+ res = isU ? NULL
+ : unop(Iop_32Sto64, lane);
+ arTs = "s";
+ }
+ else if (bitQ && (imm5 & 8)) { // 1:x1000
+ laneNo = (imm5 >> 4) & 1;
+ IRExpr* lane = getQRegLane(nn, laneNo, Ity_I64);
+ res = isU ? lane
+ : NULL;
+ arTs = "d";
+ }
+ /* */
+ if (res) {
+ vassert(laneNo < 16);
+ putIReg64orZR(dd, res);
+ DIP("%cmov %s, %s.%s[%u]\n", isU ? 'u' : 's',
+ nameIRegOrZR(bitQ == 1, dd),
+ nameQReg128(nn), arTs, laneNo);
+ return True;
+ }
+ /* else fall through */
+ }
+
/* FIXME Temporary hacks to get through ld.so FIXME */
/* ------------------ movi vD.4s, #0x0 ------------------ */
Modified: trunk/priv/host_arm64_defs.c
==============================================================================
--- trunk/priv/host_arm64_defs.c (original)
+++ trunk/priv/host_arm64_defs.c Thu Feb 6 12:57:58 2014
@@ -857,6 +857,8 @@
case ARM64vecb_SUB64x2: *nm = "sub "; *ar = "2d"; return;
case ARM64vecb_SUB32x4: *nm = "sub "; *ar = "4s"; return;
case ARM64vecb_SUB16x8: *nm = "sub "; *ar = "8h"; return;
+ case ARM64vecb_MUL32x4: *nm = "mul "; *ar = "4s"; return;
+ case ARM64vecb_MUL16x8: *nm = "mul "; *ar = "8h"; return;
case ARM64vecb_FADD64x2: *nm = "fadd"; *ar = "2d"; return;
case ARM64vecb_FSUB64x2: *nm = "fsub"; *ar = "2d"; return;
case ARM64vecb_FMUL64x2: *nm = "fmul"; *ar = "2d"; return;
@@ -869,6 +871,10 @@
case ARM64vecb_UMAX16x8: *nm = "umax"; *ar = "8h"; return;
case ARM64vecb_UMIN32x4: *nm = "umin"; *ar = "4s"; return;
case ARM64vecb_UMIN16x8: *nm = "umin"; *ar = "8h"; return;
+ case ARM64vecb_SMAX32x4: *nm = "smax"; *ar = "4s"; return;
+ case ARM64vecb_SMAX16x8: *nm = "smax"; *ar = "8h"; return;
+ case ARM64vecb_SMIN32x4: *nm = "smin"; *ar = "4s"; return;
+ case ARM64vecb_SMIN16x8: *nm = "smin"; *ar = "8h"; return;
case ARM64vecb_AND: *nm = "and "; *ar = "all"; return;
case ARM64vecb_ORR: *nm = "orr "; *ar = "all"; return;
default: vpanic("showARM64VecBinOp");
@@ -3239,6 +3245,7 @@
#define X100100 BITS8(0,0, 1,0,0,1,0,0)
#define X100101 BITS8(0,0, 1,0,0,1,0,1)
#define X100110 BITS8(0,0, 1,0,0,1,1,0)
+#define X100111 BITS8(0,0, 1,0,0,1,1,1)
#define X110000 BITS8(0,0, 1,1,0,0,0,0)
#define X110001 BITS8(0,0, 1,1,0,0,0,1)
#define X110101 BITS8(0,0, 1,1,0,1,0,1)
@@ -4757,21 +4764,35 @@
/* 31 23 20 15 9 4
010 01110 11 1 m 100001 n d ADD Vd.2d, Vn.2d, Vm.2d
010 01110 10 1 m 100001 n d ADD Vd.4s, Vn.4s, Vm.4s
+ 010 01110 01 1 m 100001 n d ADD Vd.8h, Vn.8h, Vm.8h
+
011 01110 11 1 m 100001 n d SUB Vd.2d, Vn.2d, Vm.2d
011 01110 10 1 m 100001 n d SUB Vd.4s, Vn.4s, Vm.4s
011 01110 01 1 m 100001 n d SUB Vd.8h, Vn.8h, Vm.8h
+
+ 010 01110 10 1 m 100111 n d MUL Vd.4s, Vn.4s, Vm.4s
+ 010 01110 01 1 m 100111 n d MUL Vd.8h, Vn.8h, Vm.8h
+
010 01110 01 1 m 110101 n d FADD Vd.2d, Vn.2d, Vm.2d
010 01110 00 1 m 110101 n d FADD Vd.4s, Vn.4s, Vm.4s
010 01110 11 1 m 110101 n d FSUB Vd.2d, Vn.2d, Vm.2d
010 01110 10 1 m 110101 n d FSUB Vd.4s, Vn.4s, Vm.4s
+
011 01110 01 1 m 110111 n d FMUL Vd.2d, Vn.2d, Vm.2d
011 01110 00 1 m 110111 n d FMUL Vd.4s, Vn.4s, Vm.4s
011 01110 01 1 m 111111 n d FDIV Vd.2d, Vn.2d, Vm.2d
011 01110 00 1 m 111111 n d FDIV Vd.4s, Vn.4s, Vm.4s
+
011 01110 10 1 m 011001 n d UMAX Vd.4s, Vn.4s, Vm.4s
011 01110 01 1 m 011001 n d UMAX Vd.8h, Vn.8h, Vm.8h
011 01110 10 1 m 011011 n d UMIN Vd.4s, Vn.4s, Vm.4s
011 01110 01 1 m 011011 n d UMIN Vd.8h, Vn.8h, Vm.8h
+
+ 010 01110 10 1 m 011001 n d SMAX Vd.4s, Vn.4s, Vm.4s
+ 010 01110 01 1 m 011001 n d SMAX Vd.8h, Vn.8h, Vm.8h
+ 010 01110 10 1 m 011011 n d SMIN Vd.4s, Vn.4s, Vm.4s
+ 010 01110 01 1 m 011011 n d SMIN Vd.8h, Vn.8h, Vm.8h
+
010 01110 00 1 m 000111 n d AND Vd, Vn, Vm
010 01110 10 1 m 000111 n d ORR Vd, Vn, Vm
*/
@@ -4782,7 +4803,12 @@
case ARM64vecb_ADD64x2:
*p++ = X_3_8_5_6_5_5(X010, X01110111, vM, X100001, vN, vD);
break;
- // ADD32x4
+ case ARM64vecb_ADD32x4:
+ *p++ = X_3_8_5_6_5_5(X010, X01110101, vM, X100001, vN, vD);
+ break;
+ case ARM64vecb_ADD16x8:
+ *p++ = X_3_8_5_6_5_5(X010, X01110011, vM, X100001, vN, vD);
+ break;
case ARM64vecb_SUB64x2:
*p++ = X_3_8_5_6_5_5(X011, X01110111, vM, X100001, vN, vD);
break;
@@ -4792,6 +4818,12 @@
case ARM64vecb_SUB16x8:
*p++ = X_3_8_5_6_5_5(X011, X01110011, vM, X100001, vN, vD);
break;
+ case ARM64vecb_MUL32x4:
+ *p++ = X_3_8_5_6_5_5(X010, X01110101, vM, X100111, vN, vD);
+ break;
+ case ARM64vecb_MUL16x8:
+ *p++ = X_3_8_5_6_5_5(X010, X01110011, vM, X100111, vN, vD);
+ break;
case ARM64vecb_FADD64x2:
*p++ = X_3_8_5_6_5_5(X010, X01110011, vM, X110101, vN, vD);
break;
@@ -4816,6 +4848,7 @@
case ARM64vecb_FDIV32x4:
*p++ = X_3_8_5_6_5_5(X011, X01110001, vM, X111111, vN, vD);
break;
+
case ARM64vecb_UMAX32x4:
*p++ = X_3_8_5_6_5_5(X011, X01110101, vM, X011001, vN, vD);
break;
@@ -4828,6 +4861,20 @@
case ARM64vecb_UMIN16x8:
*p++ = X_3_8_5_6_5_5(X011, X01110011, vM, X011011, vN, vD);
break;
+
+ case ARM64vecb_SMAX32x4:
+ *p++ = X_3_8_5_6_5_5(X010, X01110101, vM, X011001, vN, vD);
+ break;
+ case ARM64vecb_SMAX16x8:
+ *p++ = X_3_8_5_6_5_5(X010, X01110011, vM, X011001, vN, vD);
+ break;
+ case ARM64vecb_SMIN32x4:
+ *p++ = X_3_8_5_6_5_5(X010, X01110101, vM, X011011, vN, vD);
+ break;
+ case ARM64vecb_SMIN16x8:
+ *p++ = X_3_8_5_6_5_5(X010, X01110011, vM, X011011, vN, vD);
+ break;
+
case ARM64vecb_ORR:
goto bad; //ATC
*p++ = X_3_8_5_6_5_5(X010, X01110101, vM, X000111, vN, vD);
Modified: trunk/priv/host_arm64_defs.h
==============================================================================
--- trunk/priv/host_arm64_defs.h (original)
+++ trunk/priv/host_arm64_defs.h Thu Feb 6 12:57:58 2014
@@ -313,6 +313,8 @@
ARM64vecb_SUB64x2,
ARM64vecb_SUB32x4,
ARM64vecb_SUB16x8,
+ ARM64vecb_MUL32x4,
+ ARM64vecb_MUL16x8,
ARM64vecb_FADD64x2,
ARM64vecb_FSUB64x2,
ARM64vecb_FMUL64x2,
@@ -325,6 +327,10 @@
ARM64vecb_UMAX16x8,
ARM64vecb_UMIN32x4,
ARM64vecb_UMIN16x8,
+ ARM64vecb_SMAX32x4,
+ ARM64vecb_SMAX16x8,
+ ARM64vecb_SMIN32x4,
+ ARM64vecb_SMIN16x8,
ARM64vecb_AND,
ARM64vecb_ORR,
ARM64vecb_INVALID
Modified: trunk/priv/host_arm64_isel.c
==============================================================================
--- trunk/priv/host_arm64_isel.c (original)
+++ trunk/priv/host_arm64_isel.c Thu Feb 6 12:57:58 2014
@@ -4871,10 +4871,18 @@
case Iop_Max16Ux8:
case Iop_Min32Ux4:
case Iop_Min16Ux8:
+ case Iop_Max32Sx4:
+ case Iop_Max16Sx8:
+ case Iop_Min32Sx4:
+ case Iop_Min16Sx8:
case Iop_Add64x2:
+ case Iop_Add32x4:
+ case Iop_Add16x8:
case Iop_Sub64x2:
case Iop_Sub32x4:
- case Iop_Sub16x8: {
+ case Iop_Sub16x8:
+ case Iop_Mul32x4:
+ case Iop_Mul16x8: {
HReg res = newVRegV(env);
HReg argL = iselV128Expr(env, e->Iex.Binop.arg1);
HReg argR = iselV128Expr(env, e->Iex.Binop.arg2);
@@ -4884,10 +4892,18 @@
case Iop_Max16Ux8: op = ARM64vecb_UMAX16x8; break;
case Iop_Min32Ux4: op = ARM64vecb_UMIN32x4; break;
case Iop_Min16Ux8: op = ARM64vecb_UMIN16x8; break;
+ case Iop_Max32Sx4: op = ARM64vecb_SMAX32x4; break;
+ case Iop_Max16Sx8: op = ARM64vecb_SMAX16x8; break;
+ case Iop_Min32Sx4: op = ARM64vecb_SMIN32x4; break;
+ case Iop_Min16Sx8: op = ARM64vecb_SMIN16x8; break;
case Iop_Add64x2: op = ARM64vecb_ADD64x2; break;
+ case Iop_Add32x4: op = ARM64vecb_ADD32x4; break;
+ case Iop_Add16x8: op = ARM64vecb_ADD16x8; break;
case Iop_Sub64x2: op = ARM64vecb_SUB64x2; break;
case Iop_Sub32x4: op = ARM64vecb_SUB32x4; break;
case Iop_Sub16x8: op = ARM64vecb_SUB16x8; break;
+ case Iop_Mul32x4: op = ARM64vecb_MUL32x4; break;
+ case Iop_Mul16x8: op = ARM64vecb_MUL16x8; break;
default: vassert(0);
}
addInstr(env, ARM64Instr_VBinV(op, res, argL, argR));
Modified: trunk/pub/libvex_ir.h
==============================================================================
--- trunk/pub/libvex_ir.h (original)
+++ trunk/pub/libvex_ir.h Thu Feb 6 12:57:58 2014
@@ -1417,8 +1417,8 @@
Iop_QRDMulHi16Sx8, Iop_QRDMulHi32Sx4,
/* Doubling saturating multiplication (long) (I64, I64) -> V128 */
Iop_QDMulLong16Sx4, Iop_QDMulLong32Sx2,
- /* Plynomial multiplication treats it's arguments as coefficients of
- polynoms over {0, 1}. */
+ /* Polynomial multiplication treats its arguments as
+ coefficients of polynomials over {0, 1}. */
Iop_PolynomialMul8x16, /* (V128, V128) -> V128 */
Iop_PolynomialMull8x8, /* (I64, I64) -> V128 */
|
|
From: Rich C. <rc...@wi...> - 2014-02-06 09:46:40
|
valgrind revision: 13789 VEX revision: 2812 C compiler: gcc (SUSE Linux) 4.6.2 Assembler: GNU assembler (GNU Binutils; openSUSE Factory) 2.21.1 C library: GNU C Library stable release version 2.14.1 (20111007) uname -mrs: Linux 3.1.0-1-desktop x86_64 Vendor version: Welcome to openSUSE 12.1 "Asparagus" RC 1 - Kernel %r (%t). Nightly build on groovy ( gcc 4.6.1 Linux 3.1.0-1-desktop x86_64 ) Started at 2014-02-05 21:55:01 CST Ended at 2014-02-05 22:48:52 CST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 665 tests, 1 stderr failure, 0 stdout failures, 1 stderrB failure, 0 stdoutB failures, 0 post failures == gdbserver_tests/mssnapshot (stderrB) memcheck/tests/vbit-test/vbit-test (stderr) ================================================= ./valgrind-new/gdbserver_tests/mssnapshot.stderrB.diff ================================================= --- mssnapshot.stderrB.exp 2014-02-05 22:25:02.759524707 -0600 +++ mssnapshot.stderrB.out 2014-02-05 22:32:21.772196713 -0600 @@ -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)=f20c99249f5a5776e1377d3bd728502e3f455a3f" vgdb-error value changed from 0 to 999999 +Missing separate debuginfo for /lib64/libpthread.so.0 +Try: zypper install -C "debuginfo(build-id)=1f368f83b776815033caab6e389d7030bba4593e" +Missing separate debuginfo for /lib64/libc.so.6 +Try: zypper install -C "debuginfo(build-id)=3c6112e7d6b5cd8a95263caf838fa495bc4ac337" 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-02-05 22:20:36.945539744 -0600 +++ vbit-test.stderr.out 2014-02-05 22:36:55.889118733 -0600 @@ -0,0 +1 @@ +unknown opcode 5736 ================================================= ./valgrind-old/gdbserver_tests/mssnapshot.stderrB.diff ================================================= --- mssnapshot.stderrB.exp 2014-02-05 21:55:16.742063847 -0600 +++ mssnapshot.stderrB.out 2014-02-05 22:02:46.867651611 -0600 @@ -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)=f20c99249f5a5776e1377d3bd728502e3f455a3f" vgdb-error value changed from 0 to 999999 +Missing separate debuginfo for /lib64/libpthread.so.0 +Try: zypper install -C "debuginfo(build-id)=1f368f83b776815033caab6e389d7030bba4593e" +Missing separate debuginfo for /lib64/libc.so.6 +Try: zypper install -C "debuginfo(build-id)=3c6112e7d6b5cd8a95263caf838fa495bc4ac337" general valgrind monitor commands: help [debug] : monitor command help. With debug: + debugging commands v.wait [<ms>] : sleep <ms> (default 0) then continue ================================================= ./valgrind-old/memcheck/tests/vbit-test/vbit-test.stderr.diff ================================================= --- vbit-test.stderr.exp 2014-02-05 21:55:19.211045131 -0600 +++ vbit-test.stderr.out 2014-02-05 22:07:21.298571250 -0600 @@ -0,0 +1 @@ +unknown opcode 5736 |
|
From: Christian B. <bor...@de...> - 2014-02-06 09:14:06
|
On 06/02/14 03:48, Maran Pakkirisamy wrote: > Last 20 lines of verbose log follow echo > mv -f priv/.deps/libvex_s390x_linux_a-host_amd64_isel.Tpo priv/.deps/libvex_s390x_linux_a-host_amd64_isel.Po > gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../include -I../VEX/pub -DVGA_s390x=1 -DVGO_linux=1 -DVGP_s390x_linux=1 -DVGPV_s390x_linux_vanilla=1 -Ipriv -m64 -O2 -g -Wall -Wmissing-prototypes -Wshadow -Wpointer-arith -Wstrict-prototypes -Wmissing-declarations -Wno-format-zero-length -fno-strict-aliasing -fno-builtin -fomit-frame-pointer -Wbad-function-cast -Wcast-qual -Wcast-align -fstrict-aliasing -Wno-long-long -Wwrite-strings -fno-stack-protector -MT priv/libvex_s390x_linux_a-host_arm_defs.o -MD -MP -MF priv/.deps/libvex_s390x_linux_a-host_arm_defs.Tpo -c -o priv/libvex_s390x_linux_a-host_arm_defs.o `test -f 'priv/host_arm_defs.c' || echo './'`priv/host_arm_defs.c > gcc: Internal error: Killed (program cc1) > Please submit a full bug report. > See <http://bugzilla.redhat.com/bugzilla> for instructions. > make[3]: *** [priv/libvex_s390x_linux_a-guest_amd64_toIR.o] Error 1 > make[3]: *** Waiting for unfinished jobs.... > mv -f priv/.deps/libvex_s390x_linux_a-host_ppc_defs.Tpo priv/.deps/libvex_s390x_linux_a-host_ppc_defs.Po > mv -f priv/.deps/libvex_s390x_linux_a-host_ppc_isel.Tpo priv/.deps/libvex_s390x_linux_a-host_ppc_isel.Po > mv -f priv/.deps/libvex_s390x_linux_a-guest_x86_toIR.Tpo priv/.deps/libvex_s390x_linux_a-guest_x86_toIR.Po > mv -f priv/.deps/libvex_s390x_linux_a-host_arm_defs.Tpo priv/.deps/libvex_s390x_linux_a-host_arm_defs.Po > mv -f priv/.deps/libvex_s390x_linux_a-guest_ppc_toIR.Tpo priv/.deps/libvex_s390x_linux_a-guest_ppc_toIR.Po > mv -f priv/.deps/libvex_s390x_linux_a-guest_s390_toIR.Tpo priv/.deps/libvex_s390x_linux_a-guest_s390_toIR.Po > mv -f priv/.deps/libvex_s390x_linux_a-guest_arm_toIR.Tpo priv/.deps/libvex_s390x_linux_a-guest_arm_toIR.Po > make[3]: Leaving directory `/root/nightly/valgrind-new/VEX' > make[2]: *** [all] Error 2 > make[2]: Leaving directory `/root/nightly/valgrind-new/VEX' > make[1]: *** [all-recursive] Error 1 > make[1]: Leaving directory `/root/nightly/valgrind-new' > make: *** [all] Error 2 Maran. This happens quite often but not always. Can you check the build system? Maybe the memory is too tight and no swap is available. |
|
From: Philippe W. <phi...@sk...> - 2014-02-06 06:03:55
|
valgrind revision: 13789 VEX revision: 2812 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-02-05 20:00:08 PST Ended at 2014-02-05 22:00:56 PST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 573 tests, 37 stderr failures, 7 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) none/tests/ppc32/jm-vmx (stdout) none/tests/ppc32/jm-vmx (stderr) none/tests/ppc32/test_isa_2_06_part2 (stdout) none/tests/ppc32/test_isa_2_06_part2 (stderr) none/tests/ppc64/jm-vmx (stdout) none/tests/ppc64/jm-vmx (stderr) none/tests/ppc64/test_isa_2_06_part2 (stdout) none/tests/ppc64/test_isa_2_06_part2 (stderr) helgrind/tests/annotate_rwlock (stderr) helgrind/tests/free_is_write (stderr) helgrind/tests/hg02_deadlock (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/locked_vs_unlocked1_fwd (stderr) helgrind/tests/locked_vs_unlocked1_rev (stderr) helgrind/tests/locked_vs_unlocked2 (stderr) helgrind/tests/locked_vs_unlocked3 (stderr) helgrind/tests/pth_barrier1 (stderr) helgrind/tests/pth_barrier2 (stderr) helgrind/tests/pth_barrier3 (stderr) helgrind/tests/pth_cond_destroy_busy (stderr) helgrind/tests/pth_destroy_cond (stderr) helgrind/tests/rwlock_race (stderr) helgrind/tests/tc01_simple_race (stderr) helgrind/tests/tc05_simple_race (stderr) helgrind/tests/tc06_two_races (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc09_bad_unlock (stderr) helgrind/tests/tc14_laog_dinphils (stderr) helgrind/tests/tc16_byterace (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc19_shadowmem (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) --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.22s no: 1.5s ( 6.9x, -----) me: 2.8s (12.9x, -----) ca:18.5s (84.1x, -----) he: 1.7s ( 7.9x, -----) ca: 5.3s (24.2x, -----) dr: 1.7s ( 7.6x, -----) ma: 2.1s ( 9.7x, -----) bigcode1 valgrind-old:0.22s no: 1.6s ( 7.1x, -3.3%) me: 2.9s (13.0x, -1.4%) ca:18.8s (85.4x, -1.6%) he: 1.7s ( 7.9x, 0.0%) ca: 5.4s (24.5x, -1.3%) dr: 1.7s ( 7.8x, -1.8%) ma: 2.1s ( 9.6x, 0.9%) -- bigcode2 -- bigcode2 valgrind-new:0.25s no: 1.6s ( 6.2x, -----) me: 3.4s (13.6x, -----) ca:18.7s (74.7x, -----) he: 2.1s ( 8.4x, -----) ca: 5.5s (21.9x, -----) dr: 1.8s ( 7.3x, -----) ma: 2.1s ( 8.5x, -----) bigcode2 valgrind-old:0.25s no: 1.6s ( 6.4x, -3.2%) me: 3.4s (13.4x, 0.9%) ca:18.9s (75.5x, -1.1%) he: 2.3s ( 9.4x,-12.0%) ca: 5.5s (21.8x, 0.5%) dr: 1.8s ( 7.4x, -1.1%) ma: 2.1s ( 8.5x, 0.5%) -- bz2 -- bz2 valgrind-new:0.72s no: 4.5s ( 6.3x, -----) me:11.7s (16.3x, -----) ca:26.4s (36.7x, -----) he:14.9s (20.7x, -----) ca:24.2s (33.6x, -----) dr:20.5s (28.5x, -----) ma: 5.0s ( 6.9x, -----) bz2 valgrind-old:0.72s no: 4.8s ( 6.7x, -6.7%) me:11.9s (16.5x, -1.4%) ca:26.6s (36.9x, -0.6%) he:15.3s (21.2x, -2.8%) ca:25.0s (34.7x, -3.3%) dr:20.3s (28.2x, 1.1%) ma: 4.7s ( 6.5x, 6.4%) -- fbench -- fbench valgrind-new:0.34s no: 2.1s ( 6.3x, -----) me: 5.2s (15.4x, -----) ca: 8.5s (25.1x, -----) he: 5.2s (15.3x, -----) ca: 7.5s (22.2x, -----) dr: 5.1s (15.1x, -----) ma: 2.2s ( 6.6x, -----) fbench valgrind-old:0.34s no: 2.1s ( 6.3x, -0.9%) me: 5.4s (15.8x, -2.3%) ca: 8.6s (25.2x, -0.4%) he: 5.2s (15.4x, -0.4%) ca: 7.6s (22.4x, -1.2%) dr: 4.9s (14.5x, 3.7%) ma: 2.2s ( 6.4x, 3.6%) -- ffbench -- ffbench valgrind-new:0.44s no: 1.3s ( 3.0x, -----) me: 2.6s ( 5.9x, -----) ca: 2.6s ( 5.8x, -----) he: 7.0s (16.0x, -----) ca: 7.4s (16.9x, -----) dr: 5.1s (11.7x, -----) ma: 1.2s ( 2.8x, -----) ffbench valgrind-old:0.44s no: 1.4s ( 3.2x, -7.6%) me: 2.8s ( 6.3x, -7.0%) ca: 2.7s ( 6.1x, -4.3%) he: 7.0s (15.9x, 0.7%) ca: 7.2s (16.3x, 3.4%) dr: 5.0s (11.4x, 2.1%) ma: 1.0s ( 2.3x, 16.4%) -- heap -- heap valgrind-new:0.41s no: 2.4s ( 6.0x, -----) me: 9.8s (24.0x, -----) ca:13.3s (32.4x, -----) he:11.8s (28.7x, -----) ca:12.1s (29.5x, -----) dr: 8.2s (20.1x, -----) ma: 8.6s (21.1x, -----) heap valgrind-old:0.41s no: 2.7s ( 6.7x,-12.3%) me: 9.7s (23.7x, 1.2%) ca:13.4s (32.7x, -0.8%) he:11.7s (28.6x, 0.3%) ca:12.6s (30.6x, -3.6%) dr: 8.4s (20.5x, -1.9%) ma: 8.6s (21.0x, 0.6%) -- heap_pdb4 -- heap_pdb4 valgrind-new:0.42s no: 2.6s ( 6.3x, -----) me:14.0s (33.4x, -----) ca:14.4s (34.2x, -----) he:13.0s (31.0x, -----) ca:13.6s (32.3x, -----) dr: 9.2s (21.9x, -----) ma: 9.0s (21.3x, -----) heap_pdb4 valgrind-old:0.42s no: 2.7s ( 6.3x, -0.8%) me:14.1s (33.6x, -0.8%) ca:14.4s (34.2x, 0.1%) he:13.2s (31.5x, -1.9%) ca:13.6s (32.3x, 0.1%) dr: 9.2s (22.0x, -0.2%) ma: 9.1s (21.7x, -1.9%) -- many-loss-records -- many-loss-records valgrind-new:0.04s no: 0.6s (13.8x, -----) me: 2.2s (55.5x, -----) ca: 2.0s (49.5x, -----) he: 1.9s (46.2x, -----) ca: 1.9s (46.8x, -----) dr: 1.5s (38.5x, -----) ma: 1.6s (41.0x, -----) many-loss-records valgrind-old:0.04s no: 0.6s (13.8x, 0.0%) me: 2.2s (55.8x, -0.5%) ca: 2.0s (49.2x, 0.5%) he: 1.9s (47.2x, -2.2%) ca: 1.9s (48.8x, -4.3%) dr: 1.6s (39.2x, -1.9%) ma: 1.6s (41.0x, 0.0%) -- many-xpts -- many-xpts valgrind-new:0.07s no: 0.8s (10.7x, -----) me: 3.5s (49.4x, -----) ca: 4.9s (70.4x, -----) he: 4.8s (69.0x, -----) ca: 3.0s (42.9x, -----) dr: 2.3s (33.3x, -----) ma: 2.4s (33.9x, -----) many-xpts valgrind-old:0.07s no: 0.8s (11.1x, -4.0%) me: 3.5s (49.7x, -0.6%) ca: 4.9s (70.4x, 0.0%) he: 4.9s (69.6x, -0.8%) ca: 3.0s (43.0x, -0.3%) dr: 2.3s (32.6x, 2.1%) ma: 2.3s (32.4x, 4.2%) -- sarp -- sarp valgrind-new:0.02s no: 0.4s (20.0x, -----) me: 3.2s (158.5x, -----) ca: 3.0s (147.5x, -----) he:11.2s (559.5x, -----) ca: 1.9s (92.5x, -----) dr: 1.1s (54.5x, -----) ma: 0.5s (22.5x, -----) sarp valgrind-old:0.02s no: 0.4s (20.5x, -2.5%) me: 3.2s (162.0x, -2.2%) ca: 2.9s (146.0x, 1.0%) he:11.1s (552.5x, 1.3%) ca: 1.7s (85.5x, 7.6%) dr: 1.1s (54.5x, 0.0%) ma: 0.4s (21.0x, 6.7%) -- tinycc -- tinycc valgrind-new:0.27s no: 3.0s (11.0x, -----) me:14.2s (52.5x, -----) ca:17.7s (65.7x, -----) he:19.2s (71.0x, -----) ca:15.8s (58.6x, -----) dr:12.4s (45.9x, -----) ma: 3.8s (14.2x, -----) tinycc valgrind-old:0.27s no: 3.0s (11.0x, -0.3%) me:14.2s (52.5x, -0.1%) ca:17.5s (64.9x, 1.2%) he:19.0s (70.3x, 1.0%) ca:15.8s (58.6x, 0.0%) dr:12.4s (45.9x, 0.1%) ma: 3.8s (14.1x, 0.5%) -- Finished tests in perf ---------------------------------------------- == 11 programs, 154 timings ================= real 55m34.019s user 54m20.567s sys 0m19.394s |
|
From: Tom H. <to...@co...> - 2014-02-06 04:29:20
|
valgrind revision: 13789 VEX revision: 2812 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.11.10-301.fc20.x86_64 x86_64 Vendor version: Fedora release 9 (Sulphur) Nightly build on bristol ( x86_64, Fedora 9 ) Started at 2014-02-06 03:53:50 GMT Ended at 2014-02-06 04:29:03 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 645 tests, 2 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/amd64/insn-pcmpistri (stderr) memcheck/tests/vbit-test/vbit-test (stderr) none/tests/amd64/sse4-64 (stdout) |
|
From: Tom H. <to...@co...> - 2014-02-06 04:10:59
|
valgrind revision: 13789 VEX revision: 2812 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.11.10-301.fc20.x86_64 x86_64 Vendor version: Fedora release 15 (Lovelock) Nightly build on bristol ( x86_64, Fedora 15 ) Started at 2014-02-06 03:14:31 GMT Ended at 2014-02-06 04:10:43 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 673 tests, 1 stderr failure, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/vbit-test/vbit-test (stderr) |
|
From: Tom H. <to...@co...> - 2014-02-06 04:04:22
|
valgrind revision: 13789 VEX revision: 2812 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.11.10-301.fc20.x86_64 x86_64 Vendor version: Fedora release 16 (Verne) Nightly build on bristol ( x86_64, Fedora 16 ) Started at 2014-02-06 03:03:00 GMT Ended at 2014-02-06 04:04:10 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 673 tests, 1 stderr failure, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/vbit-test/vbit-test (stderr) |
|
From: Maran P. <ma...@li...> - 2014-02-06 03:46:15
|
valgrind revision: 13789 VEX revision: 2812 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.8-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 SP1 gcc 4.3.4 on z196 (s390x) ) Started at 2014-02-06 03:45:01 CET Ended at 2014-02-06 04:46:03 CET Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 642 tests, 2 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 --reps=5 --vg=../valgrind-new --vg=../valgrind-old -- Running tests in perf ---------------------------------------------- -- bigcode1 -- bigcode1 valgrind-new:0.23s no: 4.3s (18.8x, -----) me: 5.8s (25.3x, -----) bigcode1 valgrind-old:0.23s no: 4.3s (18.7x, 0.5%) me: 5.8s (25.3x, -0.3%) -- bigcode2 -- bigcode2 valgrind-new:0.24s no: 7.3s (30.5x, -----) me:12.7s (52.8x, -----) bigcode2 valgrind-old:0.24s no: 7.2s (30.2x, 1.1%) me:12.7s (53.0x, -0.4%) -- bz2 -- bz2 valgrind-new:0.69s no: 5.0s ( 7.3x, -----) me:12.7s (18.3x, -----) bz2 valgrind-old:0.69s no: 5.0s ( 7.3x, 0.0%) me:12.7s (18.4x, -0.4%) -- fbench -- fbench valgrind-new:0.40s no: 1.6s ( 4.0x, -----) me: 4.2s (10.6x, -----) fbench valgrind-old:0.40s no: 1.7s ( 4.2x, -3.1%) me: 4.3s (10.7x, -1.2%) -- ffbench -- ffbench valgrind-new:0.19s no: 1.1s ( 5.6x, -----) me: 3.1s (16.1x, -----) ffbench valgrind-old:0.19s no: 1.1s ( 5.6x, 0.9%) me: 3.1s (16.1x, 0.0%) -- heap -- heap valgrind-new:0.22s no: 1.9s ( 8.9x, -----) me: 8.7s (39.7x, -----) heap valgrind-old:0.22s no: 2.0s ( 8.9x, -0.5%) me: 8.7s (39.6x, 0.1%) -- heap_pdb4 -- heap_pdb4 valgrind-new:0.22s no: 2.1s ( 9.6x, -----) me:12.8s (58.3x, -----) heap_pdb4 valgrind-old:0.22s no: 2.1s ( 9.7x, -0.9%) me:12.9s (58.5x, -0.3%) -- many-loss-records -- many-loss-records valgrind-new:0.02s no: 0.5s (24.5x, -----) me: 2.0s (102.5x, -----) many-loss-records valgrind-old:0.02s no: 0.5s (24.0x, 2.0%) me: 2.1s (103.0x, -0.5%) -- many-xpts -- many-xpts valgrind-new:0.07s no: 0.6s ( 9.1x, -----) me: 3.2s (45.6x, -----) many-xpts valgrind-old:0.07s no: 0.6s ( 9.1x, 0.0%) me: 3.2s (45.7x, -0.3%) -- sarp -- sarp valgrind-new:0.03s no: 0.6s (20.0x, -----) me: 3.6s (120.3x, -----) sarp valgrind-old:0.03s no: 0.6s (20.0x, 0.0%) me: 3.6s (120.3x, 0.0%) -- tinycc -- tinycc valgrind-new:0.22s no: 2.9s (13.1x, -----) me:15.0s (68.1x, -----) tinycc valgrind-old:0.22s no: 2.9s (13.1x, 0.3%) me:15.0s (68.2x, -0.2%) -- Finished tests in perf ---------------------------------------------- == 11 programs, 44 timings ================= real 19m22.784s user 19m1.645s sys 0m19.211s |
|
From: Tom H. <to...@co...> - 2014-02-06 03:38:04
|
valgrind revision: 13789 VEX revision: 2812 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.11.10-301.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-02-06 02:51:52 GMT Ended at 2014-02-06 03:37:48 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 673 tests, 5 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/vbit-test/vbit-test (stderr) exp-sgcheck/tests/preen_invars (stdout) exp-sgcheck/tests/preen_invars (stderr) |
|
From: Maran P. <ma...@li...> - 2014-02-06 03:33:10
|
valgrind revision: 13789 VEX revision: 2812 C compiler: gcc (GCC) 4.7.0 20120604 (Red Hat 4.7.0-7) GDB: GNU gdb (GDB) Fedora (7.4.50.20120120-42.fc17) Assembler: GNU assembler version 2.22.52.0.1-10.fc17 20120131 C library: unknown uname -mrs: Linux 3.3.4-5.fc17.s390x s390x Vendor version: Fedora release 17 (Beefy Miracle) Nightly build on fedoras390 ( Fedora 17 with gcc 4.7.0 on z196 (s390x) ) Started at 2014-02-06 03:45:25 CET Ended at 2014-02-06 04:33:21 CET Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 647 tests, 4 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/tc18_semabuse (stderr) helgrind/tests/tc20_verifywrap (stderr) --tools=none,memcheck --reps=5 --vg=../valgrind-new --vg=../valgrind-old -- Running tests in perf ---------------------------------------------- -- bigcode1 -- bigcode1 valgrind-new:0.22s no: 3.9s (17.6x, -----) me: 5.8s (26.5x, -----) bigcode1 valgrind-old:0.22s no: 3.9s (17.5x, 0.3%) me: 5.8s (26.6x, -0.2%) -- bigcode2 -- bigcode2 valgrind-new:0.24s no: 6.2s (26.0x, -----) me:11.1s (46.2x, -----) bigcode2 valgrind-old:0.24s no: 6.2s (25.8x, 1.1%) me:11.1s (46.3x, -0.3%) -- bz2 -- bz2 valgrind-new:0.68s no: 5.1s ( 7.4x, -----) me:12.2s (17.9x, -----) bz2 valgrind-old:0.68s no: 5.1s ( 7.5x, -0.4%) me:11.5s (16.9x, 5.3%) -- fbench -- fbench valgrind-new:0.36s no: 1.5s ( 4.2x, -----) me: 5.6s (15.6x, -----) fbench valgrind-old:0.36s no: 1.6s ( 4.3x, -2.0%) me: 5.6s (15.7x, -0.2%) -- ffbench -- ffbench valgrind-new:0.21s no: 1.2s ( 5.7x, -----) me: 3.4s (16.4x, -----) ffbench valgrind-old:0.21s no: 1.2s ( 5.8x, -0.8%) me: 3.4s (16.3x, 0.3%) -- heap -- heap valgrind-new:0.23s no: 1.6s ( 6.8x, -----) me: 7.8s (34.0x, -----) heap valgrind-old:0.23s no: 1.5s ( 6.7x, 1.3%) me: 7.9s (34.2x, -0.5%) -- heap_pdb4 -- heap_pdb4 valgrind-new:0.23s no: 1.7s ( 7.5x, -----) me:12.1s (52.6x, -----) heap_pdb4 valgrind-old:0.23s no: 1.7s ( 7.5x, 0.0%) me:12.0s (52.3x, 0.7%) -- many-loss-records -- many-loss-records valgrind-new:0.03s no: 0.4s (13.0x, -----) me: 2.0s (65.3x, -----) many-loss-records valgrind-old:0.03s no: 0.4s (13.0x, 0.0%) me: 2.0s (65.3x, 0.0%) -- many-xpts -- many-xpts valgrind-new:0.07s no: 0.5s ( 7.6x, -----) me: 3.3s (47.0x, -----) many-xpts valgrind-old:0.07s no: 0.5s ( 7.6x, 0.0%) me: 3.3s (46.9x, 0.3%) -- sarp -- sarp valgrind-new:0.03s no: 0.5s (16.3x, -----) me: 5.4s (180.3x, -----) sarp valgrind-old:0.03s no: 0.5s (16.3x, 0.0%) me: 5.4s (179.7x, 0.4%) -- tinycc -- tinycc valgrind-new:0.23s no: 2.5s (10.8x, -----) me:15.2s (66.2x, -----) tinycc valgrind-old:0.23s no: 2.5s (10.8x, 0.0%) me:15.2s (66.1x, 0.1%) -- Finished tests in perf ---------------------------------------------- == 11 programs, 44 timings ================= real 18m47.969s user 18m27.088s sys 0m18.994s |
|
From: Tom H. <to...@co...> - 2014-02-06 03:28:39
|
valgrind revision: 13789 VEX revision: 2812 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.11.10-301.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-02-06 02:41:42 GMT Ended at 2014-02-06 03:28:26 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 673 tests, 2 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/vbit-test/vbit-test (stderr) exp-sgcheck/tests/preen_invars (stdout) exp-sgcheck/tests/preen_invars (stderr) |
|
From: Tom H. <to...@co...> - 2014-02-06 03:12:02
|
valgrind revision: 13789 VEX revision: 2812 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.11.10-301.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-02-06 02:32:28 GMT Ended at 2014-02-06 03:11:46 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 673 tests, 3 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/dw4 (stderr) memcheck/tests/vbit-test/vbit-test (stderr) exp-sgcheck/tests/hackedbz2 (stderr) |
|
From: Rich C. <rc...@wi...> - 2014-02-06 02:51:43
|
valgrind revision: 13789
VEX revision: 2812
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-02-05 19:22:01 CST
Ended at 2014-02-05 20:51:32 CST
Results unchanged from 24 hours ago
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... failed
Regression test results follow
== 588 tests, 8 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
memcheck/tests/dw4 (stderr)
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)
drd/tests/pth_mutex_reinit (stderr)
exp-sgcheck/tests/hackedbz2 (stderr)
=================================================
./valgrind-new/drd/tests/pth_mutex_reinit.stderr.diff
=================================================
--- pth_mutex_reinit.stderr.exp 2014-02-05 19:57:23.359124649 -0600
+++ pth_mutex_reinit.stderr.out 2014-02-05 20:40:52.697854886 -0600
@@ -1,11 +1,15 @@
+The object at address 0x........ is not a mutex.
+ at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
+ by 0x........: main (pth_mutex_reinit.c:?)
+
Mutex reinitialization: mutex 0x........, recursion count 0, owner 1.
at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
by 0x........: main (pth_mutex_reinit.c:?)
mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
+ at 0x........: pthread_mutex_lock (drd_pthread_intercepts.c:?)
by 0x........: main (pth_mutex_reinit.c:?)
Done.
-ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/exp-sgcheck/tests/hackedbz2.stderr.diff-glibc28-amd64
=================================================
--- hackedbz2.stderr.exp-glibc28-amd64 2014-02-05 19:57:20.094091472 -0600
+++ hackedbz2.stderr.out 2014-02-05 20:50:16.124293278 -0600
@@ -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/dw4.stderr.diff
=================================================
--- dw4.stderr.exp 2014-02-05 19:57:21.241103127 -0600
+++ dw4.stderr.out 2014-02-05 20:08:24.397874946 -0600
@@ -1,3 +1,11 @@
+
+parse_type_DIE: confused by:
+ <1><492>: DW_TAG_structure_type
+ DW_AT_signature : 8 byte signature: 9b d0 55 13 bb 1e e9 37
+
+WARNING: Serious error when reading debug info
+When reading debug info from /usr/local/src/valgrind/nightly/valgrind-new/memcheck/tests/dw4:
+parse_type_DIE: confused by the above DIE
Uninitialised byte(s) found during client check request
at 0x........: croak (dw4.c:27)
by 0x........: main (dw4.c:49)
@@ -8,12 +16,10 @@
Uninitialised byte(s) found during client check request
at 0x........: croak (dw4.c:27)
by 0x........: main (dw4.c:51)
- Location 0x........ is 0 bytes inside S2[0].i,
- a global variable declared at dw4.c:42
+ Address 0x........ is 4 bytes inside data symbol "S2"
Uninitialised byte(s) found during client check request
at 0x........: croak (dw4.c:27)
by 0x........: main (dw4.c:52)
- Location 0x........ is 0 bytes inside local.i,
- declared at dw4.c:46, in frame #1 of thread 1
+ Address 0x........ is on thread 1's stack
=================================================
./valgrind-new/memcheck/tests/err_disable3.stderr.diff
=================================================
--- err_disable3.stderr.exp 2014-02-05 19:57:21.250103219 -0600
+++ err_disable3.stderr.out 2014-02-05 20:08:31.109943809 -0600
@@ -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-02-05 19:57:21.663107415 -0600
+++ err_disable4.stderr.out 2014-02-05 20:08:35.164985415 -0600
@@ -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-02-05 19:57:21.122101918 -0600
+++ threadname.stderr.out 2014-02-05 20:14:22.871561066 -0600
@@ -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-02-05 19:57:21.931110139 -0600
+++ threadname_xml.stderr.out 2014-02-05 20:14:24.920582183 -0600
@@ -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-02-05 19:57:21.406104804 -0600
+++ vbit-test.stderr.out 2014-02-05 20:16:37.833953087 -0600
@@ -0,0 +1 @@
+unknown opcode 5736
=================================================
./valgrind-old/drd/tests/pth_mutex_reinit.stderr.diff
=================================================
--- pth_mutex_reinit.stderr.exp 2014-02-05 19:22:17.191636702 -0600
+++ pth_mutex_reinit.stderr.out 2014-02-05 19:50:49.671061734 -0600
@@ -1,11 +1,15 @@
+The object at address 0x........ is not a mutex.
+ at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
+ by 0x........: main (pth_mutex_reinit.c:?)
+
Mutex reinitialization: mutex 0x........, recursion count 0, owner 1.
at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
by 0x........: main (pth_mutex_reinit.c:?)
mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
+ at 0x........: pthread_mutex_lock (drd_pthread_intercepts.c:?)
by 0x........: main (pth_mutex_reinit.c:?)
Done.
-ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
=================================================
./valgrind-old/exp-sgcheck/tests/hackedbz2.stderr.diff-glibc28-amd64
=================================================
--- hackedbz2.stderr.exp-glibc28-amd64 2014-02-05 19:22:22.885697714 -0600
+++ hackedbz2.stderr.out 2014-02-05 19:56:29.005572570 -0600
@@ -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/dw4.stderr.diff
=================================================
--- dw4.stderr.exp 2014-02-05 19:22:16.094624948 -0600
+++ dw4.stderr.out 2014-02-05 19:32:00.239893604 -0600
@@ -1,3 +1,11 @@
+
+parse_type_DIE: confused by:
+ <1><492>: DW_TAG_structure_type
+ DW_AT_signature : 8 byte signature: 9b d0 55 13 bb 1e e9 37
+
+WARNING: Serious error when reading debug info
+When reading debug info from /usr/local/src/valgrind/nightly/valgrind-old/memcheck/tests/dw4:
+parse_type_DIE: confused by the above DIE
Uninitialised byte(s) found during client check request
at 0x........: croak (dw4.c:27)
by 0x........: main (dw4.c:49)
@@ -8,12 +16,10 @@
Uninitialised byte(s) found during client check request
at 0x........: croak (dw4.c:27)
by 0x........: main (dw4.c:51)
- Location 0x........ is 0 bytes inside S2[0].i,
- a global variable declared at dw4.c:42
+ Address 0x........ is 4 bytes inside data symbol "S2"
Uninitialised byte(s) found during client check request
at 0x........: croak (dw4.c:27)
by 0x........: main (dw4.c:52)
- Location 0x........ is 0 bytes inside local.i,
- declared at dw4.c:46, in frame #1 of thread 1
+ Address 0x........ is on thread 1's stack
=================================================
./valgrind-old/memcheck/tests/err_disable3.stderr.diff
=================================================
--- err_disable3.stderr.exp 2014-02-05 19:22:15.309616537 -0600
+++ err_disable3.stderr.out 2014-02-05 19:32:04.089934981 -0600
@@ -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-02-05 19:22:15.546619076 -0600
+++ err_disable4.stderr.out 2014-02-05 19:32:06.062956186 -0600
@@ -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-02-05 19:22:15.311616558 -0600
+++ threadname.stderr.out 2014-02-05 19:35:19.847039812 -0600
@@ -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-02-05 19:22:15.711620844 -0600
+++ threadname_xml.stderr.out 2014-02-05 19:35:21.222054604 -0600
@@ -94,14 +94,6 @@
<file>threadname.c</file>
<line>...</line>
</frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_0</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
</stack>
<auxwhat>Address 0x........ is 0 bytes after a block of size 2 alloc'd</auxwhat>
<stack>
@@ -135,112 +127,6 @@
<error>
<unique>0x........</unique>
<tid>...</tid>
- <threadname>try1</threadname>
- <kind>InvalidWrite</kind>
- <what>Invalid write of size 1</what>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>bad_things</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_1</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- </stack>
- <auxwhat>Address 0x........ is 0 bytes after a block of size 3 alloc'd</auxwhat>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>malloc</fn>
- <dir>...</dir>
- <file>vg_replace_malloc.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>bad_things</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_1</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- </stack>
-</error>
-
-<error>
- <unique>0x........</unique>
- <tid>...</tid>
- <threadname>012345678901234</threadname>
- <kind>InvalidWrite</kind>
- <what>Invalid write of size 1</what>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>bad_things</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_2</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- </stack>
- <auxwhat>Address 0x........ is 0 bytes after a block of size 4 alloc'd</auxwhat>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
<truncated beyond 100 lines>
=================================================
./valgrind-old/memcheck/tests/vbit-test/vbit-test.stderr.diff
=================================================
--- vbit-test.stderr.exp 2014-02-05 19:22:15.887622730 -0600
+++ vbit-test.stderr.out 2014-02-05 19:36:36.294862314 -0600
@@ -0,0 +1 @@
+unknown opcode 5736
|
|
From: Maran P. <ma...@li...> - 2014-02-06 02:48:53
|
valgrind revision: 13789 VEX revision: 2812 C compiler: gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-3) GDB: GNU gdb (GDB) Red Hat Enterprise Linux (7.2-60.el6) Assembler: GNU assembler version 2.20.51.0.2-5.36.el6 20100205 C library: GNU C Library stable release version 2.12 uname -mrs: Linux 2.6.32-358.el6.s390x s390x Vendor version: Red Hat Enterprise Linux Server release 6.4 (Santiago) Nightly build on rhels390 ( RHEL 6.4 with gcc 4.4.7 on zEC12 (s390x) ) Started at 2014-02-06 03:45:25 CET Ended at 2014-02-06 03:49:00 CET Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... failed Last 20 lines of verbose log follow echo mv -f priv/.deps/libvex_s390x_linux_a-host_amd64_isel.Tpo priv/.deps/libvex_s390x_linux_a-host_amd64_isel.Po gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../include -I../VEX/pub -DVGA_s390x=1 -DVGO_linux=1 -DVGP_s390x_linux=1 -DVGPV_s390x_linux_vanilla=1 -Ipriv -m64 -O2 -g -Wall -Wmissing-prototypes -Wshadow -Wpointer-arith -Wstrict-prototypes -Wmissing-declarations -Wno-format-zero-length -fno-strict-aliasing -fno-builtin -fomit-frame-pointer -Wbad-function-cast -Wcast-qual -Wcast-align -fstrict-aliasing -Wno-long-long -Wwrite-strings -fno-stack-protector -MT priv/libvex_s390x_linux_a-host_arm_defs.o -MD -MP -MF priv/.deps/libvex_s390x_linux_a-host_arm_defs.Tpo -c -o priv/libvex_s390x_linux_a-host_arm_defs.o `test -f 'priv/host_arm_defs.c' || echo './'`priv/host_arm_defs.c gcc: Internal error: Killed (program cc1) Please submit a full bug report. See <http://bugzilla.redhat.com/bugzilla> for instructions. make[3]: *** [priv/libvex_s390x_linux_a-guest_amd64_toIR.o] Error 1 make[3]: *** Waiting for unfinished jobs.... mv -f priv/.deps/libvex_s390x_linux_a-host_ppc_defs.Tpo priv/.deps/libvex_s390x_linux_a-host_ppc_defs.Po mv -f priv/.deps/libvex_s390x_linux_a-host_ppc_isel.Tpo priv/.deps/libvex_s390x_linux_a-host_ppc_isel.Po mv -f priv/.deps/libvex_s390x_linux_a-guest_x86_toIR.Tpo priv/.deps/libvex_s390x_linux_a-guest_x86_toIR.Po mv -f priv/.deps/libvex_s390x_linux_a-host_arm_defs.Tpo priv/.deps/libvex_s390x_linux_a-host_arm_defs.Po mv -f priv/.deps/libvex_s390x_linux_a-guest_ppc_toIR.Tpo priv/.deps/libvex_s390x_linux_a-guest_ppc_toIR.Po mv -f priv/.deps/libvex_s390x_linux_a-guest_s390_toIR.Tpo priv/.deps/libvex_s390x_linux_a-guest_s390_toIR.Po mv -f priv/.deps/libvex_s390x_linux_a-guest_arm_toIR.Tpo priv/.deps/libvex_s390x_linux_a-guest_arm_toIR.Po make[3]: Leaving directory `/root/nightly/valgrind-new/VEX' make[2]: *** [all] Error 2 make[2]: Leaving directory `/root/nightly/valgrind-new/VEX' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/root/nightly/valgrind-new' make: *** [all] Error 2 ================================================= == 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 mv -f priv/.deps/libvex_s390x_linux_a-host_amd64_isel.Tpo priv/.deps/libvex_s390x_linux_a-host_amd64_isel.Po gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../include -I../VEX/pub -DVGA_s390x=1 -DVGO_linux=1 -DVGP_s390x_linux=1 -DVGPV_s390x_linux_vanilla=1 -Ipriv -m64 -O2 -g -Wall -Wmissing-prototypes -Wshadow -Wpointer-arith -Wstrict-prototypes -Wmissing-declarations -Wno-format-zero-length -fno-strict-aliasing -fno-builtin -fomit-frame-pointer -Wbad-function-cast -Wcast-qual -Wcast-align -fstrict-aliasing -Wno-long-long -Wwrite-strings -fno-stack-protector -MT priv/libvex_s390x_linux_a-host_arm_defs.o -MD -MP -MF priv/.deps/libvex_s390x_linux_a-host_arm_defs.Tpo -c -o priv/libvex_s390x_linux_a-host_arm_defs.o `test -f 'priv/host_arm_defs.c' || echo './'`priv/host_arm_defs.c gcc: Internal error: Killed (program cc1) Please submit a full bug report. See <http://bugzilla.redhat.com/bugzilla> for instructions. make[3]: *** [priv/libvex_s390x_linux_a-guest_amd64_toIR.o] Error 1 make[3]: *** Waiting for unfinished jobs.... mv -f priv/.deps/libvex_s390x_linux_a-host_ppc_defs.Tpo priv/.deps/libvex_s390x_linux_a-host_ppc_defs.Po mv -f priv/.deps/libvex_s390x_linux_a-host_ppc_isel.Tpo priv/.deps/libvex_s390x_linux_a-host_ppc_isel.Po mv -f priv/.deps/libvex_s390x_linux_a-host_arm_defs.Tpo priv/.deps/libvex_s390x_linux_a-host_arm_defs.Po mv -f priv/.deps/libvex_s390x_linux_a-guest_s390_toIR.Tpo priv/.deps/libvex_s390x_linux_a-guest_s390_toIR.Po mv -f priv/.deps/libvex_s390x_linux_a-guest_x86_toIR.Tpo priv/.deps/libvex_s390x_linux_a-guest_x86_toIR.Po mv -f priv/.deps/libvex_s390x_linux_a-guest_ppc_toIR.Tpo priv/.deps/libvex_s390x_linux_a-guest_ppc_toIR.Po mv -f priv/.deps/libvex_s390x_linux_a-guest_arm_toIR.Tpo priv/.deps/libvex_s390x_linux_a-guest_arm_toIR.Po make[3]: Leaving directory `/root/nightly/valgrind-old/VEX' make[2]: *** [all] Error 2 make[2]: Leaving directory `/root/nightly/valgrind-old/VEX' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/root/nightly/valgrind-old' make: *** [all] Error 2 ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short 2014-02-06 03:47:11.000000000 +0100 --- new.short 2014-02-06 03:49:00.000000000 +0100 *************** *** 15,26 **** mv -f priv/.deps/libvex_s390x_linux_a-host_ppc_isel.Tpo priv/.deps/libvex_s390x_linux_a-host_ppc_isel.Po - mv -f priv/.deps/libvex_s390x_linux_a-host_arm_defs.Tpo priv/.deps/libvex_s390x_linux_a-host_arm_defs.Po - mv -f priv/.deps/libvex_s390x_linux_a-guest_s390_toIR.Tpo priv/.deps/libvex_s390x_linux_a-guest_s390_toIR.Po mv -f priv/.deps/libvex_s390x_linux_a-guest_x86_toIR.Tpo priv/.deps/libvex_s390x_linux_a-guest_x86_toIR.Po mv -f priv/.deps/libvex_s390x_linux_a-guest_ppc_toIR.Tpo priv/.deps/libvex_s390x_linux_a-guest_ppc_toIR.Po mv -f priv/.deps/libvex_s390x_linux_a-guest_arm_toIR.Tpo priv/.deps/libvex_s390x_linux_a-guest_arm_toIR.Po ! make[3]: Leaving directory `/root/nightly/valgrind-old/VEX' make[2]: *** [all] Error 2 ! make[2]: Leaving directory `/root/nightly/valgrind-old/VEX' make[1]: *** [all-recursive] Error 1 ! make[1]: Leaving directory `/root/nightly/valgrind-old' make: *** [all] Error 2 --- 15,26 ---- mv -f priv/.deps/libvex_s390x_linux_a-host_ppc_isel.Tpo priv/.deps/libvex_s390x_linux_a-host_ppc_isel.Po mv -f priv/.deps/libvex_s390x_linux_a-guest_x86_toIR.Tpo priv/.deps/libvex_s390x_linux_a-guest_x86_toIR.Po + mv -f priv/.deps/libvex_s390x_linux_a-host_arm_defs.Tpo priv/.deps/libvex_s390x_linux_a-host_arm_defs.Po mv -f priv/.deps/libvex_s390x_linux_a-guest_ppc_toIR.Tpo priv/.deps/libvex_s390x_linux_a-guest_ppc_toIR.Po + mv -f priv/.deps/libvex_s390x_linux_a-guest_s390_toIR.Tpo priv/.deps/libvex_s390x_linux_a-guest_s390_toIR.Po mv -f priv/.deps/libvex_s390x_linux_a-guest_arm_toIR.Tpo priv/.deps/libvex_s390x_linux_a-guest_arm_toIR.Po ! make[3]: Leaving directory `/root/nightly/valgrind-new/VEX' make[2]: *** [all] Error 2 ! make[2]: Leaving directory `/root/nightly/valgrind-new/VEX' make[1]: *** [all-recursive] Error 1 ! make[1]: Leaving directory `/root/nightly/valgrind-new' make: *** [all] Error 2 --tools=none,memcheck --reps=5 --vg=../valgrind-new --vg=../valgrind-old vg_perf: './bigcode' not found or not a file (.) -- Running tests in perf ---------------------------------------------- real 0m0.134s user 0m0.005s sys 0m0.003s |
|
From: <sv...@va...> - 2014-02-05 14:00:27
|
Author: sewardj
Date: Wed Feb 5 14:00:16 2014
New Revision: 13789
Log:
Create a list of all bugs reported after the 3.9.0 release
(I think).
Added:
trunk/docs/internals/3_9_BUGSTATUS.txt
Modified:
trunk/docs/Makefile.am
Modified: trunk/docs/Makefile.am
==============================================================================
--- trunk/docs/Makefile.am (original)
+++ trunk/docs/Makefile.am Wed Feb 5 14:00:16 2014
@@ -27,6 +27,7 @@
internals/3_5_BUGSTATUS.txt \
internals/3_7_BUGSTATUS.txt \
internals/3_8_BUGSTATUS.txt \
+ internals/3_9_BUGSTATUS.txt \
internals/arm_thumb_notes_gdbserver.txt \
internals/avx-notes.txt \
internals/BIG_APP_NOTES.txt \
Added: trunk/docs/internals/3_9_BUGSTATUS.txt
==============================================================================
--- trunk/docs/internals/3_9_BUGSTATUS.txt (added)
+++ trunk/docs/internals/3_9_BUGSTATUS.txt Wed Feb 5 14:00:16 2014
@@ -0,0 +1,105 @@
+
+Bugs reported after Thu Sep 19 10:34:49 CEST 2013
+
+For bugs reported before this time, see 3_8_BUGSTATUS.txt
+
+324894 Phase 3 support for IBM Power ISA 2.07
+325110 Add test-cases for Power ISA 2.06 insns: divdo/divdo. and divduo/divduo.
+325124 [MIPSEL] Compilation error
+325222 eight bad if statements ?
+325266 unhandled instruction bytes: 0xC4 0xC2 0x79 0xF7 0xC9 0x89 0x45 0x80
+325328 __float128 loses precision under memcheck
+325333 VALGRIND_HG_DISABLE_CHECKING does not seem to work locally
+325477 Phase 4 support for IBM Power ISA 2.07
+325538 cavim octeon mips64 ï¼valgrind reported "dumping core" and "Assertion 'sizeof(*regs) == sizeof(prs->pr_reg)' failed.
+325628 Phase 5 support for IBM Power ISA 2.07
+325714 Empty vgcore but RLIMIT_CORE is big enough (too big)
+325751 Missing the two privileged Power PC Transactional Memory Instructions
+325816 Phase 6 support for IBM Power ISA 2.07
+325856 sgcheck generates internal Valgrind error on IBM Power
+325874 Crash KCachegrind while load big file
+326026 Iop names for count leading zeros/sign bits incorrectly imply a "signedness" in incoming lanes
+326091 False positive in libstdc++ std::string::_S_construct (gcc 4.7.2)
+326113 valgrind libvex hwcaps error on AMD64
+326436 False positive in libstdc++ std::list::push_back
+326444 Cavium MIPS Octeon Specific Load Indexed Instructions
+326462 Refactor vgdb module to isolate ptrace stuff into separate module
+326469 unhandled instruction bytes: 0x66 0xF 0x3A 0x63 0xC1 0xE 0x89 0xC8
+326487 child of debugged process exits without becoming zombie
+326623 A false positive conflict report in a field assignment in a constructor
+326724 Valgrind does not compile on OSX 1.9 Mavericks
+326797 Assertion 'sizeof(UWord) == sizeof(UInt)' failed.
+326816 Intercept for __strncpy_sse2_unaligned missing?
+326821 Double overflow/underflow handling broken (after exp())
+326839 Don't see a writing into a none allocated memory
+326921 coregrind fails to compile m_trampoline.S with MIPS/Linux port of Valgrind
+326955 64 bit false positive move depends on uninitialised value wcscpy
+326983 insn_basic test might crash because of setting and not clearing DF flag
+327138 valgrind.h __VALGRIND_MINOR__ says 8, in 3.9.0 tarball
+327151 valgrind appears to stop compiling when it enters the drd directory
+327155 Valgrind compilation hang on MIPS
+327212 expand_file_name prepends current directory when expansion starts with /
+327223 Support for Cavium MIPS Octeon Atomic and Count Instructions
+327238 assertion failure in Callgrind: bbcc.c:585 (vgCallgrind_setup_bbcc): Assertion 'passed <= last_bb->cjmp_count' failed
+327284 s390x VEX miscompilation of -march=z10 binary
+327285 vex amd64->IR: unhandled instruction bytes: 0x8F 0xEA 0xF8 0x10 0xCE 0x3 0x1D 0x0
+327427 ifunc wrapper crashes when symbols are discarded because of false mmap overlaps
+327548 false positive while destroying mutex
+327583 libpixman error on ARM system
+327639 vex amd64->IR pcmpestri SSE4.2 instruction is unsupported 0x34
+327665 out of memory error
+327745 valgrind 3.9.0 build fails on Mac OS X 10.6.8
+327837 dwz compressed alternate .debug_info and debug_str not read correctly.
+327859 Support for android devices
+327881 False Positive Warning on std::atomic_bool
+327916 DW_TAG_typedef may have no name
+327943 s390x missing index/strchr suppression for ld.so (bad backtrace?)
+327945 valgrind_3.9.0 failed to compile in ppc 32
+328011 3.9.0 segfaults running any program, on any valgrind tool
+328081 embedded gdbserver and non-stop mode
+328089 unhandled instruction bytes: 0xF0 0xF 0xC0 0x10
+328100 XABORT not implemented
+328147 vex mips->IR: unhandled instruction bytes: 0x0 0x0 0x0 0xE
+328205 Implement additional Xen hypercalls
+328357 vex amd64->IR: unhandled instruction bytes: 0x8F 0xEA 0xF8 0x10 0xEF 0x3 0x5 0x0
+328423 Unrecognised instructions: _fips_armv7_tick and _armv7_tick
+328441 valgrind_3.9.0 failed to compile in mips32 âError: illegal operands `cfc1 $t0,$31'â
+328454 add support Backtraces with ARM unwind tables (EXIDX)
+328455 s390x: valgrind is gettting SIGILL after emitting wrong register pair for ldxbr
+328468 unwind x86/amd64 gcc <= 4.4 compiled code does not unwind properly at "ret" instruction
+328490 drd reports false positive for concurrent __atomic_base access
+328549 Valgrind crashes on Android 4.4 / x86 on most programs
+328559 Some back trace generation (from mmap function) problem on ARM
+328563 make track-fds support xml output
+328711 valgrind.1 manpage "memcheck options" section is badly generated
+328721 MSVC 2008 compiler warns about while(0) in warning level 4
+328730 Unimplemented system call #531 in FreeBSD: SYS_posix_fadvise
+328747 Valgrind memcheck exits with SIGTRAP on PPC
+328878 vex amd64->IR pcmpestri SSE4.2 instruction is unsupported 0x14
+329104 kcachegrind crashs when on loading some of my cachegrind traces (SIGFPE).
+329245 unhandled instruction bytes: 0x48 0xF 0x5A 0x7 0x48 0xF 0x5A 0x4F
+329612 Incorrect handling of AT_BASE for image execution
+329619 leak-check gets assertion failure when nesting VALGRIND_MALLOCLIKE_BLOCK
+329694 clang warns about using uninitialized variable
+329726 Mozilla
+329737 KCachegrind stores translated messages to config file
+329956 valgrind crashes when lmw/stmw instructions are used on ppc64
+329963 Half precision floating point conversion on ARM is not supported
+330147 libmpiwrap: byte count from PMPI_Get_count should be made defined
+330152 vex amd64->IR: unhandled instruction bytes: 0xC5 0xFB 0x10 0x4 0x25 0xB0 0xCA 0x41
+330180 False positive in v4l2?
+330228 mmap must align to VKI_SHMLBA on mips32
+330254 Exit code of original app should be accessible
+330257 LLVM does not support `-mno-dynamic-no-pic` option
+330293 Please add a AppData application description
+330319 unhandled instruction bytes: 0xF 0x1 0xD5 0x31 0xC0 0xC3 0x48 0x8D
+330321 Serious error when reading debug info - DW_AT_signature 9b d0 55 13 bb 1e e9 37
+330349 Endless loop happen when using lackey with --trace-mem=yes on ARM
+330459 --track-fds=yes doesn't track eventfds
+330469 Add clock_adjtime syscall support
+330590 Missing support for multiple VEX CMP instruction Opcodes (Causes SIGILL)
+330594 Missing sysalls on PowerPC / uClibc
+330617 ppc false positive conditional jump depends on uninitialised value
+330622 Add test to regression suite for POWER instruction: dcbzl
+
+Wed Feb 5 14:58:25 CET 2014
|
|
From: <sv...@va...> - 2014-02-05 13:21:12
|
Author: sewardj
Date: Wed Feb 5 13:20:58 2014
New Revision: 13788
Log:
Show a line in the output log when the client connects but the
requested file is not found by the server. This makes it easier to
diagnose client--server communications problems.
Modified:
trunk/auxprogs/valgrind-di-server.c
Modified: trunk/auxprogs/valgrind-di-server.c
==============================================================================
--- trunk/auxprogs/valgrind-di-server.c (original)
+++ trunk/auxprogs/valgrind-di-server.c Wed Feb 5 13:20:58 2014
@@ -743,6 +743,8 @@
fd = open((char*)filename, O_RDONLY);
if (fd == -1) {
res = mk_Frame_asciiz("FAIL", "OPEN: cannot open file");
+ printf("(%d) SessionID %llu: open failed for \"%s\"\n",
+ conn_count, conn_state[conn_no].session_id, filename );
ok = False;
} else {
assert(fd > 2);
|
|
From: <sv...@va...> - 2014-02-05 11:02:41
|
Author: sewardj
Date: Wed Feb 5 11:02:34 2014
New Revision: 13787
Log:
Update.
Modified:
trunk/README.aarch64
Modified: trunk/README.aarch64
==============================================================================
--- trunk/README.aarch64 (original)
+++ trunk/README.aarch64 Wed Feb 5 11:02:34 2014
@@ -206,3 +206,20 @@
ubfm/sbfm etc: special case cases that are simple shifts, as iropt
can't always simplify the general-case IR to a shift in such cases.
+
+
+LDP,STP (immediate, simm7) (FP&VEC)
+should zero out hi parts of dst registers in the LDP case
+
+
+DUP insns: use Iop_Dup8x16, Iop_Dup16x8, Iop_Dup32x4
+rather than doing it "by hand"
+
+
+Any place where ZeroHI64ofV128 is used in conjunction with
+FP vector IROps: find a way to make sure that arithmetic on
+the upper half of the values is "harmless."
+
+
+math_MINMAXV: use real Iop_Cat{Odd,Even}Lanes ops rather than
+inline scalar code
|
Author: sewardj
Date: Wed Feb 5 11:01:19 2014
New Revision: 2812
Log:
Implement a few more vector aarch64 insns:
LD1 {vT.4s}, [xN|SP], #16
ADD Dd, Dn, Dm
SUB Dd, Dn, Dm
SMIN Vd.T, Vn.T, Vm.T
UMIN Vd.T, Vn.T, Vm.T
SMAX Vd.T, Vn.T, Vm.T
UMAX Vd.T, Vn.T, Vm.T
SMINV Vd.T, Vn.T, Vm.T
UMINV Vd.T, Vn.T, Vm.T
SMAXV Vd.T, Vn.T, Vm.T
UMAXV Vd.T, Vn.T, Vm.T
DUP Vd.T, Rn
FADD/FSUB/FMUL/FDIV32x4
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
trunk/priv/ir_defs.c
trunk/pub/libvex_ir.h
Modified: trunk/priv/guest_arm64_toIR.c
==============================================================================
--- trunk/priv/guest_arm64_toIR.c (original)
+++ trunk/priv/guest_arm64_toIR.c Wed Feb 5 11:01:19 2014
@@ -3993,6 +3993,7 @@
0100 1100 1001 1111 0111 11 N T ST1 {vT.2d}, [xN|SP], #16
0100 1100 1101 1111 0111 11 N T LD1 {vT.2d}, [xN|SP], #16
0100 1100 1001 1111 0111 10 N T ST1 {vT.4s}, [xN|SP], #16
+ 0100 1100 1101 1111 0111 10 N T LD1 {vT.4s}, [xN|SP], #16
0100 1100 1001 1111 0111 01 N T ST1 {vT.8h}, [xN|SP], #16
Note that #16 is implied and cannot be any other value.
FIXME does this assume that the host is little endian?
@@ -4000,6 +4001,7 @@
if ( (insn & 0xFFFFFC00) == 0x4C9F7C00 // ST1 {vT.2d}, [xN|SP], #16
|| (insn & 0xFFFFFC00) == 0x4CDF7C00 // LD1 {vT.2d}, [xN|SP], #16
|| (insn & 0xFFFFFC00) == 0x4C9F7800 // ST1 {vT.4s}, [xN|SP], #16
+ || (insn & 0xFFFFFC00) == 0x4CDF7800 // LD1 {vT.4s}, [xN|SP], #16
|| (insn & 0xFFFFFC00) == 0x4C9F7400 // ST1 {vT.8h}, [xN|SP], #16
) {
Bool isLD = INSN(22,22) == 1;
@@ -4359,6 +4361,15 @@
/*--- SIMD and FP instructions ---*/
/*------------------------------------------------------------*/
+/* begin FIXME -- rm temp scaffolding */
+static IRExpr* mk_CatEvenLanes64x2 ( IRTemp, IRTemp );
+static IRExpr* mk_CatOddLanes64x2 ( IRTemp, IRTemp );
+static IRExpr* mk_CatEvenLanes32x4 ( IRTemp, IRTemp );
+static IRExpr* mk_CatOddLanes32x4 ( IRTemp, IRTemp );
+static IRExpr* mk_CatEvenLanes16x8 ( IRTemp, IRTemp );
+static IRExpr* mk_CatOddLanes16x8 ( IRTemp, IRTemp );
+/* end FIXME -- rm temp scaffolding */
+
/* Generate N copies of |bit| in the bottom of a ULong. */
static ULong Replicate ( ULong bit, Int N )
{
@@ -4458,6 +4469,100 @@
}
+/* 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 )
+{
+ /* The basic idea is to use repeated applications of Iop_CatEven*
+ and Iop_CatOdd* operators to 'src' so as to clone each lane into
+ a complete vector. Then fold all those vectors with 'op' and
+ zero out all but the least significant lane. */
+ switch (op) {
+ case Iop_Min8Sx16: case Iop_Min8Ux16:
+ case Iop_Max8Sx16: case Iop_Max8Ux16: {
+ return IRTemp_INVALID; // ATC
+ }
+ case Iop_Min16Sx8: case Iop_Min16Ux8:
+ case Iop_Max16Sx8: case Iop_Max16Ux8: {
+ IRTemp x76543210 = src;
+ IRTemp x76547654 = newTemp(Ity_V128);
+ IRTemp x32103210 = newTemp(Ity_V128);
+ assign(x76547654, mk_CatOddLanes64x2 (x76543210, x76543210));
+ assign(x32103210, mk_CatEvenLanes64x2(x76543210, x76543210));
+ IRTemp x76767676 = newTemp(Ity_V128);
+ IRTemp x54545454 = newTemp(Ity_V128);
+ IRTemp x32323232 = newTemp(Ity_V128);
+ IRTemp x10101010 = newTemp(Ity_V128);
+ assign(x76767676, mk_CatOddLanes32x4 (x76547654, x76547654));
+ assign(x54545454, mk_CatEvenLanes32x4(x76547654, x76547654));
+ assign(x32323232, mk_CatOddLanes32x4 (x32103210, x32103210));
+ assign(x10101010, mk_CatEvenLanes32x4(x32103210, x32103210));
+ IRTemp x77777777 = newTemp(Ity_V128);
+ IRTemp x66666666 = newTemp(Ity_V128);
+ IRTemp x55555555 = newTemp(Ity_V128);
+ IRTemp x44444444 = newTemp(Ity_V128);
+ IRTemp x33333333 = newTemp(Ity_V128);
+ IRTemp x22222222 = newTemp(Ity_V128);
+ IRTemp x11111111 = newTemp(Ity_V128);
+ IRTemp x00000000 = newTemp(Ity_V128);
+ assign(x77777777, mk_CatOddLanes16x8 (x76767676, x76767676));
+ assign(x66666666, mk_CatEvenLanes16x8(x76767676, x76767676));
+ assign(x55555555, mk_CatOddLanes16x8 (x54545454, x54545454));
+ assign(x44444444, mk_CatEvenLanes16x8(x54545454, x54545454));
+ assign(x33333333, mk_CatOddLanes16x8 (x32323232, x32323232));
+ assign(x22222222, mk_CatEvenLanes16x8(x32323232, x32323232));
+ assign(x11111111, mk_CatOddLanes16x8 (x10101010, x10101010));
+ assign(x00000000, mk_CatEvenLanes16x8(x10101010, x10101010));
+ IRTemp max76 = newTemp(Ity_V128);
+ IRTemp max54 = newTemp(Ity_V128);
+ IRTemp max32 = newTemp(Ity_V128);
+ IRTemp max10 = newTemp(Ity_V128);
+ assign(max76, binop(op, mkexpr(x77777777), mkexpr(x66666666)));
+ assign(max54, binop(op, mkexpr(x55555555), mkexpr(x44444444)));
+ assign(max32, binop(op, mkexpr(x33333333), mkexpr(x22222222)));
+ assign(max10, binop(op, mkexpr(x11111111), mkexpr(x00000000)));
+ IRTemp max7654 = newTemp(Ity_V128);
+ IRTemp max3210 = newTemp(Ity_V128);
+ assign(max7654, binop(op, mkexpr(max76), mkexpr(max54)));
+ assign(max3210, binop(op, mkexpr(max32), mkexpr(max10)));
+ IRTemp max76543210 = newTemp(Ity_V128);
+ assign(max76543210, binop(op, mkexpr(max7654), mkexpr(max3210)));
+ IRTemp res = newTemp(Ity_V128);
+ assign(res, unop(Iop_ZeroHI112ofV128, mkexpr(max76543210)));
+ return res;
+ }
+ case Iop_Min32Sx4: case Iop_Min32Ux4:
+ case Iop_Max32Sx4: case Iop_Max32Ux4: {
+ IRTemp x3210 = src;
+ IRTemp x3232 = newTemp(Ity_V128);
+ IRTemp x1010 = newTemp(Ity_V128);
+ assign(x3232, mk_CatOddLanes64x2 (x3210, x3210));
+ assign(x1010, mk_CatEvenLanes64x2(x3210, x3210));
+ IRTemp x3333 = newTemp(Ity_V128);
+ IRTemp x2222 = newTemp(Ity_V128);
+ IRTemp x1111 = newTemp(Ity_V128);
+ IRTemp x0000 = newTemp(Ity_V128);
+ assign(x3333, mk_CatOddLanes32x4 (x3232, x3232));
+ assign(x2222, mk_CatEvenLanes32x4(x3232, x3232));
+ assign(x1111, mk_CatOddLanes32x4 (x1010, x1010));
+ assign(x0000, mk_CatEvenLanes32x4(x1010, x1010));
+ IRTemp max32 = newTemp(Ity_V128);
+ IRTemp max10 = newTemp(Ity_V128);
+ assign(max32, binop(op, mkexpr(x3333), mkexpr(x2222)));
+ assign(max10, binop(op, mkexpr(x1111), mkexpr(x0000)));
+ IRTemp max3210 = newTemp(Ity_V128);
+ assign(max3210, binop(op, mkexpr(max32), mkexpr(max10)));
+ IRTemp res = newTemp(Ity_V128);
+ assign(res, unop(Iop_ZeroHI96ofV128, mkexpr(max3210)));
+ return res;
+ }
+ default:
+ vassert(0);
+ }
+}
+
+
static
Bool dis_ARM64_simd_and_fp(/*MB_OUT*/DisResult* dres, UInt insn)
{
@@ -5059,7 +5164,8 @@
IRTemp t1 = newTemp(Ity_V128);
IRTemp t2 = newTemp(Ity_V128);
assign(t1, triop(op, mkexpr(rm), getQReg128(nn), getQReg128(mm)));
- assign(t2, zeroHI ? unop(Iop_ZeroHI64, mkexpr(t1)) : mkexpr(t1));
+ assign(t2, zeroHI ? unop(Iop_ZeroHI64ofV128, mkexpr(t1))
+ : mkexpr(t1));
putQReg128(dd, mkexpr(t2));
DIP("%s %s.%s, %s.%s, %s.%s\n", names[ix-1],
nameQReg128(dd), arr, nameQReg128(nn), arr, nameQReg128(mm), arr);
@@ -5092,7 +5198,8 @@
IROp op = isSUB ? opSUB[szBlg2] : opADD[szBlg2];
IRTemp t = newTemp(Ity_V128);
assign(t, binop(op, getQReg128(nn), getQReg128(mm)));
- putQReg128(dd, zeroHI ? unop(Iop_ZeroHI64, mkexpr(t)) : mkexpr(t));
+ putQReg128(dd, zeroHI ? unop(Iop_ZeroHI64ofV128, mkexpr(t))
+ : mkexpr(t));
const HChar* nm = isSUB ? "sub" : "add";
DIP("%s %s.%s, %s.%s, %s.%s\n", nm,
nameQReg128(dd), arrSpec,
@@ -5102,8 +5209,136 @@
/* else fall through */
}
+ /* ---------------- ADD/SUB (scalar) ---------------- */
+ /* 31 28 23 21 20 15 9 4
+ 010 11110 11 1 m 100001 n d ADD Dd, Dn, Dm
+ 011 11110 11 1 m 100001 n d SUB Dd, Dn, Dm
+ */
+ if (INSN(31,30) == BITS2(0,1) && INSN(28,21) == BITS8(1,1,1,1,0,1,1,1)
+ && INSN(15,10) == BITS6(1,0,0,0,0,1)) {
+ Bool isSUB = INSN(29,29) == 1;
+ UInt mm = INSN(20,16);
+ UInt nn = INSN(9,5);
+ UInt dd = INSN(4,0);
+ IRTemp res = newTemp(Ity_I64);
+ assign(res, binop(isSUB ? Iop_Sub64 : Iop_Add64,
+ getQRegLane(nn, 0, Ity_I64),
+ getQRegLane(mm, 0, Ity_I64)));
+ putQRegLane(dd, 0, mkexpr(res));
+ putQRegLane(dd, 1, mkU64(0));
+ DIP("%s %s, %s, %s\n", isSUB ? "sub" : "add",
+ nameQRegLO(dd, Ity_I64),
+ nameQRegLO(nn, Ity_I64), nameQRegLO(mm, Ity_I64));
+ return True;
+ }
+
+ /* ---------------- {S,U}{MIN,MAX} (vector) ---------------- */
+ /* 31 28 23 21 20 15 9 4
+ 0q0 01110 size 1 m 011011 n d SMIN Vd.T, Vn.T, Vm.T
+ 0q1 01110 size 1 m 011011 n d UMIN Vd.T, Vn.T, Vm.T
+ 0q0 01110 size 1 m 011001 n d SMAX Vd.T, Vn.T, Vm.T
+ 0q1 01110 size 1 m 011001 n d UMAX Vd.T, Vn.T, Vm.T
+ */
+ if (INSN(31,31) == 0 && INSN(28,24) == BITS5(0,1,1,1,0)
+ && INSN(21,21) == 1
+ && ((INSN(15,10) & BITS6(1,1,1,1,0,1)) == BITS6(0,1,1,0,0,1))) {
+ Bool isQ = INSN(30,30) == 1;
+ Bool isU = INSN(29,29) == 1;
+ UInt szBlg2 = INSN(23,22);
+ Bool isMAX = INSN(12,12) == 0;
+ UInt mm = INSN(20,16);
+ UInt nn = INSN(9,5);
+ UInt dd = INSN(4,0);
+ Bool zeroHI = False;
+ const HChar* arrSpec = "";
+ Bool ok = getLaneInfo_SIMPLE(&zeroHI, &arrSpec, isQ, szBlg2 );
+ if (ok) {
+ const IROp opMINS[4]
+ = { Iop_Min8Sx16, Iop_Min16Sx8, Iop_Min32Sx4, Iop_Min64Sx2 };
+ const IROp opMINU[4]
+ = { Iop_Min8Ux16, Iop_Min16Ux8, Iop_Min32Ux4, Iop_Min64Ux2 };
+ const IROp opMAXS[4]
+ = { Iop_Max8Sx16, Iop_Max16Sx8, Iop_Max32Sx4, Iop_Max64Sx2 };
+ const IROp opMAXU[4]
+ = { Iop_Max8Ux16, Iop_Max16Ux8, Iop_Max32Ux4, Iop_Max64Ux2 };
+ vassert(szBlg2 < 4);
+ IROp op = isMAX ? (isU ? opMAXU[szBlg2] : opMAXS[szBlg2])
+ : (isU ? opMINU[szBlg2] : opMINS[szBlg2]);
+ IRTemp t = newTemp(Ity_V128);
+ assign(t, binop(op, getQReg128(nn), getQReg128(mm)));
+ putQReg128(dd, zeroHI ? unop(Iop_ZeroHI64ofV128, mkexpr(t))
+ : mkexpr(t));
+ const HChar* nm = isMAX ? (isU ? "umax" : "smax")
+ : (isU ? "umin" : "smin");
+ DIP("%s %s.%s, %s.%s, %s.%s\n", nm,
+ nameQReg128(dd), arrSpec,
+ nameQReg128(nn), arrSpec, nameQReg128(mm), arrSpec);
+ return True;
+ }
+ /* else fall through */
+ }
+
+ /* -------------------- {S,U}{MIN,MAX}V -------------------- */
+ /* 31 28 23 21 16 15 9 4
+ 0q0 01110 size 11000 1 101010 n d SMINV Vd, Vn.T
+ 0q1 01110 size 11000 1 101010 n d UMINV Vd, Vn.T
+ 0q0 01110 size 11000 0 101010 n d SMAXV Vd, Vn.T
+ 0q1 01110 size 11000 0 101010 n d UMAXV Vd, Vn.T
+ */
+ if (INSN(31,31) == 0 && INSN(28,24) == BITS5(0,1,1,1,0)
+ && INSN(21,17) == BITS5(1,1,0,0,0)
+ && INSN(15,10) == BITS6(1,0,1,0,1,0)) {
+ Bool isQ = INSN(30,30) == 1;
+ Bool isU = INSN(29,29) == 1;
+ UInt szBlg2 = INSN(23,22);
+ Bool isMAX = INSN(16,16) == 0;
+ UInt nn = INSN(9,5);
+ UInt dd = INSN(4,0);
+ Bool zeroHI = False;
+ const HChar* arrSpec = "";
+ Bool ok = getLaneInfo_SIMPLE(&zeroHI, &arrSpec, isQ, szBlg2);
+ if (ok) {
+ if (szBlg2 == 3) ok = False;
+ if (szBlg2 == 2 && !isQ) ok = False;
+ }
+ if (ok) {
+ const IROp opMINS[3]
+ = { Iop_Min8Sx16, Iop_Min16Sx8, Iop_Min32Sx4 };
+ const IROp opMINU[3]
+ = { Iop_Min8Ux16, Iop_Min16Ux8, Iop_Min32Ux4 };
+ const IROp opMAXS[3]
+ = { Iop_Max8Sx16, Iop_Max16Sx8, Iop_Max32Sx4 };
+ const IROp opMAXU[3]
+ = { Iop_Max8Ux16, Iop_Max16Ux8, Iop_Max32Ux4 };
+ vassert(szBlg2 < 3);
+ IROp op = isMAX ? (isU ? opMAXU[szBlg2] : opMAXS[szBlg2])
+ : (isU ? opMINU[szBlg2] : opMINS[szBlg2]);
+ IRTemp tN1 = newTemp(Ity_V128);
+ assign(tN1, getQReg128(nn));
+ /* If Q == 0, we're just folding lanes in the lower half of
+ the value. In which case, copy the lower half of the
+ source into the upper half, so we can then treat it the
+ same as the full width case. */
+ IRTemp tN2 = newTemp(Ity_V128);
+ assign(tN2, zeroHI ? mk_CatOddLanes64x2(tN1,tN1) : mkexpr(tN1));
+ IRTemp res = math_MINMAXV(tN2, op);
+ if (res == IRTemp_INVALID)
+ return False; /* means math_MINMAXV
+ doesn't handle this case yet */
+ putQReg128(dd, mkexpr(res));
+ const HChar* nm = isMAX ? (isU ? "umaxv" : "smaxv")
+ : (isU ? "uminv" : "sminv");
+ const IRType tys[3] = { Ity_I8, Ity_I16, Ity_I32 };
+ IRType laneTy = tys[szBlg2];
+ DIP("%s %s, %s.%s\n", nm,
+ nameQRegLO(dd, laneTy), nameQReg128(nn), arrSpec);
+ return True;
+ }
+ /* else fall through */
+ }
+
/* -------------------- XTN{,2} -------------------- */
- /* 31 28 23 21 15 9 4
+ /* 31 28 23 21 15 9 4 XTN{,2} Vd.Tb, Vn.Ta
0q0 01110 size 100001 001010 n d
*/
if (INSN(31,31) == 0 && INSN(29,24) == BITS6(0,0,1,1,1,0)
@@ -5198,6 +5433,60 @@
/* else fall through */
}
+ /* ---------------- DUP (general, vector) ---------------- */
+ /* 31 28 23 20 15 9 4
+ 0q0 01110 000 imm5 000011 n d DUP Vd.T, Rn
+ Q=0 writes 64, Q=1 writes 128
+ imm5: xxxx1 8B(q=0) or 16b(q=1), R=W
+ xxx10 4H(q=0) or 8H(q=1), R=W
+ xx100 2S(q=0) or 4S(q=1), R=W
+ x1000 Invalid(q=0) or 2D(q=1), R=X
+ x0000 Invalid(q=0) or Invalid(q=1)
+ */
+ if (INSN(31,31) == 0 && INSN(29,21) == BITS9(0,0,1,1,1,0,0,0,0)
+ && INSN(15,10) == BITS6(0,0,0,0,1,1)) {
+ Bool isQ = INSN(30,30) == 1;
+ UInt imm5 = INSN(20,16);
+ UInt nn = INSN(9,5);
+ UInt dd = INSN(4,0);
+ IRTemp w0 = newTemp(Ity_I64);
+ const HChar* arT = "??";
+ IRType laneTy = Ity_INVALID;
+ if (imm5 & 1) {
+ arT = isQ ? "16b" : "8b";
+ laneTy = Ity_I8;
+ assign(w0, unop(Iop_8Uto64, unop(Iop_64to8, getIReg64orZR(nn))));
+ }
+ else if (imm5 & 2) {
+ arT = isQ ? "8h" : "4h";
+ laneTy = Ity_I16;
+ assign(w0, unop(Iop_16Uto64, unop(Iop_64to16, getIReg64orZR(nn))));
+ }
+ else if (imm5 & 4) {
+ arT = isQ ? "4s" : "2s";
+ laneTy = Ity_I32;
+ assign(w0, unop(Iop_32Uto64, unop(Iop_64to32, getIReg64orZR(nn))));
+ }
+ else if ((imm5 & 8) && isQ) {
+ arT = "2d";
+ laneTy = Ity_I64;
+ assign(w0, getIReg64orZR(nn));
+ }
+ else {
+ /* invalid; leave laneTy unchanged. */
+ }
+ /* */
+ if (laneTy != Ity_INVALID) {
+ IRTemp w1 = math_DUP_TO_64(w0, laneTy);
+ putQReg128(dd, binop(Iop_64HLtoV128,
+ isQ ? mkexpr(w1) : mkU64(0), mkexpr(w1)));
+ DIP("dup %s.%s, %s\n",
+ nameQReg128(dd), arT, nameIRegOrZR(laneTy == Ity_I64, nn));
+ return True;
+ }
+ /* else fall through */
+ }
+
/* FIXME Temporary hacks to get through ld.so FIXME */
/* ------------------ movi vD.4s, #0x0 ------------------ */
@@ -5209,20 +5498,6 @@
return True;
}
- /* ------------------ dup vD.2d, xN ------------------ */
- /* 0x4E 0x08 0000 11 xN(5) vD(5) */
- if ((insn & 0xFFFFFC00) == 0x4E080C00) {
- UInt nn = INSN(9,5);
- UInt dd = INSN(4,0);
- IRTemp src64 = newTemp(Ity_I64);
- assign(src64, getIReg64orZR(nn));
- IRTemp res = newTemp(Ity_V128);
- assign(res, binop(Iop_64HLtoV128, mkexpr(src64), mkexpr(src64)));
- putQReg128(dd, mkexpr(res));
- DIP("dup v%u.2d, x%u\n", dd, nn);
- return True;
- }
-
/* ---------------- MOV vD.16b, vN.16b ---------------- */
/* 31 23 20 15 9 4
010 01110 101 m 000111 n d ORR vD.16b, vN.16b, vM.16b
@@ -5517,6 +5792,201 @@
return dres;
}
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+
+/* Spare code for doing reference implementations of various 128-bit
+ SIMD interleaves/deinterleaves/concatenation ops. For 64-bit
+ equivalents see the end of guest_arm_toIR.c. */
+
+////////////////////////////////////////////////////////////////
+// 64x2 operations
+//
+static IRExpr* mk_CatEvenLanes64x2 ( IRTemp a10, IRTemp b10 )
+{
+ // returns a0 b0
+ return binop(Iop_64HLtoV128, unop(Iop_V128to64, mkexpr(a10)),
+ unop(Iop_V128to64, mkexpr(b10)));
+}
+
+static IRExpr* mk_CatOddLanes64x2 ( IRTemp a10, IRTemp b10 )
+{
+ // returns a1 b1
+ return binop(Iop_64HLtoV128, unop(Iop_V128HIto64, mkexpr(a10)),
+ unop(Iop_V128HIto64, mkexpr(b10)));
+}
+
+
+////////////////////////////////////////////////////////////////
+// 32x4 operations
+//
+
+// Split a 128 bit value into 4 32 bit ones, in 64-bit IRTemps with
+// the top halves guaranteed to be zero.
+static void breakV128to32s ( IRTemp* out3, IRTemp* out2, IRTemp* out1,
+ IRTemp* out0, IRTemp v128 )
+{
+ if (out3) *out3 = newTemp(Ity_I64);
+ if (out2) *out2 = newTemp(Ity_I64);
+ if (out1) *out1 = newTemp(Ity_I64);
+ if (out0) *out0 = newTemp(Ity_I64);
+ IRTemp hi64 = newTemp(Ity_I64);
+ IRTemp lo64 = newTemp(Ity_I64);
+ assign(hi64, unop(Iop_V128HIto64, mkexpr(v128)) );
+ assign(lo64, unop(Iop_V128to64, mkexpr(v128)) );
+ if (out3) assign(*out3, binop(Iop_Shr64, mkexpr(hi64), mkU8(32)));
+ if (out2) assign(*out2, binop(Iop_And64, mkexpr(hi64), mkU64(0xFFFFFFFF)));
+ if (out1) assign(*out1, binop(Iop_Shr64, mkexpr(lo64), mkU8(32)));
+ if (out0) assign(*out0, binop(Iop_And64, mkexpr(lo64), mkU64(0xFFFFFFFF)));
+}
+
+// Make a V128 bit value from 4 32 bit ones, each of which is in a 64 bit
+// IRTemp.
+static IRTemp mkV128from32s ( IRTemp in3, IRTemp in2, IRTemp in1, IRTemp in0 )
+{
+ IRTemp hi64 = newTemp(Ity_I64);
+ IRTemp lo64 = newTemp(Ity_I64);
+ assign(hi64,
+ binop(Iop_Or64,
+ binop(Iop_Shl64, mkexpr(in3), mkU8(32)),
+ binop(Iop_And64, mkexpr(in2), mkU64(0xFFFFFFFF))));
+ assign(lo64,
+ binop(Iop_Or64,
+ binop(Iop_Shl64, mkexpr(in1), mkU8(32)),
+ binop(Iop_And64, mkexpr(in0), mkU64(0xFFFFFFFF))));
+ IRTemp res = newTemp(Ity_V128);
+ assign(res, binop(Iop_64HLtoV128, mkexpr(hi64), mkexpr(lo64)));
+ return res;
+}
+
+static IRExpr* mk_CatEvenLanes32x4 ( IRTemp a3210, IRTemp b3210 )
+{
+ // returns a2 a0 b2 b0
+ IRTemp a2, a0, b2, b0;
+ breakV128to32s(NULL, &a2, NULL, &a0, a3210);
+ breakV128to32s(NULL, &b2, NULL, &b0, b3210);
+ return mkexpr(mkV128from32s(a2, a0, b2, b0));
+}
+
+static IRExpr* mk_CatOddLanes32x4 ( IRTemp a3210, IRTemp b3210 )
+{
+ // returns a3 a1 b3 b1
+ IRTemp a3, a1, b3, b1;
+ breakV128to32s(&a3, NULL, &a1, NULL, a3210);
+ breakV128to32s(&b3, NULL, &b1, NULL, b3210);
+ return mkexpr(mkV128from32s(a3, a1, b3, b1));
+}
+
+
+////////////////////////////////////////////////////////////////
+// 16x8 operations
+//
+
+static void breakV128to16s ( IRTemp* out7, IRTemp* out6, IRTemp* out5,
+ IRTemp* out4, IRTemp* out3, IRTemp* out2,
+ IRTemp* out1,IRTemp* out0, IRTemp v128 )
+{
+ if (out7) *out7 = newTemp(Ity_I64);
+ if (out6) *out6 = newTemp(Ity_I64);
+ if (out5) *out5 = newTemp(Ity_I64);
+ if (out4) *out4 = newTemp(Ity_I64);
+ if (out3) *out3 = newTemp(Ity_I64);
+ if (out2) *out2 = newTemp(Ity_I64);
+ if (out1) *out1 = newTemp(Ity_I64);
+ if (out0) *out0 = newTemp(Ity_I64);
+ IRTemp hi64 = newTemp(Ity_I64);
+ IRTemp lo64 = newTemp(Ity_I64);
+ assign(hi64, unop(Iop_V128HIto64, mkexpr(v128)) );
+ assign(lo64, unop(Iop_V128to64, mkexpr(v128)) );
+ if (out7)
+ assign(*out7, binop(Iop_And64,
+ binop(Iop_Shr64, mkexpr(hi64), mkU8(48)),
+ mkU64(0xFFFF)));
+ if (out6)
+ assign(*out6, binop(Iop_And64,
+ binop(Iop_Shr64, mkexpr(hi64), mkU8(32)),
+ mkU64(0xFFFF)));
+ if (out5)
+ assign(*out5, binop(Iop_And64,
+ binop(Iop_Shr64, mkexpr(hi64), mkU8(16)),
+ mkU64(0xFFFF)));
+ if (out4)
+ assign(*out4, binop(Iop_And64, mkexpr(hi64), mkU64(0xFFFF)));
+ if (out3)
+ assign(*out3, binop(Iop_And64,
+ binop(Iop_Shr64, mkexpr(lo64), mkU8(48)),
+ mkU64(0xFFFF)));
+ if (out2)
+ assign(*out2, binop(Iop_And64,
+ binop(Iop_Shr64, mkexpr(lo64), mkU8(32)),
+ mkU64(0xFFFF)));
+ if (out1)
+ assign(*out1, binop(Iop_And64,
+ binop(Iop_Shr64, mkexpr(lo64), mkU8(16)),
+ mkU64(0xFFFF)));
+ if (out0)
+ assign(*out0, binop(Iop_And64, mkexpr(lo64), mkU64(0xFFFF)));
+}
+
+static IRTemp mkV128from16s ( IRTemp in7, IRTemp in6, IRTemp in5, IRTemp in4,
+ IRTemp in3, IRTemp in2, IRTemp in1, IRTemp in0 )
+{
+ IRTemp hi64 = newTemp(Ity_I64);
+ IRTemp lo64 = newTemp(Ity_I64);
+ assign(hi64,
+ binop(Iop_Or64,
+ binop(Iop_Or64,
+ binop(Iop_Shl64,
+ binop(Iop_And64, mkexpr(in7), mkU64(0xFFFF)),
+ mkU8(48)),
+ binop(Iop_Shl64,
+ binop(Iop_And64, mkexpr(in6), mkU64(0xFFFF)),
+ mkU8(32))),
+ binop(Iop_Or64,
+ binop(Iop_Shl64,
+ binop(Iop_And64, mkexpr(in5), mkU64(0xFFFF)),
+ mkU8(16)),
+ binop(Iop_And64,
+ mkexpr(in4), mkU64(0xFFFF)))));
+ assign(lo64,
+ binop(Iop_Or64,
+ binop(Iop_Or64,
+ binop(Iop_Shl64,
+ binop(Iop_And64, mkexpr(in3), mkU64(0xFFFF)),
+ mkU8(48)),
+ binop(Iop_Shl64,
+ binop(Iop_And64, mkexpr(in2), mkU64(0xFFFF)),
+ mkU8(32))),
+ binop(Iop_Or64,
+ binop(Iop_Shl64,
+ binop(Iop_And64, mkexpr(in1), mkU64(0xFFFF)),
+ mkU8(16)),
+ binop(Iop_And64,
+ mkexpr(in0), mkU64(0xFFFF)))));
+ IRTemp res = newTemp(Ity_V128);
+ assign(res, binop(Iop_64HLtoV128, mkexpr(hi64), mkexpr(lo64)));
+ return res;
+}
+
+static IRExpr* mk_CatEvenLanes16x8 ( IRTemp a76543210, IRTemp b76543210 )
+{
+ // returns a6 a4 a2 a0 b6 b4 b2 b0
+ IRTemp a6, a4, a2, a0, b6, b4, b2, b0;
+ breakV128to16s(NULL, &a6, NULL, &a4, NULL, &a2, NULL, &a0, a76543210);
+ breakV128to16s(NULL, &b6, NULL, &b4, NULL, &b2, NULL, &b0, b76543210);
+ return mkexpr(mkV128from16s(a6, a4, a2, a0, b6, b4, b2, b0));
+}
+
+static IRExpr* mk_CatOddLanes16x8 ( IRTemp a76543210, IRTemp b76543210 )
+{
+ // returns a7 a5 a3 a1 b7 b5 b3 b1
+ IRTemp a7, a5, a3, a1, b7, b5, b3, b1;
+ breakV128to16s(&a7, NULL, &a5, NULL, &a3, NULL, &a1, NULL, a76543210);
+ breakV128to16s(&b7, NULL, &b5, NULL, &b3, NULL, &b1, NULL, b76543210);
+ return mkexpr(mkV128from16s(a7, a5, a3, a1, b7, b5, b3, b1));
+}
+
+
/*--------------------------------------------------------------------*/
/*--- end guest_arm64_toIR.c ---*/
/*--------------------------------------------------------------------*/
Modified: trunk/priv/host_arm64_defs.c
==============================================================================
--- trunk/priv/host_arm64_defs.c (original)
+++ trunk/priv/host_arm64_defs.c Wed Feb 5 11:01:19 2014
@@ -861,6 +861,16 @@
case ARM64vecb_FSUB64x2: *nm = "fsub"; *ar = "2d"; return;
case ARM64vecb_FMUL64x2: *nm = "fmul"; *ar = "2d"; return;
case ARM64vecb_FDIV64x2: *nm = "fdiv"; *ar = "2d"; return;
+ case ARM64vecb_FADD32x4: *nm = "fadd"; *ar = "4s"; return;
+ case ARM64vecb_FSUB32x4: *nm = "fsub"; *ar = "4s"; return;
+ case ARM64vecb_FMUL32x4: *nm = "fmul"; *ar = "4s"; return;
+ case ARM64vecb_FDIV32x4: *nm = "fdiv"; *ar = "4s"; return;
+ case ARM64vecb_UMAX32x4: *nm = "umax"; *ar = "4s"; return;
+ case ARM64vecb_UMAX16x8: *nm = "umax"; *ar = "8h"; return;
+ case ARM64vecb_UMIN32x4: *nm = "umin"; *ar = "4s"; return;
+ case ARM64vecb_UMIN16x8: *nm = "umin"; *ar = "8h"; return;
+ case ARM64vecb_AND: *nm = "and "; *ar = "all"; return;
+ case ARM64vecb_ORR: *nm = "orr "; *ar = "all"; return;
default: vpanic("showARM64VecBinOp");
}
}
@@ -3214,13 +3224,16 @@
#define X000000 BITS8(0,0, 0,0,0,0,0,0)
#define X000100 BITS8(0,0, 0,0,0,1,0,0)
+#define X000111 BITS8(0,0, 0,0,0,1,1,1)
#define X001000 BITS8(0,0, 0,0,1,0,0,0)
#define X001001 BITS8(0,0, 0,0,1,0,0,1)
#define X001010 BITS8(0,0, 0,0,1,0,1,0)
#define X001111 BITS8(0,0, 0,0,1,1,1,1)
#define X010000 BITS8(0,0, 0,1,0,0,0,0)
#define X010001 BITS8(0,0, 0,1,0,0,0,1)
+#define X011001 BITS8(0,0, 0,1,1,0,0,1)
#define X011010 BITS8(0,0, 0,1,1,0,1,0)
+#define X011011 BITS8(0,0, 0,1,1,0,1,1)
#define X011111 BITS8(0,0, 0,1,1,1,1,1)
#define X100001 BITS8(0,0, 1,0,0,0,0,1)
#define X100100 BITS8(0,0, 1,0,0,1,0,0)
@@ -4748,9 +4761,19 @@
011 01110 10 1 m 100001 n d SUB Vd.4s, Vn.4s, Vm.4s
011 01110 01 1 m 100001 n d SUB Vd.8h, Vn.8h, Vm.8h
010 01110 01 1 m 110101 n d FADD Vd.2d, Vn.2d, Vm.2d
+ 010 01110 00 1 m 110101 n d FADD Vd.4s, Vn.4s, Vm.4s
010 01110 11 1 m 110101 n d FSUB Vd.2d, Vn.2d, Vm.2d
+ 010 01110 10 1 m 110101 n d FSUB Vd.4s, Vn.4s, Vm.4s
011 01110 01 1 m 110111 n d FMUL Vd.2d, Vn.2d, Vm.2d
+ 011 01110 00 1 m 110111 n d FMUL Vd.4s, Vn.4s, Vm.4s
011 01110 01 1 m 111111 n d FDIV Vd.2d, Vn.2d, Vm.2d
+ 011 01110 00 1 m 111111 n d FDIV Vd.4s, Vn.4s, Vm.4s
+ 011 01110 10 1 m 011001 n d UMAX Vd.4s, Vn.4s, Vm.4s
+ 011 01110 01 1 m 011001 n d UMAX Vd.8h, Vn.8h, Vm.8h
+ 011 01110 10 1 m 011011 n d UMIN Vd.4s, Vn.4s, Vm.4s
+ 011 01110 01 1 m 011011 n d UMIN Vd.8h, Vn.8h, Vm.8h
+ 010 01110 00 1 m 000111 n d AND Vd, Vn, Vm
+ 010 01110 10 1 m 000111 n d ORR Vd, Vn, Vm
*/
UInt vD = qregNo(i->ARM64in.VBinV.dst);
UInt vN = qregNo(i->ARM64in.VBinV.argL);
@@ -4759,6 +4782,7 @@
case ARM64vecb_ADD64x2:
*p++ = X_3_8_5_6_5_5(X010, X01110111, vM, X100001, vN, vD);
break;
+ // ADD32x4
case ARM64vecb_SUB64x2:
*p++ = X_3_8_5_6_5_5(X011, X01110111, vM, X100001, vN, vD);
break;
@@ -4771,15 +4795,46 @@
case ARM64vecb_FADD64x2:
*p++ = X_3_8_5_6_5_5(X010, X01110011, vM, X110101, vN, vD);
break;
+ case ARM64vecb_FADD32x4:
+ *p++ = X_3_8_5_6_5_5(X010, X01110001, vM, X110101, vN, vD);
+ break;
case ARM64vecb_FSUB64x2:
*p++ = X_3_8_5_6_5_5(X010, X01110111, vM, X110101, vN, vD);
break;
+ case ARM64vecb_FSUB32x4:
+ *p++ = X_3_8_5_6_5_5(X010, X01110101, vM, X110101, vN, vD);
+ break;
case ARM64vecb_FMUL64x2:
*p++ = X_3_8_5_6_5_5(X011, X01110011, vM, X110111, vN, vD);
break;
+ case ARM64vecb_FMUL32x4:
+ *p++ = X_3_8_5_6_5_5(X011, X01110001, vM, X110111, vN, vD);
+ break;
case ARM64vecb_FDIV64x2:
*p++ = X_3_8_5_6_5_5(X011, X01110011, vM, X111111, vN, vD);
break;
+ case ARM64vecb_FDIV32x4:
+ *p++ = X_3_8_5_6_5_5(X011, X01110001, vM, X111111, vN, vD);
+ break;
+ case ARM64vecb_UMAX32x4:
+ *p++ = X_3_8_5_6_5_5(X011, X01110101, vM, X011001, vN, vD);
+ break;
+ case ARM64vecb_UMAX16x8:
+ *p++ = X_3_8_5_6_5_5(X011, X01110011, vM, X011001, vN, vD);
+ break;
+ case ARM64vecb_UMIN32x4:
+ *p++ = X_3_8_5_6_5_5(X011, X01110101, vM, X011011, vN, vD);
+ break;
+ case ARM64vecb_UMIN16x8:
+ *p++ = X_3_8_5_6_5_5(X011, X01110011, vM, X011011, vN, vD);
+ break;
+ case ARM64vecb_ORR:
+ goto bad; //ATC
+ *p++ = X_3_8_5_6_5_5(X010, X01110101, vM, X000111, vN, vD);
+ break;
+ case ARM64vecb_AND:
+ *p++ = X_3_8_5_6_5_5(X010, X01110001, vM, X000111, vN, vD);
+ break;
default:
goto bad;
}
@@ -5690,13 +5745,25 @@
case ARM64in_VImmQ: {
UInt rQ = qregNo(i->ARM64in.VImmQ.rQ);
UShort imm = i->ARM64in.VImmQ.imm;
- if (imm == 0) {
+ if (imm == 0x0000) {
/* movi rQ.4s, #0x0 == 0x4F 0x00 0x04 000 rQ */
vassert(rQ < 32);
*p++ = 0x4F000400 | rQ;
goto done;
}
- goto bad; /* zero is the only handled case right now */
+ if (imm == 0x0003) {
+ /* movi rD, #0xFFFF == 0x2F 0x00 0xE4 011 rD */
+ vassert(rQ < 32);
+ *p++ = 0x2F00E460 | rQ;
+ goto done;
+ }
+ if (imm == 0x000F) {
+ /* movi rD, #0xFFFFFFFF == 0x2F 0x00 0xE5 111 rD */
+ vassert(rQ < 32);
+ *p++ = 0x2F00E5E0 | rQ;
+ goto done;
+ }
+ goto bad; /* no other handled cases right now */
}
case ARM64in_VDfromX: {
Modified: trunk/priv/host_arm64_defs.h
==============================================================================
--- trunk/priv/host_arm64_defs.h (original)
+++ trunk/priv/host_arm64_defs.h Wed Feb 5 11:01:19 2014
@@ -317,6 +317,16 @@
ARM64vecb_FSUB64x2,
ARM64vecb_FMUL64x2,
ARM64vecb_FDIV64x2,
+ ARM64vecb_FADD32x4,
+ ARM64vecb_FSUB32x4,
+ ARM64vecb_FMUL32x4,
+ ARM64vecb_FDIV32x4,
+ ARM64vecb_UMAX32x4,
+ ARM64vecb_UMAX16x8,
+ ARM64vecb_UMIN32x4,
+ ARM64vecb_UMIN16x8,
+ ARM64vecb_AND,
+ ARM64vecb_ORR,
ARM64vecb_INVALID
}
ARM64VecBinOp;
Modified: trunk/priv/host_arm64_isel.c
==============================================================================
--- trunk/priv/host_arm64_isel.c (original)
+++ trunk/priv/host_arm64_isel.c Wed Feb 5 11:01:19 2014
@@ -4340,8 +4340,26 @@
goto v128_expr_bad;
}
-//ZZ if (e->tag == Iex_Unop) {
-//ZZ switch (e->Iex.Unop.op) {
+ if (e->tag == Iex_Unop) {
+
+ /* Iop_ZeroHIXXofV128 cases */
+ UShort imm16 = 0;
+ switch (e->Iex.Unop.op) {
+ case Iop_ZeroHI96ofV128: imm16 = 0x000F; break;
+ case Iop_ZeroHI112ofV128: imm16 = 0x0003; break;
+ default: break;
+ }
+ if (imm16 != 0) {
+ HReg src = iselV128Expr(env, e->Iex.Unop.arg);
+ HReg imm = newVRegV(env);
+ HReg res = newVRegV(env);
+ addInstr(env, ARM64Instr_VImmQ(imm, imm16));
+ addInstr(env, ARM64Instr_VBinV(ARM64vecb_AND, res, src, imm));
+ return res;
+ }
+
+ /* Other cases */
+ switch (e->Iex.Unop.op) {
//ZZ case Iop_NotV128: {
//ZZ DECLARE_PATTERN(p_veqz_8x16);
//ZZ DECLARE_PATTERN(p_veqz_16x8);
@@ -4807,11 +4825,11 @@
//ZZ res, arg, 0, True));
//ZZ return res;
//ZZ }
-//ZZ /* ... */
-//ZZ default:
-//ZZ break;
-//ZZ }
-//ZZ }
+ /* ... */
+ default:
+ break;
+ } /* switch on the unop */
+ } /* if (e->tag == Iex_Unop) */
if (e->tag == Iex_Binop) {
switch (e->Iex.Binop.op) {
@@ -4849,6 +4867,10 @@
//ZZ case Iop_Add8x16:
//ZZ case Iop_Add16x8:
//ZZ case Iop_Add32x4:
+ case Iop_Max32Ux4:
+ case Iop_Max16Ux8:
+ case Iop_Min32Ux4:
+ case Iop_Min16Ux8:
case Iop_Add64x2:
case Iop_Sub64x2:
case Iop_Sub32x4:
@@ -4858,10 +4880,14 @@
HReg argR = iselV128Expr(env, e->Iex.Binop.arg2);
ARM64VecBinOp op = ARM64vecb_INVALID;
switch (e->Iex.Binop.op) {
- case Iop_Add64x2: op = ARM64vecb_ADD64x2; break;
- case Iop_Sub64x2: op = ARM64vecb_SUB64x2; break;
- case Iop_Sub32x4: op = ARM64vecb_SUB32x4; break;
- case Iop_Sub16x8: op = ARM64vecb_SUB16x8; break;
+ case Iop_Max32Ux4: op = ARM64vecb_UMAX32x4; break;
+ case Iop_Max16Ux8: op = ARM64vecb_UMAX16x8; break;
+ case Iop_Min32Ux4: op = ARM64vecb_UMIN32x4; break;
+ case Iop_Min16Ux8: op = ARM64vecb_UMIN16x8; break;
+ case Iop_Add64x2: op = ARM64vecb_ADD64x2; break;
+ case Iop_Sub64x2: op = ARM64vecb_SUB64x2; break;
+ case Iop_Sub32x4: op = ARM64vecb_SUB32x4; break;
+ case Iop_Sub16x8: op = ARM64vecb_SUB16x8; break;
default: vassert(0);
}
addInstr(env, ARM64Instr_VBinV(op, res, argL, argR));
@@ -5747,6 +5773,10 @@
case Iop_Sub64Fx2: vecbop = ARM64vecb_FSUB64x2; break;
case Iop_Mul64Fx2: vecbop = ARM64vecb_FMUL64x2; break;
case Iop_Div64Fx2: vecbop = ARM64vecb_FDIV64x2; break;
+ case Iop_Add32Fx4: vecbop = ARM64vecb_FADD32x4; break;
+ case Iop_Sub32Fx4: vecbop = ARM64vecb_FSUB32x4; break;
+ case Iop_Mul32Fx4: vecbop = ARM64vecb_FMUL32x4; break;
+ case Iop_Div32Fx4: vecbop = ARM64vecb_FDIV32x4; break;
default: break;
}
if (vecbop != ARM64vecb_INVALID) {
Modified: trunk/priv/ir_defs.c
==============================================================================
--- trunk/priv/ir_defs.c (original)
+++ trunk/priv/ir_defs.c Wed Feb 5 11:01:19 2014
@@ -694,7 +694,11 @@
case Iop_64UtoV128: vex_printf("64UtoV128"); return;
case Iop_SetV128lo64: vex_printf("SetV128lo64"); return;
- case Iop_ZeroHI64: vex_printf("ZeroHI64"); return;
+
+ case Iop_ZeroHI64ofV128: vex_printf("ZeroHI64ofV128"); return;
+ case Iop_ZeroHI96ofV128: vex_printf("ZeroHI96ofV128"); return;
+ case Iop_ZeroHI112ofV128: vex_printf("ZeroHI112ofV128"); return;
+ case Iop_ZeroHI120ofV128: vex_printf("ZeroHI120ofV128"); return;
case Iop_32UtoV128: vex_printf("32UtoV128"); return;
case Iop_V128to32: vex_printf("V128to32"); return;
@@ -2905,6 +2909,8 @@
case Iop_Abs8x16: case Iop_Abs16x8: case Iop_Abs32x4:
case Iop_CipherSV128:
case Iop_PwBitMtxXpose64x2:
+ case Iop_ZeroHI64ofV128: case Iop_ZeroHI96ofV128:
+ case Iop_ZeroHI112ofV128: case Iop_ZeroHI120ofV128:
UNARY(Ity_V128, Ity_V128);
case Iop_ShlV128: case Iop_ShrV128:
Modified: trunk/pub/libvex_ir.h
==============================================================================
--- trunk/pub/libvex_ir.h (original)
+++ trunk/pub/libvex_ir.h Wed Feb 5 11:01:19 2014
@@ -1363,8 +1363,11 @@
Iop_64UtoV128,
Iop_SetV128lo64,
- /* Copies lower 64 bits, zeroes out upper 64 bits. */
- Iop_ZeroHI64, // :: V128 -> V128
+ /* Copies lower 64/32/16/8 bits, zeroes out the rest. */
+ Iop_ZeroHI64ofV128, // :: V128 -> V128
+ Iop_ZeroHI96ofV128, // :: V128 -> V128
+ Iop_ZeroHI112ofV128, // :: V128 -> V128
+ Iop_ZeroHI120ofV128, // :: V128 -> V128
/* 32 <-> 128 bit vector */
Iop_32UtoV128,
|
|
From: Philippe W. <phi...@sk...> - 2014-02-01 05:44:57
|
valgrind revision: 13786 VEX revision: 2811 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-01-31 20:00:14 PST Ended at 2014-01-31 21:41:58 PST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 573 tests, 37 stderr failures, 7 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) none/tests/ppc32/jm-vmx (stdout) none/tests/ppc32/jm-vmx (stderr) none/tests/ppc32/test_isa_2_06_part2 (stdout) none/tests/ppc32/test_isa_2_06_part2 (stderr) none/tests/ppc64/jm-vmx (stdout) none/tests/ppc64/jm-vmx (stderr) none/tests/ppc64/test_isa_2_06_part2 (stdout) none/tests/ppc64/test_isa_2_06_part2 (stderr) helgrind/tests/annotate_rwlock (stderr) helgrind/tests/free_is_write (stderr) helgrind/tests/hg02_deadlock (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/locked_vs_unlocked1_fwd (stderr) helgrind/tests/locked_vs_unlocked1_rev (stderr) helgrind/tests/locked_vs_unlocked2 (stderr) helgrind/tests/locked_vs_unlocked3 (stderr) helgrind/tests/pth_barrier1 (stderr) helgrind/tests/pth_barrier2 (stderr) helgrind/tests/pth_barrier3 (stderr) helgrind/tests/pth_cond_destroy_busy (stderr) helgrind/tests/pth_destroy_cond (stderr) helgrind/tests/rwlock_race (stderr) helgrind/tests/tc01_simple_race (stderr) helgrind/tests/tc05_simple_race (stderr) helgrind/tests/tc06_two_races (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc09_bad_unlock (stderr) helgrind/tests/tc14_laog_dinphils (stderr) helgrind/tests/tc16_byterace (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc19_shadowmem (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) --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.22s no: 1.6s ( 7.1x, -----) me: 2.8s (12.8x, -----) ca:18.6s (84.4x, -----) he: 1.7s ( 7.9x, -----) ca: 5.4s (24.5x, -----) dr: 1.7s ( 7.8x, -----) ma: 2.1s ( 9.6x, -----) bigcode1 valgrind-old:0.22s no: 1.6s ( 7.1x, 0.6%) me: 2.9s (13.3x, -3.9%) ca:18.8s (85.4x, -1.2%) he: 1.7s ( 7.9x, -0.6%) ca: 5.4s (24.5x, 0.0%) dr: 1.7s ( 7.8x, 0.0%) ma: 2.1s ( 9.6x, 0.5%) -- bigcode2 -- bigcode2 valgrind-new:0.23s no: 1.6s ( 6.7x, -----) me: 3.2s (13.8x, -----) ca:18.8s (81.9x, -----) he: 2.1s ( 9.1x, -----) ca: 5.5s (23.7x, -----) dr: 1.8s ( 8.0x, -----) ma: 2.2s ( 9.4x, -----) bigcode2 valgrind-old:0.23s no: 1.7s ( 7.5x,-11.0%) me: 3.3s (14.2x, -2.8%) ca:18.7s (81.1x, 0.9%) he: 2.1s ( 9.1x, 0.0%) ca: 5.5s (23.7x, 0.0%) dr: 1.8s ( 8.0x, 0.5%) ma: 2.1s ( 9.3x, 1.4%) -- bz2 -- bz2 valgrind-new:0.72s no: 4.5s ( 6.3x, -----) me:11.8s (16.4x, -----) ca:26.6s (37.0x, -----) he:14.7s (20.3x, -----) ca:24.4s (34.0x, -----) dr:20.4s (28.4x, -----) ma: 4.7s ( 6.6x, -----) bz2 valgrind-old:0.72s no: 4.6s ( 6.3x, -0.2%) me:11.8s (16.5x, -0.5%) ca:26.8s (37.2x, -0.6%) he:14.5s (20.2x, 0.8%) ca:24.2s (33.6x, 1.0%) dr:20.4s (28.3x, 0.3%) ma: 4.7s ( 6.5x, 1.9%) -- fbench -- fbench valgrind-new:0.34s no: 2.1s ( 6.3x, -----) me: 5.2s (15.4x, -----) ca: 8.5s (25.1x, -----) he: 5.2s (15.4x, -----) ca: 7.5s (22.2x, -----) dr: 5.0s (14.6x, -----) ma: 2.2s ( 6.4x, -----) fbench valgrind-old:0.34s no: 2.1s ( 6.3x, 0.0%) me: 5.3s (15.7x, -2.1%) ca: 8.5s (25.0x, 0.1%) he: 5.2s (15.4x, -0.6%) ca: 7.5s (22.1x, 0.4%) dr: 5.0s (14.6x, 0.0%) ma: 2.1s ( 6.3x, 0.5%) -- ffbench -- ffbench valgrind-new:0.45s no: 1.3s ( 3.0x, -----) me: 2.6s ( 5.8x, -----) ca: 2.5s ( 5.6x, -----) he: 7.0s (15.6x, -----) ca: 7.2s (16.0x, -----) dr: 5.0s (11.2x, -----) ma: 1.1s ( 2.4x, -----) ffbench valgrind-old:0.45s no: 1.3s ( 3.0x, 0.0%) me: 2.6s ( 5.7x, 1.1%) ca: 2.5s ( 5.6x, 0.4%) he: 7.0s (15.6x, 0.4%) ca: 7.2s (16.1x, -0.8%) dr: 5.0s (11.2x, 0.2%) ma: 1.0s ( 2.2x, 6.5%) -- heap -- heap valgrind-new:0.41s no: 2.4s ( 5.9x, -----) me: 9.8s (23.8x, -----) ca:13.4s (32.6x, -----) he:11.7s (28.6x, -----) ca:12.2s (29.7x, -----) dr: 8.5s (20.7x, -----) ma: 8.6s (21.1x, -----) heap valgrind-old:0.41s no: 2.5s ( 6.0x, -2.9%) me: 9.8s (24.0x, -0.7%) ca:13.3s (32.5x, 0.2%) he:11.7s (28.5x, 0.2%) ca:12.1s (29.6x, 0.5%) dr: 8.2s (20.1x, 2.6%) ma: 8.6s (21.0x, 0.6%) -- heap_pdb4 -- heap_pdb4 valgrind-new:0.42s no: 2.6s ( 6.3x, -----) me:14.2s (33.8x, -----) ca:14.6s (34.8x, -----) he:13.3s (31.6x, -----) ca:13.2s (31.4x, -----) dr: 9.1s (21.7x, -----) ma: 8.9s (21.2x, -----) heap_pdb4 valgrind-old:0.42s no: 2.6s ( 6.1x, 2.6%) me:14.0s (33.4x, 1.0%) ca:14.3s (34.0x, 2.2%) he:13.3s (31.6x, 0.1%) ca:13.1s (31.2x, 0.4%) dr: 9.2s (21.9x, -0.8%) ma: 8.8s (20.9x, 1.5%) -- many-loss-records -- many-loss-records valgrind-new:0.03s no: 0.5s (17.3x, -----) me: 2.2s (73.7x, -----) ca: 1.9s (63.7x, -----) he: 1.8s (60.0x, -----) ca: 1.9s (61.7x, -----) dr: 1.5s (51.3x, -----) ma: 1.6s (53.0x, -----) many-loss-records valgrind-old:0.03s no: 0.5s (17.3x, 0.0%) me: 2.2s (72.3x, 1.8%) ca: 1.9s (63.0x, 1.0%) he: 1.8s (59.7x, 0.6%) ca: 1.9s (62.3x, -1.1%) dr: 1.5s (51.0x, 0.6%) ma: 1.6s (53.0x, -0.0%) -- many-xpts -- many-xpts valgrind-new:0.06s no: 0.7s (12.3x, -----) me: 3.4s (56.8x, -----) ca: 4.7s (79.0x, -----) he: 4.8s (79.8x, -----) ca: 2.9s (48.2x, -----) dr: 2.3s (38.0x, -----) ma: 2.3s (38.0x, -----) many-xpts valgrind-old:0.06s no: 0.7s (12.3x, 0.0%) me: 3.4s (57.0x, -0.3%) ca: 4.8s (79.3x, -0.4%) he: 4.8s (80.2x, -0.4%) ca: 2.9s (48.0x, 0.3%) dr: 2.3s (38.0x, 0.0%) ma: 2.3s (37.7x, 0.9%) -- sarp -- sarp valgrind-new:0.02s no: 0.4s (20.0x, -----) me: 3.2s (159.5x, -----) ca: 2.9s (147.0x, -----) he:11.1s (553.0x, -----) ca: 1.7s (84.5x, -----) dr: 1.1s (55.0x, -----) ma: 0.4s (21.0x, -----) sarp valgrind-old:0.02s no: 0.4s (20.0x, 0.0%) me: 3.2s (159.0x, 0.3%) ca: 2.9s (147.0x, 0.0%) he:11.1s (553.0x, 0.0%) ca: 1.8s (88.5x, -4.7%) dr: 1.1s (55.0x, 0.0%) ma: 0.4s (21.0x, 0.0%) -- tinycc -- tinycc valgrind-new:0.27s no: 3.0s (11.0x, -----) me:14.1s (52.3x, -----) ca:17.5s (64.9x, -----) he:19.0s (70.2x, -----) ca:15.7s (58.2x, -----) dr:12.4s (45.9x, -----) ma: 3.9s (14.4x, -----) tinycc valgrind-old:0.27s no: 3.0s (11.0x, 0.0%) me:14.5s (53.8x, -2.9%) ca:17.5s (64.9x, -0.1%) he:19.2s (71.1x, -1.2%) ca:15.7s (58.1x, 0.2%) dr:12.4s (45.9x, -0.1%) ma: 3.9s (14.3x, 0.8%) -- Finished tests in perf ---------------------------------------------- == 11 programs, 154 timings ================= real 55m5.765s user 53m37.876s sys 0m20.153s |
|
From: Tom H. <to...@co...> - 2014-02-01 04:25:21
|
valgrind revision: 13786 VEX revision: 2811 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.11.10-301.fc20.x86_64 x86_64 Vendor version: Fedora release 9 (Sulphur) Nightly build on bristol ( x86_64, Fedora 9 ) Started at 2014-02-01 03:52:12 GMT Ended at 2014-02-01 04:25:03 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 645 tests, 2 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/amd64/insn-pcmpistri (stderr) memcheck/tests/vbit-test/vbit-test (stderr) none/tests/amd64/sse4-64 (stdout) |
|
From: Rich C. <rc...@wi...> - 2014-02-01 04:22:59
|
valgrind revision: 13786 VEX revision: 2811 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-01-31 21:30:01 CST Ended at 2014-01-31 22:22:49 CST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 666 tests, 1 stderr failure, 0 stdout failures, 1 stderrB failure, 0 stdoutB failures, 0 post failures == gdbserver_tests/mssnapshot (stderrB) memcheck/tests/vbit-test/vbit-test (stderr) ================================================= ./valgrind-new/gdbserver_tests/mssnapshot.stderrB.diff ================================================= --- mssnapshot.stderrB.exp 2014-01-31 22:07:56.071615739 -0600 +++ mssnapshot.stderrB.out 2014-01-31 22:11:54.002067962 -0600 @@ -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-01-31 22:06:36.209816485 -0600 +++ vbit-test.stderr.out 2014-01-31 22:14:44.919355664 -0600 @@ -0,0 +1 @@ +unknown opcode 5736 ================================================= ./valgrind-old/gdbserver_tests/mssnapshot.stderrB.diff ================================================= --- mssnapshot.stderrB.exp 2014-01-31 21:47:25.524331925 -0600 +++ mssnapshot.stderrB.out 2014-01-31 21:54:48.362810458 -0600 @@ -1,5 +1,11 @@ relaying data between gdb and process .... +Missing separate debuginfo for /lib64/ld-linux-x86-64.so.2 +Try: zypper install -C "debuginfo(build-id)=ecb8ef1a6904a2a3ec60a527f415f520c8636158" vgdb-error value changed from 0 to 999999 +Missing separate debuginfo for /lib64/libpthread.so.0 +Try: zypper install -C "debuginfo(build-id)=ef5f5dbcb2398c608fef7884e1bfb65be3b5f0ef" +Missing separate debuginfo for /lib64/libc.so.6 +Try: zypper install -C "debuginfo(build-id)=bd1473e8e6a4c10a14731b5be4b35b4e87db2af7" general valgrind monitor commands: help [debug] : monitor command help. With debug: + debugging commands v.wait [<ms>] : sleep <ms> (default 0) then continue ================================================= ./valgrind-old/memcheck/tests/vbit-test/vbit-test.stderr.diff ================================================= --- vbit-test.stderr.exp 2014-01-31 21:48:43.432108515 -0600 +++ vbit-test.stderr.out 2014-01-31 21:57:38.791000313 -0600 @@ -0,0 +1 @@ +unknown opcode 5736 |
|
From: Tom H. <to...@co...> - 2014-02-01 04:10:13
|
valgrind revision: 13786 VEX revision: 2811 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.11.10-301.fc20.x86_64 x86_64 Vendor version: Fedora release 16 (Verne) Nightly build on bristol ( x86_64, Fedora 16 ) Started at 2014-02-01 03:03:32 GMT Ended at 2014-02-01 04:09:58 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 673 tests, 1 stderr failure, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/vbit-test/vbit-test (stderr) |
|
From: Tom H. <to...@co...> - 2014-02-01 04:09:25
|
valgrind revision: 13786 VEX revision: 2811 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.11.10-301.fc20.x86_64 x86_64 Vendor version: Fedora release 15 (Lovelock) Nightly build on bristol ( x86_64, Fedora 15 ) Started at 2014-02-01 03:16:33 GMT Ended at 2014-02-01 04:09:14 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 673 tests, 1 stderr failure, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/vbit-test/vbit-test (stderr) |
|
From: Tom H. <to...@co...> - 2014-02-01 03:50:28
|
valgrind revision: 13786 VEX revision: 2811 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.11.10-301.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-02-01 02:51:24 GMT Ended at 2014-02-01 03:50:16 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 673 tests, 5 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/vbit-test/vbit-test (stderr) exp-sgcheck/tests/preen_invars (stdout) exp-sgcheck/tests/preen_invars (stderr) |
|
From: Tom H. <to...@co...> - 2014-02-01 03:49:48
|
valgrind revision: 13786 VEX revision: 2811 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.11.10-301.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-02-01 02:41:37 GMT Ended at 2014-02-01 03:49:34 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 673 tests, 2 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/vbit-test/vbit-test (stderr) exp-sgcheck/tests/preen_invars (stdout) exp-sgcheck/tests/preen_invars (stderr) |