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: Tom H. <to...@co...> - 2014-02-11 03:36:45
|
valgrind revision: 13798 VEX revision: 2816 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-11 02:54:50 GMT Ended at 2014-02-11 03:36:32 GMT Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 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) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 673 tests, 4 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == gdbserver_tests/mcinfcallRU (stderr) gdbserver_tests/mcinfcallWSRU (stderr) gdbserver_tests/mcmain_pic (stderr) exp-sgcheck/tests/preen_invars (stdout) exp-sgcheck/tests/preen_invars (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short 2014-02-11 03:14:54.203032676 +0000 --- new.short 2014-02-11 03:36:32.526728420 +0000 *************** *** 8,10 **** ! == 673 tests, 4 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == gdbserver_tests/mcinfcallRU (stderr) --- 8,10 ---- ! == 673 tests, 5 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == gdbserver_tests/mcinfcallRU (stderr) *************** *** 12,13 **** --- 12,14 ---- gdbserver_tests/mcmain_pic (stderr) + memcheck/tests/vbit-test/vbit-test (stderr) exp-sgcheck/tests/preen_invars (stdout) |
|
From: Maran P. <ma...@li...> - 2014-02-11 03:34:46
|
valgrind revision: 13798 VEX revision: 2816 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-11 03:45:26 CET Ended at 2014-02-11 04:34:57 CET Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 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) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 647 tests, 3 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == helgrind/tests/pth_cond_destroy_busy (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc20_verifywrap (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short 2014-02-11 04:01:06.205315236 +0100 --- new.short 2014-02-11 04:15:58.145312985 +0100 *************** *** 8,10 **** ! == 647 tests, 3 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == helgrind/tests/pth_cond_destroy_busy (stderr) --- 8,11 ---- ! == 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) --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.9s (26.9x, -----) bigcode1 valgrind-old:0.22s no: 3.9s (17.6x, -0.3%) me: 5.7s (25.7x, 4.6%) -- bigcode2 -- bigcode2 valgrind-new:0.24s no: 6.4s (26.6x, -----) me:11.3s (46.9x, -----) bigcode2 valgrind-old:0.24s no: 6.3s (26.2x, 1.6%) me:10.9s (45.3x, 3.4%) -- bz2 -- bz2 valgrind-new:0.68s no: 5.1s ( 7.5x, -----) me:11.4s (16.8x, -----) bz2 valgrind-old:0.68s no: 5.3s ( 7.7x, -3.7%) me:11.6s (17.1x, -2.0%) -- fbench -- fbench valgrind-new:0.36s no: 1.5s ( 4.2x, -----) me: 5.7s (15.9x, -----) fbench valgrind-old:0.36s no: 1.5s ( 4.3x, -0.7%) me: 5.7s (15.7x, 1.2%) -- ffbench -- ffbench valgrind-new:0.21s no: 1.2s ( 5.7x, -----) me: 3.4s (16.3x, -----) ffbench valgrind-old:0.21s no: 1.2s ( 5.7x, -0.8%) me: 3.4s (16.2x, 0.6%) -- heap -- heap valgrind-new:0.23s no: 1.6s ( 6.7x, -----) me: 8.1s (35.3x, -----) heap valgrind-old:0.23s no: 1.6s ( 6.9x, -2.6%) me: 7.9s (34.5x, 2.2%) -- heap_pdb4 -- heap_pdb4 valgrind-new:0.23s no: 1.8s ( 7.6x, -----) me:12.2s (53.2x, -----) heap_pdb4 valgrind-old:0.23s no: 1.8s ( 7.7x, -0.6%) me:12.2s (52.8x, 0.7%) -- many-loss-records -- many-loss-records valgrind-new:0.03s no: 0.4s (13.0x, -----) me: 2.0s (67.7x, -----) many-loss-records valgrind-old:0.03s no: 0.4s (13.0x, 0.0%) me: 2.0s (65.3x, 3.4%) -- many-xpts -- many-xpts valgrind-new:0.07s no: 0.5s ( 7.6x, -----) me: 3.4s (48.4x, -----) many-xpts valgrind-old:0.07s no: 0.5s ( 7.6x, 0.0%) me: 3.3s (47.1x, 2.7%) -- sarp -- sarp valgrind-new:0.03s no: 0.5s (16.3x, -----) me: 5.5s (182.0x, -----) sarp valgrind-old:0.03s no: 0.5s (16.3x, 0.0%) me: 5.4s (179.7x, 1.3%) -- tinycc -- tinycc valgrind-new:0.23s no: 2.5s (10.7x, -----) me:15.3s (66.5x, -----) tinycc valgrind-old:0.23s no: 2.5s (11.0x, -2.8%) me:15.2s (66.3x, 0.4%) -- Finished tests in perf ---------------------------------------------- == 11 programs, 44 timings ================= real 18m59.065s user 18m37.958s sys 0m18.869s |
|
From: Rich C. <rc...@wi...> - 2014-02-11 03:34:05
|
valgrind revision: 13798
VEX revision: 2816
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-10 19:22:01 CST
Ended at 2014-02-10 21:33:49 CST
Results differ from 24 hours ago
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... failed
Regression test results follow
== 588 tests, 7 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)
exp-sgcheck/tests/hackedbz2 (stderr)
=================================================
== Results from 24 hours ago ==
=================================================
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... failed
Regression test results follow
== 588 tests, 6 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)
exp-sgcheck/tests/hackedbz2 (stderr)
=================================================
== Difference between 24 hours ago and now ==
=================================================
*** old.short Mon Feb 10 20:28:07 2014
--- new.short Mon Feb 10 21:33:49 2014
***************
*** 8,10 ****
! == 588 tests, 6 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
memcheck/tests/dw4 (stderr)
--- 8,10 ----
! == 588 tests, 7 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
memcheck/tests/dw4 (stderr)
***************
*** 14,15 ****
--- 14,16 ----
memcheck/tests/threadname_xml (stderr)
+ memcheck/tests/vbit-test/vbit-test (stderr)
exp-sgcheck/tests/hackedbz2 (stderr)
=================================================
./valgrind-new/exp-sgcheck/tests/hackedbz2.stderr.diff-glibc28-amd64
=================================================
--- hackedbz2.stderr.exp-glibc28-amd64 2014-02-10 20:32:13.380590431 -0600
+++ hackedbz2.stderr.out 2014-02-10 21:32:32.531574171 -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-10 20:28:36.685076665 -0600
+++ dw4.stderr.out 2014-02-10 20:50:44.822483660 -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-10 20:29:02.130371842 -0600
+++ err_disable3.stderr.out 2014-02-10 20:50:51.467560746 -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-10 20:29:15.216523647 -0600
+++ err_disable4.stderr.out 2014-02-10 20:50:55.520607763 -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-10 20:29:04.551399927 -0600
+++ threadname.stderr.out 2014-02-10 20:56:40.511609815 -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-10 20:29:15.247524007 -0600
+++ threadname_xml.stderr.out 2014-02-10 20:56:42.542633376 -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-10 20:29:02.159372178 -0600
+++ vbit-test.stderr.out 2014-02-10 20:58:53.763155593 -0600
@@ -0,0 +1 @@
+unknown opcode 5715
=================================================
./valgrind-old/exp-sgcheck/tests/hackedbz2.stderr.diff-glibc28-amd64
=================================================
--- hackedbz2.stderr.exp-glibc28-amd64 2014-02-10 19:24:05.382167798 -0600
+++ hackedbz2.stderr.out 2014-02-10 20:26:50.675846910 -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-10 19:25:39.431258810 -0600
+++ dw4.stderr.out 2014-02-10 19:45:06.723799932 -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-10 19:25:05.128860837 -0600
+++ err_disable3.stderr.out 2014-02-10 19:45:13.398877366 -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-10 19:25:21.943055939 -0600
+++ err_disable4.stderr.out 2014-02-10 19:45:17.270922284 -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-10 19:25:17.997010163 -0600
+++ threadname.stderr.out 2014-02-10 19:51:01.358913860 -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-10 19:25:21.957056101 -0600
+++ threadname_xml.stderr.out 2014-02-10 19:51:03.391937444 -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>
|
|
From: Tom H. <to...@co...> - 2014-02-11 03:31:16
|
valgrind revision: 13798 VEX revision: 2816 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-11 02:44:35 GMT Ended at 2014-02-11 03:31:05 GMT Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 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) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 673 tests, 1 stderr failure, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == exp-sgcheck/tests/preen_invars (stdout) exp-sgcheck/tests/preen_invars (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short 2014-02-11 03:06:20.947092221 +0000 --- new.short 2014-02-11 03:31:05.059048471 +0000 *************** *** 8,10 **** ! == 673 tests, 1 stderr failure, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == exp-sgcheck/tests/preen_invars (stdout) --- 8,11 ---- ! == 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) |
|
From: Tom H. <to...@co...> - 2014-02-11 03:15:56
|
valgrind revision: 13798 VEX revision: 2816 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-11 02:34:21 GMT Ended at 2014-02-11 03:15:33 GMT Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 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) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 673 tests, 2 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/dw4 (stderr) exp-sgcheck/tests/hackedbz2 (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short 2014-02-11 02:55:18.313047328 +0000 --- new.short 2014-02-11 03:15:33.751257807 +0000 *************** *** 8,11 **** ! == 673 tests, 2 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/dw4 (stderr) exp-sgcheck/tests/hackedbz2 (stderr) --- 8,12 ---- ! == 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: <sv...@va...> - 2014-02-10 17:52:47
|
Author: florian
Date: Mon Feb 10 17:52:35 2014
New Revision: 13798
Log:
Ignore executable. Should have been part of r13791.
Modified:
trunk/tests/ (props changed)
|
|
From: Florian K. <fl...@ei...> - 2014-02-10 15:28:07
|
Hi. What is the requirement for the size of the guest state? libvex.h:523 says it ought to be 8-byte aligned libvex.h:548 says if ought to be a multiple of 16 svn log -r2333 says: r2333 | sewardj | 2012-05-21 17:45:34 +0200 (Mon, 21 May 2012) | 5 lines Ensure s390x guest state size is 32-byte aligned, as per increase in alignment requirements resulting from r12569/r2330. grep '% 16' priv/*.c provides more evidence for a multiple of 16... priv/main_main.c: vassert(0 == sizeof(VexGuestX86State) % 16); priv/main_main.c: vassert(0 == sizeof(VexGuestAMD64State) % 16); priv/main_main.c: vassert(0 == sizeof(VexGuestPPC32State) % 16); priv/main_main.c: vassert(0 == sizeof(VexGuestPPC64State) % 16); priv/main_main.c: vassert(0 == sizeof(VexGuestS390XState) % 16); priv/main_main.c: vassert(0 == sizeof(VexGuestARMState) % 16); priv/main_main.c: vassert(0 == sizeof(VexGuestARM64State) % 16); priv/main_main.c: vassert(0 == sizeof(VexGuestMIPS32State) % 16); priv/main_main.c: vassert(0 == sizeof(VexGuestMIPS64State) % 16); Was the increase to multiple-of-32 reverted at some point ? Florian |
|
From: <sv...@va...> - 2014-02-10 12:27:41
|
Author: sewardj
Date: Mon Feb 10 12:27:29 2014
New Revision: 2816
Log:
Fix the ppc32 special-instruction magic sequence so it really does
preserve the value of r0, as claimed. Fixes #278808 (VEX side).
Modified:
trunk/priv/guest_ppc_toIR.c
Modified: trunk/priv/guest_ppc_toIR.c
==============================================================================
--- trunk/priv/guest_ppc_toIR.c (original)
+++ trunk/priv/guest_ppc_toIR.c Mon Feb 10 12:27:29 2014
@@ -78,9 +78,9 @@
concerned) but have meaning for supporting Valgrind. A special
instruction is flagged by a 16-byte preamble:
- 32-bit mode: 54001800 54006800 5400E800 54009800
- (rlwinm 0,0,3,0,0; rlwinm 0,0,13,0,0;
- rlwinm 0,0,29,0,0; rlwinm 0,0,19,0,0)
+ 32-bit mode: 5400183E 5400683E 5400E83E 5400983E
+ (rlwinm 0,0,3,0,31; rlwinm 0,0,13,0,31;
+ rlwinm 0,0,29,0,31; rlwinm 0,0,19,0,31)
64-bit mode: 78001800 78006800 7800E802 78009802
(rotldi 0,0,3; rotldi 0,0,13;
@@ -18523,20 +18523,20 @@
UChar* code = (UChar*)(guest_code + delta);
/* Spot the 16-byte preamble:
32-bit mode:
- 54001800 rlwinm 0,0,3,0,0
- 54006800 rlwinm 0,0,13,0,0
- 5400E800 rlwinm 0,0,29,0,0
- 54009800 rlwinm 0,0,19,0,0
+ 5400183E rlwinm 0,0,3,0,31
+ 5400683E rlwinm 0,0,13,0,31
+ 5400E83E rlwinm 0,0,29,0,31
+ 5400983E rlwinm 0,0,19,0,31
64-bit mode:
78001800 rotldi 0,0,3
78006800 rotldi 0,0,13
7800E802 rotldi 0,0,61
78009802 rotldi 0,0,51
*/
- UInt word1 = mode64 ? 0x78001800 : 0x54001800;
- UInt word2 = mode64 ? 0x78006800 : 0x54006800;
- UInt word3 = mode64 ? 0x7800E802 : 0x5400E800;
- UInt word4 = mode64 ? 0x78009802 : 0x54009800;
+ UInt word1 = mode64 ? 0x78001800 : 0x5400183E;
+ UInt word2 = mode64 ? 0x78006800 : 0x5400683E;
+ UInt word3 = mode64 ? 0x7800E802 : 0x5400E83E;
+ UInt word4 = mode64 ? 0x78009802 : 0x5400983E;
if (getUIntBigendianly(code+ 0) == word1 &&
getUIntBigendianly(code+ 4) == word2 &&
getUIntBigendianly(code+ 8) == word3 &&
|
|
From: <sv...@va...> - 2014-02-10 12:26:36
|
Author: sewardj
Date: Mon Feb 10 12:26:12 2014
New Revision: 13797
Log:
Fix the ppc32 special-instruction magic sequence so it really does
preserve the value of r0, as claimed. Fixes #278808 (Valgrind side).
Modified:
trunk/include/valgrind.h
Modified: trunk/include/valgrind.h
==============================================================================
--- trunk/include/valgrind.h (original)
+++ trunk/include/valgrind.h Mon Feb 10 12:26:12 2014
@@ -450,8 +450,8 @@
OrigFn;
#define __SPECIAL_INSTRUCTION_PREAMBLE \
- "rlwinm 0,0,3,0,0 ; rlwinm 0,0,13,0,0\n\t" \
- "rlwinm 0,0,29,0,0 ; rlwinm 0,0,19,0,0\n\t"
+ "rlwinm 0,0,3,0,31 ; rlwinm 0,0,13,0,31\n\t" \
+ "rlwinm 0,0,29,0,31 ; rlwinm 0,0,19,0,31\n\t"
#define VALGRIND_DO_CLIENT_REQUEST_EXPR( \
_zzq_default, _zzq_request, \
|
|
From: Mark W. <mj...@re...> - 2014-02-10 12:10:19
|
Hi all, Thanks for all you who came to Valgrind devroom at FOSDEM. I think the interest in the talks surprised us all. We had to turn away some people at some talks because the room was just full. For those who missed it most slides are attached to the talk pages listed at: https://fosdem.org/2014/schedule/track/valgrind/ (only the SimuVEX one is still missing). We also did try to record videos of the talks, but that wasn't a great success. We were missing a firewire cable at the start, so couldn't record anything. Then when we did get that cable the audio was really bad/silent. Sorry about that. The FOSDEM video staff is trying to rescue what is possible. If they are able to, the videos will turn up at: http://video.fosdem.org/2014/ (we were in K4201 on Sunday - which currently doesn't have any videos yet). Lesson learned for next time: - If we are doing video recordings we really need to find someone that is dedicated to doing that instead of having someone do it on the side. The FOSDEM staff offered a little training beforehand, but nobody had time to attend that training. - We had a relaxed schedule with some extra "free" time so people could get some lunch and drinks in between. But that did mean some talks had not enough time allocated for them (25 minutes really isn't that much). And we did run out of time during the last BoF session. We should allocate a bit more time per talk if possible (or at least warn that 25 minutes is too short for both a talk and a demo), and instead of a BoF with lots of small issues we should push for some lightning talks (mini BoFs) in between the larger talks. Maybe combined with a BoF at the end to use some more time for lightning subjects that could use some more discussion. - We really should organize some social get together before/after the technical talks. Just pick a pub for drinks or a restaurant for dinner to meet up. Thanks, Mark |
Author: sewardj
Date: Mon Feb 10 10:28:13 2014
New Revision: 2815
Log:
Implement more aarch64 vector insns:
{S,U}{MIN,MAX} Vd.T, Vn.T, Vm.T (8bitx16lane variants)
{S,U}{MIN,MAX}V Vd.T, Vn.T, Vm.T (8bitx16lane variants)
FMOV (vector, immediate)
MOVI (vector, immediate)
FABS (vector)
FNEG (vector)
FMLA (vector)
FMLS (vector)
{AND,BIC,ORR,ORN} (vector)
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 Mon Feb 10 10:28:13 2014
@@ -4376,6 +4376,8 @@
static IRExpr* mk_CatOddLanes32x4 ( IRTemp, IRTemp );
static IRExpr* mk_CatEvenLanes16x8 ( IRTemp, IRTemp );
static IRExpr* mk_CatOddLanes16x8 ( IRTemp, IRTemp );
+static IRExpr* mk_CatEvenLanes8x16 ( IRTemp, IRTemp );
+static IRExpr* mk_CatOddLanes8x16 ( IRTemp, IRTemp );
/* end FIXME -- rm temp scaffolding */
/* Generate N copies of |bit| in the bottom of a ULong. */
@@ -4390,6 +4392,28 @@
}
}
+static ULong Replicate32x2 ( ULong bits32 )
+{
+ vassert(0 == (bits32 & ~0xFFFFFFFFULL));
+ return (bits32 << 32) | bits32;
+}
+
+static ULong Replicate16x4 ( ULong bits16 )
+{
+ vassert(0 == (bits16 & ~0xFFFFULL));
+ return Replicate32x2((bits16 << 16) | bits16);
+}
+
+static ULong Replicate8x8 ( ULong bits8 )
+{
+ vassert(0 == (bits8 & ~0xFFULL));
+ return Replicate16x4((bits8 << 8) | bits8);
+}
+
+/* Expand the VFPExpandImm-style encoding in the bottom 8 bits of
+ |imm8| to either a 32-bit value if N is 32 or a 64 bit value if N
+ is 64. In the former case, the upper 32 bits of the returned value
+ are guaranteed to be zero. */
static ULong VFPExpandImm ( ULong imm8, Int N )
{
vassert(imm8 <= 0xFF);
@@ -4411,6 +4435,88 @@
return res;
}
+/* Expand an AdvSIMDExpandImm-style encoding into a 64-bit value.
+ This might fail, as indicated by the returned Bool. Page 2530 of
+ the manual. */
+static Bool AdvSIMDExpandImm ( /*OUT*/ULong* res,
+ UInt op, UInt cmode, UInt imm8 )
+{
+ vassert(op <= 1);
+ vassert(cmode <= 15);
+ vassert(imm8 <= 255);
+
+ *res = 0; /* will overwrite iff returning True */
+
+ ULong imm64 = 0;
+ Bool testimm8 = False;
+
+ switch (cmode >> 1) {
+ case 0:
+ testimm8 = False; imm64 = Replicate32x2(imm8); break;
+ case 1:
+ testimm8 = True; imm64 = Replicate32x2(imm8 << 8); break;
+ case 2:
+ testimm8 = True; imm64 = Replicate32x2(imm8 << 16); break;
+ case 3:
+ testimm8 = True; imm64 = Replicate32x2(imm8 << 24); break;
+ case 4:
+ testimm8 = False; imm64 = Replicate16x4(imm8); break;
+ case 5:
+ testimm8 = True; imm64 = Replicate16x4(imm8 << 8); break;
+ case 6:
+ testimm8 = True;
+ if ((cmode & 1) == 0)
+ imm64 = Replicate32x2((imm8 << 8) | 0xFF);
+ else
+ imm64 = Replicate32x2((imm8 << 16) | 0xFFFF);
+ break;
+ case 7:
+ testimm8 = False;
+ if ((cmode & 1) == 0 && op == 0)
+ imm64 = Replicate8x8(imm8);
+ if ((cmode & 1) == 0 && op == 1) {
+ imm64 = 0; imm64 |= (imm8 & 0x80) ? 0xFF : 0x00;
+ imm64 <<= 8; imm64 |= (imm8 & 0x40) ? 0xFF : 0x00;
+ imm64 <<= 8; imm64 |= (imm8 & 0x20) ? 0xFF : 0x00;
+ imm64 <<= 8; imm64 |= (imm8 & 0x10) ? 0xFF : 0x00;
+ imm64 <<= 8; imm64 |= (imm8 & 0x08) ? 0xFF : 0x00;
+ imm64 <<= 8; imm64 |= (imm8 & 0x04) ? 0xFF : 0x00;
+ imm64 <<= 8; imm64 |= (imm8 & 0x02) ? 0xFF : 0x00;
+ imm64 <<= 8; imm64 |= (imm8 & 0x01) ? 0xFF : 0x00;
+ }
+ if ((cmode & 1) == 1 && op == 0) {
+ ULong imm8_7 = (imm8 >> 7) & 1;
+ ULong imm8_6 = (imm8 >> 6) & 1;
+ ULong imm8_50 = imm8 & 63;
+ ULong imm32 = (imm8_7 << (1 + 5 + 6 + 19))
+ | ((imm8_6 ^ 1) << (5 + 6 + 19))
+ | (Replicate(imm8_6, 5) << (6 + 19))
+ | (imm8_50 << 19);
+ imm64 = Replicate32x2(imm32);
+ }
+ if ((cmode & 1) == 1 && op == 1) {
+ // imm64 = imm8<7>:NOT(imm8<6>)
+ // :Replicate(imm8<6>,8):imm8<5:0>:Zeros(48);
+ ULong imm8_7 = (imm8 >> 7) & 1;
+ ULong imm8_6 = (imm8 >> 6) & 1;
+ ULong imm8_50 = imm8 & 63;
+ imm64 = (imm8_7 << 63) | ((imm8_6 ^ 1) << 62)
+ | (Replicate(imm8_6, 8) << 54)
+ | (imm8_50 << 48);
+ }
+ break;
+ default:
+ vassert(0);
+ }
+
+ if (testimm8 && imm8 == 0)
+ return False;
+
+ *res = imm64;
+ return True;
+}
+
+
/* Help a bit for decoding laneage for vector operations that can be
of the form 4x32, 2x64 or 2x32-and-zero-upper-half, as encoded by Q
and SZ bits, typically for vector floating point. */
@@ -4489,7 +4595,105 @@
switch (op) {
case Iop_Min8Sx16: case Iop_Min8Ux16:
case Iop_Max8Sx16: case Iop_Max8Ux16: {
- return IRTemp_INVALID; // ATC
+ /* NB: temp naming here is misleading -- the naming is for 8
+ lanes of 16 bit, whereas what is being operated on is 16
+ lanes of 8 bits. */
+ 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));
+ /* Naming not misleading after here. */
+ IRTemp xAllF = newTemp(Ity_V128);
+ IRTemp xAllE = newTemp(Ity_V128);
+ IRTemp xAllD = newTemp(Ity_V128);
+ IRTemp xAllC = newTemp(Ity_V128);
+ IRTemp xAllB = newTemp(Ity_V128);
+ IRTemp xAllA = newTemp(Ity_V128);
+ IRTemp xAll9 = newTemp(Ity_V128);
+ IRTemp xAll8 = newTemp(Ity_V128);
+ IRTemp xAll7 = newTemp(Ity_V128);
+ IRTemp xAll6 = newTemp(Ity_V128);
+ IRTemp xAll5 = newTemp(Ity_V128);
+ IRTemp xAll4 = newTemp(Ity_V128);
+ IRTemp xAll3 = newTemp(Ity_V128);
+ IRTemp xAll2 = newTemp(Ity_V128);
+ IRTemp xAll1 = newTemp(Ity_V128);
+ IRTemp xAll0 = newTemp(Ity_V128);
+ assign(xAllF, mk_CatOddLanes8x16 (x77777777, x77777777));
+ assign(xAllE, mk_CatEvenLanes8x16(x77777777, x77777777));
+ assign(xAllD, mk_CatOddLanes8x16 (x66666666, x66666666));
+ assign(xAllC, mk_CatEvenLanes8x16(x66666666, x66666666));
+ assign(xAllB, mk_CatOddLanes8x16 (x55555555, x55555555));
+ assign(xAllA, mk_CatEvenLanes8x16(x55555555, x55555555));
+ assign(xAll9, mk_CatOddLanes8x16 (x44444444, x44444444));
+ assign(xAll8, mk_CatEvenLanes8x16(x44444444, x44444444));
+ assign(xAll7, mk_CatOddLanes8x16 (x33333333, x33333333));
+ assign(xAll6, mk_CatEvenLanes8x16(x33333333, x33333333));
+ assign(xAll5, mk_CatOddLanes8x16 (x22222222, x22222222));
+ assign(xAll4, mk_CatEvenLanes8x16(x22222222, x22222222));
+ assign(xAll3, mk_CatOddLanes8x16 (x11111111, x11111111));
+ assign(xAll2, mk_CatEvenLanes8x16(x11111111, x11111111));
+ assign(xAll1, mk_CatOddLanes8x16 (x00000000, x00000000));
+ assign(xAll0, mk_CatEvenLanes8x16(x00000000, x00000000));
+ IRTemp maxFE = newTemp(Ity_V128);
+ IRTemp maxDC = newTemp(Ity_V128);
+ IRTemp maxBA = newTemp(Ity_V128);
+ IRTemp max98 = newTemp(Ity_V128);
+ IRTemp max76 = newTemp(Ity_V128);
+ IRTemp max54 = newTemp(Ity_V128);
+ IRTemp max32 = newTemp(Ity_V128);
+ IRTemp max10 = newTemp(Ity_V128);
+ assign(maxFE, binop(op, mkexpr(xAllF), mkexpr(xAllE)));
+ assign(maxDC, binop(op, mkexpr(xAllD), mkexpr(xAllC)));
+ assign(maxBA, binop(op, mkexpr(xAllB), mkexpr(xAllA)));
+ assign(max98, binop(op, mkexpr(xAll9), mkexpr(xAll8)));
+ assign(max76, binop(op, mkexpr(xAll7), mkexpr(xAll6)));
+ assign(max54, binop(op, mkexpr(xAll5), mkexpr(xAll4)));
+ assign(max32, binop(op, mkexpr(xAll3), mkexpr(xAll2)));
+ assign(max10, binop(op, mkexpr(xAll1), mkexpr(xAll0)));
+ IRTemp maxFEDC = newTemp(Ity_V128);
+ IRTemp maxBA98 = newTemp(Ity_V128);
+ IRTemp max7654 = newTemp(Ity_V128);
+ IRTemp max3210 = newTemp(Ity_V128);
+ assign(maxFEDC, binop(op, mkexpr(maxFE), mkexpr(maxDC)));
+ assign(maxBA98, binop(op, mkexpr(maxBA), mkexpr(max98)));
+ assign(max7654, binop(op, mkexpr(max76), mkexpr(max54)));
+ assign(max3210, binop(op, mkexpr(max32), mkexpr(max10)));
+ IRTemp maxFEDCBA98 = newTemp(Ity_V128);
+ IRTemp max76543210 = newTemp(Ity_V128);
+ assign(maxFEDCBA98, binop(op, mkexpr(maxFEDC), mkexpr(maxBA98)));
+ assign(max76543210, binop(op, mkexpr(max7654), mkexpr(max3210)));
+ IRTemp maxAllLanes = newTemp(Ity_V128);
+ assign(maxAllLanes, binop(op, mkexpr(maxFEDCBA98),
+ mkexpr(max76543210)));
+ IRTemp res = newTemp(Ity_V128);
+ assign(res, unop(Iop_ZeroHI120ofV128, mkexpr(maxAllLanes)));
+ return res;
}
case Iop_Min16Sx8: case Iop_Min16Ux8:
case Iop_Max16Sx8: case Iop_Max16Ux8: {
@@ -4672,6 +4876,80 @@
return True;
}
+#if 0
+ /* -------------- FMOV (vector, immediate) -------------- */
+ /* 31 28 18 15 9 4
+ 011 01111 00000 abc 111101 defgh d FMOV Vd.2d, #imm
+ 0q0 01111 00000 abc 111101 defgh d FMOV Vd.2s, #imm (q=0)
+ FMOV Vd.4s, #imm (q=1)
+ */
+ if (INSN(31,31) == 0
+ && INSN(28,19) == BITS10(0,1,1,1,1,0,0,0,0,0)
+ && INSN(15,10) == BITS6(1,1,1,1,0,1)
+ && INSN(30,29) != BITS2(0,1)) {
+ UInt bitQ = INSN(30,30);
+ UInt bitOP = INSN(29,29);
+ UInt cmode = INSN(15,12);
+ UInt imm8 = (INSN(18,16) << 5) | INSN(9,5);
+ UInt dd = INSN(4,0);
+ ULong imm64lo = 0;
+ Bool ok = AdvSIMDExpandImm(&imm64lo, bitOP, cmode, imm8);
+ vassert(! (bitOP == 1 && bitQ == 0) );
+ if (ok) {
+ ULong imm64hi = (bitQ == 0 && bitOP == 0) ? 0 : imm64lo;
+ putQReg128(dd, binop(Iop_64HLtoV128, mkU64(imm64hi), mkU64(imm64lo)));
+ const HChar* ar[4] = { "2s", "??", "4s", "2d" };
+ DIP("fmov %s.%s, #0x%llx\n",
+ nameQReg128(dd), ar[INSN(30,29)], imm64lo);
+ return True;
+ }
+ /* else fall through */
+ }
+#else
+ /* -------------- {FMOV,MOVI} (vector, immediate) -------------- */
+ /* 31 28 18 15 11 9 4
+ 0q op 01111 00000 abc cmode 01 defgh d MOV Dd, #imm (q=0)
+ MOV Vd.2d #imm (q=1)
+ Allowable op:cmode
+ FMOV = 1:1111
+ MOVI = 0:xx00, 1:0x00, 1:10x0, 1:110x, 11110
+ */
+ if (INSN(31,31) == 0
+ && INSN(28,19) == BITS10(0,1,1,1,1,0,0,0,0,0)
+ && INSN(11,10) == BITS2(0,1)) {
+ UInt bitQ = INSN(30,30);
+ UInt bitOP = INSN(29,29);
+ UInt cmode = INSN(15,12);
+ UInt imm8 = (INSN(18,16) << 5) | INSN(9,5);
+ UInt dd = INSN(4,0);
+ ULong imm64lo = 0;
+ UInt op_cmode = (bitOP << 4) | cmode;
+ Bool ok = False;
+ switch (op_cmode) {
+ case BITS5(1,1,1,1,1): // 1:1111
+ case BITS5(0,0,0,0,0): case BITS5(0,0,1,0,0):
+ case BITS5(0,1,0,0,0): case BITS5(0,1,1,0,0): // 0:xx00
+ case BITS5(1,0,0,0,0): case BITS5(1,0,1,0,0): // 1:0x00
+ case BITS5(1,1,0,0,0): case BITS5(1,1,0,1,0): // 1:10x0
+ case BITS5(1,1,1,0,0): case BITS5(1,1,1,0,1): // 1:110x
+ case BITS5(1,1,1,1,0): // 1:1110
+ ok = True; break;
+ default:
+ break;
+ }
+ if (ok) {
+ ok = AdvSIMDExpandImm(&imm64lo, bitOP, cmode, imm8);
+ }
+ if (ok) {
+ ULong imm64hi = (bitQ == 0 && bitOP == 0) ? 0 : imm64lo;
+ putQReg128(dd, binop(Iop_64HLtoV128, mkU64(imm64hi), mkU64(imm64lo)));
+ DIP("mov %s, #0x016%llx'%016llx\n", nameQReg128(dd), imm64hi, imm64lo);
+ return True;
+ }
+ /* else fall through */
+ }
+#endif
+
/* -------------- {S,U}CVTF (scalar, integer) -------------- */
/* 31 28 23 21 20 18 15 9 4 ix
000 11110 00 1 00 010 000000 n d SCVTF Sd, Wn 0
@@ -4757,7 +5035,7 @@
000 11110 01 10000 00 10000 n d FMOV Dd, Dn
------------------ 01 --------- FABS ------
------------------ 10 --------- FNEG ------
- ------------------ 11 --------- FQSRT -----
+ ------------------ 11 --------- FSQRT -----
*/
if (INSN(31,23) == BITS9(0,0,0,1,1,1,1,0,0)
&& INSN(21,17) == BITS5(1,0,0,0,0)
@@ -4798,6 +5076,39 @@
/* else fall through; other cases are ATC */
}
+ /* ---------------- F{ABS,NEG} (vector) ---------------- */
+ /* 31 28 22 21 16 9 4
+ 0q0 01110 1 sz 10000 01111 10 n d FABS Vd.T, Vn.T
+ 0q1 01110 1 sz 10000 01111 10 n d FNEG Vd.T, Vn.T
+ */
+ if (INSN(31,31) == 0 && INSN(28,23) == BITS6(0,1,1,1,0,1)
+ && INSN(21,17) == BITS5(1,0,0,0,0)
+ && INSN(16,10) == BITS7(0,1,1,1,1,1,0)) {
+ UInt bitQ = INSN(30,30);
+ UInt bitSZ = INSN(22,22);
+ Bool isFNEG = INSN(29,29) == 1;
+ UInt nn = INSN(9,5);
+ UInt dd = INSN(4,0);
+ const HChar* ar = "??";
+ IRType tyF = Ity_INVALID;
+ Bool zeroHI = False;
+ Bool ok = getLaneInfo_Q_SZ(NULL, &tyF, NULL, &zeroHI, &ar,
+ (Bool)bitQ, (Bool)bitSZ);
+ if (ok) {
+ vassert(tyF == Ity_F64 || tyF == Ity_I32);
+ IROp op = (tyF == Ity_F64) ? (isFNEG ? Iop_Neg64Fx2 : Iop_Abs64Fx2)
+ : (isFNEG ? Iop_Neg32Fx4 : Iop_Abs32Fx4);
+ IRTemp res = newTemp(Ity_V128);
+ assign(res, unop(op, getQReg128(nn)));
+ putQReg128(dd, zeroHI ? unop(Iop_ZeroHI64ofV128, mkexpr(res))
+ : mkexpr(res));
+ DIP("%s %s.%s, %s.%s\n", isFNEG ? "fneg" : "fabs",
+ nameQReg128(dd), ar, nameQReg128(nn), ar);
+ return True;
+ }
+ /* else fall through */
+ }
+
/* -------------------- FCMP,FCMPE -------------------- */
/* 31 23 20 15 9 4
000 11110 01 1 m 00 1000 n 10 000 FCMPE Dn, Dm
@@ -5179,6 +5490,23 @@
nameQReg128(dd), arr, nameQReg128(nn), arr, nameQReg128(mm), arr);
return True;
}
+ if (ok && ix >= 5 && ix <= 6) {
+ IROp opADD = laneTy==Ity_F64 ? Iop_Add64Fx2 : Iop_Add32Fx4;
+ IROp opSUB = laneTy==Ity_F64 ? Iop_Sub64Fx2 : Iop_Sub32Fx4;
+ IROp opMUL = laneTy==Ity_F64 ? Iop_Mul64Fx2 : Iop_Mul32Fx4;
+ IRTemp rm = mk_get_IR_rounding_mode();
+ IRTemp t1 = newTemp(Ity_V128);
+ IRTemp t2 = newTemp(Ity_V128);
+ // FIXME: double rounding; use FMA primops instead
+ assign(t1, triop(opMUL,
+ mkexpr(rm), getQReg128(nn), getQReg128(mm)));
+ assign(t2, triop(ix == 5 ? opADD : opSUB,
+ mkexpr(rm), getQReg128(dd), mkexpr(t1)));
+ putQReg128(dd, mkexpr(t2));
+ DIP("%s %s.%s, %s.%s, %s.%s\n", ix == 5 ? "fmla" : "fmls",
+ nameQReg128(dd), arr, nameQReg128(nn), arr, nameQReg128(mm), arr);
+ return True;
+ }
}
/* ---------------- ADD/SUB (vector) ---------------- */
@@ -5404,6 +5732,36 @@
/* else fall through */
}
+ /* ------------ {AND,BIC,ORR,ORN} (vector) ------------ */
+ /* 31 28 23 20 15 9 4
+ 0q0 01110 001 m 000111 n d AND Vd.T, Vn.T, Vm.T
+ 0q0 01110 011 m 000111 n d BIC Vd.T, Vn.T, Vm.T
+ 0q0 01110 101 m 000111 n d ORR Vd.T, Vn.T, Vm.T
+ 0q0 01110 111 m 000111 n d ORN Vd.T, Vn.T, Vm.T
+ T is 16b when q==1, 8b when q==0
+ */
+ if (INSN(31,31) == 0 && INSN(29,24) == BITS6(0,0,1,1,1,0)
+ && INSN(21,21) == 1 && INSN(15,10) == BITS6(0,0,0,1,1,1)) {
+ Bool isQ = INSN(30,30) == 1;
+ Bool isORR = INSN(23,23) == 1;
+ Bool invert = INSN(22,22) == 1;
+ UInt mm = INSN(20,16);
+ UInt nn = INSN(9,5);
+ UInt dd = INSN(4,0);
+ IRTemp res = newTemp(Ity_V128);
+ assign(res, binop(isORR ? Iop_OrV128 : Iop_AndV128,
+ getQReg128(nn),
+ invert ? unop(Iop_NotV128, getQReg128(mm))
+ : getQReg128(mm)));
+ putQReg128(dd, isQ ? mkexpr(res)
+ : unop(Iop_ZeroHI64ofV128, mkexpr(res)));
+ const HChar* names[4] = { "and", "bic", "orr", "orn" };
+ const HChar* ar = isQ ? "16b" : "8b";
+ DIP("%s %s.%s, %s.%s, %s.%s\n", names[INSN(23,22)],
+ nameQReg128(dd), ar, nameQReg128(nn), ar, nameQReg128(mm), ar);
+ return True;
+ }
+
/* -------------------- XTN{,2} -------------------- */
/* 31 28 23 21 15 9 4 XTN{,2} Vd.Tb, Vn.Ta
0q0 01110 size 100001 001010 n d
@@ -6151,6 +6509,183 @@
return mkexpr(mkV128from16s(a7, a5, a3, a1, b7, b5, b3, b1));
}
+////////////////////////////////////////////////////////////////
+// 8x16 operations
+//
+
+static void breakV128to8s ( IRTemp* outF, IRTemp* outE, IRTemp* outD,
+ IRTemp* outC, IRTemp* outB, IRTemp* outA,
+ IRTemp* out9, IRTemp* out8,
+ IRTemp* out7, IRTemp* out6, IRTemp* out5,
+ IRTemp* out4, IRTemp* out3, IRTemp* out2,
+ IRTemp* out1,IRTemp* out0, IRTemp v128 )
+{
+ if (outF) *outF = newTemp(Ity_I64);
+ if (outE) *outE = newTemp(Ity_I64);
+ if (outD) *outD = newTemp(Ity_I64);
+ if (outC) *outC = newTemp(Ity_I64);
+ if (outB) *outB = newTemp(Ity_I64);
+ if (outA) *outA = newTemp(Ity_I64);
+ if (out9) *out9 = newTemp(Ity_I64);
+ if (out8) *out8 = newTemp(Ity_I64);
+ 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 (outF)
+ assign(*outF, binop(Iop_And64,
+ binop(Iop_Shr64, mkexpr(hi64), mkU8(56)),
+ mkU64(0xFF)));
+ if (outE)
+ assign(*outE, binop(Iop_And64,
+ binop(Iop_Shr64, mkexpr(hi64), mkU8(48)),
+ mkU64(0xFF)));
+ if (outD)
+ assign(*outD, binop(Iop_And64,
+ binop(Iop_Shr64, mkexpr(hi64), mkU8(40)),
+ mkU64(0xFF)));
+ if (outC)
+ assign(*outC, binop(Iop_And64,
+ binop(Iop_Shr64, mkexpr(hi64), mkU8(32)),
+ mkU64(0xFF)));
+ if (outB)
+ assign(*outB, binop(Iop_And64,
+ binop(Iop_Shr64, mkexpr(hi64), mkU8(24)),
+ mkU64(0xFF)));
+ if (outA)
+ assign(*outA, binop(Iop_And64,
+ binop(Iop_Shr64, mkexpr(hi64), mkU8(16)),
+ mkU64(0xFF)));
+ if (out9)
+ assign(*out9, binop(Iop_And64,
+ binop(Iop_Shr64, mkexpr(hi64), mkU8(8)),
+ mkU64(0xFF)));
+ if (out8)
+ assign(*out8, binop(Iop_And64,
+ binop(Iop_Shr64, mkexpr(hi64), mkU8(0)),
+ mkU64(0xFF)));
+ if (out7)
+ assign(*out7, binop(Iop_And64,
+ binop(Iop_Shr64, mkexpr(lo64), mkU8(56)),
+ mkU64(0xFF)));
+ if (out6)
+ assign(*out6, binop(Iop_And64,
+ binop(Iop_Shr64, mkexpr(lo64), mkU8(48)),
+ mkU64(0xFF)));
+ if (out5)
+ assign(*out5, binop(Iop_And64,
+ binop(Iop_Shr64, mkexpr(lo64), mkU8(40)),
+ mkU64(0xFF)));
+ if (out4)
+ assign(*out4, binop(Iop_And64,
+ binop(Iop_Shr64, mkexpr(lo64), mkU8(32)),
+ mkU64(0xFF)));
+ if (out3)
+ assign(*out3, binop(Iop_And64,
+ binop(Iop_Shr64, mkexpr(lo64), mkU8(24)),
+ mkU64(0xFF)));
+ if (out2)
+ assign(*out2, binop(Iop_And64,
+ binop(Iop_Shr64, mkexpr(lo64), mkU8(16)),
+ mkU64(0xFF)));
+ if (out1)
+ assign(*out1, binop(Iop_And64,
+ binop(Iop_Shr64, mkexpr(lo64), mkU8(8)),
+ mkU64(0xFF)));
+ if (out0)
+ assign(*out0, binop(Iop_And64,
+ binop(Iop_Shr64, mkexpr(lo64), mkU8(0)),
+ mkU64(0xFF)));
+}
+
+static IRTemp mkV128from8s ( IRTemp inF, IRTemp inE, IRTemp inD, IRTemp inC,
+ IRTemp inB, IRTemp inA, IRTemp in9, IRTemp in8,
+ IRTemp in7, IRTemp in6, IRTemp in5, IRTemp in4,
+ IRTemp in3, IRTemp in2, IRTemp in1, IRTemp in0 )
+{
+ IRTemp vFE = newTemp(Ity_I64);
+ IRTemp vDC = newTemp(Ity_I64);
+ IRTemp vBA = newTemp(Ity_I64);
+ IRTemp v98 = newTemp(Ity_I64);
+ IRTemp v76 = newTemp(Ity_I64);
+ IRTemp v54 = newTemp(Ity_I64);
+ IRTemp v32 = newTemp(Ity_I64);
+ IRTemp v10 = newTemp(Ity_I64);
+ assign(vFE, binop(Iop_Or64,
+ binop(Iop_Shl64,
+ binop(Iop_And64, mkexpr(inF), mkU64(0xFF)), mkU8(8)),
+ binop(Iop_And64, mkexpr(inE), mkU64(0xFF))));
+ assign(vDC, binop(Iop_Or64,
+ binop(Iop_Shl64,
+ binop(Iop_And64, mkexpr(inD), mkU64(0xFF)), mkU8(8)),
+ binop(Iop_And64, mkexpr(inC), mkU64(0xFF))));
+ assign(vBA, binop(Iop_Or64,
+ binop(Iop_Shl64,
+ binop(Iop_And64, mkexpr(inB), mkU64(0xFF)), mkU8(8)),
+ binop(Iop_And64, mkexpr(inA), mkU64(0xFF))));
+ assign(v98, binop(Iop_Or64,
+ binop(Iop_Shl64,
+ binop(Iop_And64, mkexpr(in9), mkU64(0xFF)), mkU8(8)),
+ binop(Iop_And64, mkexpr(in8), mkU64(0xFF))));
+ assign(v76, binop(Iop_Or64,
+ binop(Iop_Shl64,
+ binop(Iop_And64, mkexpr(in7), mkU64(0xFF)), mkU8(8)),
+ binop(Iop_And64, mkexpr(in6), mkU64(0xFF))));
+ assign(v54, binop(Iop_Or64,
+ binop(Iop_Shl64,
+ binop(Iop_And64, mkexpr(in5), mkU64(0xFF)), mkU8(8)),
+ binop(Iop_And64, mkexpr(in4), mkU64(0xFF))));
+ assign(v32, binop(Iop_Or64,
+ binop(Iop_Shl64,
+ binop(Iop_And64, mkexpr(in3), mkU64(0xFF)), mkU8(8)),
+ binop(Iop_And64, mkexpr(in2), mkU64(0xFF))));
+ assign(v10, binop(Iop_Or64,
+ binop(Iop_Shl64,
+ binop(Iop_And64, mkexpr(in1), mkU64(0xFF)), mkU8(8)),
+ binop(Iop_And64, mkexpr(in0), mkU64(0xFF))));
+ return mkV128from16s(vFE, vDC, vBA, v98, v76, v54, v32, v10);
+}
+
+static IRExpr* mk_CatEvenLanes8x16 ( IRTemp aFEDCBA9876543210,
+ IRTemp bFEDCBA9876543210 )
+{
+ // returns aE aC aA a8 a6 a4 a2 a0 bE bC bA b8 b6 b4 b2 b0
+ IRTemp aE, aC, aA, a8, a6, a4, a2, a0, bE, bC, bA, b8, b6, b4, b2, b0;
+ breakV128to8s(NULL, &aE, NULL, &aC, NULL, &aA, NULL, &a8,
+ NULL, &a6, NULL, &a4, NULL, &a2, NULL, &a0,
+ aFEDCBA9876543210);
+ breakV128to8s(NULL, &bE, NULL, &bC, NULL, &bA, NULL, &b8,
+ NULL, &b6, NULL, &b4, NULL, &b2, NULL, &b0,
+ bFEDCBA9876543210);
+ return mkexpr(mkV128from8s(aE, aC, aA, a8, a6, a4, a2, a0,
+ bE, bC, bA, b8, b6, b4, b2, b0));
+}
+
+static IRExpr* mk_CatOddLanes8x16 ( IRTemp aFEDCBA9876543210,
+ IRTemp bFEDCBA9876543210 )
+{
+ // returns aF aD aB a9 a7 a5 a3 a1 bF bD bB b9 b7 b5 b3 b1
+ IRTemp aF, aD, aB, a9, a7, a5, a3, a1, bF, bD, bB, b9, b7, b5, b3, b1;
+ breakV128to8s(&aF, NULL, &aD, NULL, &aB, NULL, &a9, NULL,
+ &a7, NULL, &a5, NULL, &a3, NULL, &a1, NULL,
+ aFEDCBA9876543210);
+
+ breakV128to8s(&bF, NULL, &bD, NULL, &bB, NULL, &b9, NULL,
+ &b7, NULL, &b5, NULL, &b3, NULL, &b1, NULL,
+ aFEDCBA9876543210);
+
+ return mkexpr(mkV128from8s(aF, aD, aB, a9, a7, a5, a3, a1,
+ bF, bD, bB, b9, 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 Mon Feb 10 10:28:13 2014
@@ -851,36 +851,52 @@
static void showARM64VecBinOp(/*OUT*/const HChar** nm,
/*OUT*/const HChar** ar, ARM64VecBinOp op ) {
switch (op) {
- case ARM64vecb_ADD64x2: *nm = "add "; *ar = "2d"; return;
- case ARM64vecb_ADD32x4: *nm = "add "; *ar = "4s"; return;
- case ARM64vecb_ADD16x8: *nm = "add "; *ar = "8h"; return;
- 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;
- 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_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_ADD64x2: *nm = "add "; *ar = "2d"; return;
+ case ARM64vecb_ADD32x4: *nm = "add "; *ar = "4s"; return;
+ case ARM64vecb_ADD16x8: *nm = "add "; *ar = "8h"; return;
+ 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;
+ 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_UMAX8x16: *nm = "umax"; *ar = "16b"; return;
+ case ARM64vecb_UMIN32x4: *nm = "umin"; *ar = "4s"; return;
+ case ARM64vecb_UMIN16x8: *nm = "umin"; *ar = "8h"; return;
+ case ARM64vecb_UMIN8x16: *nm = "umin"; *ar = "16b"; return;
+ case ARM64vecb_SMAX32x4: *nm = "smax"; *ar = "4s"; return;
+ case ARM64vecb_SMAX16x8: *nm = "smax"; *ar = "8h"; return;
+ case ARM64vecb_SMAX8x16: *nm = "smax"; *ar = "16b"; return;
+ case ARM64vecb_SMIN32x4: *nm = "smin"; *ar = "4s"; return;
+ case ARM64vecb_SMIN16x8: *nm = "smin"; *ar = "8h"; return;
+ case ARM64vecb_SMIN8x16: *nm = "smin"; *ar = "16b"; return;
case ARM64vecb_AND: *nm = "and "; *ar = "all"; return;
case ARM64vecb_ORR: *nm = "orr "; *ar = "all"; return;
default: vpanic("showARM64VecBinOp");
}
}
+static void showARM64VecUnaryOp(/*OUT*/const HChar** nm,
+ /*OUT*/const HChar** ar, ARM64VecUnaryOp op )
+{
+ switch (op) {
+ case ARM64vecu_FNEG64x2: *nm = "fneg "; *ar = "2d"; return;
+ case ARM64vecu_FNEG32x4: *nm = "fneg "; *ar = "4s"; return;
+ case ARM64vecu_FABS64x2: *nm = "fabs "; *ar = "2d"; return;
+ case ARM64vecu_FABS32x4: *nm = "fabs "; *ar = "4s"; return;
+ default: vpanic("showARM64VecBinOp");
+ }
+}
+
//ZZ const HChar* showARMNeonBinOp ( ARMNeonBinOp op ) {
//ZZ switch (op) {
//ZZ case ARMneon_VAND: return "vand";
@@ -1555,6 +1571,14 @@
i->ARM64in.VBinV.argR = argR;
return i;
}
+ARM64Instr* ARM64Instr_VUnaryV ( ARM64VecUnaryOp op, HReg dst, HReg arg ) {
+ ARM64Instr* i = LibVEX_Alloc(sizeof(ARM64Instr));
+ i->tag = ARM64in_VUnaryV;
+ i->ARM64in.VUnaryV.op = op;
+ i->ARM64in.VUnaryV.dst = dst;
+ i->ARM64in.VUnaryV.arg = arg;
+ return i;
+}
ARM64Instr* ARM64Instr_VNarrowV ( UInt dszBlg2, HReg dst, HReg src ) {
ARM64Instr* i = LibVEX_Alloc(sizeof(ARM64Instr));
i->tag = ARM64in_VNarrowV;
@@ -2169,6 +2193,17 @@
vex_printf(".%s", ar);
return;
}
+ case ARM64in_VUnaryV: {
+ const HChar* nm = "??";
+ const HChar* ar = "??";
+ showARM64VecUnaryOp(&nm, &ar, i->ARM64in.VUnaryV.op);
+ vex_printf("%s ", nm);
+ ppHRegARM64(i->ARM64in.VUnaryV.dst);
+ vex_printf(".%s, ", ar);
+ ppHRegARM64(i->ARM64in.VUnaryV.arg);
+ vex_printf(".%s", ar);
+ return;
+ }
case ARM64in_VNarrowV: {
UInt dszBlg2 = i->ARM64in.VNarrowV.dszBlg2;
const HChar* darr[3] = { "8b", "4h", "2s" };
@@ -2648,6 +2683,10 @@
addHRegUse(u, HRmRead, i->ARM64in.VBinV.argL);
addHRegUse(u, HRmRead, i->ARM64in.VBinV.argR);
return;
+ case ARM64in_VUnaryV:
+ addHRegUse(u, HRmWrite, i->ARM64in.VUnaryV.dst);
+ addHRegUse(u, HRmRead, i->ARM64in.VUnaryV.arg);
+ return;
case ARM64in_VNarrowV:
addHRegUse(u, HRmWrite, i->ARM64in.VNarrowV.dst);
addHRegUse(u, HRmRead, i->ARM64in.VNarrowV.src);
@@ -2932,6 +2971,10 @@
i->ARM64in.VBinV.argL = lookupHRegRemap(m, i->ARM64in.VBinV.argL);
i->ARM64in.VBinV.argR = lookupHRegRemap(m, i->ARM64in.VBinV.argR);
return;
+ case ARM64in_VUnaryV:
+ i->ARM64in.VUnaryV.dst = lookupHRegRemap(m, i->ARM64in.VUnaryV.dst);
+ i->ARM64in.VUnaryV.arg = lookupHRegRemap(m, i->ARM64in.VUnaryV.arg);
+ return;
case ARM64in_VNarrowV:
i->ARM64in.VNarrowV.dst = lookupHRegRemap(m, i->ARM64in.VNarrowV.dst);
i->ARM64in.VNarrowV.src = lookupHRegRemap(m, i->ARM64in.VNarrowV.src);
@@ -3253,6 +3296,7 @@
#define X111000 BITS8(0,0, 1,1,1,0,0,0)
#define X111001 BITS8(0,0, 1,1,1,0,0,1)
#define X111101 BITS8(0,0, 1,1,1,1,0,1)
+#define X111110 BITS8(0,0, 1,1,1,1,1,0)
#define X111111 BITS8(0,0, 1,1,1,1,1,1)
#define X00100000 BITS8(0,0,1,0,0,0,0,0)
@@ -4783,13 +4827,17 @@
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
+ 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 00 1 m 011001 n d UMAX Vd.16b, Vn.16b, Vm.16b
+
+ 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
+ 011 01110 00 1 m 011011 n d UMIN Vd.16b, Vn.16b, Vm.16b
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
@@ -4855,12 +4903,19 @@
case ARM64vecb_UMAX16x8:
*p++ = X_3_8_5_6_5_5(X011, X01110011, vM, X011001, vN, vD);
break;
+ case ARM64vecb_UMAX8x16:
+ *p++ = X_3_8_5_6_5_5(X011, X01110001, 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_UMIN8x16:
+ *p++ = X_3_8_5_6_5_5(X011, X01110001, vM, X011011, vN, vD);
+ break;
case ARM64vecb_SMAX32x4:
*p++ = X_3_8_5_6_5_5(X010, X01110101, vM, X011001, vN, vD);
@@ -4868,6 +4923,7 @@
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;
@@ -4876,7 +4932,6 @@
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:
@@ -4887,6 +4942,24 @@
}
goto done;
}
+ case ARM64in_VUnaryV: {
+ /* 31 23 20 15 9 4
+ 010 01110 11 1 00000 111110 n d FABS Vd.2d, Vn.2d
+ 010 01110 10 1 00000 111110 n d FABS Vd.4s, Vn.4s
+ 011 01110 11 1 00000 111110 n d FNEG Vd.2d, Vn.2d
+ 011 01110 10 1 00000 111110 n d FNEG Vd.4s, Vn.4s
+ */
+ UInt vD = qregNo(i->ARM64in.VUnaryV.dst);
+ UInt vN = qregNo(i->ARM64in.VUnaryV.arg);
+ switch (i->ARM64in.VUnaryV.op) {
+ case ARM64vecu_FNEG64x2:
+ *p++ = X_3_8_5_6_5_5(X011, X01110111, X00000, X111110, vN, vD);
+ break;
+ default:
+ goto bad;
+ }
+ goto done;
+ }
case ARM64in_VNarrowV: {
/* 31 23 21 15 9 4
000 01110 00 1,00001 001010 n d XTN Vd.8b, Vn.8h
@@ -5798,6 +5871,12 @@
*p++ = 0x4F000400 | rQ;
goto done;
}
+ if (imm == 0x0001) {
+ /* movi rD, #0xFF == 0x2F 0x00 0xE4 001 rD */
+ vassert(rQ < 32);
+ *p++ = 0x2F00E420 | rQ;
+ goto done;
+ }
if (imm == 0x0003) {
/* movi rD, #0xFFFF == 0x2F 0x00 0xE4 011 rD */
vassert(rQ < 32);
Modified: trunk/priv/host_arm64_defs.h
==============================================================================
--- trunk/priv/host_arm64_defs.h (original)
+++ trunk/priv/host_arm64_defs.h Mon Feb 10 10:28:13 2014
@@ -325,18 +325,32 @@
ARM64vecb_FDIV32x4,
ARM64vecb_UMAX32x4,
ARM64vecb_UMAX16x8,
+ ARM64vecb_UMAX8x16,
ARM64vecb_UMIN32x4,
ARM64vecb_UMIN16x8,
+ ARM64vecb_UMIN8x16,
ARM64vecb_SMAX32x4,
ARM64vecb_SMAX16x8,
+ ARM64vecb_SMAX8x16,
ARM64vecb_SMIN32x4,
ARM64vecb_SMIN16x8,
+ ARM64vecb_SMIN8x16,
ARM64vecb_AND,
ARM64vecb_ORR,
ARM64vecb_INVALID
}
ARM64VecBinOp;
+typedef
+ enum {
+ ARM64vecu_FNEG64x2=300,
+ ARM64vecu_FNEG32x4,
+ ARM64vecu_FABS64x2,
+ ARM64vecu_FABS32x4,
+ ARM64vecu_INVALID
+ }
+ ARM64VecUnaryOp;
+
//ZZ extern const HChar* showARMVfpUnaryOp ( ARMVfpUnaryOp op );
//ZZ
//ZZ typedef
@@ -518,6 +532,7 @@
ARM64in_FPCR,
/* ARM64in_V*V: vector ops on vector registers */
ARM64in_VBinV,
+ ARM64in_VUnaryV,
ARM64in_VNarrowV,
//ZZ ARMin_VAluS,
//ZZ ARMin_VCMovD,
@@ -791,6 +806,12 @@
HReg argL;
HReg argR;
} VBinV;
+ /* unary vector operation on vector registers */
+ struct {
+ ARM64VecUnaryOp op;
+ HReg dst;
+ HReg arg;
+ } VUnaryV;
/* vector narrowing, Q -> Q. Result goes in the bottom half
of dst and the top half is zeroed out. Iow is XTN. */
struct {
@@ -999,6 +1020,7 @@
extern ARM64Instr* ARM64Instr_VCmpS ( HReg argL, HReg argR );
extern ARM64Instr* ARM64Instr_FPCR ( Bool toFPCR, HReg iReg );
extern ARM64Instr* ARM64Instr_VBinV ( ARM64VecBinOp op, HReg, HReg, HReg );
+extern ARM64Instr* ARM64Instr_VUnaryV ( ARM64VecUnaryOp op, HReg, HReg );
extern ARM64Instr* ARM64Instr_VNarrowV ( UInt dszBlg2, HReg dst, HReg src );
//ZZ extern ARMInstr* ARMInstr_VAluS ( ARMVfpOp op, HReg, HReg, HReg );
//ZZ extern ARMInstr* ARMInstr_VCMovD ( ARMCondCode, HReg dst, HReg src );
Modified: trunk/priv/host_arm64_isel.c
==============================================================================
--- trunk/priv/host_arm64_isel.c (original)
+++ trunk/priv/host_arm64_isel.c Mon Feb 10 10:28:13 2014
@@ -4347,6 +4347,7 @@
switch (e->Iex.Unop.op) {
case Iop_ZeroHI96ofV128: imm16 = 0x000F; break;
case Iop_ZeroHI112ofV128: imm16 = 0x0003; break;
+ case Iop_ZeroHI120ofV128: imm16 = 0x0001; break;
default: break;
}
if (imm16 != 0) {
@@ -4360,6 +4361,17 @@
/* Other cases */
switch (e->Iex.Unop.op) {
+ case Iop_Neg64Fx2: {
+ HReg res = newVRegV(env);
+ HReg arg = iselV128Expr(env, e->Iex.Unop.arg);
+ ARM64VecUnaryOp op = ARM64vecu_INVALID;
+ switch (e->Iex.Unop.op) {
+ case Iop_Neg64Fx2: op = ARM64vecu_FNEG64x2; break;
+ default: vassert(0);
+ }
+ addInstr(env, ARM64Instr_VUnaryV(op, res, arg));
+ return res;
+ }
//ZZ case Iop_NotV128: {
//ZZ DECLARE_PATTERN(p_veqz_8x16);
//ZZ DECLARE_PATTERN(p_veqz_16x8);
@@ -4782,28 +4794,6 @@
//ZZ res, argL, 0, True));
//ZZ return res;
//ZZ }
-//ZZ case Iop_Abs32Fx4: {
-//ZZ DECLARE_PATTERN(p_vabd_32fx4);
-//ZZ DEFINE_PATTERN(p_vabd_32fx4,
-//ZZ unop(Iop_Abs32Fx4,
-//ZZ binop(Iop_Sub32Fx4,
-//ZZ bind(0),
-//ZZ bind(1))));
-//ZZ if (matchIRExpr(&mi, p_vabd_32fx4, e)) {
-//ZZ HReg res = newVRegV(env);
-//ZZ HReg argL = iselNeonExpr(env, mi.bindee[0]);
-//ZZ HReg argR = iselNeonExpr(env, mi.bindee[1]);
-//ZZ addInstr(env, ARMInstr_NBinary(ARMneon_VABDFP,
-//ZZ res, argL, argR, 0, True));
-//ZZ return res;
-//ZZ } else {
-//ZZ HReg res = newVRegV(env);
-//ZZ HReg argL = iselNeonExpr(env, e->Iex.Unop.arg);
-//ZZ addInstr(env, ARMInstr_NUnary(ARMneon_VABSFP,
-//ZZ res, argL, 0, True));
-//ZZ return res;
-//ZZ }
-//ZZ }
//ZZ case Iop_Rsqrte32Fx4: {
//ZZ HReg res = newVRegV(env);
//ZZ HReg argL = iselNeonExpr(env, e->Iex.Unop.arg);
@@ -4818,13 +4808,6 @@
//ZZ res, argL, 0, True));
//ZZ return res;
//ZZ }
-//ZZ case Iop_Neg32Fx4: {
-//ZZ HReg res = newVRegV(env);
-//ZZ HReg arg = iselNeonExpr(env, e->Iex.Unop.arg);
-//ZZ addInstr(env, ARMInstr_NUnary(ARMneon_VNEGF,
-//ZZ res, arg, 0, True));
-//ZZ return res;
-//ZZ }
/* ... */
default:
break;
@@ -4867,10 +4850,14 @@
//ZZ case Iop_Add8x16:
//ZZ case Iop_Add16x8:
//ZZ case Iop_Add32x4:
+ case Iop_AndV128:
+ case Iop_OrV128:
case Iop_Max32Ux4:
case Iop_Max16Ux8:
+ case Iop_Max8Ux16:
case Iop_Min32Ux4:
case Iop_Min16Ux8:
+ case Iop_Min8Ux16:
case Iop_Max32Sx4:
case Iop_Max16Sx8:
case Iop_Min32Sx4:
@@ -4888,10 +4875,14 @@
HReg argR = iselV128Expr(env, e->Iex.Binop.arg2);
ARM64VecBinOp op = ARM64vecb_INVALID;
switch (e->Iex.Binop.op) {
+ case Iop_AndV128: op = ARM64vecb_AND; break;
+ case Iop_OrV128: op = ARM64vecb_ORR; break;
case Iop_Max32Ux4: op = ARM64vecb_UMAX32x4; break;
case Iop_Max16Ux8: op = ARM64vecb_UMAX16x8; break;
+ case Iop_Max8Ux16: op = ARM64vecb_UMAX8x16; break;
case Iop_Min32Ux4: op = ARM64vecb_UMIN32x4; break;
case Iop_Min16Ux8: op = ARM64vecb_UMIN16x8; break;
+ case Iop_Min8Ux16: op = ARM64vecb_UMIN8x16; break;
case Iop_Max32Sx4: op = ARM64vecb_SMAX32x4; break;
case Iop_Max16Sx8: op = ARM64vecb_SMAX16x8; break;
case Iop_Min32Sx4: op = ARM64vecb_SMIN32x4; break;
Modified: trunk/priv/ir_defs.c
==============================================================================
--- trunk/priv/ir_defs.c (original)
+++ trunk/priv/ir_defs.c Mon Feb 10 10:28:13 2014
@@ -640,6 +640,7 @@
case Iop_Recps32Fx2: vex_printf("VRecps32Fx2"); return;
case Iop_Recps32Fx4: vex_printf("VRecps32Fx4"); return;
case Iop_Abs32Fx4: vex_printf("Abs32Fx4"); return;
+ case Iop_Abs64Fx2: vex_printf("Abs64Fx2"); return;
case Iop_Rsqrts32Fx4: vex_printf("VRsqrts32Fx4"); return;
case Iop_Rsqrts32Fx2: vex_printf("VRsqrts32Fx2"); return;
@@ -685,6 +686,7 @@
case Iop_CmpLE64F0x2: vex_printf("CmpLE64F0x2"); return;
case Iop_CmpUN64F0x2: vex_printf("CmpUN64F0x2"); return;
+ case Iop_Neg64Fx2: vex_printf("Neg64Fx2"); return;
case Iop_Neg32Fx4: vex_printf("Neg32Fx4"); return;
case Iop_Neg32Fx2: vex_printf("Neg32Fx2"); return;
@@ -2739,7 +2741,7 @@
case Iop_RoundF32x4_RP:
case Iop_RoundF32x4_RN:
case Iop_RoundF32x4_RZ:
- case Iop_Abs32Fx4:
+ case Iop_Abs64Fx2: case Iop_Abs32Fx4:
case Iop_Rsqrte32Fx4:
case Iop_Rsqrte32x4:
UNARY(Ity_V128, Ity_V128);
@@ -2905,7 +2907,7 @@
case Iop_Reverse64_8x16: case Iop_Reverse64_16x8: case Iop_Reverse64_32x4:
case Iop_Reverse32_8x16: case Iop_Reverse32_16x8:
case Iop_Reverse16_8x16:
- case Iop_Neg32Fx4:
+ case Iop_Neg64Fx2: case Iop_Neg32Fx4:
case Iop_Abs8x16: case Iop_Abs16x8: case Iop_Abs32x4:
case Iop_CipherSV128:
case Iop_PwBitMtxXpose64x2:
Modified: trunk/pub/libvex_ir.h
==============================================================================
--- trunk/pub/libvex_ir.h (original)
+++ trunk/pub/libvex_ir.h Mon Feb 10 10:28:13 2014
@@ -1267,13 +1267,11 @@
Iop_CmpEQ32Fx4, Iop_CmpLT32Fx4, Iop_CmpLE32Fx4, Iop_CmpUN32Fx4,
Iop_CmpGT32Fx4, Iop_CmpGE32Fx4,
- /* Vector Absolute */
- Iop_Abs32Fx4,
-
/* Pairwise Max and Min. See integer pairwise operations for details. */
Iop_PwMax32Fx4, Iop_PwMin32Fx4,
/* unary */
+ Iop_Abs32Fx4,
Iop_Sqrt32Fx4, Iop_RSqrt32Fx4,
Iop_Neg32Fx4,
@@ -1338,7 +1336,12 @@
Iop_CmpEQ64Fx2, Iop_CmpLT64Fx2, Iop_CmpLE64Fx2, Iop_CmpUN64Fx2,
/* unary */
- Iop_Recip64Fx2, Iop_Sqrt64Fx2, Iop_RSqrt64Fx2,
+ Iop_Abs64Fx2,
+ Iop_Sqrt64Fx2, Iop_RSqrt64Fx2,
+ Iop_Neg64Fx2,
+
+ /* Vector Reciprocal Estimate */
+ Iop_Recip64Fx2,
/* --- 64x2 lowest-lane-only scalar FP --- */
|
|
From: Rich C. <rc...@wi...> - 2014-02-10 09:48:20
|
valgrind revision: 13796 VEX revision: 2814 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-09 21:55:01 CST Ended at 2014-02-09 22:50:31 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, 0 stderr failures, 0 stdout failures, 1 stderrB failure, 0 stdoutB failures, 0 post failures == gdbserver_tests/mssnapshot (stderrB) ================================================= ./valgrind-new/gdbserver_tests/mssnapshot.stderrB.diff ================================================= --- mssnapshot.stderrB.exp 2014-02-09 22:26:32.306979612 -0600 +++ mssnapshot.stderrB.out 2014-02-09 22:33:58.549596811 -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/gdbserver_tests/mssnapshot.stderrB.diff ================================================= --- mssnapshot.stderrB.exp 2014-02-09 22:00:29.870823865 -0600 +++ mssnapshot.stderrB.out 2014-02-09 22:08:19.382264673 -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 |
|
From: Philippe W. <phi...@sk...> - 2014-02-10 05:39:15
|
valgrind revision: 13796 VEX revision: 2814 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-09 20:00:12 PST Ended at 2014-02-09 21:36:15 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 == 575 tests, 36 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/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.26s no: 1.7s ( 6.6x, -----) me: 3.1s (11.8x, -----) ca:18.5s (71.1x, -----) he: 1.9s ( 7.3x, -----) ca: 6.2s (23.7x, -----) dr: 1.9s ( 7.2x, -----) ma: 2.3s ( 8.7x, -----) bigcode1 valgrind-old:0.26s no: 1.7s ( 6.5x, 1.8%) me: 3.1s (12.0x, -1.0%) ca:19.6s (75.4x, -6.1%) he: 1.9s ( 7.2x, 0.5%) ca: 5.5s (21.1x, 11.0%) dr: 1.7s ( 6.5x, 9.1%) ma: 2.1s ( 8.2x, 5.8%) -- bigcode2 -- bigcode2 valgrind-new:0.23s no: 1.5s ( 6.7x, -----) me: 3.0s (13.0x, -----) ca:18.7s (81.1x, -----) he: 2.1s ( 9.3x, -----) ca: 5.8s (25.3x, -----) dr: 1.9s ( 8.0x, -----) ma: 2.1s ( 9.3x, -----) bigcode2 valgrind-old:0.23s no: 1.7s ( 7.5x,-12.4%) me: 2.9s (12.8x, 1.3%) ca:18.5s (80.6x, 0.6%) he: 2.1s ( 9.2x, 1.4%) ca: 5.5s (23.8x, 6.0%) dr: 1.9s ( 8.1x, -0.5%) ma: 2.1s ( 9.3x, 0.0%) -- bz2 -- bz2 valgrind-new:0.72s no: 4.5s ( 6.3x, -----) me:11.9s (16.5x, -----) ca:26.5s (36.8x, -----) he:14.9s (20.7x, -----) ca:25.1s (34.9x, -----) dr:20.2s (28.1x, -----) ma: 4.7s ( 6.5x, -----) bz2 valgrind-old:0.72s no: 4.6s ( 6.3x, -0.2%) me:11.7s (16.3x, 1.4%) ca:26.5s (36.9x, -0.2%) he:14.7s (20.4x, 1.4%) ca:24.2s (33.6x, 3.7%) dr:20.4s (28.3x, -0.6%) ma: 4.7s ( 6.5x, 0.0%) -- fbench -- fbench valgrind-new:0.34s no: 2.1s ( 6.2x, -----) me: 5.2s (15.4x, -----) ca: 8.6s (25.2x, -----) he: 5.2s (15.3x, -----) ca: 7.6s (22.4x, -----) dr: 4.9s (14.5x, -----) ma: 2.1s ( 6.3x, -----) fbench valgrind-old:0.34s no: 2.1s ( 6.1x, 1.9%) me: 5.2s (15.4x, 0.0%) ca: 8.5s (25.0x, 0.8%) he: 5.2s (15.4x, -0.8%) ca: 7.4s (21.9x, 2.4%) dr: 4.9s (14.5x, 0.0%) ma: 2.1s ( 6.3x, 0.0%) -- ffbench -- ffbench valgrind-new:0.45s no: 1.4s ( 3.1x, -----) me: 2.8s ( 6.2x, -----) ca: 2.5s ( 5.6x, -----) he: 6.8s (15.2x, -----) ca: 7.3s (16.2x, -----) dr: 5.1s (11.2x, -----) ma: 1.0s ( 2.2x, -----) ffbench valgrind-old:0.45s no: 1.3s ( 2.9x, 6.4%) me: 2.6s ( 5.7x, 7.6%) ca: 2.5s ( 5.6x, 0.4%) he: 6.9s (15.4x, -1.2%) ca: 7.2s (16.0x, 1.1%) dr: 5.0s (11.2x, 0.4%) ma: 1.0s ( 2.3x, -1.0%) -- heap -- heap valgrind-new:0.41s no: 2.4s ( 5.9x, -----) me: 9.8s (24.0x, -----) ca:13.3s (32.5x, -----) he:11.7s (28.5x, -----) ca:12.1s (29.6x, -----) dr: 8.2s (20.1x, -----) ma: 9.0s (21.9x, -----) heap valgrind-old:0.41s no: 2.4s ( 5.9x, 0.4%) me: 9.9s (24.2x, -0.9%) ca:13.4s (32.6x, -0.2%) he:11.7s (28.6x, -0.4%) ca:12.1s (29.4x, 0.6%) dr: 8.2s (20.0x, 0.5%) ma: 8.6s (21.0x, 3.9%) -- heap_pdb4 -- heap_pdb4 valgrind-new:0.42s no: 2.6s ( 6.2x, -----) me:13.8s (32.8x, -----) ca:14.4s (34.3x, -----) he:13.2s (31.5x, -----) ca:13.9s (33.2x, -----) dr: 9.0s (21.5x, -----) ma: 8.8s (21.0x, -----) heap_pdb4 valgrind-old:0.42s no: 2.6s ( 6.1x, 0.4%) me:13.8s (32.8x, -0.1%) ca:14.5s (34.5x, -0.5%) he:13.2s (31.5x, 0.2%) ca:13.1s (31.2x, 6.1%) dr: 9.1s (21.6x, -0.3%) ma: 8.9s (21.1x, -0.6%) -- many-loss-records -- many-loss-records valgrind-new:0.03s no: 0.5s (17.3x, -----) me: 2.2s (72.3x, -----) ca: 1.9s (63.3x, -----) he: 1.8s (59.7x, -----) ca: 1.9s (61.7x, -----) dr: 1.5s (51.0x, -----) ma: 1.6s (52.7x, -----) many-loss-records valgrind-old:0.03s no: 0.5s (17.3x, 0.0%) me: 2.2s (72.0x, 0.5%) ca: 1.9s (63.3x, 0.0%) he: 1.8s (59.7x, 0.0%) ca: 1.9s (61.7x, 0.0%) dr: 1.5s (50.7x, 0.7%) ma: 1.6s (53.0x, -0.6%) -- many-xpts -- many-xpts valgrind-new:0.07s no: 0.7s (10.6x, -----) me: 3.4s (48.4x, -----) ca: 4.7s (67.4x, -----) he: 4.8s (68.6x, -----) ca: 2.9s (41.0x, -----) dr: 2.3s (32.4x, -----) ma: 2.4s (33.7x, -----) many-xpts valgrind-old:0.07s no: 0.8s (10.7x, -1.4%) me: 3.4s (48.4x, 0.0%) ca: 4.9s (70.4x, -4.4%) he: 5.0s (71.0x, -3.5%) ca: 3.0s (42.7x, -4.2%) dr: 2.3s (33.1x, -2.2%) ma: 2.4s (33.9x, -0.4%) -- sarp -- sarp valgrind-new:0.02s no: 0.4s (21.0x, -----) me: 3.3s (164.0x, -----) ca: 3.0s (152.5x, -----) he:11.2s (558.5x, -----) ca: 2.0s (98.0x, -----) dr: 1.1s (54.0x, -----) ma: 0.5s (22.5x, -----) sarp valgrind-old:0.02s no: 0.4s (21.0x, 0.0%) me: 3.2s (160.5x, 2.1%) ca: 3.0s (151.0x, 1.0%) he:11.1s (554.5x, 0.7%) ca: 1.7s (87.0x, 11.2%) dr: 1.1s (54.0x, 0.0%) ma: 0.4s (21.0x, 6.7%) -- tinycc -- tinycc valgrind-new:0.27s no: 3.0s (11.0x, -----) me:14.1s (52.2x, -----) ca:17.5s (65.0x, -----) he:19.1s (70.6x, -----) ca:15.6s (57.8x, -----) dr:12.4s (45.8x, -----) ma: 3.8s (14.2x, -----) tinycc valgrind-old:0.27s no: 3.0s (11.0x, 0.3%) me:14.1s (52.1x, 0.1%) ca:17.4s (64.5x, 0.7%) he:18.9s (70.1x, 0.7%) ca:15.6s (57.9x, -0.1%) dr:12.4s (46.0x, -0.4%) ma: 3.8s (14.1x, 0.3%) -- Finished tests in perf ---------------------------------------------- == 11 programs, 154 timings ================= real 54m18.185s user 53m4.874s sys 0m19.011s |
|
From: Tom H. <to...@co...> - 2014-02-10 04:28:01
|
valgrind revision: 13796 VEX revision: 2814 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-10 03:52:14 GMT Ended at 2014-02-10 04:27:45 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, 1 stderr failure, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/amd64/insn-pcmpistri (stderr) none/tests/amd64/sse4-64 (stdout) |
|
From: Rich C. <rc...@wi...> - 2014-02-10 04:07:35
|
valgrind revision: 13796 VEX revision: 2814 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-02-09 21:30:01 CST Ended at 2014-02-09 22:07:25 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, 0 stderr failures, 0 stdout failures, 1 stderrB failure, 0 stdoutB failures, 0 post failures == gdbserver_tests/mssnapshot (stderrB) ================================================= ./valgrind-new/gdbserver_tests/mssnapshot.stderrB.diff ================================================= --- mssnapshot.stderrB.exp 2014-02-09 21:52:58.861237047 -0600 +++ mssnapshot.stderrB.out 2014-02-09 21:56:39.292367052 -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/gdbserver_tests/mssnapshot.stderrB.diff ================================================= --- mssnapshot.stderrB.exp 2014-02-09 21:33:52.250830081 -0600 +++ mssnapshot.stderrB.out 2014-02-09 21:39:55.379687022 -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 |
|
From: Tom H. <to...@co...> - 2014-02-10 04:01:27
|
valgrind revision: 13796 VEX revision: 2814 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-10 03:16:18 GMT Ended at 2014-02-10 04:01:17 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, 0 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == |
|
From: Tom H. <to...@co...> - 2014-02-10 04:00:53
|
valgrind revision: 13796 VEX revision: 2814 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-10 03:03:17 GMT Ended at 2014-02-10 04:00:42 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, 0 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == |
|
From: Maran P. <ma...@li...> - 2014-02-10 03:52:06
|
valgrind revision: 13796 VEX revision: 2814 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-10 03:45:01 CET Ended at 2014-02-10 04:51:56 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, 1 stderr failure, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == 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.7x, -----) me: 5.8s (25.3x, -----) bigcode1 valgrind-old:0.23s no: 4.3s (18.9x, -0.7%) me: 5.8s (25.3x, 0.2%) -- bigcode2 -- bigcode2 valgrind-new:0.24s no: 7.2s (30.1x, -----) me:12.7s (53.0x, -----) bigcode2 valgrind-old:0.24s no: 7.2s (30.1x, 0.1%) me:12.8s (53.1x, -0.3%) -- bz2 -- bz2 valgrind-new:0.70s no: 5.0s ( 7.2x, -----) me:12.8s (18.3x, -----) bz2 valgrind-old:0.70s no: 5.0s ( 7.2x, 0.0%) me:12.8s (18.3x, 0.2%) -- fbench -- fbench valgrind-new:0.41s no: 1.6s ( 4.0x, -----) me: 4.2s (10.3x, -----) fbench valgrind-old:0.41s no: 1.7s ( 4.0x, -1.2%) me: 4.2s (10.3x, 0.0%) -- ffbench -- ffbench valgrind-new:0.20s no: 1.1s ( 5.3x, -----) me: 3.0s (15.2x, -----) ffbench valgrind-old:0.20s no: 1.1s ( 5.3x, 0.0%) me: 3.0s (15.2x, 0.0%) -- heap -- heap valgrind-new:0.23s no: 2.0s ( 8.5x, -----) me: 8.9s (38.5x, -----) heap valgrind-old:0.23s no: 2.0s ( 8.7x, -1.5%) me: 8.8s (38.5x, 0.1%) -- heap_pdb4 -- heap_pdb4 valgrind-new:0.22s no: 2.2s ( 9.9x, -----) me:12.9s (58.8x, -----) heap_pdb4 valgrind-old:0.22s no: 2.2s ( 9.8x, 0.9%) me:13.0s (59.2x, -0.6%) -- many-loss-records -- many-loss-records valgrind-new:0.02s no: 0.5s (24.5x, -----) me: 2.1s (104.0x, -----) many-loss-records valgrind-old:0.02s no: 0.5s (25.0x, -2.0%) me: 2.1s (103.5x, 0.5%) -- many-xpts -- many-xpts valgrind-new:0.07s no: 0.7s ( 9.3x, -----) me: 3.2s (45.4x, -----) many-xpts valgrind-old:0.07s no: 0.7s ( 9.3x, 0.0%) me: 3.2s (45.7x, -0.6%) -- sarp -- sarp valgrind-new:0.02s no: 0.6s (31.0x, -----) me: 3.6s (181.0x, -----) sarp valgrind-old:0.02s no: 0.6s (30.5x, 1.6%) me: 3.6s (180.5x, 0.3%) -- tinycc -- tinycc valgrind-new:0.22s no: 2.9s (13.2x, -----) me:15.0s (68.0x, -----) tinycc valgrind-old:0.22s no: 2.9s (13.3x, -0.7%) me:15.0s (68.3x, -0.5%) -- Finished tests in perf ---------------------------------------------- == 11 programs, 44 timings ================= real 19m33.913s user 19m5.369s sys 0m23.664s |
|
From: Tom H. <to...@co...> - 2014-02-10 03:40:58
|
valgrind revision: 13796 VEX revision: 2814 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-10 02:51:35 GMT Ended at 2014-02-10 03:40:42 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, 4 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == gdbserver_tests/mcinfcallRU (stderr) gdbserver_tests/mcinfcallWSRU (stderr) gdbserver_tests/mcmain_pic (stderr) exp-sgcheck/tests/preen_invars (stdout) exp-sgcheck/tests/preen_invars (stderr) |
|
From: Tom H. <to...@co...> - 2014-02-10 03:39:46
|
valgrind revision: 13796 VEX revision: 2814 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-10 02:41:32 GMT Ended at 2014-02-10 03:39:32 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, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == exp-sgcheck/tests/preen_invars (stdout) exp-sgcheck/tests/preen_invars (stderr) |
|
From: Maran P. <ma...@li...> - 2014-02-10 03:33:45
|
valgrind revision: 13796 VEX revision: 2814 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-10 03:45:26 CET Ended at 2014-02-10 04:33:56 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, 3 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == 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: 4.0s (18.0x, -----) me: 5.7s (26.1x, -----) bigcode1 valgrind-old:0.22s no: 3.9s (17.8x, 1.5%) me: 5.9s (26.8x, -2.6%) -- bigcode2 -- bigcode2 valgrind-new:0.24s no: 6.3s (26.2x, -----) me:10.9s (45.4x, -----) bigcode2 valgrind-old:0.24s no: 6.2s (25.8x, 1.4%) me:11.1s (46.2x, -1.9%) -- bz2 -- bz2 valgrind-new:0.68s no: 5.2s ( 7.6x, -----) me:11.6s (17.1x, -----) bz2 valgrind-old:0.68s no: 5.1s ( 7.5x, 1.4%) me:11.7s (17.2x, -0.9%) -- fbench -- fbench valgrind-new:0.36s no: 1.5s ( 4.3x, -----) me: 5.7s (15.7x, -----) fbench valgrind-old:0.36s no: 1.5s ( 4.3x, 0.0%) me: 5.7s (15.7x, 0.0%) -- ffbench -- ffbench valgrind-new:0.22s no: 1.2s ( 5.5x, -----) me: 3.4s (15.5x, -----) ffbench valgrind-old:0.22s no: 1.2s ( 5.5x, 0.0%) me: 3.4s (15.5x, 0.0%) -- heap -- heap valgrind-new:0.23s no: 1.6s ( 7.0x, -----) me: 7.9s (34.3x, -----) heap valgrind-old:0.23s no: 1.6s ( 7.1x, -1.9%) me: 7.9s (34.3x, 0.3%) -- heap_pdb4 -- heap_pdb4 valgrind-new:0.22s no: 1.7s ( 7.9x, -----) me:12.1s (55.0x, -----) heap_pdb4 valgrind-old:0.22s no: 1.8s ( 8.0x, -1.1%) me:12.1s (54.9x, 0.1%) -- 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: 1.9s (65.0x, 0.5%) -- many-xpts -- many-xpts valgrind-new:0.07s no: 0.5s ( 7.6x, -----) me: 3.3s (47.1x, -----) many-xpts valgrind-old:0.07s no: 0.5s ( 7.6x, 0.0%) me: 3.3s (47.1x, 0.0%) -- sarp -- sarp valgrind-new:0.03s no: 0.5s (16.3x, -----) me: 5.4s (181.0x, -----) sarp valgrind-old:0.03s no: 0.5s (16.3x, 0.0%) me: 5.4s (180.0x, 0.6%) -- tinycc -- tinycc valgrind-new:0.23s no: 2.5s (10.8x, -----) me:15.2s (66.3x, -----) tinycc valgrind-old:0.23s no: 2.5s (10.9x, -0.8%) me:15.3s (66.3x, -0.1%) -- Finished tests in perf ---------------------------------------------- == 11 programs, 44 timings ================= real 18m53.997s user 18m33.081s sys 0m18.915s |
|
From: Maran P. <ma...@li...> - 2014-02-10 03:30:43
|
valgrind revision: 13796 VEX revision: 2814 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-10 03:45:26 CET Ended at 2014-02-10 04:30:55 CET Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 641 tests, 2 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == helgrind/tests/pth_cond_destroy_busy (stderr) helgrind/tests/pth_destroy_cond (stderr) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 641 tests, 1 stderr failure, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == helgrind/tests/pth_cond_destroy_busy (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short 2014-02-10 04:00:06.000000000 +0100 --- new.short 2014-02-10 04:15:02.000000000 +0100 *************** *** 8,11 **** ! == 641 tests, 1 stderr failure, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == helgrind/tests/pth_cond_destroy_busy (stderr) --- 8,12 ---- ! == 641 tests, 2 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == helgrind/tests/pth_cond_destroy_busy (stderr) + helgrind/tests/pth_destroy_cond (stderr) --tools=none,memcheck --reps=5 --vg=../valgrind-new --vg=../valgrind-old -- Running tests in perf ---------------------------------------------- -- bigcode1 -- bigcode1 valgrind-new:0.16s no: 1.7s (10.5x, -----) me: 3.1s (19.2x, -----) bigcode1 valgrind-old:0.16s no: 1.7s (10.6x, -0.6%) me: 3.1s (19.4x, -0.6%) -- bigcode2 -- bigcode2 valgrind-new:0.16s no: 3.6s (22.6x, -----) me: 7.4s (46.4x, -----) bigcode2 valgrind-old:0.16s no: 3.6s (22.7x, -0.6%) me: 7.5s (46.6x, -0.4%) -- bz2 -- bz2 valgrind-new:0.70s no: 2.5s ( 3.6x, -----) me:10.1s (14.4x, -----) bz2 valgrind-old:0.70s no: 2.5s ( 3.6x, -0.4%) me:10.1s (14.4x, 0.1%) -- fbench -- fbench valgrind-new:0.36s no: 1.3s ( 3.7x, -----) me: 3.6s ( 9.9x, -----) fbench valgrind-old:0.36s no: 1.3s ( 3.7x, 0.0%) me: 3.5s ( 9.9x, 0.6%) -- ffbench -- ffbench valgrind-new:0.18s no: 0.8s ( 4.3x, -----) me: 3.0s (16.8x, -----) ffbench valgrind-old:0.18s no: 0.8s ( 4.4x, -1.3%) me: 3.0s (16.7x, 0.7%) -- heap -- heap valgrind-new:0.11s no: 0.7s ( 6.6x, -----) me: 5.8s (52.7x, -----) heap valgrind-old:0.11s no: 0.7s ( 6.7x, -1.4%) me: 5.8s (52.6x, 0.2%) -- heap_pdb4 -- heap_pdb4 valgrind-new:0.13s no: 0.8s ( 6.5x, -----) me: 9.1s (70.0x, -----) heap_pdb4 valgrind-old:0.13s no: 0.8s ( 6.5x, 0.0%) me: 9.1s (69.8x, 0.2%) -- many-loss-records -- many-loss-records valgrind-new:0.01s no: 0.2s (24.0x, -----) me: 1.5s (148.0x, -----) many-loss-records valgrind-old:0.01s no: 0.2s (24.0x, 0.0%) me: 1.5s (148.0x, 0.0%) -- many-xpts -- many-xpts valgrind-new:0.04s no: 0.3s ( 7.8x, -----) me: 2.2s (55.8x, -----) many-xpts valgrind-old:0.04s no: 0.3s ( 7.8x, 0.0%) me: 2.2s (55.8x, 0.0%) -- sarp -- sarp valgrind-new:0.02s no: 0.2s (12.5x, -----) me: 2.4s (120.5x, -----) sarp valgrind-old:0.02s no: 0.2s (12.5x, 0.0%) me: 2.4s (121.5x, -0.8%) -- tinycc -- tinycc valgrind-new:0.17s no: 1.6s ( 9.6x, -----) me:12.1s (71.2x, -----) tinycc valgrind-old:0.17s no: 1.6s ( 9.5x, 0.6%) me:12.1s (71.2x, 0.0%) -- Finished tests in perf ---------------------------------------------- == 11 programs, 44 timings ================= real 15m53.090s user 12m35.697s sys 0m11.561s |
|
From: Rich C. <rc...@wi...> - 2014-02-10 03:27:33
|
valgrind revision: 13796
VEX revision: 2814
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-09 19:22:01 CST
Ended at 2014-02-09 21:27:22 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, 6 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)
exp-sgcheck/tests/hackedbz2 (stderr)
=================================================
./valgrind-new/exp-sgcheck/tests/hackedbz2.stderr.diff-glibc28-amd64
=================================================
--- hackedbz2.stderr.exp-glibc28-amd64 2014-02-09 20:25:48.840850471 -0600
+++ hackedbz2.stderr.out 2014-02-09 21:26:06.204813481 -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-09 20:25:19.061505018 -0600
+++ dw4.stderr.out 2014-02-09 20:44:12.646655119 -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-09 20:25:19.047504855 -0600
+++ err_disable3.stderr.out 2014-02-09 20:44:19.344732769 -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-09 20:25:30.063632597 -0600
+++ err_disable4.stderr.out 2014-02-09 20:44:23.442780309 -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-09 20:25:21.346531525 -0600
+++ threadname.stderr.out 2014-02-09 20:50:11.737820739 -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-09 20:25:33.105667936 -0600
+++ threadname_xml.stderr.out 2014-02-09 20:50:13.785844497 -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/exp-sgcheck/tests/hackedbz2.stderr.diff-glibc28-amd64
=================================================
--- hackedbz2.stderr.exp-glibc28-amd64 2014-02-09 19:22:33.623824235 -0600
+++ hackedbz2.stderr.out 2014-02-09 20:22:42.377687414 -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-09 19:23:20.776371226 -0600
+++ dw4.stderr.out 2014-02-09 19:41:07.508745805 -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-09 19:23:18.662346703 -0600
+++ err_disable3.stderr.out 2014-02-09 19:41:14.146822810 -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-09 19:23:21.500379625 -0600
+++ err_disable4.stderr.out 2014-02-09 19:41:18.138869119 -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-09 19:23:20.697370310 -0600
+++ threadname.stderr.out 2014-02-09 19:46:59.037823701 -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-09 19:23:21.511379753 -0600
+++ threadname_xml.stderr.out 2014-02-09 19:47:01.036846891 -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>
|
|
From: Tom H. <to...@co...> - 2014-02-10 03:11:49
|
valgrind revision: 13796 VEX revision: 2814 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-10 02:32:43 GMT Ended at 2014-02-10 03:11:32 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, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/dw4 (stderr) exp-sgcheck/tests/hackedbz2 (stderr) |
|
From: <sv...@va...> - 2014-02-09 11:41:36
|
Author: tom
Date: Sun Feb 9 11:41:25 2014
New Revision: 13796
Log:
Update NEWS for VEX r2814
Modified:
trunk/NEWS
Modified: trunk/NEWS
==============================================================================
--- trunk/NEWS (original)
+++ trunk/NEWS Sun Feb 9 11:41:25 2014
@@ -34,6 +34,7 @@
https://bugs.kde.org/show_bug.cgi?id=XXXXXX
where XXXXXX is the bug number as listed below.
+308729 vex x86->IR: unhandled instruction bytes 0xf 0x5 (syscall)
325714 Empty vgcore but RLIMIT_CORE is big enough (too big)
326462 Refactor vgdb to isolate invoker stuff into separate module
326983 Clear direction flag after tests on amd64.
@@ -48,6 +49,7 @@
329612 Incorrect handling of AT_BASE for image execution
330459 --track-fds=yes doesn't track eventfds
330469 Add clock_adjtime syscall support
+330939 Support for AMD's syscall instruction on x86
330941 Typo in PRE(poll) syscall wrapper
Release 3.9.0 (31 October 2013)
|