You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(122) |
Nov
(152) |
Dec
(69) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(6) |
Feb
(25) |
Mar
(73) |
Apr
(82) |
May
(24) |
Jun
(25) |
Jul
(10) |
Aug
(11) |
Sep
(10) |
Oct
(54) |
Nov
(203) |
Dec
(182) |
| 2004 |
Jan
(307) |
Feb
(305) |
Mar
(430) |
Apr
(312) |
May
(187) |
Jun
(342) |
Jul
(487) |
Aug
(637) |
Sep
(336) |
Oct
(373) |
Nov
(441) |
Dec
(210) |
| 2005 |
Jan
(385) |
Feb
(480) |
Mar
(636) |
Apr
(544) |
May
(679) |
Jun
(625) |
Jul
(810) |
Aug
(838) |
Sep
(634) |
Oct
(521) |
Nov
(965) |
Dec
(543) |
| 2006 |
Jan
(494) |
Feb
(431) |
Mar
(546) |
Apr
(411) |
May
(406) |
Jun
(322) |
Jul
(256) |
Aug
(401) |
Sep
(345) |
Oct
(542) |
Nov
(308) |
Dec
(481) |
| 2007 |
Jan
(427) |
Feb
(326) |
Mar
(367) |
Apr
(255) |
May
(244) |
Jun
(204) |
Jul
(223) |
Aug
(231) |
Sep
(354) |
Oct
(374) |
Nov
(497) |
Dec
(362) |
| 2008 |
Jan
(322) |
Feb
(482) |
Mar
(658) |
Apr
(422) |
May
(476) |
Jun
(396) |
Jul
(455) |
Aug
(267) |
Sep
(280) |
Oct
(253) |
Nov
(232) |
Dec
(304) |
| 2009 |
Jan
(486) |
Feb
(470) |
Mar
(458) |
Apr
(423) |
May
(696) |
Jun
(461) |
Jul
(551) |
Aug
(575) |
Sep
(134) |
Oct
(110) |
Nov
(157) |
Dec
(102) |
| 2010 |
Jan
(226) |
Feb
(86) |
Mar
(147) |
Apr
(117) |
May
(107) |
Jun
(203) |
Jul
(193) |
Aug
(238) |
Sep
(300) |
Oct
(246) |
Nov
(23) |
Dec
(75) |
| 2011 |
Jan
(133) |
Feb
(195) |
Mar
(315) |
Apr
(200) |
May
(267) |
Jun
(293) |
Jul
(353) |
Aug
(237) |
Sep
(278) |
Oct
(611) |
Nov
(274) |
Dec
(260) |
| 2012 |
Jan
(303) |
Feb
(391) |
Mar
(417) |
Apr
(441) |
May
(488) |
Jun
(655) |
Jul
(590) |
Aug
(610) |
Sep
(526) |
Oct
(478) |
Nov
(359) |
Dec
(372) |
| 2013 |
Jan
(467) |
Feb
(226) |
Mar
(391) |
Apr
(281) |
May
(299) |
Jun
(252) |
Jul
(311) |
Aug
(352) |
Sep
(481) |
Oct
(571) |
Nov
(222) |
Dec
(231) |
| 2014 |
Jan
(185) |
Feb
(329) |
Mar
(245) |
Apr
(238) |
May
(281) |
Jun
(399) |
Jul
(382) |
Aug
(500) |
Sep
(579) |
Oct
(435) |
Nov
(487) |
Dec
(256) |
| 2015 |
Jan
(338) |
Feb
(357) |
Mar
(330) |
Apr
(294) |
May
(191) |
Jun
(108) |
Jul
(142) |
Aug
(261) |
Sep
(190) |
Oct
(54) |
Nov
(83) |
Dec
(22) |
| 2016 |
Jan
(49) |
Feb
(89) |
Mar
(33) |
Apr
(50) |
May
(27) |
Jun
(34) |
Jul
(53) |
Aug
(53) |
Sep
(98) |
Oct
(206) |
Nov
(93) |
Dec
(53) |
| 2017 |
Jan
(65) |
Feb
(82) |
Mar
(102) |
Apr
(86) |
May
(187) |
Jun
(67) |
Jul
(23) |
Aug
(93) |
Sep
(65) |
Oct
(45) |
Nov
(35) |
Dec
(17) |
| 2018 |
Jan
(26) |
Feb
(35) |
Mar
(38) |
Apr
(32) |
May
(8) |
Jun
(43) |
Jul
(27) |
Aug
(30) |
Sep
(43) |
Oct
(42) |
Nov
(38) |
Dec
(67) |
| 2019 |
Jan
(32) |
Feb
(37) |
Mar
(53) |
Apr
(64) |
May
(49) |
Jun
(18) |
Jul
(14) |
Aug
(53) |
Sep
(25) |
Oct
(30) |
Nov
(49) |
Dec
(31) |
| 2020 |
Jan
(87) |
Feb
(45) |
Mar
(37) |
Apr
(51) |
May
(99) |
Jun
(36) |
Jul
(11) |
Aug
(14) |
Sep
(20) |
Oct
(24) |
Nov
(40) |
Dec
(23) |
| 2021 |
Jan
(14) |
Feb
(53) |
Mar
(85) |
Apr
(15) |
May
(19) |
Jun
(3) |
Jul
(14) |
Aug
(1) |
Sep
(57) |
Oct
(73) |
Nov
(56) |
Dec
(22) |
| 2022 |
Jan
(3) |
Feb
(22) |
Mar
(6) |
Apr
(55) |
May
(46) |
Jun
(39) |
Jul
(15) |
Aug
(9) |
Sep
(11) |
Oct
(34) |
Nov
(20) |
Dec
(36) |
| 2023 |
Jan
(79) |
Feb
(41) |
Mar
(99) |
Apr
(169) |
May
(48) |
Jun
(16) |
Jul
(16) |
Aug
(57) |
Sep
(19) |
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
1
(15) |
|
2
(11) |
3
(3) |
4
(20) |
5
(16) |
6
(17) |
7
(16) |
8
(11) |
|
9
(3) |
10
(15) |
11
(16) |
12
(14) |
13
(17) |
14
(17) |
15
(18) |
|
16
(13) |
17
(17) |
18
(17) |
19
(19) |
20
(19) |
21
(14) |
22
(15) |
|
23
(66) |
24
(18) |
25
(27) |
26
(15) |
27
(12) |
28
(1) |
29
(14) |
|
30
(11) |
|
|
|
|
|
|
|
From: <sv...@va...> - 2014-11-20 16:54:58
|
Author: sewardj
Date: Thu Nov 20 16:54:44 2014
New Revision: 14741
Log:
bgq/cnk: enable syscalls: getpid, getppid, getuid, getgid
Modified:
branches/VALGRIND_3_8_BRANCH_BGQ/coregrind/m_syswrap/syswrap-ppc64-bgq.c
Modified: branches/VALGRIND_3_8_BRANCH_BGQ/coregrind/m_syswrap/syswrap-ppc64-bgq.c
==============================================================================
--- branches/VALGRIND_3_8_BRANCH_BGQ/coregrind/m_syswrap/syswrap-ppc64-bgq.c (original)
+++ branches/VALGRIND_3_8_BRANCH_BGQ/coregrind/m_syswrap/syswrap-ppc64-bgq.c Thu Nov 20 16:54:44 2014
@@ -1609,12 +1609,12 @@
//QQ// _____(__NR_break, sys_break), // 17
//QQ// _____(__NR_oldstat, sys_oldstat), // 18
LINX_(__NR_lseek, sys_lseek), // 19
-//QQ
-//QQ GENX_(__NR_getpid, sys_getpid), // 20
+
+ GENX_(__NR_getpid, sys_getpid), // 20
//QQ LINX_(__NR_mount, sys_mount), // 21
//QQ// _____(__NR_umount, sys_umount), // 22
//QQ GENX_(__NR_setuid, sys_setuid), // 23
-//QQ GENX_(__NR_getuid, sys_getuid), // 24
+ GENX_(__NR_getuid, sys_getuid), // 24
//QQ
//QQ// _____(__NR_stime, sys_stime), // 25
//QQ// _____(__NR_ptrace, sys_ptrace), // 26
@@ -1642,7 +1642,7 @@
//QQ
PLAX_(__NR_brk, sys_brk), // 45 // AM-Obs different
//QQ GENX_(__NR_setgid, sys_setgid), // 46
-//QQ GENX_(__NR_getgid, sys_getgid), // 47
+ GENX_(__NR_getgid, sys_getgid), // 47
//QQ// _____(__NR_signal, sys_signal), // 48
//QQ GENX_(__NR_geteuid, sys_geteuid), // 49
//QQ
@@ -1662,7 +1662,7 @@
//QQ GENX_(__NR_chroot, sys_chroot), // 61
//QQ// _____(__NR_ustat, sys_ustat), // 62
//QQ GENXY(__NR_dup2, sys_dup2), // 63
-//QQ GENX_(__NR_getppid, sys_getppid), // 64
+ GENX_(__NR_getppid, sys_getppid), // 64
//QQ
//QQ GENX_(__NR_getpgrp, sys_getpgrp), // 65
//QQ GENX_(__NR_setsid, sys_setsid), // 66
|
Author: florian
Date: Thu Nov 20 15:08:56 2014
New Revision: 2998
Log:
This change was triggered by BZ #247974 which suggested to include
VEX/test_main.* in the tarball. We don't want to do that because those
files are really just scaffolding for developers to play with and not
meant for general consumption (and are also bitrotting ATM). Therefore,
this patch moves them to the "useful" subdirectory and adds a crude
Makefile there to build the executable.
Makefile-gcc updated accordingly.
Added:
trunk/useful/Makefile-vex
trunk/useful/test_main.c
- copied unchanged from r2997, trunk/test_main.c
trunk/useful/test_main.h
- copied unchanged from r2997, trunk/test_main.h
trunk/useful/test_main.h.base
- copied unchanged from r2997, trunk/test_main.h.base
Removed:
trunk/test_main.c
trunk/test_main.h
trunk/test_main.h.base
Modified:
trunk/Makefile-gcc
Modified: trunk/Makefile-gcc
==============================================================================
--- trunk/Makefile-gcc (original)
+++ trunk/Makefile-gcc Thu Nov 20 15:08:56 2014
@@ -131,8 +131,7 @@
scratch: clean all
-vex: libvex.a test_main.o
- $(CC) $(CCFLAGS) -o vex test_main.o libvex.a
+vex: libvex.a
libvex.a: $(LIB_OBJS)
rm -f libvex.a
@@ -206,15 +205,14 @@
clean:
- rm -f $(LIB_OBJS) *.a vex test_main.o TAG-* \
+ rm -f $(LIB_OBJS) *.a TAG-* \
pub/libvex_guest_offsets.h \
auxprogs/genoffsets.s
minidist:
rm -f vex--minidist-2005MMDD.tar
tar cf vex--minidist-2005MMDD.tar $(PUB_HEADERS) $(PRIV_HEADERS) \
- test_main.c test_main.h \
- Makefile \
+ Makefile-gcc \
`echo $(LIB_OBJS) | sed "s/\.o/\.c/g"`
@echo
@echo minidist done, size follows:
@@ -241,10 +239,6 @@
ALL_HEADERS = $(PUB_HEADERS) $(PRIV_HEADERS)
ALL_INCLUDES = $(PUB_INCLUDES) $(PRIV_INCLUDES)
-test_main.o: $(PUB_HEADERS) test_main.c test_main.h
- $(CC) $(CCFLAGS) $(PUB_INCLUDES) -o test_main.o \
- -c test_main.c
-
priv/ir_defs.o: $(ALL_HEADERS) priv/ir_defs.c
$(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/ir_defs.o \
-c priv/ir_defs.c
Removed: trunk/test_main.c
==============================================================================
--- trunk/test_main.c (original)
+++ trunk/test_main.c (removed)
@@ -1,2734 +0,0 @@
-
-/*---------------------------------------------------------------*/
-/*--- begin test_main.c ---*/
-/*---------------------------------------------------------------*/
-
-/*
- This file is part of Valgrind, a dynamic binary instrumentation
- framework.
-
- Copyright (C) 2004-2013 OpenWorks LLP
- in...@op...
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- 02110-1301, USA.
-
- The GNU General Public License is contained in the file COPYING.
-
- Neither the names of the U.S. Department of Energy nor the
- University of California nor the names of its contributors may be
- used to endorse or promote products derived from this software
- without prior written permission.
-*/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <assert.h>
-#include <string.h>
-
-#include "libvex_basictypes.h"
-#include "libvex.h"
-
-#include "test_main.h"
-
-
-/*---------------------------------------------------------------*/
-/*--- Test ---*/
-/*---------------------------------------------------------------*/
-
-
-__attribute__ ((noreturn))
-static
-void failure_exit ( void )
-{
- fprintf(stdout, "VEX did failure_exit. Bye.\n");
- exit(1);
-}
-
-static
-void log_bytes ( HChar* bytes, Int nbytes )
-{
- fwrite ( bytes, 1, nbytes, stdout );
-}
-
-#define N_LINEBUF 10000
-static HChar linebuf[N_LINEBUF];
-
-#define N_ORIGBUF 10000
-#define N_TRANSBUF 5000
-
-static UChar origbuf[N_ORIGBUF];
-static UChar transbuf[N_TRANSBUF];
-
-static Bool verbose = True;
-
-/* Forwards */
-#if 1 /* UNUSED */
-//static IRSB* ac_instrument ( IRSB*, VexGuestLayout*, IRType );
-static
-IRSB* mc_instrument ( void* closureV,
- IRSB* bb_in, VexGuestLayout* layout,
- VexGuestExtents* vge,
- IRType gWordTy, IRType hWordTy );
-#endif
-
-static Bool chase_into_not_ok ( void* opaque, Addr64 dst ) {
- return False;
-}
-static UInt needs_self_check ( void* opaque, VexGuestExtents* vge ) {
- return 0;
-}
-
-int main ( int argc, char** argv )
-{
- FILE* f;
- Int i;
- UInt u, sum;
- Addr32 orig_addr;
- Int bb_number, n_bbs_done = 0;
- Int orig_nbytes, trans_used;
- VexTranslateResult tres;
- VexControl vcon;
- VexGuestExtents vge;
- VexArchInfo vai_x86, vai_amd64, vai_ppc32, vai_arm;
- VexAbiInfo vbi;
- VexTranslateArgs vta;
-
- if (argc != 2) {
- fprintf(stderr, "usage: vex file.orig\n");
- exit(1);
- }
- f = fopen(argv[1], "r");
- if (!f) {
- fprintf(stderr, "can't open `%s'\n", argv[1]);
- exit(1);
- }
-
- /* Run with default params. However, we can't allow bb chasing
- since that causes the front end to get segfaults when it tries
- to read code outside the initial BB we hand it. So when calling
- LibVEX_Translate, send in a chase-into predicate that always
- returns False. */
- LibVEX_default_VexControl ( &vcon );
- vcon.iropt_level = 2;
- vcon.guest_max_insns = 60;
-
- LibVEX_Init ( &failure_exit, &log_bytes,
- 1, /* debug_paranoia */
- &vcon );
-
-
- while (!feof(f)) {
-
- __attribute__((unused))
- char* unused1 = fgets(linebuf, N_LINEBUF,f);
- if (linebuf[0] == 0) continue;
- if (linebuf[0] != '.') continue;
-
- if (n_bbs_done == TEST_N_BBS) break;
- n_bbs_done++;
-
- /* first line is: . bb-number bb-addr n-bytes */
- assert(3 == sscanf(&linebuf[1], " %d %x %d\n",
- & bb_number,
- & orig_addr, & orig_nbytes ));
- assert(orig_nbytes >= 1);
- assert(!feof(f));
- __attribute__((unused))
- char* unused2 = fgets(linebuf, N_LINEBUF,f);
- assert(linebuf[0] == '.');
-
- /* second line is: . byte byte byte etc */
- if (verbose)
- printf("============ Basic Block %d, Done %d, "
- "Start %x, nbytes %2d ============",
- bb_number, n_bbs_done-1, orig_addr, orig_nbytes);
-
- /* thumb ITstate analysis needs to examine the 18 bytes
- preceding the first instruction. So let's leave the first 18
- zeroed out. */
- memset(origbuf, 0, sizeof(origbuf));
-
- assert(orig_nbytes >= 1 && orig_nbytes <= N_ORIGBUF);
- for (i = 0; i < orig_nbytes; i++) {
- assert(1 == sscanf(&linebuf[2 + 3*i], "%x", &u));
- origbuf[18+ i] = (UChar)u;
- }
-
- /* FIXME: put sensible values into the .hwcaps fields */
- LibVEX_default_VexArchInfo(&vai_x86);
- vai_x86.hwcaps = VEX_HWCAPS_X86_SSE1
- | VEX_HWCAPS_X86_SSE2 | VEX_HWCAPS_X86_SSE3;
-
- LibVEX_default_VexArchInfo(&vai_amd64);
- vai_amd64.hwcaps = 0;
-
- LibVEX_default_VexArchInfo(&vai_ppc32);
- vai_ppc32.hwcaps = 0;
- vai_ppc32.ppc_icache_line_szB = 128;
-
- LibVEX_default_VexArchInfo(&vai_arm);
- vai_arm.hwcaps = VEX_HWCAPS_ARM_VFP3 | VEX_HWCAPS_ARM_NEON | 7;
-
- LibVEX_default_VexAbiInfo(&vbi);
- vbi.guest_stack_redzone_size = 128;
-
- /* ----- Set up args for LibVEX_Translate ----- */
-
- vta.abiinfo_both = vbi;
- vta.guest_bytes = &origbuf[18];
- vta.guest_bytes_addr = (Addr64)orig_addr;
- vta.callback_opaque = NULL;
- vta.chase_into_ok = chase_into_not_ok;
- vta.guest_extents = &vge;
- vta.host_bytes = transbuf;
- vta.host_bytes_size = N_TRANSBUF;
- vta.host_bytes_used = &trans_used;
-
-#if 0 /* ppc32 -> ppc32 */
- vta.arch_guest = VexArchPPC32;
- vta.archinfo_guest = vai_ppc32;
- vta.arch_host = VexArchPPC32;
- vta.archinfo_host = vai_ppc32;
-#endif
-#if 0 /* amd64 -> amd64 */
- vta.arch_guest = VexArchAMD64;
- vta.archinfo_guest = vai_amd64;
- vta.arch_host = VexArchAMD64;
- vta.archinfo_host = vai_amd64;
-#endif
-#if 0 /* x86 -> x86 */
- vta.arch_guest = VexArchX86;
- vta.archinfo_guest = vai_x86;
- vta.arch_host = VexArchX86;
- vta.archinfo_host = vai_x86;
-#endif
-#if 1 /* arm -> arm */
- vta.arch_guest = VexArchARM;
- vta.archinfo_guest = vai_arm;
- vta.arch_host = VexArchARM;
- vta.archinfo_host = vai_arm;
- /* ARM/Thumb only hacks, that are needed to keep the ITstate
- analyser in the front end happy. */
- vta.guest_bytes = &origbuf[18 +1];
- vta.guest_bytes_addr = (Addr64)(&origbuf[18 +1]);
-#endif
-
-#if 1 /* no instrumentation */
- vta.instrument1 = NULL;
- vta.instrument2 = NULL;
-#endif
-#if 0 /* addrcheck */
- vta.instrument1 = ac_instrument;
- vta.instrument2 = NULL;
-#endif
-#if 0 /* memcheck */
- vta.instrument1 = mc_instrument;
- vta.instrument2 = NULL;
-#endif
- vta.needs_self_check = needs_self_check;
- vta.preamble_function = NULL;
- vta.traceflags = TEST_FLAGS;
- vta.addProfInc = False;
- vta.sigill_diag = True;
-
- vta.disp_cp_chain_me_to_slowEP = (void*)0x12345678;
- vta.disp_cp_chain_me_to_fastEP = (void*)0x12345679;
- vta.disp_cp_xindir = (void*)0x1234567A;
- vta.disp_cp_xassisted = (void*)0x1234567B;
-
- vta.finaltidy = NULL;
-
- for (i = 0; i < TEST_N_ITERS; i++)
- tres = LibVEX_Translate ( &vta );
-
- if (tres.status != VexTransOK)
- printf("\ntres = %d\n", (Int)tres.status);
- assert(tres.status == VexTransOK);
- assert(tres.n_sc_extents == 0);
- assert(vge.n_used == 1);
- assert((UInt)(vge.len[0]) == orig_nbytes);
-
- sum = 0;
- for (i = 0; i < trans_used; i++)
- sum += (UInt)transbuf[i];
- printf ( " %6.2f ... %u\n",
- (double)trans_used / (double)vge.len[0], sum );
- }
-
- fclose(f);
- printf("\n");
- LibVEX_ShowAllocStats();
-
- return 0;
-}
-
-//////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////
-
-#if 0 /* UNUSED */
-
-static
-__attribute((noreturn))
-void panic ( HChar* s )
-{
- printf("\npanic: %s\n", s);
- failure_exit();
-}
-
-static
-IRSB* ac_instrument (IRSB* bb_in, VexGuestLayout* layout, IRType hWordTy )
-{
-/* Use this rather than eg. -1 because it's a UInt. */
-#define INVALID_DATA_SIZE 999999
-
- Int i;
- Int sz;
- IRCallee* helper;
- IRStmt* st;
- IRExpr* data;
- IRExpr* addr;
- Bool needSz;
-
- /* Set up BB */
- IRSB* bb = emptyIRSB();
- bb->tyenv = dopyIRTypeEnv(bb_in->tyenv);
- bb->next = dopyIRExpr(bb_in->next);
- bb->jumpkind = bb_in->jumpkind;
-
- /* No loads to consider in ->next. */
- assert(isIRAtom(bb_in->next));
-
- for (i = 0; i < bb_in->stmts_used; i++) {
- st = bb_in->stmts[i];
- if (!st) continue;
-
- switch (st->tag) {
-
- case Ist_Tmp:
- data = st->Ist.Tmp.data;
- if (data->tag == Iex_LDle) {
- addr = data->Iex.LDle.addr;
- sz = sizeofIRType(data->Iex.LDle.ty);
- needSz = False;
- switch (sz) {
- case 4: helper = mkIRCallee(1, "ac_helperc_LOAD4",
- (void*)0x12345601); break;
- case 2: helper = mkIRCallee(0, "ac_helperc_LOAD2",
- (void*)0x12345602); break;
- case 1: helper = mkIRCallee(1, "ac_helperc_LOAD1",
- (void*)0x12345603); break;
- default: helper = mkIRCallee(0, "ac_helperc_LOADN",
- (void*)0x12345604);
- needSz = True; break;
- }
- if (needSz) {
- addStmtToIRSB(
- bb,
- IRStmt_Dirty(
- unsafeIRDirty_0_N( helper->regparms,
- helper->name, helper->addr,
- mkIRExprVec_2(addr, mkIRExpr_HWord(sz)))
- ));
- } else {
- addStmtToIRSB(
- bb,
- IRStmt_Dirty(
- unsafeIRDirty_0_N( helper->regparms,
- helper->name, helper->addr,
- mkIRExprVec_1(addr) )
- ));
- }
- }
- break;
-
- case Ist_STle:
- data = st->Ist.STle.data;
- addr = st->Ist.STle.addr;
- assert(isIRAtom(data));
- assert(isIRAtom(addr));
- sz = sizeofIRType(typeOfIRExpr(bb_in->tyenv, data));
- needSz = False;
- switch (sz) {
- case 4: helper = mkIRCallee(1, "ac_helperc_STORE4",
- (void*)0x12345605); break;
- case 2: helper = mkIRCallee(0, "ac_helperc_STORE2",
- (void*)0x12345606); break;
- case 1: helper = mkIRCallee(1, "ac_helperc_STORE1",
- (void*)0x12345607); break;
- default: helper = mkIRCallee(0, "ac_helperc_STOREN",
- (void*)0x12345608);
- needSz = True; break;
- }
- if (needSz) {
- addStmtToIRSB(
- bb,
- IRStmt_Dirty(
- unsafeIRDirty_0_N( helper->regparms,
- helper->name, helper->addr,
- mkIRExprVec_2(addr, mkIRExpr_HWord(sz)))
- ));
- } else {
- addStmtToIRSB(
- bb,
- IRStmt_Dirty(
- unsafeIRDirty_0_N( helper->regparms,
- helper->name, helper->addr,
- mkIRExprVec_1(addr) )
- ));
- }
- break;
-
- case Ist_Put:
- assert(isIRAtom(st->Ist.Put.data));
- break;
-
- case Ist_PutI:
- assert(isIRAtom(st->Ist.PutI.ix));
- assert(isIRAtom(st->Ist.PutI.data));
- break;
-
- case Ist_Exit:
- assert(isIRAtom(st->Ist.Exit.guard));
- break;
-
- case Ist_Dirty:
- /* If the call doesn't interact with memory, we ain't
- interested. */
- if (st->Ist.Dirty.details->mFx == Ifx_None)
- break;
- goto unhandled;
-
- default:
- unhandled:
- printf("\n");
- ppIRStmt(st);
- printf("\n");
- panic("addrcheck: unhandled IRStmt");
- }
-
- addStmtToIRSB( bb, dopyIRStmt(st));
- }
-
- return bb;
-}
-#endif /* UNUSED */
-
-//////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////
-
-#if 1 /* UNUSED */
-
-static
-__attribute((noreturn))
-void panic ( HChar* s )
-{
- printf("\npanic: %s\n", s);
- failure_exit();
-}
-
-#define tl_assert(xxx) assert(xxx)
-#define VG_(xxxx) xxxx
-#define tool_panic(zzz) panic(zzz)
-#define MC_(zzzz) MC_##zzzz
-#define TL_(zzzz) SK_##zzzz
-
-
-static void MC_helperc_complain_undef ( void );
-static void MC_helperc_LOADV8 ( void );
-static void MC_helperc_LOADV4 ( void );
-static void MC_helperc_LOADV2 ( void );
-static void MC_helperc_LOADV1 ( void );
-static void MC_helperc_STOREV8( void );
-static void MC_helperc_STOREV4( void );
-static void MC_helperc_STOREV2( void );
-static void MC_helperc_STOREV1( void );
-static void MC_helperc_value_check0_fail( void );
-static void MC_helperc_value_check1_fail( void );
-static void MC_helperc_value_check4_fail( void );
-
-static void MC_helperc_complain_undef ( void ) { }
-static void MC_helperc_LOADV8 ( void ) { }
-static void MC_helperc_LOADV4 ( void ) { }
-static void MC_helperc_LOADV2 ( void ) { }
-static void MC_helperc_LOADV1 ( void ) { }
-static void MC_helperc_STOREV8( void ) { }
-static void MC_helperc_STOREV4( void ) { }
-static void MC_helperc_STOREV2( void ) { }
-static void MC_helperc_STOREV1( void ) { }
-static void MC_helperc_value_check0_fail( void ) { }
-static void MC_helperc_value_check1_fail( void ) { }
-static void MC_helperc_value_check4_fail( void ) { }
-
-
-/*--------------------------------------------------------------------*/
-/*--- Instrument IR to perform memory checking operations. ---*/
-/*--- mc_translate.c ---*/
-/*--------------------------------------------------------------------*/
-
-/*
- This file is part of MemCheck, a heavyweight Valgrind tool for
- detecting memory errors.
-
- Copyright (C) 2000-2013 Julian Seward
- js...@ac...
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307, USA.
-
- The GNU General Public License is contained in the file COPYING.
-*/
-
-//#include "mc_include.h"
-
-
-/*------------------------------------------------------------*/
-/*--- Forward decls ---*/
-/*------------------------------------------------------------*/
-
-struct _MCEnv;
-
-static IRType shadowType ( IRType ty );
-static IRExpr* expr2vbits ( struct _MCEnv* mce, IRExpr* e );
-
-
-/*------------------------------------------------------------*/
-/*--- Memcheck running state, and tmp management. ---*/
-/*------------------------------------------------------------*/
-
-/* Carries around state during memcheck instrumentation. */
-typedef
- struct _MCEnv {
- /* MODIFIED: the bb being constructed. IRStmts are added. */
- IRSB* bb;
-
- /* MODIFIED: a table [0 .. #temps_in_original_bb-1] which maps
- original temps to their current their current shadow temp.
- Initially all entries are IRTemp_INVALID. Entries are added
- lazily since many original temps are not used due to
- optimisation prior to instrumentation. Note that floating
- point original tmps are shadowed by integer tmps of the same
- size, and Bit-typed original tmps are shadowed by the type
- Ity_I8. See comment below. */
- IRTemp* tmpMap;
- Int n_originalTmps; /* for range checking */
-
- /* READONLY: the guest layout. This indicates which parts of
- the guest state should be regarded as 'always defined'. */
- VexGuestLayout* layout;
- /* READONLY: the host word type. Needed for constructing
- arguments of type 'HWord' to be passed to helper functions.
- Ity_I32 or Ity_I64 only. */
- IRType hWordTy;
- }
- MCEnv;
-
-/* SHADOW TMP MANAGEMENT. Shadow tmps are allocated lazily (on
- demand), as they are encountered. This is for two reasons.
-
- (1) (less important reason): Many original tmps are unused due to
- initial IR optimisation, and we do not want to spaces in tables
- tracking them.
-
- Shadow IRTemps are therefore allocated on demand. mce.tmpMap is a
- table indexed [0 .. n_types-1], which gives the current shadow for
- each original tmp, or INVALID_IRTEMP if none is so far assigned.
- It is necessary to support making multiple assignments to a shadow
- -- specifically, after testing a shadow for definedness, it needs
- to be made defined. But IR's SSA property disallows this.
-
- (2) (more important reason): Therefore, when a shadow needs to get
- a new value, a new temporary is created, the value is assigned to
- that, and the tmpMap is updated to reflect the new binding.
-
- A corollary is that if the tmpMap maps a given tmp to
- INVALID_IRTEMP and we are hoping to read that shadow tmp, it means
- there's a read-before-write error in the original tmps. The IR
- sanity checker should catch all such anomalies, however.
-*/
-
-/* Find the tmp currently shadowing the given original tmp. If none
- so far exists, allocate one. */
-static IRTemp findShadowTmp ( MCEnv* mce, IRTemp orig )
-{
- tl_assert(orig < mce->n_originalTmps);
- if (mce->tmpMap[orig] == IRTemp_INVALID) {
- mce->tmpMap[orig]
- = newIRTemp(mce->bb->tyenv,
- shadowType(mce->bb->tyenv->types[orig]));
- }
- return mce->tmpMap[orig];
-}
-
-/* Allocate a new shadow for the given original tmp. This means any
- previous shadow is abandoned. This is needed because it is
- necessary to give a new value to a shadow once it has been tested
- for undefinedness, but unfortunately IR's SSA property disallows
- this. Instead we must abandon the old shadow, allocate a new one
- and use that instead. */
-static void newShadowTmp ( MCEnv* mce, IRTemp orig )
-{
- tl_assert(orig < mce->n_originalTmps);
- mce->tmpMap[orig]
- = newIRTemp(mce->bb->tyenv,
- shadowType(mce->bb->tyenv->types[orig]));
-}
-
-
-/*------------------------------------------------------------*/
-/*--- IRAtoms -- a subset of IRExprs ---*/
-/*------------------------------------------------------------*/
-
-/* An atom is either an IRExpr_Const or an IRExpr_Tmp, as defined by
- isIRAtom() in libvex_ir.h. Because this instrumenter expects flat
- input, most of this code deals in atoms. Usefully, a value atom
- always has a V-value which is also an atom: constants are shadowed
- by constants, and temps are shadowed by the corresponding shadow
- temporary. */
-
-typedef IRExpr IRAtom;
-
-/* (used for sanity checks only): is this an atom which looks
- like it's from original code? */
-static Bool isOriginalAtom ( MCEnv* mce, IRAtom* a1 )
-{
- if (a1->tag == Iex_Const)
- return True;
- if (a1->tag == Iex_RdTmp && a1->Iex.RdTmp.tmp < mce->n_originalTmps)
- return True;
- return False;
-}
-
-/* (used for sanity checks only): is this an atom which looks
- like it's from shadow code? */
-static Bool isShadowAtom ( MCEnv* mce, IRAtom* a1 )
-{
- if (a1->tag == Iex_Const)
- return True;
- if (a1->tag == Iex_RdTmp && a1->Iex.RdTmp.tmp >= mce->n_originalTmps)
- return True;
- return False;
-}
-
-/* (used for sanity checks only): check that both args are atoms and
- are identically-kinded. */
-static Bool sameKindedAtoms ( IRAtom* a1, IRAtom* a2 )
-{
- if (a1->tag == Iex_RdTmp && a1->tag == Iex_RdTmp)
- return True;
- if (a1->tag == Iex_Const && a1->tag == Iex_Const)
- return True;
- return False;
-}
-
-
-/*------------------------------------------------------------*/
-/*--- Type management ---*/
-/*------------------------------------------------------------*/
-
-/* Shadow state is always accessed using integer types. This returns
- an integer type with the same size (as per sizeofIRType) as the
- given type. The only valid shadow types are Bit, I8, I16, I32,
- I64, V128. */
-
-static IRType shadowType ( IRType ty )
-{
- switch (ty) {
- case Ity_I1:
- case Ity_I8:
- case Ity_I16:
- case Ity_I32:
- case Ity_I64: return ty;
- case Ity_F32: return Ity_I32;
- case Ity_F64: return Ity_I64;
- case Ity_V128: return Ity_V128;
- default: ppIRType(ty);
- VG_(tool_panic)("memcheck:shadowType");
- }
-}
-
-/* Produce a 'defined' value of the given shadow type. Should only be
- supplied shadow types (Bit/I8/I16/I32/UI64). */
-static IRExpr* definedOfType ( IRType ty ) {
- switch (ty) {
- case Ity_I1: return IRExpr_Const(IRConst_U1(False));
- case Ity_I8: return IRExpr_Const(IRConst_U8(0));
- case Ity_I16: return IRExpr_Const(IRConst_U16(0));
- case Ity_I32: return IRExpr_Const(IRConst_U32(0));
- case Ity_I64: return IRExpr_Const(IRConst_U64(0));
- case Ity_V128: return IRExpr_Const(IRConst_V128(0x0000));
- default: VG_(tool_panic)("memcheck:definedOfType");
- }
-}
-
-
-/*------------------------------------------------------------*/
-/*--- Constructing IR fragments ---*/
-/*------------------------------------------------------------*/
-
-/* assign value to tmp */
-#define assign(_bb,_tmp,_expr) \
- addStmtToIRSB((_bb), IRStmt_WrTmp((_tmp),(_expr)))
-
-/* add stmt to a bb */
-#define stmt(_bb,_stmt) \
- addStmtToIRSB((_bb), (_stmt))
-
-/* build various kinds of expressions */
-#define binop(_op, _arg1, _arg2) IRExpr_Binop((_op),(_arg1),(_arg2))
-#define unop(_op, _arg) IRExpr_Unop((_op),(_arg))
-#define mkU8(_n) IRExpr_Const(IRConst_U8(_n))
-#define mkU16(_n) IRExpr_Const(IRConst_U16(_n))
-#define mkU32(_n) IRExpr_Const(IRConst_U32(_n))
-#define mkU64(_n) IRExpr_Const(IRConst_U64(_n))
-#define mkV128(_n) IRExpr_Const(IRConst_V128(_n))
-#define mkexpr(_tmp) IRExpr_RdTmp((_tmp))
-
-/* bind the given expression to a new temporary, and return the
- temporary. This effectively converts an arbitrary expression into
- an atom. */
-static IRAtom* assignNew ( MCEnv* mce, IRType ty, IRExpr* e ) {
- IRTemp t = newIRTemp(mce->bb->tyenv, ty);
- assign(mce->bb, t, e);
- return mkexpr(t);
-}
-
-
-/*------------------------------------------------------------*/
-/*--- Constructing definedness primitive ops ---*/
-/*------------------------------------------------------------*/
-
-/* --------- Defined-if-either-defined --------- */
-
-static IRAtom* mkDifD8 ( MCEnv* mce, IRAtom* a1, IRAtom* a2 ) {
- tl_assert(isShadowAtom(mce,a1));
- tl_assert(isShadowAtom(mce,a2));
- return assignNew(mce, Ity_I8, binop(Iop_And8, a1, a2));
-}
-
-static IRAtom* mkDifD16 ( MCEnv* mce, IRAtom* a1, IRAtom* a2 ) {
- tl_assert(isShadowAtom(mce,a1));
- tl_assert(isShadowAtom(mce,a2));
- return assignNew(mce, Ity_I16, binop(Iop_And16, a1, a2));
-}
-
-static IRAtom* mkDifD32 ( MCEnv* mce, IRAtom* a1, IRAtom* a2 ) {
- tl_assert(isShadowAtom(mce,a1));
- tl_assert(isShadowAtom(mce,a2));
- return assignNew(mce, Ity_I32, binop(Iop_And32, a1, a2));
-}
-
-static IRAtom* mkDifD64 ( MCEnv* mce, IRAtom* a1, IRAtom* a2 ) {
- tl_assert(isShadowAtom(mce,a1));
- tl_assert(isShadowAtom(mce,a2));
- return assignNew(mce, Ity_I64, binop(Iop_And64, a1, a2));
-}
-
-static IRAtom* mkDifDV128 ( MCEnv* mce, IRAtom* a1, IRAtom* a2 ) {
- tl_assert(isShadowAtom(mce,a1));
- tl_assert(isShadowAtom(mce,a2));
- return assignNew(mce, Ity_V128, binop(Iop_AndV128, a1, a2));
-}
-
-/* --------- Undefined-if-either-undefined --------- */
-
-static IRAtom* mkUifU8 ( MCEnv* mce, IRAtom* a1, IRAtom* a2 ) {
- tl_assert(isShadowAtom(mce,a1));
- tl_assert(isShadowAtom(mce,a2));
- return assignNew(mce, Ity_I8, binop(Iop_Or8, a1, a2));
-}
-
-static IRAtom* mkUifU16 ( MCEnv* mce, IRAtom* a1, IRAtom* a2 ) {
- tl_assert(isShadowAtom(mce,a1));
- tl_assert(isShadowAtom(mce,a2));
- return assignNew(mce, Ity_I16, binop(Iop_Or16, a1, a2));
-}
-
-static IRAtom* mkUifU32 ( MCEnv* mce, IRAtom* a1, IRAtom* a2 ) {
- tl_assert(isShadowAtom(mce,a1));
- tl_assert(isShadowAtom(mce,a2));
- return assignNew(mce, Ity_I32, binop(Iop_Or32, a1, a2));
-}
-
-static IRAtom* mkUifU64 ( MCEnv* mce, IRAtom* a1, IRAtom* a2 ) {
- tl_assert(isShadowAtom(mce,a1));
- tl_assert(isShadowAtom(mce,a2));
- return assignNew(mce, Ity_I64, binop(Iop_Or64, a1, a2));
-}
-
-static IRAtom* mkUifUV128 ( MCEnv* mce, IRAtom* a1, IRAtom* a2 ) {
- tl_assert(isShadowAtom(mce,a1));
- tl_assert(isShadowAtom(mce,a2));
- return assignNew(mce, Ity_V128, binop(Iop_OrV128, a1, a2));
-}
-
-static IRAtom* mkUifU ( MCEnv* mce, IRType vty, IRAtom* a1, IRAtom* a2 ) {
- switch (vty) {
- case Ity_I8: return mkUifU8(mce, a1, a2);
- case Ity_I16: return mkUifU16(mce, a1, a2);
- case Ity_I32: return mkUifU32(mce, a1, a2);
- case Ity_I64: return mkUifU64(mce, a1, a2);
- case Ity_V128: return mkUifUV128(mce, a1, a2);
- default:
- VG_(printf)("\n"); ppIRType(vty); VG_(printf)("\n");
- VG_(tool_panic)("memcheck:mkUifU");
- }
-}
-
-/* --------- The Left-family of operations. --------- */
-
-static IRAtom* mkLeft8 ( MCEnv* mce, IRAtom* a1 ) {
- tl_assert(isShadowAtom(mce,a1));
- /* It's safe to duplicate a1 since it's only an atom */
- return assignNew(mce, Ity_I8,
- binop(Iop_Or8, a1,
- assignNew(mce, Ity_I8,
- /* unop(Iop_Neg8, a1)))); */
- binop(Iop_Sub8, mkU8(0), a1) )));
-}
-
-static IRAtom* mkLeft16 ( MCEnv* mce, IRAtom* a1 ) {
- tl_assert(isShadowAtom(mce,a1));
- /* It's safe to duplicate a1 since it's only an atom */
- return assignNew(mce, Ity_I16,
- binop(Iop_Or16, a1,
- assignNew(mce, Ity_I16,
- /* unop(Iop_Neg16, a1)))); */
- binop(Iop_Sub16, mkU16(0), a1) )));
-}
-
-static IRAtom* mkLeft32 ( MCEnv* mce, IRAtom* a1 ) {
- tl_assert(isShadowAtom(mce,a1));
- /* It's safe to duplicate a1 since it's only an atom */
- return assignNew(mce, Ity_I32,
- binop(Iop_Or32, a1,
- assignNew(mce, Ity_I32,
- /* unop(Iop_Neg32, a1)))); */
- binop(Iop_Sub32, mkU32(0), a1) )));
-}
-
-/* --------- 'Improvement' functions for AND/OR. --------- */
-
-/* ImproveAND(data, vbits) = data OR vbits. Defined (0) data 0s give
- defined (0); all other -> undefined (1).
-*/
-static IRAtom* mkImproveAND8 ( MCEnv* mce, IRAtom* data, IRAtom* vbits )
-{
- tl_assert(isOriginalAtom(mce, data));
- tl_assert(isShadowAtom(mce, vbits));
- tl_assert(sameKindedAtoms(data, vbits));
- return assignNew(mce, Ity_I8, binop(Iop_Or8, data, vbits));
-}
-
-static IRAtom* mkImproveAND16 ( MCEnv* mce, IRAtom* data, IRAtom* vbits )
-{
- tl_assert(isOriginalAtom(mce, data));
- tl_assert(isShadowAtom(mce, vbits));
- tl_assert(sameKindedAtoms(data, vbits));
- return assignNew(mce, Ity_I16, binop(Iop_Or16, data, vbits));
-}
-
-static IRAtom* mkImproveAND32 ( MCEnv* mce, IRAtom* data, IRAtom* vbits )
-{
- tl_assert(isOriginalAtom(mce, data));
- tl_assert(isShadowAtom(mce, vbits));
- tl_assert(sameKindedAtoms(data, vbits));
- return assignNew(mce, Ity_I32, binop(Iop_Or32, data, vbits));
-}
-
-static IRAtom* mkImproveAND64 ( MCEnv* mce, IRAtom* data, IRAtom* vbits )
-{
- tl_assert(isOriginalAtom(mce, data));
- tl_assert(isShadowAtom(mce, vbits));
- tl_assert(sameKindedAtoms(data, vbits));
- return assignNew(mce, Ity_I64, binop(Iop_Or64, data, vbits));
-}
-
-static IRAtom* mkImproveANDV128 ( MCEnv* mce, IRAtom* data, IRAtom* vbits )
-{
- tl_assert(isOriginalAtom(mce, data));
- tl_assert(isShadowAtom(mce, vbits));
- tl_assert(sameKindedAtoms(data, vbits));
- return assignNew(mce, Ity_V128, binop(Iop_OrV128, data, vbits));
-}
-
-/* ImproveOR(data, vbits) = ~data OR vbits. Defined (0) data 1s give
- defined (0); all other -> undefined (1).
-*/
-static IRAtom* mkImproveOR8 ( MCEnv* mce, IRAtom* data, IRAtom* vbits )
-{
- tl_assert(isOriginalAtom(mce, data));
- tl_assert(isShadowAtom(mce, vbits));
- tl_assert(sameKindedAtoms(data, vbits));
- return assignNew(
- mce, Ity_I8,
- binop(Iop_Or8,
- assignNew(mce, Ity_I8, unop(Iop_Not8, data)),
- vbits) );
-}
-
-static IRAtom* mkImproveOR16 ( MCEnv* mce, IRAtom* data, IRAtom* vbits )
-{
- tl_assert(isOriginalAtom(mce, data));
- tl_assert(isShadowAtom(mce, vbits));
- tl_assert(sameKindedAtoms(data, vbits));
- return assignNew(
- mce, Ity_I16,
- binop(Iop_Or16,
- assignNew(mce, Ity_I16, unop(Iop_Not16, data)),
- vbits) );
-}
-
-static IRAtom* mkImproveOR32 ( MCEnv* mce, IRAtom* data, IRAtom* vbits )
-{
- tl_assert(isOriginalAtom(mce, data));
- tl_assert(isShadowAtom(mce, vbits));
- tl_assert(sameKindedAtoms(data, vbits));
- return assignNew(
- mce, Ity_I32,
- binop(Iop_Or32,
- assignNew(mce, Ity_I32, unop(Iop_Not32, data)),
- vbits) );
-}
-
-static IRAtom* mkImproveOR64 ( MCEnv* mce, IRAtom* data, IRAtom* vbits )
-{
- tl_assert(isOriginalAtom(mce, data));
- tl_assert(isShadowAtom(mce, vbits));
- tl_assert(sameKindedAtoms(data, vbits));
- return assignNew(
- mce, Ity_I64,
- binop(Iop_Or64,
- assignNew(mce, Ity_I64, unop(Iop_Not64, data)),
- vbits) );
-}
-
-static IRAtom* mkImproveORV128 ( MCEnv* mce, IRAtom* data, IRAtom* vbits )
-{
- tl_assert(isOriginalAtom(mce, data));
- tl_assert(isShadowAtom(mce, vbits));
- tl_assert(sameKindedAtoms(data, vbits));
- return assignNew(
- mce, Ity_V128,
- binop(Iop_OrV128,
- assignNew(mce, Ity_V128, unop(Iop_NotV128, data)),
- vbits) );
-}
-
-/* --------- Pessimising casts. --------- */
-
-static IRAtom* mkPCastTo( MCEnv* mce, IRType dst_ty, IRAtom* vbits )
-{
- IRType ty;
- IRAtom* tmp1;
- /* Note, dst_ty is a shadow type, not an original type. */
- /* First of all, collapse vbits down to a single bit. */
- tl_assert(isShadowAtom(mce,vbits));
- ty = typeOfIRExpr(mce->bb->tyenv, vbits);
- tmp1 = NULL;
- switch (ty) {
- case Ity_I1:
- tmp1 = vbits;
- break;
- case Ity_I8:
- tmp1 = assignNew(mce, Ity_I1, binop(Iop_CmpNE8, vbits, mkU8(0)));
- break;
- case Ity_I16:
- tmp1 = assignNew(mce, Ity_I1, binop(Iop_CmpNE16, vbits, mkU16(0)));
- break;
- case Ity_I32:
- tmp1 = assignNew(mce, Ity_I1, binop(Iop_CmpNE32, vbits, mkU32(0)));
- break;
- case Ity_I64:
- tmp1 = assignNew(mce, Ity_I1, binop(Iop_CmpNE64, vbits, mkU64(0)));
- break;
- default:
- VG_(tool_panic)("mkPCastTo(1)");
- }
- tl_assert(tmp1);
- /* Now widen up to the dst type. */
- switch (dst_ty) {
- case Ity_I1:
- return tmp1;
- case Ity_I8:
- return assignNew(mce, Ity_I8, unop(Iop_1Sto8, tmp1));
- case Ity_I16:
- return assignNew(mce, Ity_I16, unop(Iop_1Sto16, tmp1));
- case Ity_I32:
- return assignNew(mce, Ity_I32, unop(Iop_1Sto32, tmp1));
- case Ity_I64:
- return assignNew(mce, Ity_I64, unop(Iop_1Sto64, tmp1));
- case Ity_V128:
- tmp1 = assignNew(mce, Ity_I64, unop(Iop_1Sto64, tmp1));
- tmp1 = assignNew(mce, Ity_V128, binop(Iop_64HLtoV128, tmp1, tmp1));
- return tmp1;
- default:
- ppIRType(dst_ty);
- VG_(tool_panic)("mkPCastTo(2)");
- }
-}
-
-
-/*------------------------------------------------------------*/
-/*--- Emit a test and complaint if something is undefined. ---*/
-/*------------------------------------------------------------*/
-
-/* Set the annotations on a dirty helper to indicate that the stack
- pointer and instruction pointers might be read. This is the
- behaviour of all 'emit-a-complaint' style functions we might
- call. */
-
-static void setHelperAnns ( MCEnv* mce, IRDirty* di ) {
- di->nFxState = 2;
- di->fxState[0].fx = Ifx_Read;
- di->fxState[0].offset = mce->layout->offset_SP;
- di->fxState[0].size = mce->layout->sizeof_SP;
- di->fxState[1].fx = Ifx_Read;
- di->fxState[1].offset = mce->layout->offset_IP;
- di->fxState[1].size = mce->layout->sizeof_IP;
-}
-
-
-/* Check the supplied **original** atom for undefinedness, and emit a
- complaint if so. Once that happens, mark it as defined. This is
- possible because the atom is either a tmp or literal. If it's a
- tmp, it will be shadowed by a tmp, and so we can set the shadow to
- be defined. In fact as mentioned above, we will have to allocate a
- new tmp to carry the new 'defined' shadow value, and update the
- original->tmp mapping accordingly; we cannot simply assign a new
- value to an existing shadow tmp as this breaks SSAness -- resulting
- in the post-instrumentation sanity checker spluttering in disapproval.
-*/
-static void complainIfUndefined ( MCEnv* mce, IRAtom* atom )
-{
- IRAtom* vatom;
- IRType ty;
- Int sz;
- IRDirty* di;
- IRAtom* cond;
-
- /* Since the original expression is atomic, there's no duplicated
- work generated by making multiple V-expressions for it. So we
- don't really care about the possibility that someone else may
- also create a V-interpretion for it. */
- tl_assert(isOriginalAtom(mce, atom));
- vatom = expr2vbits( mce, atom );
- tl_assert(isShadowAtom(mce, vatom));
- tl_assert(sameKindedAtoms(atom, vatom));
-
- ty = typeOfIRExpr(mce->bb->tyenv, vatom);
-
- /* sz is only used for constructing the error message */
- sz = ty==Ity_I1 ? 0 : sizeofIRType(ty);
-
- cond = mkPCastTo( mce, Ity_I1, vatom );
- /* cond will be 0 if all defined, and 1 if any not defined. */
-
- switch (sz) {
- case 0:
- di = unsafeIRDirty_0_N( 0/*regparms*/,
- "MC_(helperc_value_check0_fail)",
- &MC_(helperc_value_check0_fail),
- mkIRExprVec_0()
- );
- break;
- case 1:
- di = unsafeIRDirty_0_N( 0/*regparms*/,
- "MC_(helperc_value_check1_fail)",
- &MC_(helperc_value_check1_fail),
- mkIRExprVec_0()
- );
- break;
- case 4:
- di = unsafeIRDirty_0_N( 0/*regparms*/,
- "MC_(helperc_value_check4_fail)",
- &MC_(helperc_value_check4_fail),
- mkIRExprVec_0()
- );
- break;
- default:
- di = unsafeIRDirty_0_N( 1/*regparms*/,
- "MC_(helperc_complain_undef)",
- &MC_(helperc_complain_undef),
- mkIRExprVec_1( mkIRExpr_HWord( sz ))
- );
- break;
- }
- di->guard = cond;
- setHelperAnns( mce, di );
- stmt( mce->bb, IRStmt_Dirty(di));
-
- /* Set the shadow tmp to be defined. First, update the
- orig->shadow tmp mapping to reflect the fact that this shadow is
- getting a new value. */
- tl_assert(isIRAtom(vatom));
- /* sameKindedAtoms ... */
- if (vatom->tag == Iex_RdTmp) {
- tl_assert(atom->tag == Iex_RdTmp);
- newShadowTmp(mce, atom->Iex.RdTmp.tmp);
- assign(mce->bb, findShadowTmp(mce, atom->Iex.RdTmp.tmp),
- definedOfType(ty));
- }
-}
-
-
-/*------------------------------------------------------------*/
-/*--- Shadowing PUTs/GETs, and indexed variants thereof ---*/
-/*------------------------------------------------------------*/
-
-/* Examine the always-defined sections declared in layout to see if
- the (offset,size) section is within one. Note, is is an error to
- partially fall into such a region: (offset,size) should either be
- completely in such a region or completely not-in such a region.
-*/
-static Bool isAlwaysDefd ( MCEnv* mce, Int offset, Int size )
-{
- Int minoffD, maxoffD, i;
- Int minoff = offset;
- Int maxoff = minoff + size - 1;
- tl_assert((minoff & ~0xFFFF) == 0);
- tl_assert((maxoff & ~0xFFFF) == 0);
-
- for (i = 0; i < mce->layout->n_alwaysDefd; i++) {
- minoffD = mce->layout->alwaysDefd[i].offset;
- maxoffD = minoffD + mce->layout->alwaysDefd[i].size - 1;
- tl_assert((minoffD & ~0xFFFF) == 0);
- tl_assert((maxoffD & ~0xFFFF) == 0);
-
- if (maxoff < minoffD || maxoffD < minoff)
- continue; /* no overlap */
- if (minoff >= minoffD && maxoff <= maxoffD)
- return True; /* completely contained in an always-defd section */
-
- VG_(tool_panic)("memcheck:isAlwaysDefd:partial overlap");
- }
- return False; /* could not find any containing section */
-}
-
-
-/* Generate into bb suitable actions to shadow this Put. If the state
- slice is marked 'always defined', do nothing. Otherwise, write the
- supplied V bits to the shadow state. We can pass in either an
- original atom or a V-atom, but not both. In the former case the
- relevant V-bits are then generated from the original.
-*/
-static
-void do_shadow_PUT ( MCEnv* mce, Int offset,
- IRAtom* atom, IRAtom* vatom )
-{
- IRType ty;
- if (atom) {
- tl_assert(!vatom);
- tl_assert(isOriginalAtom(mce, atom));
- vatom = expr2vbits( mce, atom );
- } else {
- tl_assert(vatom);
- tl_assert(isShadowAtom(mce, vatom));
- }
-
- ty = typeOfIRExpr(mce->bb->tyenv, vatom);
- tl_assert(ty != Ity_I1);
- if (isAlwaysDefd(mce, offset, sizeofIRType(ty))) {
- /* later: no ... */
- /* emit code to emit a complaint if any of the vbits are 1. */
- /* complainIfUndefined(mce, atom); */
- } else {
- /* Do a plain shadow Put. */
- stmt( mce->bb, IRStmt_Put( offset + mce->layout->total_sizeB, vatom ) );
- }
-}
-
-
-/* Return an expression which contains the V bits corresponding to the
- given GETI (passed in in pieces).
-*/
-static
-void do_shadow_PUTI ( MCEnv* mce,
- IRRegArray* descr, IRAtom* ix, Int bias, IRAtom* atom )
-{
- IRAtom* vatom;
- IRType ty, tyS;
- Int arrSize;;
-
- tl_assert(isOriginalAtom(mce,atom));
- vatom = expr2vbits( mce, atom );
- tl_assert(sameKindedAtoms(atom, vatom));
- ty = descr->elemTy;
- tyS = shadowType(ty);
- arrSize = descr->nElems * sizeofIRType(ty);
- tl_assert(ty != Ity_I1);
- tl_assert(isOriginalAtom(mce,ix));
- complainIfUndefined(mce,ix);
- if (isAlwaysDefd(mce, descr->base, arrSize)) {
- /* later: no ... */
- /* emit code to emit a complaint if any of the vbits are 1. */
- /* complainIfUndefined(mce, atom); */
- } else {
- /* Do a cloned version of the Put that refers to the shadow
- area. */
- IRRegArray* new_descr
- = mkIRRegArray( descr->base + mce->layout->total_sizeB,
- tyS, descr->nElems);
- stmt( mce->bb, IRStmt_PutI( mkIRPutI( new_descr, ix, bias, vatom ) ));
- }
-}
-
-
-/* Return an expression which contains the V bits corresponding to the
- given GET (passed in in pieces).
-*/
-static
-IRExpr* shadow_GET ( MCEnv* mce, Int offset, IRType ty )
-{
- IRType tyS = shadowType(ty);
- tl_assert(ty != Ity_I1);
- if (isAlwaysDefd(mce, offset, sizeofIRType(ty))) {
- /* Always defined, return all zeroes of the relevant type */
- return definedOfType(tyS);
- } else {
- /* return a cloned version of the Get that refers to the shadow
- area. */
- return IRExpr_Get( offset + mce->layout->total_sizeB, tyS );
- }
-}
-
-
-/* Return an expression which contains the V bits corresponding to the
- given GETI (passed in in pieces).
-*/
-static
-IRExpr* shadow_GETI ( MCEnv* mce, IRRegArray* descr, IRAtom* ix, Int bias )
-{
- IRType ty = descr->elemTy;
- IRType tyS = shadowType(ty);
- Int arrSize = descr->nElems * sizeofIRType(ty);
- tl_assert(ty != Ity_I1);
- tl_assert(isOriginalAtom(mce,ix));
- complainIfUndefined(mce,ix);
- if (isAlwaysDefd(mce, descr->base, arrSize)) {
- /* Always defined, return all zeroes of the relevant type */
- return definedOfType(tyS);
- } else {
- /* return a cloned version of the Get that refers to the shadow
- area. */
- IRRegArray* new_descr
- = mkIRRegArray( descr->base + mce->layout->total_sizeB,
- tyS, descr->nElems);
- return IRExpr_GetI( new_descr, ix, bias );
- }
-}
-
-
-/*------------------------------------------------------------*/
-/*--- Generating approximations for unknown operations, ---*/
-/*--- using lazy-propagate semantics ---*/
-/*------------------------------------------------------------*/
-
-/* Lazy propagation of undefinedness from two values, resulting in the
- specified shadow type.
-*/
-static
-IRAtom* mkLazy2 ( MCEnv* mce, IRType finalVty, IRAtom* va1, IRAtom* va2 )
-{
- /* force everything via 32-bit intermediaries. */
- IRAtom* at;
- tl_assert(isShadowAtom(mce,va1));
- tl_assert(isShadowAtom(mce,va2));
- at = mkPCastTo(mce, Ity_I32, va1);
- at = mkUifU(mce, Ity_I32, at, mkPCastTo(mce, Ity_I32, va2));
- at = mkPCastTo(mce, finalVty, at);
- return at;
-}
-
-
-/* Do the lazy propagation game from a null-terminated vector of
- atoms. This is presumably the arguments to a helper call, so the
- IRCallee info is also supplied in order that we can know which
- arguments should be ignored (via the .mcx_mask field).
-*/
-static
-IRAtom* mkLazyN ( MCEnv* mce,
- IRAtom** exprvec, IRType finalVtype, IRCallee* cee )
-{
- Int i;
- IRAtom* here;
- IRAtom* curr = definedOfType(Ity_I32);
- for (i = 0; exprvec[i]; i++) {
- tl_assert(i < 32);
- tl_assert(isOriginalAtom(mce, exprvec[i]));
- /* Only take notice of this arg if the callee's mc-exclusion
- mask does not say it is to be excluded. */
- if (cee->mcx_mask & (1<<i)) {
- /* the arg is to be excluded from definedness checking. Do
- nothing. */
- if (0) VG_(printf)("excluding %s(%d)\n", cee->name, i);
- } else {
- /* calculate the arg's definedness, and pessimistically merge
- it in. */
- here = mkPCastTo( mce, Ity_I32, expr2vbits(mce, exprvec[i]) );
- curr = mkUifU32(mce, here, curr);
- }
- }
- return mkPCastTo(mce, finalVtype, curr );
-}
-
-
-/*------------------------------------------------------------*/
-/*--- Generating expensive sequences for exact carry-chain ---*/
-/*--- propagation in add/sub and related operations. ---*/
-/*------------------------------------------------------------*/
-
-static
-__attribute__((unused))
-IRAtom* expensiveAdd32 ( MCEnv* mce, IRAtom* qaa, IRAtom* qbb,
- IRAtom* aa, IRAtom* bb )
-{
- IRAtom *a_min, *b_min, *a_max, *b_max;
- IRType ty;
- IROp opAND, opOR, opXOR, opNOT, opADD;
-
- tl_assert(isShadowAtom(mce,qaa));
- tl_assert(isShadowAtom(mce,qbb));
- tl_assert(isOriginalAtom(mce,aa));
- tl_assert(isOriginalAtom(mce,bb));
- tl_assert(sameKindedAtoms(qaa,aa));
- tl_assert(sameKindedAtoms(qbb,bb));
-
- ty = Ity_I32;
- opAND = Iop_And32;
- opOR = Iop_Or32;
- opXOR = Iop_Xor32;
- opNOT = Iop_Not32;
- opADD = Iop_Add32;
-
- // a_min = aa & ~qaa
- a_min = assignNew(mce,ty,
- binop(opAND, aa,
- assignNew(mce,ty, unop(opNOT, qaa))));
-
- // b_min = bb & ~qbb
- b_min = assignNew(mce,ty,
- binop(opAND, bb,
- assignNew(mce,ty, unop(opNOT, qbb))));
-
- // a_max = aa | qaa
- a_max = assignNew(mce,ty, binop(opOR, aa, qaa));
-
- // b_max = bb | qbb
- b_max = assignNew(mce,ty, binop(opOR, bb, qbb));
-
- // result = (qaa | qbb) | ((a_min + b_min) ^ (a_max + b_max))
- return
- assignNew(mce,ty,
- binop( opOR,
- assignNew(mce,ty, binop(opOR, qaa, qbb)),
- assignNew(mce,ty,
- binop(opXOR, assignNew(mce,ty, binop(opADD, a_min, b_min)),
- assignNew(mce,ty, binop(opADD, a_max, b_max))
- )
- )
- )
- );
-}
-
-
-/*------------------------------------------------------------*/
-/*--- Helpers for dealing with vector primops. ---*/
-/*------------------------------------------------------------*/
-
-/* Vector pessimisation -- pessimise within each lane individually. */
-
-static IRAtom* mkPCast8x16 ( MCEnv* mce, IRAtom* at )
-{
- return assignNew(mce, Ity_V128, unop(Iop_CmpNEZ8x16, at));
-}
-
-static IRAtom* mkPCast16x8 ( MCEnv* mce, IRAtom* at )
-{
- return assignNew(mce, Ity_V128, unop(Iop_CmpNEZ16x8, at));
-}
-
-static IRAtom* mkPCast32x4 ( MCEnv* mce, IRAtom* at )
-{
- return assignNew(mce, Ity_V128, unop(Iop_CmpNEZ32x4, at));
-}
-
-static IRAtom* mkPCast64x2 ( MCEnv* mce, IRAtom* at )
-{
- return assignNew(mce, Ity_V128, unop(Iop_CmpNEZ64x2, at));
-}
-
-
-/* Here's a simple scheme capable of handling ops derived from SSE1
- code and while only generating ops that can be efficiently
- implemented in SSE1. */
-
-/* All-lanes versions are straightforward:
-
- binary32Fx4(x,y) ==> PCast32x4(UifUV128(x#,y#))
-
- unary32Fx4(x,y) ==> PCast32x4(x#)
-
- Lowest-lane-only versions are more complex:
-
- binary32F0x4(x,y) ==> SetV128lo32(
- x#,
- PCast32(V128to32(UifUV128(x#,y#)))
- )
-
- This is perhaps not so obvious. In particular, it's faster to
- do a V128-bit UifU and then take the bottom 32 bits than the more
- obvious scheme of taking the bottom 32 bits of each operand
- and doing a 32-bit UifU. Basically since UifU is fast and
- chopping lanes off vector values is slow.
-
- Finally:
-
- unary32F0x4(x) ==> SetV128lo32(
- x#,
- PCast32(V128to32(x#))
- )
-
- Where:
-
- PCast32(v#) = 1Sto32(CmpNE32(v#,0))
- PCast32x4(v#) = CmpNEZ32x4(v#)
-*/
-
-static
-IRAtom* binary32Fx4 ( MCEnv* mce, IRAtom* vatomX, IRAtom* vatomY )
-{
- IRAtom* at;
- tl_assert(isShadowAtom(mce, vatomX));
- tl_assert(isShadowAtom(mce, vatomY));
- at = mkUifUV128(mce, vatomX, vatomY);
- at = assignNew(mce, Ity_V128, mkPCast32x4(mce, at));
- return at;
-}
-
-static
-IRAtom* unary32Fx4 ( MCEnv* mce, IRAtom* vatomX )
-{
- IRAtom* at;
- tl_assert(isShadowAtom(mce, vatomX));
- at = assignNew(mce, Ity_V128, mkPCast32x4(mce, vatomX));
- return at;
-}
-
-static
-IRAtom* binary32F0x4 ( MCEnv* mce, IRAtom* vatomX, IRAtom* vatomY )
-{
- IRAtom* at;
- tl_assert(isShadowAtom(mce, vatomX));
- tl_assert(isShadowAtom(mce, vatomY));
- at = mkUifUV128(mce, vatomX, vatomY);
- at = assignNew(mce, Ity_I32, unop(Iop_V128to32, at));
- at = mkPCastTo(mce, Ity_I32, at);
- at = assignNew(mce, Ity_V128, binop(Iop_SetV128lo32, vatomX, at));
- return at;
-}
-
-static
-IRAtom* unary32F0x4 ( MCEnv* mce, IRAtom* vatomX )
-{
- IRAtom* at;
- tl_assert(isShadowAtom(mce, vatomX));
- at = assignNew(mce, Ity_I32, unop(Iop_V128to32, vatomX));
- at = mkPCastTo(mce, Ity_I32, at);
- at = assignNew(mce, Ity_V128, binop(Iop_SetV128lo32, vatomX, at));
- return at;
-}
-
-/* --- ... and ... 64Fx2 versions of the same ... --- */
-
-static
-IRAtom* binary64Fx2 ( MCEnv* mce, IRAtom* vatomX, IRAtom* vatomY )
-{
- IRAtom* at;
- tl_assert(isShadowAtom(mce, vatomX));
- tl_assert(isShadowAtom(mce, vatomY));
- at = mkUifUV128(mce, vatomX, vatomY);
- at = assignNew(mce, Ity_V128, mkPCast64x2(mce, at));
- return at;
-}
-
-static
-IRAtom* unary64Fx2 ( MCEnv* mce, IRAtom* vatomX )
-{
- IRAtom* at;
- tl_assert(isShadowAtom(mce, vatomX));
- at = assignNew(mce, Ity_V128, mkPCast64x2(mce, vatomX));
- return at;
-}
-
-static
-IRAtom* binary64F0x2 ( MCEnv* mce, IRAtom* vatomX, IRAtom* vatomY )
-{
- IRAtom* at;
- tl_assert(isShadowAtom(mce, vatomX));
- tl_assert(isShadowAtom(mce, vatomY));
- at = mkUifUV128(mce, vatomX, vatomY);
- at = assignNew(mce, Ity_I64, unop(Iop_V128to64, at));
- at = mkPCastTo(mce, Ity_I64, at);
- at = assignNew(mce, Ity_V128, binop(Iop_SetV128lo64, vatomX, at));
- return at;
-}
-
-static
-IRAtom* unary64F0x2 ( MCEnv* mce, IRAtom* vatomX )
-{
- IRAtom* at;
- tl_assert(isShadowAtom(mce, vatomX));
- at = assignNew(mce, Ity_I64, unop(Iop_V128to64, vatomX));
- at = mkPCastTo(mce, Ity_I64, at);
- at = assignNew(mce, Ity_V128, binop(Iop_SetV128lo64, vatomX, at));
- return at;
-}
-
-/* --- --- Vector saturated narrowing --- --- */
-
-/* This is quite subtle. What to do is simple:
-
- Let the original narrowing op be QNarrowW{S,U}xN. Produce:
-
- the-narrowing-op( PCastWxN(vatom1), PCastWxN(vatom2))
-
- Why this is right is not so simple. Consider a lane in the args,
- vatom1 or 2, doesn't matter.
-
- After the PCast, that lane is all 0s (defined) or all
- 1s(undefined).
-
- Both signed and unsigned saturating narrowing of all 0s produces
- all 0s, which is what we want.
-
- The all-1s case is more complex. Unsigned narrowing interprets an
- all-1s input as the largest unsigned integer, and so produces all
- 1s as a result since that is the largest unsigned value at the
- smaller width.
-
- Signed narrowing interprets all 1s as -1. Fortunately, -1 narrows
- to -1, so we still wind up with all 1s at the smaller width.
-
- So: In short, pessimise the args, then apply the original narrowing
- op.
-*/
-static
-IRAtom* vectorNarrowV128 ( MCEnv* mce, IROp narrow_op,
- IRAtom* vatom1, IRAtom* vatom2)
-{
- IRAtom *at1, *at2, *at3;
- IRAtom* (*pcast)( MCEnv*, IRAtom* );
- switch (narrow_op) {
- case Iop_QNarrowBin32Sto16Sx8: pcast = mkPCast32x4; break;
- case Iop_QNarrowBin16Sto8Sx16: pcast = mkPCast16x8; break;
- case Iop_QNarrowBin16Sto8Ux16: pcast = mkPCast16x8; break;
- default: VG_(tool_panic)("vectorNarrowV128");
- }
- tl_assert(isShadowAtom(mce,vatom1));
- tl_assert(isShadowAtom(mce,vatom2));
- at1 = assignNew(mce, Ity_V128, pcast(mce, vatom1));
- at2 = assignNew(mce, Ity_V128, pcast(mce, vatom2));
- at3 = assignNew(mce, Ity_V128, binop(narrow_op, at1, at2));
- return at3;
-}
-
-
-/* --- --- Vector integer arithmetic --- --- */
-
-/* Simple ... UifU the args and per-lane pessimise the results. */
-static
-IRAtom* binary8Ix16 ( MCEnv* mce, IRAtom* vatom1, IRAtom* vatom2 )
-{
- IRAtom* at;
- at = mkUifUV128(mce, vatom1, vatom2);
- at = mkPCast8x16(mce, at);
- return at;
-}
-
-static
-IRAtom* binary16Ix8 ( MCEnv* mce, IRAtom* vatom1, IRAtom* vatom2 )
-{
- IRAtom* at;
- at = mkUifUV128(mce, vatom1, vatom2);
- at = mkPCast16x8(mce, at);
- return at;
-}
-
-static
-IRAtom* binary32Ix4 ( MCEnv* mce, IRAtom* vatom1, IRAtom* vatom2 )
-{
- IRAtom* at;
- at = mkUifUV128(mce, vatom1, vatom2);
- at = mkPCast32x4(mce, at);
- return at;
-}
-
-static
-IRAtom* binary64Ix2 ( MCEnv* mce, IRAtom* vatom1, IRAtom* vatom2 )
-{
- IRAtom* at;
- at = mkUifUV128(mce, vatom1, vatom2);
- at = mkPCast64x2(mce, at);
- return at;
-}
-
-
-/*------------------------------------------------------------*/
-/*--- Generate shadow values from all kinds of IRExprs. ---*/
-/*------------------------------------------------------------*/
-
-static
-IRAtom* expr2vbits_Binop ( MCEnv* mce,
- IROp op,
- IRAtom* atom1, IRAtom* atom2 )
-{
- IRType and_or_ty;
- IRAtom* (*uifu) (MCEnv*, IRAtom*, IRAtom*);
- IRAtom* (*difd) (MCEnv*, IRAtom*, IRAtom*);
- IRAtom* (*improve) (MCEnv*, IRAtom*, IRAtom*);
-
- IRAtom* vatom1 = expr2vbits( mce, atom1 );
- IRAtom* vatom2 = expr2vbits( mce, atom2 );
-
- tl_assert(isOriginalAtom(mce,atom1));
- tl_assert(isOriginalAtom(mce,atom2));
- tl_assert(isShadowAtom(mce,vatom1));
- tl_assert(isShadowAtom(mce,vatom2));
- tl_assert(sameKindedAtoms(atom1,vatom1));
- tl_assert(sameKindedAtoms(atom2,vatom2));
- switch (op) {
-
- /* V128-bit SIMD (SSE2-esque) */
-
- case Iop_ShrN16x8:
- case Iop_ShrN32x4:
- case Iop_ShrN64x2:
- case Iop_SarN16x8:
- case Iop_SarN32x4:
- case Iop_ShlN16x8:
- case Iop_ShlN32x4:
- case Iop_ShlN64x2:
- /* Same scheme as with all other shifts. */
- complainIfUndefined(mce, atom2);
- return assignNew(mce, Ity_V128, binop(op, vatom1, atom2));
-
- case Iop_QSub8Ux16:
- case Iop_QSub8Sx16:
- case Iop_Sub8x16:
- case Iop_Min8Ux16:
- case Iop_Max8Ux16:
- case Iop_CmpGT8Sx16:
- case Iop_CmpEQ8x16:
- case Iop_Avg8Ux16:
- case Iop_QAdd8Ux16:
- case Iop_QAdd8Sx16:
- case Iop_Add8x16:
- return binary8Ix16(mce, vatom1, vatom2);
-
- case Iop_QSub16Ux8:
- case Iop_QSub16Sx8:
- case Iop_Sub16x8:
- case Iop_Mul16x8:
- case Iop_MulHi16Sx8:
- case Iop_MulHi16Ux8:
- case Iop_Min16Sx8:
- case Iop_Max16Sx8:
- case Iop_CmpGT16Sx8:
- case Iop_CmpEQ16x8:
- case Iop_Avg16Ux8:
- case Iop_QAdd16Ux8:
- case Iop_QAdd16Sx8:
- case Iop_Add16x8:
- return binary16Ix8(mce, vatom1, vatom2);
-
- case Iop_Sub32x4:
- case Iop_QSub32Sx4:
- case Iop_QSub32Ux4:
- case Iop_CmpGT32Sx4:
- case Iop_CmpEQ32x4:
- case Iop_Add32x4:
- case Iop_QAdd32Ux4:
- case Iop_QAdd32Sx4:
- return binary32Ix4(mce, vatom1, vatom2);
-
- case Iop_Sub64x2:
- case Iop_QSub64Ux2:
- case Iop_QSub64Sx2:
- case Iop_Add64x2:
- case Iop_QAdd64Ux2:
- case Iop_QAdd64Sx2:
- return binary64Ix2(mce, vatom1, vatom2);
-
- case Iop_QNarrowBin32Sto16Sx8:
- case Iop_QNarrowBin16Sto8Sx16:
- case Iop_QNarrowBin16Sto8Ux16:
- return vectorNarrowV128(mce, op, vatom1, vatom2);
-
- case Iop_Sub64Fx2:
- case Iop_Mul64Fx2:
- case Iop_Min64Fx2:
- case Iop_Max64Fx2:
- case Iop_Div64Fx2:
- case Iop_CmpLT64Fx2:
- case Iop_CmpLE64Fx2:
- case Iop_CmpEQ64Fx2:
- case Iop_Add64Fx2:
- return binary64Fx2(mce, vatom1, vatom2);
-
- case Iop_Sub64F0x2:
- case Iop_Mul64F0x2:
- case Iop_Min64F0x2:
- case Iop_Max64F0x2:
- case Iop_Div64F0x2:
- case Iop_CmpLT64F0x2:
- case Iop_CmpLE64F0x2...
[truncated message content] |
|
From: <sv...@va...> - 2014-11-20 11:30:48
|
Author: sewardj
Date: Thu Nov 20 11:30:41 2014
New Revision: 2997
Log:
arm64: enable FCVT{A,N}S X,S.
Modified:
trunk/priv/guest_arm64_toIR.c
Modified: trunk/priv/guest_arm64_toIR.c
==============================================================================
--- trunk/priv/guest_arm64_toIR.c (original)
+++ trunk/priv/guest_arm64_toIR.c Thu Nov 20 11:30:41 2014
@@ -12502,6 +12502,7 @@
|| (iop == Iop_F32toI32U && irrm == Irrm_NEAREST)/* FCVT{A,N}U W,S */
/* F32toI64S */
|| (iop == Iop_F32toI64S && irrm == Irrm_ZERO) /* FCVTZS Xd,Sn */
+ || (iop == Iop_F32toI64S && irrm == Irrm_NEAREST)/* FCVT{A,N}S X,S */
/* F32toI64U */
|| (iop == Iop_F32toI64U && irrm == Irrm_ZERO) /* FCVTZU Xd,Sn */
|| (iop == Iop_F32toI64U && irrm == Irrm_PosINF) /* FCVTPU Xd,Sn */
|
|
From: <sv...@va...> - 2014-11-20 10:15:23
|
Author: sewardj
Date: Thu Nov 20 10:15:17 2014
New Revision: 14740
Log:
isBogusAtom: handle missing case Ico_F32.
Modified:
trunk/memcheck/mc_translate.c
Modified: trunk/memcheck/mc_translate.c
==============================================================================
--- trunk/memcheck/mc_translate.c (original)
+++ trunk/memcheck/mc_translate.c Thu Nov 20 10:15:17 2014
@@ -6067,6 +6067,7 @@
case Ico_U16: n = (ULong)con->Ico.U16; break;
case Ico_U32: n = (ULong)con->Ico.U32; break;
case Ico_U64: n = (ULong)con->Ico.U64; break;
+ case Ico_F32: return False;
case Ico_F64: return False;
case Ico_F32i: return False;
case Ico_F64i: return False;
|
|
From: <sv...@va...> - 2014-11-20 10:14:13
|
Author: sewardj
Date: Thu Nov 20 10:14:06 2014
New Revision: 2996
Log:
Implement {S,U}CVTF (scalar, fixedpt).
Modified:
trunk/priv/guest_arm64_toIR.c
trunk/priv/host_arm64_isel.c
Modified: trunk/priv/guest_arm64_toIR.c
==============================================================================
--- trunk/priv/guest_arm64_toIR.c (original)
+++ trunk/priv/guest_arm64_toIR.c Thu Nov 20 10:14:06 2014
@@ -8081,6 +8081,16 @@
}
+/* Returns 2.0 ^ (-n) for n in 1 .. 64 */
+static Double two_to_the_minus ( Int n )
+{
+ if (n == 1) return 0.5;
+ vassert(n >= 2 && n <= 64);
+ Int half = n / 2;
+ return two_to_the_minus(half) * two_to_the_minus(n - half);
+}
+
+
/*------------------------------------------------------------*/
/*--- SIMD and FP instructions ---*/
/*------------------------------------------------------------*/
@@ -12320,9 +12330,78 @@
static
-Bool dis_AdvSIMD_fp_to_fixedp_conv(/*MB_OUT*/DisResult* dres, UInt insn)
+Bool dis_AdvSIMD_fp_to_from_fixedp_conv(/*MB_OUT*/DisResult* dres, UInt insn)
{
# define INSN(_bMax,_bMin) SLICE_UInt(insn, (_bMax), (_bMin))
+ /* 31 30 29 28 23 21 20 18 15 9 4
+ sf 0 0 11110 type 0 rmode opcode scale n d
+ The first 3 bits are really "sf 0 S", but S is always zero.
+ Decode fields: sf,type,rmode,opcode
+ */
+# define INSN(_bMax,_bMin) SLICE_UInt(insn, (_bMax), (_bMin))
+ if (INSN(30,29) != BITS2(0,0)
+ || INSN(28,24) != BITS5(1,1,1,1,0)
+ || INSN(21,21) != 0) {
+ return False;
+ }
+ UInt bitSF = INSN(31,31);
+ UInt ty = INSN(23,22); // type
+ UInt rm = INSN(20,19); // rmode
+ UInt op = INSN(18,16); // opcode
+ UInt sc = INSN(15,10); // scale
+ UInt nn = INSN(9,5);
+ UInt dd = INSN(4,0);
+
+ // op = 010, 011
+ /* -------------- {S,U}CVTF (scalar, fixedpt) -------------- */
+ /* (ix) sf S 28 ty rm op 15 9 4
+ 0 0 0 0 11110 00 0 00 010 scale n d SCVTF Sd, Wn, #fbits
+ 1 0 0 0 11110 01 0 00 010 scale n d SCVTF Dd, Wn, #fbits
+ 2 1 0 0 11110 00 0 00 010 scale n d SCVTF Sd, Xn, #fbits
+ 3 1 0 0 11110 01 0 00 010 scale n d SCVTF Dd, Xn, #fbits
+
+ 4 0 0 0 11110 00 0 00 011 scale n d UCVTF Sd, Wn, #fbits
+ 5 0 0 0 11110 01 0 00 011 scale n d UCVTF Dd, Wn, #fbits
+ 6 1 0 0 11110 00 0 00 011 scale n d UCVTF Sd, Xn, #fbits
+ 7 1 0 0 11110 01 0 00 011 scale n d UCVTF Dd, Xn, #fbits
+
+ These are signed/unsigned conversion from integer registers to
+ FP registers, all 4 32/64-bit combinations, rounded per FPCR,
+ scaled per |scale|.
+ */
+ if (ty <= X01 && rm == X00
+ && (op == BITS3(0,1,0) || op == BITS3(0,1,1))
+ && (bitSF == 1 || ((sc >> 5) & 1) == 1)) {
+ Bool isI64 = bitSF == 1;
+ Bool isF64 = (ty & 1) == 1;
+ Bool isU = (op & 1) == 1;
+ UInt ix = (isU ? 4 : 0) | (isI64 ? 2 : 0) | (isF64 ? 1 : 0);
+
+ Int fbits = 64 - sc;
+ vassert(fbits >= 1 && fbits <= (isI64 ? 64 : 32));
+
+ Double scale = two_to_the_minus(fbits);
+ IRExpr* scaleE = isF64 ? IRExpr_Const(IRConst_F64(scale))
+ : IRExpr_Const(IRConst_F32( (Float)scale ));
+ IROp opMUL = isF64 ? Iop_MulF64 : Iop_MulF32;
+
+ const IROp ops[8]
+ = { Iop_I32StoF32, Iop_I32StoF64, Iop_I64StoF32, Iop_I64StoF64,
+ Iop_I32UtoF32, Iop_I32UtoF64, Iop_I64UtoF32, Iop_I64UtoF64 };
+ IRExpr* src = getIRegOrZR(isI64, nn);
+ IRExpr* res = (isF64 && !isI64)
+ ? unop(ops[ix], src)
+ : binop(ops[ix],
+ mkexpr(mk_get_IR_rounding_mode()), src);
+ putQReg128(dd, mkV128(0));
+ putQRegLO(dd, triop(opMUL, mkU32(Irrm_NEAREST), res, scaleE));
+
+ DIP("%ccvtf %s, %s, #%d\n",
+ isU ? 'u' : 's', nameQRegLO(dd, isF64 ? Ity_F64 : Ity_F32),
+ nameIRegOrZR(isI64, nn), fbits);
+ return True;
+ }
+
return False;
# undef INSN
}
@@ -12488,7 +12567,8 @@
IRExpr* src = getIRegOrZR(isI64, nn);
IRExpr* res = (isF64 && !isI64)
? unop(ops[ix], src)
- : binop(ops[ix], mkexpr(mk_get_IR_rounding_mode()), src);
+ : binop(ops[ix],
+ mkexpr(mk_get_IR_rounding_mode()), src);
putQReg128(dd, mkV128(0));
putQRegLO(dd, res);
DIP("%ccvtf %s, %s\n",
@@ -12631,7 +12711,7 @@
if (UNLIKELY(ok)) return True;
ok = dis_AdvSIMD_fp_immediate(dres, insn);
if (UNLIKELY(ok)) return True;
- ok = dis_AdvSIMD_fp_to_fixedp_conv(dres, insn);
+ ok = dis_AdvSIMD_fp_to_from_fixedp_conv(dres, insn);
if (UNLIKELY(ok)) return True;
ok = dis_AdvSIMD_fp_to_from_int_conv(dres, insn);
if (UNLIKELY(ok)) return True;
Modified: trunk/priv/host_arm64_isel.c
==============================================================================
--- trunk/priv/host_arm64_isel.c (original)
+++ trunk/priv/host_arm64_isel.c Thu Nov 20 10:14:06 2014
@@ -2965,6 +2965,16 @@
addInstr(env, ARM64Instr_VDfromX(dst, src));
return dst;
}
+ if (con->tag == Ico_F64) {
+ HReg src = newVRegI(env);
+ HReg dst = newVRegD(env);
+ union { Double d64; ULong u64; } u;
+ vassert(sizeof(u) == 8);
+ u.d64 = con->Ico.F64;
+ addInstr(env, ARM64Instr_Imm64(src, u.u64));
+ addInstr(env, ARM64Instr_VDfromX(dst, src));
+ return dst;
+ }
}
if (e->tag == Iex_Load && e->Iex.Load.end == Iend_LE) {
@@ -3134,6 +3144,16 @@
addInstr(env, ARM64Instr_VDfromX(dst, src));
return dst;
}
+ if (con->tag == Ico_F32) {
+ HReg src = newVRegI(env);
+ HReg dst = newVRegD(env);
+ union { Float f32; UInt u32; } u;
+ vassert(sizeof(u) == 4);
+ u.f32 = con->Ico.F32;
+ addInstr(env, ARM64Instr_Imm64(src, (ULong)u.u32));
+ addInstr(env, ARM64Instr_VDfromX(dst, src));
+ return dst;
+ }
}
if (e->tag == Iex_Load && e->Iex.Load.end == Iend_LE) {
|
|
From: <sv...@va...> - 2014-11-20 10:11:52
|
Author: sewardj
Date: Thu Nov 20 10:11:42 2014
New Revision: 14739
Log:
Update mysteriously out-of-date fp_and_simd.stdout.exp.
Modified:
trunk/none/tests/arm64/fp_and_simd.stdout.exp
Modified: trunk/none/tests/arm64/fp_and_simd.stdout.exp
==============================================================================
--- trunk/none/tests/arm64/fp_and_simd.stdout.exp (original)
+++ trunk/none/tests/arm64/fp_and_simd.stdout.exp Thu Nov 20 10:11:42 2014
@@ -50,8 +50,8 @@
special value 1 = -0.000000e+00
special value 2 = 1.000000e+00
special value 3 = -1.000000e+00
-special value 4 = nan
-special value 5 = -nan
+special value 4 = inf
+special value 5 = -inf
special value 6 = nan
special value 7 = -nan
special value 8 = 1.230001e-318
@@ -69,7 +69,7 @@
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_D_D_D_EQ before
- 436a82331bf9ee137ff8000000000000
+ 436a82331bf9ee137ff0000000000000
7ff8000000000000c338eaf1529404ff
c36ea12103514705fff8000000000000
aaaaaaaaaaaaaaaa5555555555555555
@@ -80,7 +80,7 @@
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_D_D_D_EQ before
- 80000000000000007ff8000000000000
+ 80000000000000007ff0000000000000
0000000000000000c367a41019cd166a
4361cfba45214e647ff8000000000000
aaaaaaaaaaaaaaaa5555555555555555
@@ -93,23 +93,23 @@
FCSEL_D_D_D_EQ before
c36e261db6a5fd9a000000000003cc7b
43637c91388d70703ff0000000000000
- fff8000000000000c363189c56fd016f
+ fff0000000000000c363189c56fd016f
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_D_D_D_EQ after
00000000000000003ff0000000000000
43637c91388d70703ff0000000000000
- fff8000000000000c363189c56fd016f
+ fff0000000000000c363189c56fd016f
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_D_D_D_EQ before
c366e397360d179f4360613c471403f2
4338e24489d8314e436972eadfcaa7b9
- 7ff80000000000008000000000000000
+ 7ff00000000000008000000000000000
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_D_D_D_EQ after
0000000000000000436972eadfcaa7b9
4338e24489d8314e436972eadfcaa7b9
- 7ff80000000000008000000000000000
+ 7ff00000000000008000000000000000
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_D_D_D_EQ before
@@ -137,22 +137,22 @@
FCSEL_D_D_D_EQ before
c34603b3d7f06b994361830e83678cca
4312f5cf67a5c134435d18c7d69ff1bd
- fff8000000000000c35d38c65d3728f4
+ fff0000000000000c35d38c65d3728f4
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_D_D_D_EQ after
0000000000000000435d18c7d69ff1bd
4312f5cf67a5c134435d18c7d69ff1bd
- fff8000000000000c35d38c65d3728f4
+ fff0000000000000c35d38c65d3728f4
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_D_D_D_EQ before
c34df8dee813be60c367e9cb7b13c887
- 0000000000000000fff8000000000000
+ 0000000000000000fff0000000000000
c3439bddc2b28ef8c36802288faf37e1
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_D_D_D_EQ after
- 0000000000000000fff8000000000000
- 0000000000000000fff8000000000000
+ 0000000000000000fff0000000000000
+ 0000000000000000fff0000000000000
c3439bddc2b28ef8c36802288faf37e1
aaaaaaaaaaaaaaaa0000000050000000
@@ -190,7 +190,7 @@
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_D_D_D_EQ before
- 8000000000000000fff8000000000000
+ 8000000000000000fff0000000000000
43696c814d1004cc435c1ead8907bb7a
800000000003cc7bfff8000000000000
aaaaaaaaaaaaaaaa5555555555555555
@@ -214,12 +214,12 @@
FCSEL_D_D_D_EQ before
fff80000000000000000000000000000
c34c36b87138e3d0800000000003cc7b
- 7ff8000000000000c3614cdb0b0a8aa6
+ 7ff0000000000000c3614cdb0b0a8aa6
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_D_D_D_EQ after
0000000000000000800000000003cc7b
c34c36b87138e3d0800000000003cc7b
- 7ff8000000000000c3614cdb0b0a8aa6
+ 7ff0000000000000c3614cdb0b0a8aa6
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_D_D_D_EQ before
@@ -235,12 +235,12 @@
FCSEL_D_D_D_EQ before
4361cc1d5adc3d44000000000003cc7b
- c36fd66449556192fff8000000000000
+ c36fd66449556192fff0000000000000
bff0000000000000bff0000000000000
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_D_D_D_EQ after
- 0000000000000000fff8000000000000
- c36fd66449556192fff8000000000000
+ 0000000000000000fff0000000000000
+ c36fd66449556192fff0000000000000
bff0000000000000bff0000000000000
aaaaaaaaaaaaaaaa0000000050000000
@@ -257,45 +257,45 @@
FCSEL_D_D_D_EQ before
436c51f631294fd24345fe6df5545a60
- 7ff800000000000043592259fe7c931e
+ 7ff000000000000043592259fe7c931e
fff8000000000000c34422f28ffd6150
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_D_D_D_EQ after
000000000000000043592259fe7c931e
- 7ff800000000000043592259fe7c931e
+ 7ff000000000000043592259fe7c931e
fff8000000000000c34422f28ffd6150
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_D_D_D_EQ before
436719aa10d41b564362db9b6b258c8f
- 434513b7de4ebe1e7ff8000000000000
+ 434513b7de4ebe1e7ff0000000000000
c36cf274b1b24c4e435b00336a6b0bbc
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_D_D_D_EQ after
- 00000000000000007ff8000000000000
- 434513b7de4ebe1e7ff8000000000000
+ 00000000000000007ff0000000000000
+ 434513b7de4ebe1e7ff0000000000000
c36cf274b1b24c4e435b00336a6b0bbc
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_D_D_D_EQ before
fff8000000000000436546f0a4fbfb7b
- 434fc8b00aba36e2fff8000000000000
+ 434fc8b00aba36e2fff0000000000000
c35d9adc26eb23fdc338e75f9ebc84bb
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_D_D_D_EQ after
- 0000000000000000fff8000000000000
- 434fc8b00aba36e2fff8000000000000
+ 0000000000000000fff0000000000000
+ 434fc8b00aba36e2fff0000000000000
c35d9adc26eb23fdc338e75f9ebc84bb
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_D_D_D_EQ before
fff8000000000000c3685f1be309198a
- 434bbf98144c9f18fff8000000000000
+ 434bbf98144c9f18fff0000000000000
436139d46f6093e0c35dd14e0aaa3b5e
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_D_D_D_EQ after
- 0000000000000000fff8000000000000
- 434bbf98144c9f18fff8000000000000
+ 0000000000000000fff0000000000000
+ 434bbf98144c9f18fff0000000000000
436139d46f6093e0c35dd14e0aaa3b5e
aaaaaaaaaaaaaaaa0000000050000000
@@ -335,16 +335,16 @@
FCSEL_D_D_D_EQ before
7ff8000000000000c35ebe0563038aa5
c3698b08b7981705436c4a18597d8f82
- 435e5774379500f77ff8000000000000
+ 435e5774379500f77ff0000000000000
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_D_D_D_EQ after
0000000000000000436c4a18597d8f82
c3698b08b7981705436c4a18597d8f82
- 435e5774379500f77ff8000000000000
+ 435e5774379500f77ff0000000000000
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_D_D_D_EQ before
- c35af09a81fcf4bffff8000000000000
+ c35af09a81fcf4bffff0000000000000
bff0000000000000433deea27334b5c5
435599418bff0f0c43570bc3929754d0
aaaaaaaaaaaaaaaa5555555555555555
@@ -366,7 +366,7 @@
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_D_D_D_EQ before
- 4358de955102e256fff8000000000000
+ 4358de955102e256fff0000000000000
c36e4f6b8d0c826dc360ac42adaeac1f
c35d1817a4fbfaa5c32e6b77d6773b3a
aaaaaaaaaaaaaaaa5555555555555555
@@ -388,7 +388,7 @@
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_D_D_D_EQ before
- fff8000000000000fff8000000000000
+ fff0000000000000fff0000000000000
8000000000000000430ce91b9d8f6dd0
c353168c43fecff13ff0000000000000
aaaaaaaaaaaaaaaa5555555555555555
@@ -412,16 +412,16 @@
FCSEL_D_D_D_EQ before
c3671224817bb1d3436a038a7c5650a2
43524fa35271ade0c3614ec076dd3a89
- fff80000000000000000000000000000
+ fff00000000000000000000000000000
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_D_D_D_EQ after
0000000000000000c3614ec076dd3a89
43524fa35271ade0c3614ec076dd3a89
- fff80000000000000000000000000000
+ fff00000000000000000000000000000
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_D_D_D_EQ before
- 800000000003cc7bfff8000000000000
+ 800000000003cc7bfff0000000000000
436b871167241021000000000003cc7b
0000000000000000000000000003cc7b
aaaaaaaaaaaaaaaa5555555555555555
@@ -432,7 +432,7 @@
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_D_D_D_EQ before
- fff80000000000007ff8000000000000
+ fff00000000000007ff0000000000000
8000000000000000000000000003cc7b
fff8000000000000000000000003cc7b
aaaaaaaaaaaaaaaa5555555555555555
@@ -443,7 +443,7 @@
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_D_D_D_EQ before
- fff8000000000000fff8000000000000
+ fff0000000000000fff8000000000000
7ff8000000000000c36dcc898c508a95
c367c92b1707425e433ee467e89ae1bf
aaaaaaaaaaaaaaaa5555555555555555
@@ -476,7 +476,7 @@
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_D_D_D_EQ before
- fff80000000000007ff8000000000000
+ fff00000000000007ff0000000000000
bff0000000000000000000000003cc7b
800000000003cc7b436a75b7bf8a22a0
aaaaaaaaaaaaaaaa5555555555555555
@@ -500,12 +500,12 @@
FCSEL_D_D_D_EQ before
c35a3c1723b4474d436027e5d7141a18
c36645308f3ebee343462dd2f8fdee70
- fff80000000000004365eabd4630f622
+ fff00000000000004365eabd4630f622
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_D_D_D_EQ after
000000000000000043462dd2f8fdee70
c36645308f3ebee343462dd2f8fdee70
- fff80000000000004365eabd4630f622
+ fff00000000000004365eabd4630f622
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_D_D_D_EQ before
@@ -521,13 +521,13 @@
FCSEL_D_D_D_EQ before
c32d9ca0927e1c7c3ff0000000000000
- fff8000000000000c36262b39cd833b0
- 80000000000000007ff8000000000000
+ fff0000000000000c36262b39cd833b0
+ 80000000000000007ff0000000000000
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_D_D_D_EQ after
0000000000000000c36262b39cd833b0
- fff8000000000000c36262b39cd833b0
- 80000000000000007ff8000000000000
+ fff0000000000000c36262b39cd833b0
+ 80000000000000007ff0000000000000
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_D_D_D_EQ before
@@ -542,29 +542,29 @@
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_D_D_D_EQ before
- 436a29edcb157e10fff8000000000000
+ 436a29edcb157e10fff0000000000000
800000000003cc7b800000000003cc7b
- 7ff8000000000000c353155f4fdc8f93
+ 7ff0000000000000c353155f4fdc8f93
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_D_D_D_EQ after
0000000000000000800000000003cc7b
800000000003cc7b800000000003cc7b
- 7ff8000000000000c353155f4fdc8f93
+ 7ff0000000000000c353155f4fdc8f93
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_D_D_D_EQ before
43558b41726789d2bff0000000000000
- fff8000000000000000000000003cc7b
+ fff0000000000000000000000003cc7b
0000000000000000c339aa1d2b414c22
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_D_D_D_EQ after
0000000000000000000000000003cc7b
- fff8000000000000000000000003cc7b
+ fff0000000000000000000000003cc7b
0000000000000000c339aa1d2b414c22
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_D_D_D_EQ before
- 7ff800000000000043681e57d379e29c
+ 7ff000000000000043681e57d379e29c
800000000003cc7bc35cbfb030c81c9a
c36063e9b3030f7ec36bb5ccfa5b59fb
aaaaaaaaaaaaaaaa5555555555555555
@@ -588,12 +588,12 @@
FCSEL_D_D_D_EQ before
0000000000000000c36cdd74d8178401
000000000003cc7b800000000003cc7b
- bff0000000000000fff8000000000000
+ bff0000000000000fff0000000000000
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_D_D_D_EQ after
0000000000000000800000000003cc7b
000000000003cc7b800000000003cc7b
- bff0000000000000fff8000000000000
+ bff0000000000000fff0000000000000
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_D_D_D_EQ before
@@ -610,12 +610,12 @@
FCSEL_D_D_D_NE before
fff80000000000004330ca74abf52f16
435c2c186d8c59750000000000000000
- 000000000003cc7b7ff8000000000000
+ 000000000003cc7b7ff0000000000000
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_D_D_D_NE after
- 00000000000000007ff8000000000000
+ 00000000000000007ff0000000000000
435c2c186d8c59750000000000000000
- 000000000003cc7b7ff8000000000000
+ 000000000003cc7b7ff0000000000000
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_D_D_D_NE before
@@ -641,25 +641,25 @@
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_D_D_D_NE before
- 0000000000000000fff8000000000000
- 7ff8000000000000bff0000000000000
+ 0000000000000000fff0000000000000
+ 7ff0000000000000bff0000000000000
bff0000000000000c36a57c16addc49e
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_D_D_D_NE after
0000000000000000c36a57c16addc49e
- 7ff8000000000000bff0000000000000
+ 7ff0000000000000bff0000000000000
bff0000000000000c36a57c16addc49e
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_D_D_D_NE before
800000000003cc7bfff8000000000000
fff8000000000000fff8000000000000
- bff00000000000007ff8000000000000
+ bff00000000000007ff0000000000000
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_D_D_D_NE after
- 00000000000000007ff8000000000000
+ 00000000000000007ff0000000000000
fff8000000000000fff8000000000000
- bff00000000000007ff8000000000000
+ bff00000000000007ff0000000000000
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_D_D_D_NE before
@@ -686,12 +686,12 @@
FCSEL_D_D_D_NE before
800000000003cc7bc3456d59ecd2027c
- 7ff8000000000000436993bb7cf128bf
+ 7ff0000000000000436993bb7cf128bf
435a657e053b24947ff8000000000000
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_D_D_D_NE after
00000000000000007ff8000000000000
- 7ff8000000000000436993bb7cf128bf
+ 7ff0000000000000436993bb7cf128bf
435a657e053b24947ff8000000000000
aaaaaaaaaaaaaaaa0000000050000000
@@ -707,18 +707,18 @@
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_D_D_D_NE before
- 7ff80000000000007ff8000000000000
- fff80000000000008000000000000000
- 80000000000000007ff8000000000000
+ 7ff00000000000007ff8000000000000
+ fff00000000000008000000000000000
+ 80000000000000007ff0000000000000
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_D_D_D_NE after
- 00000000000000007ff8000000000000
- fff80000000000008000000000000000
- 80000000000000007ff8000000000000
+ 00000000000000007ff0000000000000
+ fff00000000000008000000000000000
+ 80000000000000007ff0000000000000
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_D_D_D_NE before
- c365800155119ed07ff8000000000000
+ c365800155119ed07ff0000000000000
4361f18d4b91f4dec3548cc82762b836
fff8000000000000c3646e93a22690e3
aaaaaaaaaaaaaaaa5555555555555555
@@ -729,14 +729,14 @@
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_D_D_D_NE before
- 4359b88fc6705e207ff8000000000000
+ 4359b88fc6705e207ff0000000000000
43544121fbe4ffc7800000000003cc7b
- c3434c4ad68c5df67ff8000000000000
+ c3434c4ad68c5df67ff0000000000000
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_D_D_D_NE after
- 00000000000000007ff8000000000000
+ 00000000000000007ff0000000000000
43544121fbe4ffc7800000000003cc7b
- c3434c4ad68c5df67ff8000000000000
+ c3434c4ad68c5df67ff0000000000000
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_D_D_D_NE before
@@ -752,24 +752,24 @@
FCSEL_D_D_D_NE before
43559878e4fdeeebfff8000000000000
- 7ff800000000000043451440e0137772
+ 7ff000000000000043451440e0137772
4361c194818237e543694a0497de7fed
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_D_D_D_NE after
000000000000000043694a0497de7fed
- 7ff800000000000043451440e0137772
+ 7ff000000000000043451440e0137772
4361c194818237e543694a0497de7fed
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_D_D_D_NE before
- 3ff00000000000007ff8000000000000
+ 3ff00000000000007ff0000000000000
fff80000000000003ff0000000000000
- fff8000000000000c36fd09845dfe025
+ fff0000000000000c36fd09845dfe025
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_D_D_D_NE after
0000000000000000c36fd09845dfe025
fff80000000000003ff0000000000000
- fff8000000000000c36fd09845dfe025
+ fff0000000000000c36fd09845dfe025
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_D_D_D_NE before
@@ -785,12 +785,12 @@
FCSEL_D_D_D_NE before
800000000003cc7b3ff0000000000000
- fff80000000000004368b363660b8bc4
+ fff00000000000004368b363660b8bc4
42f6be8d7dbc47104350c3d11a93aac8
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_D_D_D_NE after
00000000000000004350c3d11a93aac8
- fff80000000000004368b363660b8bc4
+ fff00000000000004368b363660b8bc4
42f6be8d7dbc47104350c3d11a93aac8
aaaaaaaaaaaaaaaa0000000050000000
@@ -818,28 +818,28 @@
FCSEL_D_D_D_NE before
c367420f1aacaa1dfff8000000000000
- fff8000000000000bff0000000000000
+ fff0000000000000bff0000000000000
c366728ff772cb94000000000003cc7b
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_D_D_D_NE after
0000000000000000000000000003cc7b
- fff8000000000000bff0000000000000
+ fff0000000000000bff0000000000000
c366728ff772cb94000000000003cc7b
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_D_D_D_NE before
7ff8000000000000bff0000000000000
- 7ff800000000000043692c53a54d630e
+ 7ff000000000000043692c53a54d630e
c362c89040bd35018000000000000000
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_D_D_D_NE after
00000000000000008000000000000000
- 7ff800000000000043692c53a54d630e
+ 7ff000000000000043692c53a54d630e
c362c89040bd35018000000000000000
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_D_D_D_NE before
- c35d9d259f10c0c67ff8000000000000
+ c35d9d259f10c0c67ff0000000000000
3ff00000000000004324b73f3185e790
436d963d74507b23c36d46d24c088137
aaaaaaaaaaaaaaaa5555555555555555
@@ -852,12 +852,12 @@
FCSEL_D_D_D_NE before
bff00000000000004366eef2ab2f6371
000000000003cc7b43233f47cdf3ef36
- fff8000000000000fff8000000000000
+ fff0000000000000fff0000000000000
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_D_D_D_NE after
- 0000000000000000fff8000000000000
+ 0000000000000000fff0000000000000
000000000003cc7b43233f47cdf3ef36
- fff8000000000000fff8000000000000
+ fff0000000000000fff0000000000000
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_D_D_D_NE before
@@ -895,35 +895,35 @@
FCSEL_D_D_D_NE before
c36ca9d1797e0e98c32c556735d1cc1e
- fff80000000000004365fcfe5cd94bb8
+ fff00000000000004365fcfe5cd94bb8
c36b2762cdecac8d4368435e17e94859
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_D_D_D_NE after
00000000000000004368435e17e94859
- fff80000000000004365fcfe5cd94bb8
+ fff00000000000004365fcfe5cd94bb8
c36b2762cdecac8d4368435e17e94859
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_D_D_D_NE before
434d09d7cdad60850000000000000000
- 80000000000000007ff8000000000000
- c3638fa29dfa163efff8000000000000
+ 80000000000000007ff0000000000000
+ c3638fa29dfa163efff0000000000000
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_D_D_D_NE after
- 0000000000000000fff8000000000000
- 80000000000000007ff8000000000000
- c3638fa29dfa163efff8000000000000
+ 0000000000000000fff0000000000000
+ 80000000000000007ff0000000000000
+ c3638fa29dfa163efff0000000000000
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_D_D_D_NE before
4355476bb71619f0c36d524a5063cb68
bff0000000000000800000000003cc7b
- 434a4edf7086c6befff8000000000000
+ 434a4edf7086c6befff0000000000000
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_D_D_D_NE after
- 0000000000000000fff8000000000000
+ 0000000000000000fff0000000000000
bff0000000000000800000000003cc7b
- 434a4edf7086c6befff8000000000000
+ 434a4edf7086c6befff0000000000000
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_D_D_D_NE before
@@ -961,12 +961,12 @@
FCSEL_D_D_D_NE before
7ff8000000000000c34f0123eba5c8ed
- fff80000000000008000000000000000
+ fff00000000000008000000000000000
4320e3bc4fd680c87ff8000000000000
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_D_D_D_NE after
00000000000000007ff8000000000000
- fff80000000000008000000000000000
+ fff00000000000008000000000000000
4320e3bc4fd680c87ff8000000000000
aaaaaaaaaaaaaaaa0000000050000000
@@ -1016,12 +1016,12 @@
FCSEL_D_D_D_NE before
bff0000000000000c3578f1a4da575e2
- 7ff80000000000004367e5761b6f5357
+ 7ff00000000000004367e5761b6f5357
fff8000000000000fff8000000000000
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_D_D_D_NE after
0000000000000000fff8000000000000
- 7ff80000000000004367e5761b6f5357
+ 7ff00000000000004367e5761b6f5357
fff8000000000000fff8000000000000
aaaaaaaaaaaaaaaa0000000050000000
@@ -1039,16 +1039,16 @@
FCSEL_D_D_D_NE before
436fed228d2a51fe4363b96724cd21c2
436b109ebde9385a8000000000000000
- 7ff8000000000000c360b8e48cf404fd
+ 7ff0000000000000c360b8e48cf404fd
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_D_D_D_NE after
0000000000000000c360b8e48cf404fd
436b109ebde9385a8000000000000000
- 7ff8000000000000c360b8e48cf404fd
+ 7ff0000000000000c360b8e48cf404fd
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_D_D_D_NE before
- fff8000000000000435f80a0d796d2ed
+ fff0000000000000435f80a0d796d2ed
000000000003cc7bc36dd5ce244fffc9
43502467f8f1a454c349fd3963f00edc
aaaaaaaaaaaaaaaa5555555555555555
@@ -1092,13 +1092,13 @@
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_D_D_D_NE before
- 7ff8000000000000434498abf8205b4a
- 000000000003cc7b7ff8000000000000
+ 7ff0000000000000434498abf8205b4a
+ 000000000003cc7b7ff0000000000000
7ff8000000000000435a63d18796d3c1
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_D_D_D_NE after
0000000000000000435a63d18796d3c1
- 000000000003cc7b7ff8000000000000
+ 000000000003cc7b7ff0000000000000
7ff8000000000000435a63d18796d3c1
aaaaaaaaaaaaaaaa0000000050000000
@@ -1136,24 +1136,24 @@
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_D_D_D_NE before
- 4362b22de18dc0d1fff8000000000000
- fff8000000000000c3678f0854a8d941
+ 4362b22de18dc0d1fff0000000000000
+ fff0000000000000c3678f0854a8d941
3ff00000000000007ff8000000000000
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_D_D_D_NE after
00000000000000007ff8000000000000
- fff8000000000000c3678f0854a8d941
+ fff0000000000000c3678f0854a8d941
3ff00000000000007ff8000000000000
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_D_D_D_NE before
fff800000000000043484c898a6ecf32
- 7ff80000000000008000000000000000
+ 7ff00000000000008000000000000000
43520715782f75f3bff0000000000000
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_D_D_D_NE after
0000000000000000bff0000000000000
- 7ff80000000000008000000000000000
+ 7ff00000000000008000000000000000
43520715782f75f3bff0000000000000
aaaaaaaaaaaaaaaa0000000050000000
@@ -1180,7 +1180,7 @@
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_S_S_S_EQ before
- 00000000000000007ff8000000000000
+ 00000000000000007ff0000000000000
00000000000000004363dfef19803f0a
fff8000000000000000000000003cc7b
aaaaaaaaaaaaaaaa5555555555555555
@@ -1204,22 +1204,22 @@
FCSEL_S_S_S_EQ before
7ff80000000000004323f295432d3bc6
c3482f3757711546c3301775e22895e3
- 3ff00000000000007ff8000000000000
+ 3ff00000000000007ff0000000000000
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_S_S_S_EQ after
000000000000000000000000e22895e3
c3482f3757711546c3301775e22895e3
- 3ff00000000000007ff8000000000000
+ 3ff00000000000007ff0000000000000
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_S_S_S_EQ before
c356950ced1fee23436c38a9b5c0720b
- 7ff8000000000000800000000003cc7b
+ 7ff0000000000000800000000003cc7b
c353344f7ef05c7f000000000003cc7b
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_S_S_S_EQ after
0000000000000000000000000003cc7b
- 7ff8000000000000800000000003cc7b
+ 7ff0000000000000800000000003cc7b
c353344f7ef05c7f000000000003cc7b
aaaaaaaaaaaaaaaa0000000050000000
@@ -1236,12 +1236,12 @@
FCSEL_S_S_S_EQ before
c3680eed2e3b278f43640c9b33d5f611
- fff8000000000000c350b55e60d96ef2
+ fff0000000000000c350b55e60d96ef2
fff8000000000000c342d9b9719cedb7
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_S_S_S_EQ after
00000000000000000000000060d96ef2
- fff8000000000000c350b55e60d96ef2
+ fff0000000000000c350b55e60d96ef2
fff8000000000000c342d9b9719cedb7
aaaaaaaaaaaaaaaa0000000050000000
@@ -1257,14 +1257,14 @@
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_S_S_S_EQ before
- 435118bb476cb9867ff8000000000000
+ 435118bb476cb9867ff0000000000000
c361f36d404f08217ff8000000000000
- 800000000003cc7bfff8000000000000
+ 800000000003cc7bfff0000000000000
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_S_S_S_EQ after
00000000000000000000000000000000
c361f36d404f08217ff8000000000000
- 800000000003cc7bfff8000000000000
+ 800000000003cc7bfff0000000000000
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_S_S_S_EQ before
@@ -1279,7 +1279,7 @@
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_S_S_S_EQ before
- 00000000000000007ff8000000000000
+ 00000000000000007ff0000000000000
436fa7e1cec46935436ef765133ee886
800000000003cc7bc36d1a2f479f32e2
aaaaaaaaaaaaaaaa5555555555555555
@@ -1292,12 +1292,12 @@
FCSEL_S_S_S_EQ before
436391b6c9e26090bff0000000000000
800000000003cc7bc350008fc66fb406
- 4366b6cfa668034e7ff8000000000000
+ 4366b6cfa668034e7ff0000000000000
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_S_S_S_EQ after
000000000000000000000000c66fb406
800000000003cc7bc350008fc66fb406
- 4366b6cfa668034e7ff8000000000000
+ 4366b6cfa668034e7ff0000000000000
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_S_S_S_EQ before
@@ -1312,7 +1312,7 @@
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_S_S_S_EQ before
- 7ff8000000000000bff0000000000000
+ 7ff0000000000000bff0000000000000
4359f2ff12fb6ace3ff0000000000000
7ff8000000000000c333dbf65dfe7bdd
aaaaaaaaaaaaaaaa5555555555555555
@@ -1323,7 +1323,7 @@
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_S_S_S_EQ before
- fff8000000000000c34c33d9dad30e28
+ fff0000000000000c34c33d9dad30e28
00000000000000004362995c18e25aef
c361a221d860a302800000000003cc7b
aaaaaaaaaaaaaaaa5555555555555555
@@ -1347,12 +1347,12 @@
FCSEL_S_S_S_EQ before
000000000003cc7b436b42d9a7bc4e5c
c3646b03273a2b3b43675aa2de498923
- 436be7d9880809897ff8000000000000
+ 436be7d9880809897ff0000000000000
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_S_S_S_EQ after
000000000000000000000000de498923
c3646b03273a2b3b43675aa2de498923
- 436be7d9880809897ff8000000000000
+ 436be7d9880809897ff0000000000000
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_S_S_S_EQ before
@@ -1368,12 +1368,12 @@
FCSEL_S_S_S_EQ before
800000000003cc7bc34ad3ced4231234
- 7ff80000000000007ff8000000000000
+ 7ff00000000000007ff0000000000000
7ff8000000000000c36ffca559a99cde
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_S_S_S_EQ after
00000000000000000000000000000000
- 7ff80000000000007ff8000000000000
+ 7ff00000000000007ff0000000000000
7ff8000000000000c36ffca559a99cde
aaaaaaaaaaaaaaaa0000000050000000
@@ -1401,17 +1401,17 @@
FCSEL_S_S_S_EQ before
3ff0000000000000fff8000000000000
- 4364df88cde668607ff8000000000000
+ 4364df88cde668607ff0000000000000
80000000000000007ff8000000000000
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_S_S_S_EQ after
00000000000000000000000000000000
- 4364df88cde668607ff8000000000000
+ 4364df88cde668607ff0000000000000
80000000000000007ff8000000000000
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_S_S_S_EQ before
- fff80000000000007ff8000000000000
+ fff80000000000007ff0000000000000
000000000003cc7b436192d1f06bac0e
436f1eabff684b54bff0000000000000
aaaaaaaaaaaaaaaa5555555555555555
@@ -1424,16 +1424,16 @@
FCSEL_S_S_S_EQ before
c33b9ee9c040a34bc367c3532549cb7c
fff80000000000004367f4973865d6b2
- fff80000000000000000000000000000
+ fff00000000000000000000000000000
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_S_S_S_EQ after
0000000000000000000000003865d6b2
fff80000000000004367f4973865d6b2
- fff80000000000000000000000000000
+ fff00000000000000000000000000000
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_S_S_S_EQ before
- c36966f13f309a337ff8000000000000
+ c36966f13f309a337ff0000000000000
bff0000000000000436a5e40e2e20f99
3ff0000000000000c36d68b7af299c17
aaaaaaaaaaaaaaaa5555555555555555
@@ -1466,7 +1466,7 @@
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_S_S_S_EQ before
- 80000000000000007ff8000000000000
+ 80000000000000007ff0000000000000
bff00000000000000000000000000000
c356acd4d9bda81ec348b80812c076ea
aaaaaaaaaaaaaaaa5555555555555555
@@ -1477,7 +1477,7 @@
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_S_S_S_EQ before
- 7ff8000000000000fff8000000000000
+ 7ff8000000000000fff0000000000000
0000000000000000fff8000000000000
c34d10fabafd7d3ec367cafdc9dd3c26
aaaaaaaaaaaaaaaa5555555555555555
@@ -1501,56 +1501,56 @@
FCSEL_S_S_S_EQ before
c35561759e594dbefff8000000000000
c358784b3440351a0000000000000000
- fff8000000000000c3597c3a24e22558
+ fff0000000000000c3597c3a24e22558
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_S_S_S_EQ after
00000000000000000000000000000000
c358784b3440351a0000000000000000
- fff8000000000000c3597c3a24e22558
+ fff0000000000000c3597c3a24e22558
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_S_S_S_EQ before
7ff80000000000000000000000000000
- fff8000000000000c331bcfbf877726b
+ fff0000000000000c331bcfbf877726b
7ff80000000000003ff0000000000000
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_S_S_S_EQ after
000000000000000000000000f877726b
- fff8000000000000c331bcfbf877726b
+ fff0000000000000c331bcfbf877726b
7ff80000000000003ff0000000000000
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_S_S_S_EQ before
c31dd39b787b7cb43ff0000000000000
7ff8000000000000c361437a4c709eab
- 7ff8000000000000bff0000000000000
+ 7ff0000000000000bff0000000000000
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_S_S_S_EQ after
0000000000000000000000004c709eab
7ff8000000000000c361437a4c709eab
- 7ff8000000000000bff0000000000000
+ 7ff0000000000000bff0000000000000
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_S_S_S_EQ before
435d935dc117943b3ff0000000000000
c36e1d9e86c8f805c349cfd94f2e3690
- 7ff800000000000043686b3219692667
+ 7ff000000000000043686b3219692667
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_S_S_S_EQ after
0000000000000000000000004f2e3690
c36e1d9e86c8f805c349cfd94f2e3690
- 7ff800000000000043686b3219692667
+ 7ff000000000000043686b3219692667
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_S_S_S_EQ before
436de135c918a929000000000003cc7b
c36d7b2d2e1d2bd7c35638b3a7a501c5
- 80000000000000007ff8000000000000
+ 80000000000000007ff0000000000000
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_S_S_S_EQ after
000000000000000000000000a7a501c5
c36d7b2d2e1d2bd7c35638b3a7a501c5
- 80000000000000007ff8000000000000
+ 80000000000000007ff0000000000000
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_S_S_S_EQ before
@@ -1567,12 +1567,12 @@
FCSEL_S_S_S_EQ before
436afdeb5dd213340000000000000000
c354d83a34a6f8cebff0000000000000
- fff8000000000000435dc0afb082e7a2
+ fff0000000000000435dc0afb082e7a2
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_S_S_S_EQ after
00000000000000000000000000000000
c354d83a34a6f8cebff0000000000000
- fff8000000000000435dc0afb082e7a2
+ fff0000000000000435dc0afb082e7a2
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_S_S_S_EQ before
@@ -1599,34 +1599,34 @@
FCSEL_S_S_S_EQ before
000000000003cc7b436d777ad853a710
- c36334fd2554b01e7ff8000000000000
+ c36334fd2554b01e7ff0000000000000
000000000003cc7b435f01a2055896d9
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_S_S_S_EQ after
00000000000000000000000000000000
- c36334fd2554b01e7ff8000000000000
+ c36334fd2554b01e7ff0000000000000
000000000003cc7b435f01a2055896d9
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_S_S_S_EQ before
fff8000000000000000000000003cc7b
- fff80000000000007ff8000000000000
+ fff00000000000007ff0000000000000
c35320d5e912a2828000000000000000
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_S_S_S_EQ after
00000000000000000000000000000000
- fff80000000000007ff8000000000000
+ fff00000000000007ff0000000000000
c35320d5e912a2828000000000000000
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_S_S_S_EQ before
fff8000000000000435d32f23b05c4f0
- fff80000000000004367a4e41d23626a
+ fff00000000000004367a4e41d23626a
3ff00000000000008000000000000000
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_S_S_S_EQ after
0000000000000000000000001d23626a
- fff80000000000004367a4e41d23626a
+ fff00000000000004367a4e41d23626a
3ff00000000000008000000000000000
aaaaaaaaaaaaaaaa0000000050000000
@@ -1654,12 +1654,12 @@
FCSEL_S_S_S_EQ before
4369d25cc88a9ba44361812fdee4f981
- fff8000000000000fff8000000000000
+ fff8000000000000fff0000000000000
c35bf1ff1ba3dbfb0000000000000000
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_S_S_S_EQ after
00000000000000000000000000000000
- fff8000000000000fff8000000000000
+ fff8000000000000fff0000000000000
c35bf1ff1ba3dbfb0000000000000000
aaaaaaaaaaaaaaaa0000000050000000
@@ -1677,55 +1677,55 @@
FCSEL_S_S_S_EQ before
800000000003cc7b43557379461ecdae
c36e1ea92f9e6475800000000003cc7b
- c315ff8532894acc7ff8000000000000
+ c315ff8532894acc7ff0000000000000
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_S_S_S_EQ after
0000000000000000000000000003cc7b
c36e1ea92f9e6475800000000003cc7b
- c315ff8532894acc7ff8000000000000
+ c315ff8532894acc7ff0000000000000
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_S_S_S_EQ before
3ff0000000000000436965ca15e2b88a
c35a69c3a3f95c068000000000000000
- fff8000000000000435770c66dafd79e
+ fff0000000000000435770c66dafd79e
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_S_S_S_EQ after
00000000000000000000000000000000
c35a69c3a3f95c068000000000000000
- fff8000000000000435770c66dafd79e
+ fff0000000000000435770c66dafd79e
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_S_S_S_EQ before
c3461090d8e46b05c3576a2ea78368c6
- c369e74e65aa63b8fff8000000000000
+ c369e74e65aa63b8fff0000000000000
7ff80000000000000000000000000000
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_S_S_S_EQ after
00000000000000000000000000000000
- c369e74e65aa63b8fff8000000000000
+ c369e74e65aa63b8fff0000000000000
7ff80000000000000000000000000000
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_S_S_S_NE before
4333e1cf1539f897000000000003cc7b
c3624a1b1d5543b5436940d0a329fe38
- 7ff80000000000007ff8000000000000
+ 7ff00000000000007ff0000000000000
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_S_S_S_NE after
00000000000000000000000000000000
c3624a1b1d5543b5436940d0a329fe38
- 7ff80000000000007ff8000000000000
+ 7ff00000000000007ff0000000000000
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_S_S_S_NE before
c34fae40d158433a436ea4846b4894cd
- 7ff8000000000000436b61d0716149c3
+ 7ff0000000000000436b61d0716149c3
436d42f0d8adcb41c360619387ee5588
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_S_S_S_NE after
00000000000000000000000087ee5588
- 7ff8000000000000436b61d0716149c3
+ 7ff0000000000000436b61d0716149c3
436d42f0d8adcb41c360619387ee5588
aaaaaaaaaaaaaaaa0000000050000000
@@ -1741,13 +1741,13 @@
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_S_S_S_NE before
- 3ff0000000000000fff8000000000000
- fff80000000000007ff8000000000000
+ 3ff0000000000000fff0000000000000
+ fff00000000000007ff8000000000000
3ff0000000000000fff8000000000000
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_S_S_S_NE after
00000000000000000000000000000000
- fff80000000000007ff8000000000000
+ fff00000000000007ff8000000000000
3ff0000000000000fff8000000000000
aaaaaaaaaaaaaaaa0000000050000000
@@ -1787,23 +1787,23 @@
FCSEL_S_S_S_NE before
fff80000000000007ff8000000000000
3ff00000000000004361f28148144759
- 7ff80000000000004365fa66707eb80a
+ 7ff00000000000004365fa66707eb80a
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_S_S_S_NE after
000000000000000000000000707eb80a
3ff00000000000004361f28148144759
- 7ff80000000000004365fa66707eb80a
+ 7ff00000000000004365fa66707eb80a
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_S_S_S_NE before
- c3558364385afa7d7ff8000000000000
+ c3558364385afa7d7ff0000000000000
3ff0000000000000c363475584c2ffdd
- fff800000000000043538be035661674
+ fff000000000000043538be035661674
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_S_S_S_NE after
00000000000000000000000035661674
3ff0000000000000c363475584c2ffdd
- fff800000000000043538be035661674
+ fff000000000000043538be035661674
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_S_S_S_NE before
@@ -1819,23 +1819,23 @@
FCSEL_S_S_S_NE before
c3484c4b032bdc8e4366cf0b50653472
- fff8000000000000bff0000000000000
+ fff0000000000000bff0000000000000
fff80000000000003ff0000000000000
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_S_S_S_NE after
00000000000000000000000000000000
- fff8000000000000bff0000000000000
+ fff0000000000000bff0000000000000
fff80000000000003ff0000000000000
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_S_S_S_NE before
- fff8000000000000fff8000000000000
- fff8000000000000bff0000000000000
+ fff0000000000000fff0000000000000
+ fff0000000000000bff0000000000000
bff0000000000000435bed17f95d04be
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_S_S_S_NE after
000000000000000000000000f95d04be
- fff8000000000000bff0000000000000
+ fff0000000000000bff0000000000000
bff0000000000000435bed17f95d04be
aaaaaaaaaaaaaaaa0000000050000000
@@ -1852,17 +1852,17 @@
FCSEL_S_S_S_NE before
42d8105c729607800000000000000000
- 7ff80000000000007ff8000000000000
+ 7ff00000000000007ff0000000000000
4347ae54921b3b3043616a82efa65651
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_S_S_S_NE after
000000000000000000000000efa65651
- 7ff80000000000007ff8000000000000
+ 7ff00000000000007ff0000000000000
4347ae54921b3b3043616a82efa65651
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_S_S_S_NE before
- 436f8400a869ad627ff8000000000000
+ 436f8400a869ad627ff0000000000000
436e87c4b880a897c36be9c9a3ced59b
4343f83e236c6c324352474aa9abbe70
aaaaaaaaaaaaaaaa5555555555555555
@@ -1874,12 +1874,12 @@
FCSEL_S_S_S_NE before
435b6e980aba9b0e436fc02f093780cc
- 7ff80000000000004330cc40f53ade4f
+ 7ff00000000000004330cc40f53ade4f
000000000003cc7bbff0000000000000
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_S_S_S_NE after
00000000000000000000000000000000
- 7ff80000000000004330cc40f53ade4f
+ 7ff00000000000004330cc40f53ade4f
000000000003cc7bbff0000000000000
aaaaaaaaaaaaaaaa0000000050000000
@@ -1928,7 +1928,7 @@
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_S_S_S_NE before
- fff8000000000000435503a8662b98ee
+ fff0000000000000435503a8662b98ee
fff800000000000043522d8b0eeba2a2
436b8a09fde890efc361b5ad09ec0dba
aaaaaaaaaaaaaaaa5555555555555555
@@ -1939,7 +1939,7 @@
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_S_S_S_NE before
- 800000000003cc7b7ff8000000000000
+ 800000000003cc7b7ff0000000000000
c36112bf5d60635ac353dd26f975a112
8000000000000000c36617b624268fc2
aaaaaaaaaaaaaaaa5555555555555555
@@ -1972,7 +1972,7 @@
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_S_S_S_NE before
- c30bc1b077a380b87ff8000000000000
+ c30bc1b077a380b87ff0000000000000
8000000000000000c36dd7a6413483e0
800000000003cc7bc36a58a57d9bd182
aaaaaaaaaaaaaaaa5555555555555555
@@ -2006,12 +2006,12 @@
FCSEL_S_S_S_NE before
c36c4dafbfa543b90000000000000000
- 436235aae42c9037fff8000000000000
+ 436235aae42c9037fff0000000000000
000000000003cc7bfff8000000000000
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_S_S_S_NE after
00000000000000000000000000000000
- 436235aae42c9037fff8000000000000
+ 436235aae42c9037fff0000000000000
000000000003cc7bfff8000000000000
aaaaaaaaaaaaaaaa0000000050000000
@@ -2028,24 +2028,24 @@
FCSEL_S_S_S_NE before
c353be7516001fe6c3621b6f86442861
- fff8000000000000c36609fbb51e5498
+ fff0000000000000c36609fbb51e5498
bff0000000000000c3621c606713fca4
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_S_S_S_NE after
0000000000000000000000006713fca4
- fff8000000000000c36609fbb51e5498
+ fff0000000000000c36609fbb51e5498
bff0000000000000c3621c606713fca4
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_S_S_S_NE before
436e0c0e577d376bc36e97e86dff09d3
4351fcee2b7741d83ff0000000000000
- bff0000000000000fff8000000000000
+ bff0000000000000fff0000000000000
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_S_S_S_NE after
00000000000000000000000000000000
4351fcee2b7741d83ff0000000000000
- bff0000000000000fff8000000000000
+ bff0000000000000fff0000000000000
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_S_S_S_NE before
@@ -2061,12 +2061,12 @@
FCSEL_S_S_S_NE before
c36bcdff931f3850c363f397656e0050
- fff8000000000000436c5345c6540206
+ fff0000000000000436c5345c6540206
436cffbee0fdba31800000000003cc7b
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_S_S_S_NE after
0000000000000000000000000003cc7b
- fff8000000000000436c5345c6540206
+ fff0000000000000436c5345c6540206
436cffbee0fdba31800000000003cc7b
aaaaaaaaaaaaaaaa0000000050000000
@@ -2082,7 +2082,7 @@
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_S_S_S_NE before
- fff8000000000000436baa6929042746
+ fff0000000000000436baa6929042746
436d19ab88088ef6436d37c157d97c51
c36956cc5b88c01c3ff0000000000000
aaaaaaaaaaaaaaaa5555555555555555
@@ -2104,7 +2104,7 @@
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_S_S_S_NE before
- 4348554fed2f087cfff8000000000000
+ 4348554fed2f087cfff0000000000000
c36fc6cf89e00ed37ff8000000000000
c36e34aa5cfe14efbff0000000000000
aaaaaaaaaaaaaaaa5555555555555555
@@ -2115,7 +2115,7 @@
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_S_S_S_NE before
- c3560b397e05dc80fff8000000000000
+ c3560b397e05dc80fff0000000000000
000000000003cc7bc36e7560ea57ffc9
fff8000000000000436717616da5c97e
aaaaaaaaaaaaaaaa5555555555555555
@@ -2137,7 +2137,7 @@
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_S_S_S_NE before
- fff8000000000000c36f2186436f5833
+ fff0000000000000c36f2186436f5833
c3107dd177a34b78000000000003cc7b
8000000000000000bff0000000000000
aaaaaaaaaaaaaaaa5555555555555555
@@ -2149,12 +2149,12 @@
FCSEL_S_S_S_NE before
fff8000000000000436c2dc8b9e85e97
- 7ff80000000000007ff8000000000000
+ 7ff00000000000007ff8000000000000
000000000003cc7bbff0000000000000
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_S_S_S_NE after
00000000000000000000000000000000
- 7ff80000000000007ff8000000000000
+ 7ff00000000000007ff8000000000000
000000000003cc7bbff0000000000000
aaaaaaaaaaaaaaaa0000000050000000
@@ -2171,12 +2171,12 @@
FCSEL_S_S_S_NE before
800000000003cc7bbff0000000000000
- fff80000000000008000000000000000
+ fff00000000000008000000000000000
c35b00eb6ecd0967c335ccf4a7488d1a
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_S_S_S_NE after
000000000000000000000000a7488d1a
- fff80000000000008000000000000000
+ fff00000000000008000000000000000
c35b00eb6ecd0967c335ccf4a7488d1a
aaaaaaaaaaaaaaaa0000000050000000
@@ -2192,13 +2192,13 @@
aaaaaaaaaaaaaaaa0000000050000000
FCSEL_S_S_S_NE before
- 000000000003cc7b7ff8000000000000
- 000000000003cc7bfff8000000000000
+ 000000000003cc7b7ff0000000000000
+ 000000000003cc7bfff0000000000000
3ff0000000000000c36b73637e581231
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_S_S_S_NE after
0000000000000000000000007e581231
- 000000000003cc7bfff8000000000000
+ 000000000003cc7bfff0000000000000
3ff0000000000000c36b73637e581231
aaaaaaaaaaaaaaaa0000000050000000
@@ -2215,12 +2215,12 @@
FCSEL_S_S_S_NE before
00000000000000007ff8000000000000
- c36fc8d9d13a4655fff8000000000000
+ c36fc8d9d13a4655fff0000000000000
bff000000000000043620b900537cfad
aaaaaaaaaaaaaaaa5555555555555555
FCSEL_S_S_S_NE after
0000000000000000000000000537cfad
- c36fc8d9d13a4655fff8000000000000
+ c36fc8d9d13a4655fff0000000000000
bff000000000000043620b900537cfad
aaaaaaaaaaaaaaaa0000000050000000
|
|
From: <sv...@va...> - 2014-11-20 10:11:09
|
Author: sewardj
Date: Thu Nov 20 10:11:00 2014
New Revision: 14738
Log:
Add test cases for {S,U}CVTF fixedpt-to-fp.
Added:
trunk/none/tests/arm64/cvtf_imm.c
trunk/none/tests/arm64/cvtf_imm.stderr.exp
trunk/none/tests/arm64/cvtf_imm.stdout.exp
trunk/none/tests/arm64/cvtf_imm.vgtest
Modified:
trunk/none/tests/arm64/Makefile.am
Modified: trunk/none/tests/arm64/Makefile.am
==============================================================================
--- trunk/none/tests/arm64/Makefile.am (original)
+++ trunk/none/tests/arm64/Makefile.am Thu Nov 20 10:11:00 2014
@@ -4,12 +4,14 @@
dist_noinst_SCRIPTS = filter_stderr
EXTRA_DIST = \
+ cvtf_imm.stdout.exp cvtf_imm.stderr.exp cvtf_imm.vgtest \
fp_and_simd.stdout.exp fp_and_simd.stderr.exp fp_and_simd.vgtest \
integer.stdout.exp integer.stderr.exp integer.vgtest \
memory.stdout.exp memory.stderr.exp memory.vgtest
check_PROGRAMS = \
allexec \
+ cvtf_imm \
fp_and_simd \
integer \
memory
Added: trunk/none/tests/arm64/cvtf_imm.c
==============================================================================
--- trunk/none/tests/arm64/cvtf_imm.c (added)
+++ trunk/none/tests/arm64/cvtf_imm.c Thu Nov 20 10:11:00 2014
@@ -0,0 +1,452 @@
+
+#include <stdio.h>
+#include <assert.h>
+
+typedef signed long long int Long;
+typedef unsigned long long int ULong;
+
+typedef signed int Int;
+typedef unsigned int UInt;
+
+typedef union { double d64; float f32[2]; unsigned long long int i64; } U;
+
+//////////////////// D from X ////////////////////
+
+__attribute__((noinline)) double do_scvtf_d_x_imm1 ( Long x )
+{
+ U block[2]; block[0].i64 = x; block[1].i64 = 0;
+ __asm__ __volatile__(
+ "ldr x13,[%0,#0]; scvtf d18,x13,#1; str d18, [%0,#8]"
+ ::"r"(&block[0]) : "memory", "x13","q18");
+ return block[1].d64;
+}
+__attribute__((noinline)) double do_scvtf_d_x_imm32 ( Long x )
+{
+ U block[2]; block[0].i64 = x; block[1].i64 = 0;
+ __asm__ __volatile__(
+ "ldr x13,[%0,#0]; scvtf d18,x13,#32; str d18, [%0,#8]"
+ ::"r"(&block[0]) : "memory", "x13","q18");
+ return block[1].d64;
+}
+__attribute__((noinline)) double do_scvtf_d_x_imm64 ( Long x )
+{
+ U block[2]; block[0].i64 = x; block[1].i64 = 0;
+ __asm__ __volatile__(
+ "ldr x13,[%0,#0]; scvtf d18,x13,#64; str d18, [%0,#8]"
+ ::"r"(&block[0]) : "memory", "x13","q18");
+ return block[1].d64;
+}
+
+__attribute__((noinline)) double do_ucvtf_d_x_imm1 ( Long x )
+{
+ U block[2]; block[0].i64 = x; block[1].i64 = 0;
+ __asm__ __volatile__(
+ "ldr x13,[%0,#0]; ucvtf d18,x13,#1; str d18, [%0,#8]"
+ ::"r"(&block[0]) : "memory", "x13","q18");
+ return block[1].d64;
+}
+__attribute__((noinline)) double do_ucvtf_d_x_imm32 ( Long x )
+{
+ U block[2]; block[0].i64 = x; block[1].i64 = 0;
+ __asm__ __volatile__(
+ "ldr x13,[%0,#0]; ucvtf d18,x13,#32; str d18, [%0,#8]"
+ ::"r"(&block[0]) : "memory", "x13","q18");
+ return block[1].d64;
+}
+__attribute__((noinline)) double do_ucvtf_d_x_imm64 ( Long x )
+{
+ U block[2]; block[0].i64 = x; block[1].i64 = 0;
+ __asm__ __volatile__(
+ "ldr x13,[%0,#0]; ucvtf d18,x13,#64; str d18, [%0,#8]"
+ ::"r"(&block[0]) : "memory", "x13","q18");
+ return block[1].d64;
+}
+
+
+//////////////////// D from W ////////////////////
+
+__attribute__((noinline)) double do_scvtf_d_w_imm1 ( Int x )
+{
+ U block[2]; block[0].i64 = (Long)x; block[1].i64 = 0;
+ __asm__ __volatile__(
+ "ldr x13,[%0,#0]; scvtf d18,w13,#1; str d18, [%0,#8]"
+ ::"r"(&block[0]) : "memory", "x13","q18");
+ return block[1].d64;
+}
+__attribute__((noinline)) double do_scvtf_d_w_imm16 ( Int x )
+{
+ U block[2]; block[0].i64 = (Long)x; block[1].i64 = 0;
+ __asm__ __volatile__(
+ "ldr x13,[%0,#0]; scvtf d18,w13,#16; str d18, [%0,#8]"
+ ::"r"(&block[0]) : "memory", "x13","q18");
+ return block[1].d64;
+}
+__attribute__((noinline)) double do_scvtf_d_w_imm32 ( Int x )
+{
+ U block[2]; block[0].i64 = (Long)x; block[1].i64 = 0;
+ __asm__ __volatile__(
+ "ldr x13,[%0,#0]; scvtf d18,w13,#32; str d18, [%0,#8]"
+ ::"r"(&block[0]) : "memory", "x13","q18");
+ return block[1].d64;
+}
+
+__attribute__((noinline)) double do_ucvtf_d_w_imm1 ( Int x )
+{
+ U block[2]; block[0].i64 = (Long)x; block[1].i64 = 0;
+ __asm__ __volatile__(
+ "ldr x13,[%0,#0]; ucvtf d18,w13,#1; str d18, [%0,#8]"
+ ::"r"(&block[0]) : "memory", "x13","q18");
+ return block[1].d64;
+}
+__attribute__((noinline)) double do_ucvtf_d_w_imm16 ( Int x )
+{
+ U block[2]; block[0].i64 = (Long)x; block[1].i64 = 0;
+ __asm__ __volatile__(
+ "ldr x13,[%0,#0]; ucvtf d18,w13,#16; str d18, [%0,#8]"
+ ::"r"(&block[0]) : "memory", "x13","q18");
+ return block[1].d64;
+}
+__attribute__((noinline)) double do_ucvtf_d_w_imm32 ( Int x )
+{
+ U block[2]; block[0].i64 = (Long)x; block[1].i64 = 0;
+ __asm__ __volatile__(
+ "ldr x13,[%0,#0]; ucvtf d18,w13,#32; str d18, [%0,#8]"
+ ::"r"(&block[0]) : "memory", "x13","q18");
+ return block[1].d64;
+}
+
+
+//////////////////// S from X ////////////////////
+
+__attribute__((noinline)) double do_scvtf_s_x_imm1 ( Long x )
+{
+ U block[2]; block[0].i64 = x; block[1].i64 = 0;
+ __asm__ __volatile__(
+ "ldr x13,[%0,#0]; scvtf s18,x13,#1; str s18, [%0,#8]"
+ ::"r"(&block[0]) : "memory", "x13","q18");
+ return (double)block[1].f32[0];
+}
+__attribute__((noinline)) double do_scvtf_s_x_imm32 ( Long x )
+{
+ U block[2]; block[0].i64 = x; block[1].i64 = 0;
+ __asm__ __volatile__(
+ "ldr x13,[%0,#0]; scvtf s18,x13,#32; str s18, [%0,#8]"
+ ::"r"(&block[0]) : "memory", "x13","q18");
+ return (double)block[1].f32[0];
+}
+__attribute__((noinline)) double do_scvtf_s_x_imm64 ( Long x )
+{
+ U block[2]; block[0].i64 = x; block[1].i64 = 0;
+ __asm__ __volatile__(
+ "ldr x13,[%0,#0]; scvtf s18,x13,#64; str s18, [%0,#8]"
+ ::"r"(&block[0]) : "memory", "x13","q18");
+ return (double)block[1].f32[0];
+}
+
+__attribute__((noinline)) double do_ucvtf_s_x_imm1 ( Long x )
+{
+ U block[2]; block[0].i64 = x; block[1].i64 = 0;
+ __asm__ __volatile__(
+ "ldr x13,[%0,#0]; ucvtf s18,x13,#1; str s18, [%0,#8]"
+ ::"r"(&block[0]) : "memory", "x13","q18");
+ return (double)block[1].f32[0];
+}
+__attribute__((noinline)) double do_ucvtf_s_x_imm32 ( Long x )
+{
+ U block[2]; block[0].i64 = x; block[1].i64 = 0;
+ __asm__ __volatile__(
+ "ldr x13,[%0,#0]; ucvtf s18,x13,#32; str s18, [%0,#8]"
+ ::"r"(&block[0]) : "memory", "x13","q18");
+ return (double)block[1].f32[0];
+}
+__attribute__((noinline)) double do_ucvtf_s_x_imm64 ( Long x )
+{
+ U block[2]; block[0].i64 = x; block[1].i64 = 0;
+ __asm__ __volatile__(
+ "ldr x13,[%0,#0]; ucvtf s18,x13,#64; str s18, [%0,#8]"
+ ::"r"(&block[0]) : "memory", "x13","q18");
+ return (double)block[1].f32[0];
+}
+
+
+//////////////////// S from W ////////////////////
+
+__attribute__((noinline)) double do_scvtf_s_w_imm1 ( Int x )
+{
+ U block[2]; block[0].i64 = (Long)x; block[1].i64 = 0;
+ __asm__ __volatile__(
+ "ldr x13,[%0,#0]; scvtf s18,w13,#1; str s18, [%0,#8]"
+ ::"r"(&block[0]) : "memory", "x13","q18");
+ return (double)block[1].f32[0];
+}
+__attribute__((noinline)) double do_scvtf_s_w_imm16 ( Int x )
+{
+ U block[2]; block[0].i64 = (Long)x; block[1].i64 = 0;
+ __asm__ __volatile__(
+ "ldr x13,[%0,#0]; scvtf s18,w13,#16; str s18, [%0,#8]"
+ ::"r"(&block[0]) : "memory", "x13","q18");
+ return (double)block[1].f32[0];
+}
+__attribute__((noinline)) double do_scvtf_s_w_imm32 ( Int x )
+{
+ U block[2]; block[0].i64 = (Long)x; block[1].i64 = 0;
+ __asm__ __volatile__(
+ "ldr x13,[%0,#0]; scvtf s18,w13,#32; str s18, [%0,#8]"
+ ::"r"(&block[0]) : "memory", "x13","q18");
+ return (double)block[1].f32[0];
+}
+
+__attribute__((noinline)) double do_ucvtf_s_w_imm1 ( Int x )
+{
+ U block[2]; block[0].i64 = (Long)x; block[1].i64 = 0;
+ __asm__ __volatile__(
+ "ldr x13,[%0,#0]; ucvtf s18,w13,#1; str s18, [%0,#8]"
+ ::"r"(&block[0]) : "memory", "x13","q18");
+ return (double)block[1].f32[0];
+}
+__attribute__((noinline)) double do_ucvtf_s_w_imm16 ( Int x )
+{
+ U block[2]; block[0].i64 = (Long)x; block[1].i64 = 0;
+ __asm__ __volatile__(
+ "ldr x13,[%0,#0]; ucvtf s18,w13,#16; str s18, [%0,#8]"
+ ::"r"(&block[0]) : "memory", "x13","q18");
+ return (double)block[1].f32[0];
+}
+__attribute__((noinline)) double do_ucvtf_s_w_imm32 ( Int x )
+{
+ U block[2]; block[0].i64 = (Long)x; block[1].i64 = 0;
+ __asm__ __volatile__(
+ "ldr x13,[%0,#0]; ucvtf s18,w13,#32; str s18, [%0,#8]"
+ ::"r"(&block[0]) : "memory", "x13","q18");
+ return (double)block[1].f32[0];
+}
+
+
+
+
+
+int main ( void )
+{
+ assert(sizeof(U) == 8);
+
+ //////////////////// D from X ////////////////////
+#if 1
+ printf("\nscvtf_d_x_imm1\n");
+ printf("%18.12e\n", do_scvtf_d_x_imm1(0xFFFFFFFFFFFFFFFFUL));
+ printf("%18.12e\n", do_scvtf_d_x_imm1(0));
+ printf("%18.12e\n", do_scvtf_d_x_imm1(0x7FFFFFFFFFFFFFFFUL));
+ printf("%18.12e\n", do_scvtf_d_x_imm1(1234));
+ printf("%18.12e\n", do_scvtf_d_x_imm1(-1234));
+ printf("%18.12e\n", do_scvtf_d_x_imm1(0x8000000000000000UL));
+
+ printf("\nscvtf_d_x_imm32\n");
+ printf("%18.12e\n", do_scvtf_d_x_imm32(0xFFFFFFFFFFFFFFFFUL));
+ printf("%18.12e\n", do_scvtf_d_x_imm32(0));
+ printf("%18.12e\n", do_scvtf_d_x_imm32(0x7FFFFFFFFFFFFFFFUL));
+ printf("%18.12e\n", do_scvtf_d_x_imm32(1234));
+ printf("%18.12e\n", do_scvtf_d_x_imm32(-1234));
+ printf("%18.12e\n", do_scvtf_d_x_imm32(0x8000000000000000UL));
+
+ printf("\nscvtf_d_x_imm64\n");
+ printf("%18.12e\n", do_scvtf_d_x_imm64(0xFFFFFFFFFFFFFFFFUL));
+ printf("%18.12e\n", do_scvtf_d_x_imm64(0));
+ printf("%18.12e\n", do_scvtf_d_x_imm64(0x7FFFFFFFFFFFFFFFUL));
+ printf("%18.12e\n", do_scvtf_d_x_imm64(1234));
+ printf("%18.12e\n", do_scvtf_d_x_imm64(-1234));
+ printf("%18.12e\n", do_scvtf_d_x_imm64(0x8000000000000000UL));
+
+ printf("\nucvtf_d_x_imm1\n");
+ printf("%18.12e\n", do_ucvtf_d_x_imm1(0xFFFFFFFFFFFFFFFFUL));
+ printf("%18.12e\n", do_ucvtf_d_x_imm1(0));
+ printf("%18.12e\n", do_ucvtf_d_x_imm1(0x7FFFFFFFFFFFFFFFUL));
+ printf("%18.12e\n", do_ucvtf_d_x_imm1(1234));
+ printf("%18.12e\n", do_ucvtf_d_x_imm1(-1234));
+ printf("%18.12e\n", do_ucvtf_d_x_imm1(0x8000000000000000UL));
+
+ printf("\nucvtf_d_x_imm32\n");
+ printf("%18.12e\n", do_ucvtf_d_x_imm32(0xFFFFFFFFFFFFFFFFUL));
+ printf("%18.12e\n", do_ucvtf_d_x_imm32(0));
+ printf("%18.12e\n", do_ucvtf_d_x_imm32(0x7FFFFFFFFFFFFFFFUL));
+ printf("%18.12e\n", do_ucvtf_d_x_imm32(1234));
+ printf("%18.12e\n", do_ucvtf_d_x_imm32(-1234));
+ printf("%18.12e\n", do_ucvtf_d_x_imm32(0x8000000000000000UL));
+
+ printf("\nucvtf_d_x_imm64\n");
+ printf("%18.12e\n", do_ucvtf_d_x_imm64(0xFFFFFFFFFFFFFFFFUL));
+ printf("%18.12e\n", do_ucvtf_d_x_imm64(0));
+ printf("%18.12e\n", do_ucvtf_d_x_imm64(0x7FFFFFFFFFFFFFFFUL));
+ printf("%18.12e\n", do_ucvtf_d_x_imm64(1234));
+ printf("%18.12e\n", do_ucvtf_d_x_imm64(-1234));
+ printf("%18.12e\n", do_ucvtf_d_x_imm64(0x8000000000000000UL));
+
+ //////////////////// D from W ////////////////////
+
+ printf("\nscvtf_d_w_imm1\n");
+ printf("%18.12e\n", do_scvtf_d_w_imm1(0xFFFFFFFF));
+ printf("%18.12e\n", do_scvtf_d_w_imm1(0));
+ printf("%18.12e\n", do_scvtf_d_w_imm1(0x7FFFFFFF));
+ printf("%18.12e\n", do_scvtf_d_w_imm1(1234));
+ printf("%18.12e\n", do_scvtf_d_w_imm1(-1234));
+ printf("%18.12e\n", do_scvtf_d_w_imm1(0x80000000));
+
+ printf("\nscvtf_d_w_imm16\n");
+ printf("%18.12e\n", do_scvtf_d_w_imm16(0xFFFFFFFF));
+ printf("%18.12e\n", do_scvtf_d_w_imm16(0));
+ printf("%18.12e\n", do_scvtf_d_w_imm16(0x7FFFFFFF));
+ printf("%18.12e\n", do_scvtf_d_w_imm16(1234));
+ printf("%18.12e\n", do_scvtf_d_w_imm16(-1234));
+ printf("%18.12e\n", do_scvtf_d_w_imm16(0x80000000));
+
+ printf("\nscvtf_d_w_imm32\n");
+ printf("%18.12e\n", do_scvtf_d_w_imm32(0xFFFFFFFF));
+ printf("%18.12e\n", do_scvtf_d_w_imm32(0));
+ printf("%18.12e\n", do_scvtf_d_w_imm32(0x7FFFFFFF));
+ printf("%18.12e\n", do_scvtf_d_w_imm32(1234));
+ printf("%18.12e\n", do_scvtf_d_w_imm32(-1234));
+ printf("%18.12e\n", do_scvtf_d_w_imm32(0x80000000));
+
+ printf("\nucvtf_d_w_imm1\n");
+ printf("%18.12e\n", do_ucvtf_d_w_imm1(0xFFFFFFFF));
+ printf("%18.12e\n", do_ucvtf_d_w_imm1(0));
+ printf("%18.12e\n", do_ucvtf_d_w_imm1(0x7FFFFFFF));
+ printf("%18.12e\n", do_ucvtf_d_w_imm1(1234));
+ printf("%18.12e\n", do_ucvtf_d_w_imm1(-1234));
+ printf("%18.12e\n", do_ucvtf_d_w_imm1(0x80000000));
+
+ printf("\nucvtf_d_w_imm16\n");
+ printf("%18.12e\n", do_ucvtf_d_w_imm16(0xFFFFFFFF));
+ printf("%18.12e\n", do_ucvtf_d_w_imm16(0));
+ printf("%18.12e\n", do_ucvtf_d_w_imm16(0x7FFFFFFF));
+ printf("%18.12e\n", do_ucvtf_d_w_imm16(1234));
+ printf("%18.12e\n", do_ucvtf_d_w_imm16(-1234));
+ printf("%18.12e\n", do_ucvtf_d_w_imm16(0x80000000));
+
+ printf("\nucvtf_d_w_imm32\n");
+ printf("%18.12e\n", do_ucvtf_d_w_imm32(0xFFFFFFFF));
+ printf("%18.12e\n", do_ucvtf_d_w_imm32(0));
+ printf("%18.12e\n", do_ucvtf_d_w_imm32(0x7FFFFFFF));
+ printf("%18.12e\n", do_ucvtf_d_w_imm32(1234));
+ printf("%18.12e\n", do_ucvtf_d_w_imm32(-1234));
+ printf("%18.12e\n", do_ucvtf_d_w_imm32(0x80000000));
+
+ //////////////////// S from X ////////////////////
+
+ printf("\nscvtf_s_x_imm1\n");
+ printf("%18.12e\n", do_scvtf_s_x_imm1(0xFFFFFFFFFFFFFFFFUL));
+ printf("%18.12e\n", do_scvtf_s_x_imm1(0));
+ printf("%18.12e\n", do_scvtf_s_x_imm1(0x7FFFFFFFFFFFFFFFUL));
+ printf("%18.12e\n", do_scvtf_s_x_imm1(1234));
+ printf("%18.12e\n", do_scvtf_s_x_imm1(-1234));
+ printf("%18.12e\n", do_scvtf_s_x_imm1(0x8000000000000000UL));
+
+ printf("\nscvtf_s_x_imm32\n");
+ printf("%18.12e\n", do_scvtf_s_x_imm32(0xFFFFFFFFFFFFFFFFUL));
+ printf("%18.12e\n", do_scvtf_s_x_imm32(0));
+ printf("%18.12e\n", do_scvtf_s_x_imm32(0x7FFFFFFFFFFFFFFFUL));
+ printf("%18.12e\n", do_scvtf_s_x_imm32(1234));
+ printf("%18.12e\n", do_scvtf_s_x_imm32(-1234));
+ printf("%18.12e\n", do_scvtf_s_x_imm32(0x8000000000000000UL));
+
+ printf("\nscvtf_s_x_imm64\n");
+ printf("%18.12e\n", do_scvtf_s_x_imm64(0xFFFFFFFFFFFFFFFFUL));
+ printf("%18.12e\n", do_scvtf_s_x_imm64(0));
+ printf("%18.12e\n", do_scvtf_s_x_imm64(0x7FFFFFFFFFFFFFFFUL));
+ printf("%18.12e\n", do_scvtf_s_x_imm64(1234));
+ printf("%18.12e\n", do_scvtf_s_x_imm64(-1234));
+ printf("%18.12e\n", do_scvtf_s_x_imm64(0x8000000000000000UL));
+
+ printf("\nucvtf_s_x_imm1\n");
+ printf("%18.12e\n", do_ucvtf_s_x_imm1(0xFFFFFFFFFFFFFFFFUL));
+ printf("%18.12e\n", do_ucvtf_s_x_imm1(0));
+ printf("%18.12e\n", do_ucvtf_s_x_imm1(0x7FFFFFFFFFFFFFFFUL));
+ printf("%18.12e\n", do_ucvtf_s_x_imm1(1234));
+ printf("%18.12e\n", do_ucvtf_s_x_imm1(-1234));
+ printf("%18.12e\n", do_ucvtf_s_x_imm1(0x8000000000000000UL));
+
+ printf("\nucvtf_s_x_imm32\n");
+ printf("%18.12e\n", do_ucvtf_s_x_imm32(0xFFFFFFFFFFFFFFFFUL));
+ printf("%18.12e\n", do_ucvtf_s_x_imm32(0));
+ printf("%18.12e\n", do_ucvtf_s_x_imm32(0x7FFFFFFFFFFFFFFFUL));
+ printf("%18.12e\n", do_ucvtf_s_x_imm32(1234));
+ printf("%18.12e\n", do_ucvtf_s_x_imm32(-1234));
+ printf("%18.12e\n", do_ucvtf_s_x_imm32(0x8000000000000000UL));
+
+ printf("\nucvtf_s_x_imm64\n");
+ printf("%18.12e\n", do_ucvtf_s_x_imm64(0xFFFFFFFFFFFFFFFFUL));
+ printf("%18.12e\n", do_ucvtf_s_x_imm64(0));
+ printf("%18.12e\n", do_ucvtf_s_x_imm64(0x7FFFFFFFFFFFFFFFUL));
+ printf("%18.12e\n", do_ucvtf_s_x_imm64(1234));
+ printf("%18.12e\n", do_ucvtf_s_x_imm64(-1234));
+ printf("%18.12e\n", do_ucvtf_s_x_imm64(0x8000000000000000UL));
+
+ //////////////////// S from W ////////////////////
+
+ printf("\nscvtf_s_w_imm1\n");
+ printf("%18.12e\n", do_scvtf_s_w_imm1(0xFFFFFFFF));
+ printf("%18.12e\n", do_scvtf_s_w_imm1(0));
+ printf("%18.12e\n", do_scvtf_s_w_imm1(0x7FFFFFFF));
+ printf("%18.12e\n", do_scvtf_s_w_imm1(1234));
+ printf("%18.12e\n", do_scvtf_s_w_imm1(-1234));
+ printf("%18.12e\n", do_scvtf_s_w_imm1(0x80000000));
+
+ printf("\nscvtf_s_w_imm16\n");
+ printf("%18.12e\n", do_scvtf_s_w_imm16(0xFFFFFFFF));
+ printf("%18.12e\n", do_scvtf_s_w_imm16(0));
+ printf("%18.12e\n", do_scvtf_s_w_imm16(0x7FFFFFFF));
+ printf("%18.12e\n", do_scvtf_s_w_imm16(1234));
+ printf("%18.12e\n", do_scvtf_s_w_imm16(-1234));
+ printf("%18.12e\n", do_scvtf_s_w_imm16(0x80000000));
+
+ printf("\nscvtf_s_w_imm32\n");
+ printf("%18.12e\n", do_scvtf_s_w_imm32(0xFFFFFFFF));
+ printf("%18.12e\n", do_scvtf_s_w_imm32(0));
+ printf("%18.12e\n", do_scvtf_s_w_imm32(0x7FFFFFFF));
+ printf("%18.12e\n", do_scvtf_s_w_imm32(1234));
+ printf("%18.12e\n", do_scvtf_s_w_imm32(-1234));
+ printf("%18.12e\n", do_scvtf_s_w_imm32(0x80000000));
+
+ printf("\nucvtf_s_w_imm1\n");
+ printf("%18.12e\n", do_ucvtf_s_w_imm1(0xFFFFFFFF));
+ printf("%18.12e\n", do_ucvtf_s_w_imm1(0));
+ printf("%18.12e\n", do_ucvtf_s_w_imm1(0x7FFFFFFF));
+ printf("%18.12e\n", do_ucvtf_s_w_imm1(1234));
+ printf("%18.12e\n", do_ucvtf_s_w_imm1(-1234));
+ printf("%18.12e\n", do_ucvtf_s_w_imm1(0x80000000));
+
+ printf("\nucvtf_s_w_imm16\n");
+ printf("%18.12e\n", do_ucvtf_s_w_imm16(0xFFFFFFFF));
+ printf("%18.12e\n", do_ucvtf_s_w_imm16(0));
+ printf("%18.12e\n", do_ucvtf_s_w_imm16(0x7FFFFFFF));
+ printf("%18.12e\n", do_ucvtf_s_w_imm16(1234));
+ printf("%18.12e\n", do_ucvtf_s_w_imm16(-1234));
+ printf("%18.12e\n", do_ucvtf_s_w_imm16(0x80000000));
+
+ printf("\nucvtf_s_w_imm32\n");
+ printf("%18.12e\n", do_ucvtf_s_w_imm32(0xFFFFFFFF));
+ printf("%18.12e\n", do_ucvtf_s_w_imm32(0));
+ printf("%18.12e\n", do_ucvtf_s_w_imm32(0x7FFFFFFF));
+ printf("%18.12e\n", do_ucvtf_s_w_imm32(1234));
+ printf("%18.12e\n", do_ucvtf_s_w_imm32(-1234));
+#endif
+ printf("%18.12e\n", do_ucvtf_s_w_imm32(0x80000000));
+
+
+
+
+#if 0
+int i;
+double d = -4.90;
+for (i = 0; i < 100; i++) {
+ printf("frintx_d(%f) = %f\n", d, do_frintx_d(d));
+ d += 0.1 * (1.0 - 1.0 / 30.0);
+}
+
+float f = -4.90;
+for (i = 0; i < 100; i++) {
+ printf("frintx_s(%f) = %f\n", f, do_frintx_s(f));
+ f += 0.1 * (1.0 - 1.0 / 30.0);
+}
+#endif
+
+ return 0;
+}
Added: trunk/none/tests/arm64/cvtf_imm.stderr.exp
==============================================================================
(empty)
Added: trunk/none/tests/arm64/cvtf_imm.stdout.exp
==============================================================================
--- trunk/none/tests/arm64/cvtf_imm.stdout.exp (added)
+++ trunk/none/tests/arm64/cvtf_imm.stdout.exp Thu Nov 20 10:11:00 2014
@@ -0,0 +1,192 @@
+
+scvtf_d_x_imm1
+-5.000000000000e-01
+0.000000000000e+00
+4.611686018427e+18
+6.170000000000e+02
+-6.170000000000e+02
+-4.611686018427e+18
+
+scvtf_d_x_imm32
+-2.328306436539e-10
+0.000000000000e+00
+2.147483648000e+09
+2.873130142689e-07
+-2.873130142689e-07
+-2.147483648000e+09
+
+scvtf_d_x_imm64
+-5.421010862428e-20
+0.000000000000e+00
+5.000000000000e-01
+6.689527404236e-17
+-6.689527404236e-17
+-5.000000000000e-01
+
+ucvtf_d_x_imm1
+9.223372036855e+18
+0.000000000000e+00
+4.611686018427e+18
+6.170000000000e+02
+9.223372036855e+18
+4.611686018427e+18
+
+ucvtf_d_x_imm32
+4.294967296000e+09
+0.000000000000e+00
+2.147483648000e+09
+2.873130142689e-07
+4.294967296000e+09
+2.147483648000e+09
+
+ucvtf_d_x_imm64
+1.000000000000e+00
+0.000000000000e+00
+5.000000000000e-01
+6.689527404236e-17
+1.000000000000e+00
+5.000000000000e-01
+
+scvtf_d_w_imm1
+-5.000000000000e-01
+0.000000000000e+00
+1.073741823500e+09
+6.170000000000e+02
+-6.170000000000e+02
+-1.073741824000e+09
+
+scvtf_d_w_imm16
+-1.525878906250e-05
+0.000000000000e+00
+3.276799998474e+04
+1.882934570312e-02
+-1.882934570312e-02
+-3.276800000000e+04
+
+scvtf_d_w_imm32
+-2.328306436539e-10
+0.000000000000e+00
+4.999999997672e-01
+2.873130142689e-07
+-2.873130142689e-07
+-5.000000000000e-01
+
+ucvtf_d_w_imm1
+2.147483647500e+09
+0.000000000000e+00
+1.073741823500e+09
+6.170000000000e+02
+2.147483031000e+09
+1.073741824000e+09
+
+ucvtf_d_w_imm16
+6.553599998474e+04
+0.000000000000e+00
+3.276799998474e+04
+1.882934570312e-02
+6.553598117065e+04
+3.276800000000e+04
+
+ucvtf_d_w_imm32
+9.999999997672e-01
+0.000000000000e+00
+4.999999997672e-01
+2.873130142689e-07
+9.999997126870e-01
+5.000000000000e-01
+
+scvtf_s_x_imm1
+-5.000000000000e-01
+0.000000000000e+00
+4.611686018427e+18
+6.170000000000e+02
+-6.170000000000e+02
+-4.611686018427e+18
+
+scvtf_s_x_imm32
+-2.328306436539e-10
+0.000000000000e+00
+2.147483648000e+09
+2.873130142689e-07
+-2.873130142689e-07
+-2.147483648000e+09
+
+scvtf_s_x_imm64
+-5.421010862428e-20
+0.000000000000e+00
+5.000000000000e-01
+6.689527404236e-17
+-6.689527404236e-17
+-5.000000000000e-01
+
+ucvtf_s_x_imm1
+9.223372036855e+18
+0.000000000000e+00
+4.611686018427e+18
+6.170000000000e+02
+9.223372036855e+18
+4.611686018427e+18
+
+ucvtf_s_x_imm32
+4.294967296000e+09
+0.000000000000e+00
+2.147483648000e+09
+2.873130142689e-07
+4.294967296000e+09
+2.147483648000e+09
+
+ucvtf_s_x_imm64
+1.000000000000e+00
+0.000000000000e+00
+5.000000000000e-01
+6.689527404236e-17
+1.000000000000e+00
+5.000000000000e-01
+
+scvtf_s_w_imm1
+-5.000000000000e-01
+0.000000000000e+00
+1.073741824000e+09
+6.170000000000e+02
+-6.170000000000e+02
+-1.073741824000e+09
+
+scvtf_s_w_imm16
+-1.525878906250e-05
+0.000000000000e+00
+3.276800000000e+04
+1.882934570312e-02
+-1.882934570312e-02
+-3.276800000000e+04
+
+scvtf_s_w_imm32
+-2.328306436539e-10
+0.000000000000e+00
+5.000000000000e-01
+2.873130142689e-07
+-2.873130142689e-07
+-5.000000000000e-01
+
+ucvtf_s_w_imm1
+2.147483648000e+09
+0.000000000000e+00
+1.073741824000e+09
+6.170000000000e+02
+2.147483008000e+09
+1.073741824000e+09
+
+ucvtf_s_w_imm16
+6.553600000000e+04
+0.000000000000e+00
+3.276800000000e+04
+1.882934570312e-02
+6.553598046875e+04
+3.276800000000e+04
+
+ucvtf_s_w_imm32
+1.000000000000e+00
+0.000000000000e+00
+5.000000000000e-01
+2.873130142689e-07
+9.999997019768e-01
+5.000000000000e-01
Added: trunk/none/tests/arm64/cvtf_imm.vgtest
==============================================================================
--- trunk/none/tests/arm64/cvtf_imm.vgtest (added)
+++ trunk/none/tests/arm64/cvtf_imm.vgtest Thu Nov 20 10:11:00 2014
@@ -0,0 +1,2 @@
+prog: cvtf_imm
+vgopts: -q
|
|
From: Rich C. <rc...@wi...> - 2014-11-20 05:29:05
|
valgrind revision: 14737
VEX revision: 2995
C compiler: gcc (SUSE Linux) 4.8.3 20140627 [gcc-4_8-branch revision 212064]
GDB: GNU gdb (GDB; openSUSE 13.2) 7.8
Assembler: GNU assembler (GNU Binutils; openSUSE 13.2) 2.24.0.20140403-6.1
C library: GNU C Library (GNU libc) stable release version 2.19 (git 9a869d822025)
uname -mrs: Linux 3.16.6-2-desktop x86_64
Vendor version: Welcome to openSUSE 13.2 "Harlequin" - Kernel %r (%t).
Nightly build on rodan ( Linux 3.16.6-2-desktop x86_64 )
Started at 2014-11-19 19:22:01 CST
Ended at 2014-11-19 23:28:57 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
== 614 tests, 4 stderr failures, 0 stdout failures, 0 stderrB failures, 1 stdoutB failure, 0 post failures ==
gdbserver_tests/hgtls (stdoutB)
memcheck/tests/err_disable3 (stderr)
memcheck/tests/err_disable4 (stderr)
memcheck/tests/threadname (stderr)
memcheck/tests/threadname_xml (stderr)
--tools=none,memcheck,callgrind,helgrind,cachegrind,drd,massif --reps=3 --vg=../valgrind-new --vg=../valgrind-old
+ perl perf/vg_perf --tools=none,memcheck,callgrind,helgrind,cachegrind,drd,massif --reps=3 --vg=../valgrind-new --vg=../valgrind-old perf
-- Running tests in perf ----------------------------------------------
-- bigcode1 --
bigcode1 valgrind-new:0.48s no: 7.5s (15.7x, -----) me:15.1s (31.4x, -----) ca:60.9s (126.9x, -----) he: 9.5s (19.8x, -----) ca:17.2s (35.8x, -----) dr: 9.1s (19.0x, -----) ma: 8.9s (18.5x, -----)
bigcode1 valgrind-old:0.48s no: 7.5s (15.7x, -0.1%) me:15.1s (31.4x, -0.3%) ca:61.0s (127.0x, -0.1%) he: 9.5s (19.9x, -0.2%) ca:17.1s (35.7x, 0.2%) dr: 9.1s (18.9x, 0.2%) ma: 8.9s (18.5x, 0.0%)
-- bigcode2 --
bigcode2 valgrind-new:0.49s no:18.7s (38.2x, -----) me:39.4s (80.5x, -----) ca:105.6s (215.6x, -----) he:24.1s (49.2x, -----) ca:32.8s (67.0x, -----) dr:22.1s (45.0x, -----) ma:21.4s (43.6x, -----)
bigcode2 valgrind-old:0.49s no:18.7s (38.2x, -0.1%) me:39.5s (80.7x, -0.3%) ca:105.8s (215.9x, -0.2%) he:24.1s (49.2x, 0.1%) ca:32.7s (66.8x, 0.3%) dr:22.0s (44.9x, 0.4%) ma:21.4s (43.6x, 0.1%)
-- bz2 --
bz2 valgrind-new:2.32s no: 7.8s ( 3.3x, -----) me:25.5s (11.0x, -----) ca:56.0s (24.1x, -----) he:37.9s (16.3x, -----) ca:49.9s (21.5x, -----) dr:53.1s (22.9x, -----) ma: 8.1s ( 3.5x, -----)
bz2 valgrind-old:2.32s no: 7.8s ( 3.4x, -0.1%) me:25.5s (11.0x, 0.0%) ca:56.0s (24.1x, 0.0%) he:37.8s (16.3x, 0.1%) ca:49.9s (21.5x, 0.0%) dr:53.1s (22.9x, -0.0%) ma: 8.1s ( 3.5x, -0.1%)
-- fbench --
fbench valgrind-new:1.45s no: 5.2s ( 3.6x, -----) me:17.7s (12.2x, -----) ca:27.1s (18.7x, -----) he:13.4s ( 9.2x, -----) ca:15.9s (11.0x, -----) dr:13.3s ( 9.2x, -----) ma: 5.6s ( 3.9x, -----)
fbench valgrind-old:1.45s no: 5.2s ( 3.6x, -0.2%) me:17.7s (12.2x, -0.1%) ca:27.1s (18.7x, 0.0%) he:13.2s ( 9.1x, 0.8%) ca:16.0s (11.0x, -0.4%) dr:13.3s ( 9.2x, 0.1%) ma: 5.6s ( 3.9x, 0.0%)
-- ffbench --
ffbench valgrind-new:1.00s no: 3.4s ( 3.4x, -----) me:12.3s (12.3x, -----) ca: 7.8s ( 7.8x, -----) he:21.0s (21.0x, -----) ca:20.6s (20.6x, -----) dr:16.8s (16.8x, -----) ma: 3.4s ( 3.4x, -----)
ffbench valgrind-old:1.00s no: 3.4s ( 3.4x, -0.3%) me:12.3s (12.3x, 0.0%) ca: 7.8s ( 7.8x, -0.1%) he:21.0s (21.0x, 0.0%) ca:20.6s (20.6x, -0.0%) dr:16.8s (16.8x, -0.1%) ma: 3.4s ( 3.4x, -0.3%)
-- heap --
heap valgrind-new:0.41s no: 3.0s ( 7.4x, -----) me:22.3s (54.4x, -----) ca:30.8s (75.2x, -----) he:29.9s (72.9x, -----) ca:14.9s (36.4x, -----) dr:20.1s (49.1x, -----) ma:21.4s (52.1x, -----)
heap valgrind-old:0.41s no: 3.1s ( 7.5x, -0.3%) me:22.4s (54.6x, -0.3%) ca:30.8s (75.0x, 0.2%) he:30.0s (73.1x, -0.4%) ca:14.9s (36.4x, 0.1%) dr:20.1s (49.1x, 0.1%) ma:21.5s (52.5x, -0.7%)
-- heap_pdb4 --
heap_pdb4 valgrind-new:0.54s no: 3.3s ( 6.2x, -----) me:38.1s (70.6x, -----) ca:34.1s (63.2x, -----) he:34.0s (63.0x, -----) ca:17.1s (31.6x, -----) dr:22.9s (42.4x, -----) ma:22.2s (41.2x, -----)
heap_pdb4 valgrind-old:0.54s no: 3.3s ( 6.2x, 0.0%) me:38.1s (70.6x, -0.1%) ca:34.2s (63.3x, -0.1%) he:34.0s (62.9x, 0.1%) ca:17.0s (31.5x, 0.2%) dr:22.9s (42.4x, 0.2%) ma:22.4s (41.4x, -0.6%)
-- many-loss-records --
many-loss-records valgrind-new:0.05s no: 1.0s (20.6x, -----) me: 6.0s (120.6x, -----) ca: 4.8s (96.6x, -----) he: 5.3s (106.6x, -----) ca: 2.9s (57.8x, -----) dr: 4.8s (96.6x, -----) ma: 4.6s (92.0x, -----)
many-loss-records valgrind-old:0.05s no: 1.0s (20.8x, -1.0%) me: 6.0s (120.6x, 0.0%) ca: 4.8s (96.6x, 0.0%) he: 5.3s (106.4x, 0.2%) ca: 2.9s (57.8x, 0.0%) dr: 4.8s (96.6x, 0.0%) ma: 4.6s (92.2x, -0.2%)
-- many-xpts --
many-xpts valgrind-new:0.15s no: 1.3s ( 8.9x, -----) me: 7.2s (48.0x, -----) ca:12.8s (85.6x, -----) he: 9.8s (65.6x, -----) ca: 4.1s (27.5x, -----) dr: 6.5s (43.6x, -----) ma: 6.9s (46.1x, -----)
many-xpts valgrind-old:0.15s no: 1.3s ( 8.9x, -0.8%) me: 7.2s (48.0x, 0.0%) ca:12.8s (85.6x, 0.0%) he: 9.9s (65.8x, -0.3%) ca: 4.1s (27.5x, 0.2%) dr: 6.6s (43.8x, -0.5%) ma: 6.9s (46.2x, -0.3%)
-- sarp --
sarp valgrind-new:0.11s no: 1.2s (11.2x, -----) me: 9.1s (82.3x, -----) ca: 7.9s (71.7x, -----) he:29.4s (267.5x, -----) ca: 4.3s (39.4x, -----) dr: 4.3s (39.5x, -----) ma: 1.5s (13.6x, -----)
sarp valgrind-old:0.11s no: 1.2s (11.2x, 0.0%) me: 9.0s (82.2x, 0.1%) ca: 7.9s (71.9x, -0.3%) he:29.7s (270.2x, -1.0%) ca: 4.3s (39.4x, 0.0%) dr: 4.3s (39.4x, 0.2%) ma: 1.5s (13.6x, 0.0%)
-- tinycc --
tinycc valgrind-new:0.76s no: 7.4s ( 9.7x, -----) me:38.3s (50.4x, -----) ca:49.8s (65.5x, -----) he:45.4s (59.8x, -----) ca:39.6s (52.1x, -----) dr:37.8s (49.8x, -----) ma:11.8s (15.5x, -----)
tinycc valgrind-old:0.76s no: 7.4s ( 9.7x, 0.0%) me:38.2s (50.3x, 0.1%) ca:49.8s (65.5x, -0.0%) he:45.6s (60.0x, -0.4%) ca:40.9s (53.9x, -3.5%) dr:37.8s (49.8x, 0.0%) ma:11.8s (15.5x, -0.2%)
-- Finished tests in perf ----------------------------------------------
== 11 programs, 154 timings =================
real 151m33.450s
user 150m8.737s
sys 1m19.927s
=================================================
./valgrind-new/gdbserver_tests/hgtls.stdoutB.diff
=================================================
--- hgtls.stdoutB.exp 2014-11-19 20:09:50.482699206 -0600
+++ hgtls.stdoutB.out 2014-11-19 20:23:09.296593548 -0600
@@ -35,11 +35,11 @@
[New Thread ....]
Breakpoint 1, tls_ptr (p=0x........) at tls.c:55
55 int here = 0;
-test so_extern tls_ip 0x........ ip 0x........ equal 1
+test so_extern tls_ip 0x........ ip 0x........ equal 0
[New Thread ....]
Breakpoint 1, tls_ptr (p=0x........) at tls.c:55
55 int here = 0;
-test so_extern tls_ip 0x........ ip 0x........ equal 1
+test so_extern tls_ip 0x........ ip 0x........ equal 0
[New Thread ....]
Breakpoint 1, tls_ptr (p=0x........) at tls.c:55
55 int here = 0;
=================================================
./valgrind-new/memcheck/tests/err_disable3.stderr.diff
=================================================
--- err_disable3.stderr.exp 2014-11-19 20:09:51.281708127 -0600
+++ err_disable3.stderr.out 2014-11-19 20:27:25.490438941 -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-11-19 20:09:52.124717539 -0600
+++ err_disable4.stderr.out 2014-11-19 20:27:29.610484716 -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-11-19 20:09:51.883714848 -0600
+++ threadname.stderr.out 2014-11-19 20:34:10.857945071 -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:61)
- ...
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:61)
...
-Thread 3 try1:
-Invalid write of size 1
- at 0x........: bad_things (threadname.c:16)
- by 0x........: child_fn_1 (threadname.c:46)
- ...
- 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:46)
- ...
-
-Thread 4 012345678901234:
-Invalid write of size 1
- at 0x........: bad_things (threadname.c:16)
- by 0x........: child_fn_2 (threadname.c:30)
- ...
- 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:30)
- ...
-
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-11-19 20:09:51.590711577 -0600
+++ threadname_xml.stderr.out 2014-11-19 20:34:13.159970674 -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/gdbserver_tests/hgtls.stdoutB.diff
=================================================
--- hgtls.stdoutB.exp 2014-11-19 19:22:16.799413722 -0600
+++ hgtls.stdoutB.out 2014-11-19 19:35:36.116425700 -0600
@@ -35,11 +35,11 @@
[New Thread ....]
Breakpoint 1, tls_ptr (p=0x........) at tls.c:55
55 int here = 0;
-test so_extern tls_ip 0x........ ip 0x........ equal 1
+test so_extern tls_ip 0x........ ip 0x........ equal 0
[New Thread ....]
Breakpoint 1, tls_ptr (p=0x........) at tls.c:55
55 int here = 0;
-test so_extern tls_ip 0x........ ip 0x........ equal 1
+test so_extern tls_ip 0x........ ip 0x........ equal 0
[New Thread ....]
Breakpoint 1, tls_ptr (p=0x........) at tls.c:55
55 int here = 0;
=================================================
./valgrind-old/memcheck/tests/err_disable3.stderr.diff
=================================================
--- err_disable3.stderr.exp 2014-11-19 19:22:17.608422857 -0600
+++ err_disable3.stderr.out 2014-11-19 19:39:50.433287860 -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-11-19 19:22:18.454432410 -0600
+++ err_disable4.stderr.out 2014-11-19 19:39:54.525333895 -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-11-19 19:22:18.214429700 -0600
+++ threadname.stderr.out 2014-11-19 19:46:35.530912804 -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:61)
- ...
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:61)
...
-Thread 3 try1:
-Invalid write of size 1
- at 0x........: bad_things (threadname.c:16)
- by 0x........: child_fn_1 (threadname.c:46)
- ...
- 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:46)
- ...
-
-Thread 4 012345678901234:
-Invalid write of size 1
- at 0x........: bad_things (threadname.c:16)
- by 0x........: child_fn_2 (threadname.c:30)
- ...
- 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:30)
- ...
-
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-11-19 19:22:17.918426357 -0600
+++ threadname_xml.stderr.out 2014-11-19 19:46:37.831939179 -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: Christian B. <bor...@de...> - 2014-11-20 05:11:53
|
valgrind revision: 14737 VEX revision: 2995 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.35-default s390x Vendor version: Welcome to SUSE Linux Enterprise Server 11 SP3 (s390x) - Kernel %r (%t). Nightly build on sless390 ( SUSE Linux Enterprise Server 11 SP3 gcc 4.3.4 on z196 (s390x) ) Started at 2014-11-20 03:45:02 CET Ended at 2014-11-20 06:11:36 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 == 663 tests, 3 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/origin5-bz2 (stderr) helgrind/tests/pth_cond_destroy_busy (stderr) helgrind/tests/tc20_verifywrap (stderr) --tools=none,memcheck,callgrind,helgrind,cachegrind,drd,massif --reps=3 --vg=../valgrind-new --vg=../valgrind-old -- Running tests in perf ---------------------------------------------- -- bigcode1 -- bigcode1 valgrind-new:0.23s no: 5.1s (22.0x, -----) me: 7.0s (30.6x, -----) ca:25.8s (112.3x, -----) he: 5.9s (25.6x, -----) ca: 9.2s (40.2x, -----) dr: 5.2s (22.7x, -----) ma: 3.7s (15.9x, -----) bigcode1 valgrind-old:0.23s no: 5.0s (21.9x, 0.6%) me: 7.0s (30.3x, 1.1%) ca:25.9s (112.8x, -0.4%) he: 6.0s (25.9x, -1.2%) ca: 9.2s (40.2x, 0.0%) dr: 5.2s (22.7x, -0.2%) ma: 3.7s (16.0x, -0.3%) -- bigcode2 -- bigcode2 valgrind-new:0.24s no: 8.2s (34.1x, -----) me:14.5s (60.5x, -----) ca:40.2s (167.7x, -----) he:11.4s (47.6x, -----) ca:14.7s (61.3x, -----) dr: 9.6s (40.0x, -----) ma: 7.5s (31.2x, -----) bigcode2 valgrind-old:0.24s no: 8.2s (34.1x, 0.1%) me:14.3s (59.7x, 1.4%) ca:39.5s (164.5x, 1.9%) he:11.2s (46.7x, 1.9%) ca:14.7s (61.1x, 0.4%) dr: 9.7s (40.2x, -0.5%) ma: 7.4s (30.8x, 1.3%) -- bz2 -- bz2 valgrind-new:0.70s no: 6.9s ( 9.9x, -----) me:13.1s (18.7x, -----) ca:30.0s (42.9x, -----) he:20.1s (28.7x, -----) ca:34.3s (49.0x, -----) dr:29.7s (42.4x, -----) ma: 3.5s ( 4.9x, -----) bz2 valgrind-old:0.70s no: 7.0s (10.1x, -2.0%) me:13.1s (18.6x, 0.4%) ca:30.0s (42.9x, -0.0%) he:20.0s (28.6x, 0.1%) ca:34.3s (49.0x, -0.1%) dr:29.7s (42.4x, 0.0%) ma: 3.5s ( 4.9x, 0.3%) -- fbench -- fbench valgrind-new:0.41s no: 1.6s ( 4.0x, -----) me: 4.5s (10.9x, -----) ca: 9.2s (22.3x, -----) he: 6.6s (16.0x, -----) ca: 7.4s (18.0x, -----) dr: 5.8s (14.0x, -----) ma: 1.7s ( 4.1x, -----) fbench valgrind-old:0.41s no: 1.6s ( 4.0x, 0.0%) me: 4.5s (11.0x, -0.2%) ca: 9.2s (22.4x, -0.1%) he: 6.5s (16.0x, 0.6%) ca: 7.4s (18.0x, 0.0%) dr: 5.8s (14.0x, 0.0%) ma: 1.7s ( 4.1x, 0.6%) -- ffbench -- ffbench valgrind-new:0.21s no: 1.2s ( 5.7x, -----) me: 3.5s (16.7x, -----) ca: 3.0s (14.4x, -----) he:45.2s (215.4x, -----) ca: 9.6s (45.6x, -----) dr: 7.5s (35.6x, -----) ma: 1.0s ( 4.7x, -----) ffbench valgrind-old:0.21s no: 1.2s ( 5.7x, 0.0%) me: 3.4s (16.3x, 2.3%) ca: 3.0s (14.4x, 0.0%) he:44.9s (213.8x, 0.8%) ca: 9.6s (45.7x, -0.1%) dr: 7.5s (35.5x, 0.3%) ma: 1.0s ( 4.6x, 1.0%) -- heap -- heap valgrind-new:0.23s no: 2.5s (10.8x, -----) me: 9.0s (39.0x, -----) ca:12.9s (56.3x, -----) he:13.3s (58.0x, -----) ca:11.3s (49.0x, -----) dr: 7.9s (34.2x, -----) ma: 8.0s (34.6x, -----) heap valgrind-old:0.23s no: 2.3s (10.0x, 7.7%) me: 9.0s (39.2x, -0.4%) ca:13.0s (56.4x, -0.2%) he:13.1s (56.9x, 1.9%) ca:11.3s (49.2x, -0.4%) dr: 7.9s (34.3x, -0.1%) ma: 7.9s (34.5x, 0.3%) -- heap_pdb4 -- heap_pdb4 valgrind-new:0.23s no: 2.5s (11.1x, -----) me:13.1s (57.0x, -----) ca:14.1s (61.3x, -----) he:14.5s (62.9x, -----) ca:12.5s (54.5x, -----) dr: 8.9s (38.6x, -----) ma: 8.2s (35.7x, -----) heap_pdb4 valgrind-old:0.23s no: 2.5s (11.1x, 0.0%) me:13.2s (57.3x, -0.5%) ca:14.1s (61.3x, 0.0%) he:14.6s (63.3x, -0.6%) ca:12.5s (54.4x, 0.2%) dr: 8.9s (38.6x, 0.0%) ma: 8.1s (35.1x, 1.6%) -- many-loss-records -- many-loss-records valgrind-new:0.03s no: 0.5s (18.0x, -----) me: 2.4s (78.3x, -----) ca: 1.9s (64.0x, -----) he: 2.4s (80.0x, -----) ca: 1.9s (64.7x, -----) dr: 2.0s (65.3x, -----) ma: 1.7s (56.3x, -----) many-loss-records valgrind-old:0.03s no: 0.5s (18.0x, 0.0%) me: 2.3s (78.0x, 0.4%) ca: 1.9s (64.0x, 0.0%) he: 2.4s (79.7x, 0.4%) ca: 1.9s (64.7x, 0.0%) dr: 2.0s (65.3x, 0.0%) ma: 1.7s (56.3x, 0.0%) -- many-xpts -- many-xpts valgrind-new:0.07s no: 0.7s (10.0x, -----) me: 3.4s (48.4x, -----) ca:338.1s (4830.4x, -----) he: 6.9s (98.3x, -----) ca: 2.8s (40.1x, -----) dr: 2.7s (38.9x, -----) ma: 2.7s (38.0x, -----) many-xpts valgrind-old:0.07s no: 0.7s ( 9.9x, 1.4%) me: 3.4s (48.3x, 0.3%) ca:346.3s (4946.9x, -2.4%) he: 6.8s (97.7x, 0.6%) ca: 2.8s (40.1x, 0.0%) dr: 2.7s (38.9x, -0.0%) ma: 2.7s (38.0x, 0.0%) -- sarp -- sarp valgrind-new:0.03s no: 0.6s (20.0x, -----) me: 3.7s (122.3x, -----) ca: 3.2s (106.3x, -----) he:17.4s (581.7x, -----) ca: 2.0s (68.3x, -----) dr: 1.6s (53.3x, -----) ma: 0.5s (16.3x, -----) sarp valgrind-old:0.03s no: 0.6s (20.0x, 0.0%) me: 3.7s (122.7x, -0.3%) ca: 3.2s (107.0x, -0.6%) he:17.2s (574.0x, 1.3%) ca: 2.0s (68.3x, 0.0%) dr: 1.6s (53.3x, 0.0%) ma: 0.5s (16.7x, -2.0%) -- tinycc -- tinycc valgrind-new:0.22s no: 3.2s (14.6x, -----) me:14.6s (66.4x, -----) ca:29.6s (134.5x, -----) he:28.0s (127.4x, -----) ca:21.3s (96.9x, -----) dr:20.9s (95.0x, -----) ma: 3.8s (17.4x, -----) tinycc valgrind-old:0.22s no: 3.2s (14.5x, 0.3%) me:14.6s (66.3x, 0.1%) ca:29.5s (133.9x, 0.4%) he:28.0s (127.2x, 0.1%) ca:21.3s (96.9x, 0.0%) dr:20.9s (94.9x, 0.1%) ma: 3.8s (17.4x, 0.0%) -- Finished tests in perf ---------------------------------------------- == 11 programs, 154 timings ================= real 109m50.048s user 109m1.408s sys 0m39.363s |
|
From: Rich C. <rc...@wi...> - 2014-11-20 05:06:05
|
valgrind revision: 14737
VEX revision: 2995
C compiler: gcc (SUSE Linux) 4.8.3 20140627 [gcc-4_8-branch revision 212064]
GDB: GNU gdb (GDB; openSUSE 13.2) 7.8
Assembler: GNU assembler (GNU Binutils; openSUSE 13.2) 2.24.0.20140403-6.1
C library: GNU C Library (GNU libc) stable release version 2.19 (git 9a869d822025)
uname -mrs: Linux 3.16.6-2-desktop x86_64
Vendor version: openSUSE 13.2 (Harlequin)
Nightly build on ultra ( gcc (SUSE Linux) 4.8.3 20140627 [gcc-4_8-branch revision 212064] Linux 3.16.6-2-desktop x86_64 )
Started at 2014-11-19 22:11:15 CST
Ended at 2014-11-19 23:05:54 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
== 614 tests, 6 stderr failures, 0 stdout failures, 0 stderrB failures, 1 stdoutB failure, 0 post failures ==
gdbserver_tests/hgtls (stdoutB)
memcheck/tests/err_disable3 (stderr)
memcheck/tests/err_disable4 (stderr)
memcheck/tests/threadname (stderr)
memcheck/tests/threadname_xml (stderr)
helgrind/tests/hg05_race2 (stderr)
helgrind/tests/tc09_bad_unlock (stderr)
=================================================
./valgrind-new/gdbserver_tests/hgtls.stdoutB.diff
=================================================
--- hgtls.stdoutB.exp 2014-11-19 22:44:52.646919327 -0600
+++ hgtls.stdoutB.out 2014-11-19 22:53:43.294201097 -0600
@@ -35,11 +35,11 @@
[New Thread ....]
Breakpoint 1, tls_ptr (p=0x........) at tls.c:55
55 int here = 0;
-test so_extern tls_ip 0x........ ip 0x........ equal 1
+test so_extern tls_ip 0x........ ip 0x........ equal 0
[New Thread ....]
Breakpoint 1, tls_ptr (p=0x........) at tls.c:55
55 int here = 0;
-test so_extern tls_ip 0x........ ip 0x........ equal 1
+test so_extern tls_ip 0x........ ip 0x........ equal 0
[New Thread ....]
Breakpoint 1, tls_ptr (p=0x........) at tls.c:55
55 int here = 0;
=================================================
./valgrind-new/helgrind/tests/hg05_race2.stderr.diff
=================================================
--- hg05_race2.stderr.exp 2014-11-19 22:49:48.952648442 -0600
+++ hg05_race2.stderr.out 2014-11-19 23:00:23.331990035 -0600
@@ -26,8 +26,7 @@
at 0x........: th (hg05_race2.c:17)
by 0x........: mythread_wrapper (hg_intercepts.c:...)
...
- Location 0x........ is 0 bytes inside foo.poot[5].plop[11],
- declared at hg05_race2.c:24, in frame #x of thread x
+ Address 0x........ is on thread #x's stack
----------------------------------------------------------------
@@ -42,8 +41,7 @@
at 0x........: th (hg05_race2.c:17)
by 0x........: mythread_wrapper (hg_intercepts.c:...)
...
- Location 0x........ is 0 bytes inside foo.poot[5].plop[11],
- declared at hg05_race2.c:24, in frame #x of thread x
+ Address 0x........ is on thread #x's stack
ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/helgrind/tests/tc09_bad_unlock.stderr.diff
=================================================
--- tc09_bad_unlock.stderr.exp 2014-11-19 22:49:48.974647999 -0600
+++ tc09_bad_unlock.stderr.out 2014-11-19 23:00:50.902374840 -0600
@@ -37,7 +37,6 @@
by 0x........: nearly_main (tc09_bad_unlock.c:31)
by 0x........: main (tc09_bad_unlock.c:49)
Address 0x........ is on thread #x's stack
- in frame #x, created by nearly_main (tc09_bad_unlock.c:16)
----------------------------------------------------------------
=================================================
./valgrind-new/memcheck/tests/err_disable3.stderr.diff
=================================================
--- err_disable3.stderr.exp 2014-11-19 22:47:18.039590636 -0600
+++ err_disable3.stderr.out 2014-11-19 22:55:34.277387710 -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-11-19 22:48:39.553027842 -0600
+++ err_disable4.stderr.out 2014-11-19 22:55:35.566363185 -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-11-19 22:47:53.672481791 -0600
+++ threadname.stderr.out 2014-11-19 22:57:36.330851840 -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:61)
- ...
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:61)
...
-Thread 3 try1:
-Invalid write of size 1
- at 0x........: bad_things (threadname.c:16)
- by 0x........: child_fn_1 (threadname.c:46)
- ...
- 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:46)
- ...
-
-Thread 4 012345678901234:
-Invalid write of size 1
- at 0x........: bad_things (threadname.c:16)
- by 0x........: child_fn_2 (threadname.c:30)
- ...
- 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:30)
- ...
-
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-11-19 22:47:44.729760448 -0600
+++ threadname_xml.stderr.out 2014-11-19 22:57:37.003836755 -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/gdbserver_tests/hgtls.stdoutB.diff
=================================================
--- hgtls.stdoutB.exp 2014-11-19 22:13:00.373654842 -0600
+++ hgtls.stdoutB.out 2014-11-19 22:31:34.378860151 -0600
@@ -35,11 +35,11 @@
[New Thread ....]
Breakpoint 1, tls_ptr (p=0x........) at tls.c:55
55 int here = 0;
-test so_extern tls_ip 0x........ ip 0x........ equal 1
+test so_extern tls_ip 0x........ ip 0x........ equal 0
[New Thread ....]
Breakpoint 1, tls_ptr (p=0x........) at tls.c:55
55 int here = 0;
-test so_extern tls_ip 0x........ ip 0x........ equal 1
+test so_extern tls_ip 0x........ ip 0x........ equal 0
[New Thread ....]
Breakpoint 1, tls_ptr (p=0x........) at tls.c:55
55 int here = 0;
=================================================
./valgrind-old/helgrind/tests/hg05_race2.stderr.diff
=================================================
--- hg05_race2.stderr.exp 2014-11-19 22:15:20.124552495 -0600
+++ hg05_race2.stderr.out 2014-11-19 22:38:18.481294612 -0600
@@ -26,8 +26,7 @@
at 0x........: th (hg05_race2.c:17)
by 0x........: mythread_wrapper (hg_intercepts.c:...)
...
- Location 0x........ is 0 bytes inside foo.poot[5].plop[11],
- declared at hg05_race2.c:24, in frame #x of thread x
+ Address 0x........ is on thread #x's stack
----------------------------------------------------------------
@@ -42,8 +41,7 @@
at 0x........: th (hg05_race2.c:17)
by 0x........: mythread_wrapper (hg_intercepts.c:...)
...
- Location 0x........ is 0 bytes inside foo.poot[5].plop[11],
- declared at hg05_race2.c:24, in frame #x of thread x
+ Address 0x........ is on thread #x's stack
ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
=================================================
./valgrind-old/helgrind/tests/tc09_bad_unlock.stderr.diff
=================================================
--- tc09_bad_unlock.stderr.exp 2014-11-19 22:15:20.146549977 -0600
+++ tc09_bad_unlock.stderr.out 2014-11-19 22:38:45.969795187 -0600
@@ -37,7 +37,6 @@
by 0x........: nearly_main (tc09_bad_unlock.c:31)
by 0x........: main (tc09_bad_unlock.c:49)
Address 0x........ is on thread #x's stack
- in frame #x, created by nearly_main (tc09_bad_unlock.c:16)
----------------------------------------------------------------
=================================================
./valgrind-old/memcheck/tests/err_disable3.stderr.diff
=================================================
--- err_disable3.stderr.exp 2014-11-19 22:13:15.049299170 -0600
+++ err_disable3.stderr.out 2014-11-19 22:33:26.474375261 -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-11-19 22:13:25.915033973 -0600
+++ err_disable4.stderr.out 2014-11-19 22:33:27.808372557 -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-11-19 22:13:21.162150833 -0600
+++ threadname.stderr.out 2014-11-19 22:35:28.373649746 -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:61)
- ...
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:61)
...
-Thread 3 try1:
-Invalid write of size 1
- at 0x........: bad_things (threadname.c:16)
- by 0x........: child_fn_1 (threadname.c:46)
- ...
- 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:46)
- ...
-
-Thread 4 012345678901234:
-Invalid write of size 1
- at 0x........: bad_things (threadname.c:16)
- by 0x........: child_fn_2 (threadname.c:30)
- ...
- 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:30)
- ...
-
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-11-19 22:13:18.495214940 -0600
+++ threadname_xml.stderr.out 2014-11-19 22:35:29.032643404 -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: <ma...@bu...> - 2014-11-20 04:34:17
|
valgrind revision: 14737
VEX revision: 2995
C compiler: gcc (GCC) 4.8.3 20140624 (Red Hat 4.8.3-1)
GDB: GNU gdb (GDB) Fedora 7.7.1-18.fc20
Assembler: GNU assembler version 2.23.2
C library: GNU C Library (GNU libc) stable release version 2.18
uname -mrs: Linux 3.11.10-301.fc20.s390x s390x
Vendor version: Fedora 20 (Heisenbug)
Nightly build on lfedora1 ( Fedora release 20 (Heisenbug), s390x )
Started at 2014-11-20 00:00:01 UTC
Ended at 2014-11-20 04:22:50 UTC
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
== 669 tests, 4 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
memcheck/tests/linux/timerfd-syscall (stderr)
helgrind/tests/locked_vs_unlocked2 (stderr)
helgrind/tests/pth_cond_destroy_busy (stderr)
helgrind/tests/tc22_exit_w_lock (stderr)
=================================================
./valgrind-new/helgrind/tests/locked_vs_unlocked2.stderr.diff
=================================================
--- locked_vs_unlocked2.stderr.exp 2014-11-20 02:10:06.062795980 +0000
+++ locked_vs_unlocked2.stderr.out 2014-11-20 03:31:49.402880716 +0000
@@ -16,13 +16,13 @@
Lock at 0x........ was first observed
at 0x........: pthread_mutex_init (hg_intercepts.c:...)
- by 0x........: main (locked_vs_unlocked2.c:58)
- Address 0x........ is 0 bytes inside data symbol "mx2a"
+ by 0x........: main (locked_vs_unlocked2.c:59)
+ Address 0x........ is 0 bytes inside data symbol "mx2b"
Lock at 0x........ was first observed
at 0x........: pthread_mutex_init (hg_intercepts.c:...)
- by 0x........: main (locked_vs_unlocked2.c:59)
- Address 0x........ is 0 bytes inside data symbol "mx2b"
+ by 0x........: main (locked_vs_unlocked2.c:58)
+ Address 0x........ is 0 bytes inside data symbol "mx2a"
Lock at 0x........ was first observed
at 0x........: pthread_mutex_init (hg_intercepts.c:...)
=================================================
./valgrind-new/helgrind/tests/pth_cond_destroy_busy.stderr.diff
=================================================
--- pth_cond_destroy_busy.stderr.exp 2014-11-20 02:10:05.812795976 +0000
+++ pth_cond_destroy_busy.stderr.out 2014-11-20 03:32:24.772881255 +0000
@@ -47,4 +47,4 @@
First pthread_cond_destroy() call returned EBUSY.
Second pthread_cond_destroy() call returned success.
-ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 6 errors from 3 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/helgrind/tests/tc22_exit_w_lock.stderr.diff
=================================================
--- tc22_exit_w_lock.stderr.exp 2014-11-20 02:10:05.752795975 +0000
+++ tc22_exit_w_lock.stderr.out 2014-11-20 03:37:47.872886953 +0000
@@ -13,6 +13,23 @@
---Thread-Announcement------------------------------------------
+Thread #x is the program's root thread
+
+----------------------------------------------------------------
+
+Possible data race during write of size 8 at 0x........ by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc22_exit_w_lock.c:42)
+
+This conflicts with a previous read of size 8 by thread #x
+Locks held: none
+ ...
+ Address 0x........ is not stack'd, malloc'd or on a free list
+
+---Thread-Announcement------------------------------------------
+
Thread #x was created
...
by 0x........: pthread_create@* (hg_intercepts.c:...)
@@ -23,10 +40,6 @@
Thread #x: Exiting thread still holds 1 lock
...
----Thread-Announcement------------------------------------------
-
-Thread #x is the program's root thread
-
----------------------------------------------------------------
Thread #x: Exiting thread still holds 1 lock
@@ -34,4 +47,4 @@
by 0x........: main (tc22_exit_w_lock.c:48)
-ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 5 errors from 4 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/helgrind/tests/tc22_exit_w_lock.stderr.diff-kfail-x86
=================================================
--- tc22_exit_w_lock.stderr.exp-kfail-x86 2014-11-20 02:10:05.812795976 +0000
+++ tc22_exit_w_lock.stderr.out 2014-11-20 03:37:47.872886953 +0000
@@ -3,7 +3,6 @@
Thread #x was created
...
- by 0x........: pthread_create_WRK (hg_intercepts.c:...)
by 0x........: pthread_create@* (hg_intercepts.c:...)
by 0x........: main (tc22_exit_w_lock.c:39)
@@ -14,9 +13,25 @@
---Thread-Announcement------------------------------------------
+Thread #x is the program's root thread
+
+----------------------------------------------------------------
+
+Possible data race during write of size 8 at 0x........ by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc22_exit_w_lock.c:42)
+
+This conflicts with a previous read of size 8 by thread #x
+Locks held: none
+ ...
+ Address 0x........ is not stack'd, malloc'd or on a free list
+
+---Thread-Announcement------------------------------------------
+
Thread #x was created
...
- by 0x........: pthread_create_WRK (hg_intercepts.c:...)
by 0x........: pthread_create@* (hg_intercepts.c:...)
by 0x........: main (tc22_exit_w_lock.c:42)
@@ -25,14 +40,11 @@
Thread #x: Exiting thread still holds 1 lock
...
----Thread-Announcement------------------------------------------
-
-Thread #x is the program's root thread
-
----------------------------------------------------------------
Thread #x: Exiting thread still holds 1 lock
...
+ by 0x........: main (tc22_exit_w_lock.c:48)
-ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 5 errors from 4 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/memcheck/tests/linux/timerfd-syscall.stderr.diff
=================================================
--- timerfd-syscall.stderr.exp 2014-11-20 02:09:53.782795754 +0000
+++ timerfd-syscall.stderr.out 2014-11-20 02:54:00.982840870 +0000
@@ -7,20 +7,20 @@
relative timer test (at 500 ms) ...
waiting timer ...
-got timer ticks (1) after 0.5 s
+got timer ticks (1) after 0.6 s
absolute timer test (at 500 ms) ...
waiting timer ...
got timer ticks (1) after 0.5 s
sequential timer test (100 ms clock) ...
sleeping one second ...
timerfd_gettime returned:
- it_value = 0.1 it_interval = 0.1
+ it_value = 0.0 it_interval = 0.1
sleeping 1 second ...
waiting timer ...
got about 20 timer ticks after about 2s
O_NONBLOCK test ...
waiting timer (flush the single tick) ...
-got timer ticks (1) after 0.1 s
+got timer ticks (1) after 0.3 s
success
@@ -37,13 +37,13 @@
sequential timer test (100 ms clock) ...
sleeping one second ...
timerfd_gettime returned:
- it_value = 0.1 it_interval = 0.1
+ it_value = 0.0 it_interval = 0.1
sleeping 1 second ...
waiting timer ...
got about 20 timer ticks after about 2s
O_NONBLOCK test ...
waiting timer (flush the single tick) ...
-got timer ticks (1) after 0.1 s
+got timer ticks (1) after 0.2 s
success
HEAP SUMMARY:
=================================================
./valgrind-old/helgrind/tests/locked_vs_unlocked2.stderr.diff
=================================================
--- locked_vs_unlocked2.stderr.exp 2014-11-20 00:00:41.842655009 +0000
+++ locked_vs_unlocked2.stderr.out 2014-11-20 01:13:12.632730132 +0000
@@ -16,13 +16,13 @@
Lock at 0x........ was first observed
at 0x........: pthread_mutex_init (hg_intercepts.c:...)
- by 0x........: main (locked_vs_unlocked2.c:58)
- Address 0x........ is 0 bytes inside data symbol "mx2a"
+ by 0x........: main (locked_vs_unlocked2.c:59)
+ Address 0x........ is 0 bytes inside data symbol "mx2b"
Lock at 0x........ was first observed
at 0x........: pthread_mutex_init (hg_intercepts.c:...)
- by 0x........: main (locked_vs_unlocked2.c:59)
- Address 0x........ is 0 bytes inside data symbol "mx2b"
+ by 0x........: main (locked_vs_unlocked2.c:58)
+ Address 0x........ is 0 bytes inside data symbol "mx2a"
Lock at 0x........ was first observed
at 0x........: pthread_mutex_init (hg_intercepts.c:...)
=================================================
./valgrind-old/helgrind/tests/pth_cond_destroy_busy.stderr.diff
=================================================
--- pth_cond_destroy_busy.stderr.exp 2014-11-20 00:00:41.532655004 +0000
+++ pth_cond_destroy_busy.stderr.out 2014-11-20 01:13:39.422730582 +0000
@@ -47,4 +47,4 @@
First pthread_cond_destroy() call returned EBUSY.
Second pthread_cond_destroy() call returned success.
-ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 6 errors from 3 contexts (suppressed: 0 from 0)
=================================================
./valgrind-old/helgrind/tests/tc22_exit_w_lock.stderr.diff
=================================================
--- tc22_exit_w_lock.stderr.exp 2014-11-20 00:00:41.402655002 +0000
+++ tc22_exit_w_lock.stderr.out 2014-11-20 01:18:56.602735961 +0000
@@ -13,6 +13,23 @@
---Thread-Announcement------------------------------------------
+Thread #x is the program's root thread
+
+----------------------------------------------------------------
+
+Possible data race during write of size 8 at 0x........ by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc22_exit_w_lock.c:42)
+
+This conflicts with a previous read of size 8 by thread #x
+Locks held: none
+ ...
+ Address 0x........ is not stack'd, malloc'd or on a free list
+
+---Thread-Announcement------------------------------------------
+
Thread #x was created
...
by 0x........: pthread_create@* (hg_intercepts.c:...)
@@ -23,10 +40,6 @@
Thread #x: Exiting thread still holds 1 lock
...
----Thread-Announcement------------------------------------------
-
-Thread #x is the program's root thread
-
----------------------------------------------------------------
Thread #x: Exiting thread still holds 1 lock
@@ -34,4 +47,4 @@
by 0x........: main (tc22_exit_w_lock.c:48)
-ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 5 errors from 4 contexts (suppressed: 0 from 0)
=================================================
./valgrind-old/helgrind/tests/tc22_exit_w_lock.stderr.diff-kfail-x86
=================================================
--- tc22_exit_w_lock.stderr.exp-kfail-x86 2014-11-20 00:00:41.532655004 +0000
+++ tc22_exit_w_lock.stderr.out 2014-11-20 01:18:56.602735961 +0000
@@ -3,7 +3,6 @@
Thread #x was created
...
- by 0x........: pthread_create_WRK (hg_intercepts.c:...)
by 0x........: pthread_create@* (hg_intercepts.c:...)
by 0x........: main (tc22_exit_w_lock.c:39)
@@ -14,9 +13,25 @@
---Thread-Announcement------------------------------------------
+Thread #x is the program's root thread
+
+----------------------------------------------------------------
+
+Possible data race during write of size 8 at 0x........ by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc22_exit_w_lock.c:42)
+
+This conflicts with a previous read of size 8 by thread #x
+Locks held: none
+ ...
+ Address 0x........ is not stack'd, malloc'd or on a free list
+
+---Thread-Announcement------------------------------------------
+
Thread #x was created
...
- by 0x........: pthread_create_WRK (hg_intercepts.c:...)
by 0x........: pthread_create@* (hg_intercepts.c:...)
by 0x........: main (tc22_exit_w_lock.c:42)
@@ -25,14 +40,11 @@
Thread #x: Exiting thread still holds 1 lock
...
----Thread-Announcement------------------------------------------
-
-Thread #x is the program's root thread
-
----------------------------------------------------------------
Thread #x: Exiting thread still holds 1 lock
...
+ by 0x........: main (tc22_exit_w_lock.c:48)
-ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 5 errors from 4 contexts (suppressed: 0 from 0)
=================================================
./valgrind-old/memcheck/tests/linux/timerfd-syscall.stderr.diff
=================================================
--- timerfd-syscall.stderr.exp 2014-11-20 00:00:29.332654812 +0000
+++ timerfd-syscall.stderr.out 2014-11-20 00:40:07.602695171 +0000
@@ -7,20 +7,20 @@
relative timer test (at 500 ms) ...
waiting timer ...
-got timer ticks (1) after 0.5 s
+got timer ticks (1) after 0.6 s
absolute timer test (at 500 ms) ...
waiting timer ...
-got timer ticks (1) after 0.5 s
+got timer ticks (1) after 0.6 s
sequential timer test (100 ms clock) ...
sleeping one second ...
timerfd_gettime returned:
- it_value = 0.1 it_interval = 0.1
+ it_value = 0.0 it_interval = 0.1
sleeping 1 second ...
waiting timer ...
got about 20 timer ticks after about 2s
O_NONBLOCK test ...
waiting timer (flush the single tick) ...
-got timer ticks (1) after 0.1 s
+got timer ticks (1) after 0.3 s
success
@@ -30,10 +30,10 @@
relative timer test (at 500 ms) ...
waiting timer ...
-got timer ticks (1) after 0.5 s
+got timer ticks (1) after 0.6 s
absolute timer test (at 500 ms) ...
waiting timer ...
-got timer ticks (1) after 0.5 s
+got timer ticks (1) after 0.6 s
sequential timer test (100 ms clock) ...
sleeping one second ...
timerfd_gettime returned:
|
|
From: Tom H. <to...@co...> - 2014-11-20 04:23:41
|
valgrind revision: 14737 VEX revision: 2995 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.17.2-200.fc20.x86_64 x86_64 Vendor version: Fedora release 15 (Lovelock) Nightly build on bristol ( x86_64, Fedora 15 ) Started at 2014-11-20 03:12:21 GMT Ended at 2014-11-20 04:23:29 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 == 697 tests, 1 stderr failure, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/err_disable4 (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.10s no: 1.7s (16.6x, -----) me: 3.3s (33.4x, -----) ca:14.4s (143.7x, -----) he: 2.0s (20.5x, -----) ca: 3.8s (38.4x, -----) dr: 2.0s (19.8x, -----) ma: 1.9s (19.5x, -----) bigcode1 valgrind-old:0.10s no: 1.7s (16.6x, 0.0%) me: 3.4s (33.7x, -0.9%) ca:14.5s (145.1x, -1.0%) he: 2.0s (20.4x, 0.5%) ca: 3.8s (38.4x, 0.0%) dr: 2.0s (19.6x, 1.0%) ma: 1.9s (19.5x, 0.0%) -- bigcode2 -- bigcode2 valgrind-new:0.11s no: 4.0s (36.2x, -----) me: 8.5s (77.3x, -----) ca:26.3s (238.8x, -----) he: 5.0s (45.4x, -----) ca: 7.4s (67.6x, -----) dr: 4.7s (42.8x, -----) ma: 4.6s (41.7x, -----) bigcode2 valgrind-old:0.11s no: 4.0s (36.5x, -1.0%) me: 8.5s (77.6x, -0.5%) ca:25.4s (230.7x, 3.4%) he: 5.0s (45.4x, 0.0%) ca: 7.3s (66.0x, 2.4%) dr: 4.7s (42.5x, 0.8%) ma: 4.6s (41.7x, 0.0%) -- bz2 -- bz2 valgrind-new:0.52s no: 1.6s ( 3.1x, -----) me: 5.7s (11.0x, -----) ca:13.3s (25.6x, -----) he: 8.6s (16.4x, -----) ca:10.9s (20.9x, -----) dr:10.4s (20.0x, -----) ma: 1.6s ( 3.1x, -----) bz2 valgrind-old:0.52s no: 1.6s ( 3.1x, 1.2%) me: 5.7s (10.9x, 0.2%) ca:13.3s (25.6x, -0.1%) he: 8.6s (16.6x, -0.7%) ca:10.9s (21.0x, -0.3%) dr:10.4s (20.0x, 0.0%) ma: 1.6s ( 3.0x, 1.2%) -- fbench -- fbench valgrind-new:0.22s no: 1.0s ( 4.5x, -----) me: 3.7s (17.0x, -----) ca: 5.6s (25.3x, -----) he: 2.9s (13.1x, -----) ca: 3.1s (14.0x, -----) dr: 2.6s (11.8x, -----) ma: 1.0s ( 4.6x, -----) fbench valgrind-old:0.22s no: 1.0s ( 4.5x, 1.0%) me: 3.6s (16.5x, 2.9%) ca: 5.4s (24.7x, 2.3%) he: 2.8s (12.9x, 1.7%) ca: 3.1s (14.3x, -2.6%) dr: 2.6s (12.0x, -1.9%) ma: 1.0s ( 4.7x, -1.0%) -- ffbench -- ffbench valgrind-new:0.21s no: 0.9s ( 4.4x, -----) me: 2.8s (13.5x, -----) ca: 1.8s ( 8.7x, -----) he: 5.5s (26.1x, -----) ca: 4.1s (19.4x, -----) dr: 3.3s (15.8x, -----) ma: 0.9s ( 4.1x, -----) ffbench valgrind-old:0.21s no: 0.9s ( 4.3x, 2.2%) me: 2.8s (13.4x, 0.7%) ca: 1.8s ( 8.6x, 1.1%) he: 5.5s (26.3x, -0.9%) ca: 4.1s (19.5x, -0.5%) dr: 3.3s (15.7x, 0.6%) ma: 0.9s ( 4.1x, 0.0%) -- heap -- heap valgrind-new:0.08s no: 0.6s ( 7.2x, -----) me: 5.0s (61.9x, -----) ca: 6.2s (77.6x, -----) he: 6.7s (83.9x, -----) ca: 3.2s (39.6x, -----) dr: 4.3s (53.5x, -----) ma: 4.8s (60.0x, -----) heap valgrind-old:0.08s no: 0.6s ( 7.2x, 0.0%) me: 5.0s (62.3x, -0.6%) ca: 6.1s (76.8x, 1.1%) he: 6.7s (83.5x, 0.4%) ca: 3.1s (39.1x, 1.3%) dr: 4.2s (52.7x, 1.4%) ma: 4.8s (59.8x, 0.4%) -- heap_pdb4 -- heap_pdb4 valgrind-new:0.10s no: 0.7s ( 6.6x, -----) me: 8.5s (84.7x, -----) ca: 6.7s (67.4x, -----) he: 7.5s (75.3x, -----) ca: 3.5s (34.9x, -----) dr: 4.8s (47.8x, -----) ma: 4.9s (48.8x, -----) heap_pdb4 valgrind-old:0.10s no: 0.7s ( 6.5x, 1.5%) me: 8.5s (84.7x, 0.0%) ca: 6.8s (67.8x, -0.6%) he: 7.6s (75.7x, -0.5%) ca: 3.5s (34.7x, 0.6%) dr: 4.9s (48.7x, -1.9%) ma: 4.8s (48.4x, 0.8%) -- many-loss-records -- many-loss-records valgrind-new:0.01s no: 0.3s (26.0x, -----) me: 1.4s (135.0x, -----) ca: 1.0s (99.0x, -----) he: 1.1s (115.0x, -----) ca: 0.7s (70.0x, -----) dr: 1.1s (106.0x, -----) ma: 1.0s (97.0x, -----) many-loss-records valgrind-old:0.01s no: 0.2s (25.0x, 3.8%) me: 1.4s (137.0x, -1.5%) ca: 1.1s (106.0x, -7.1%) he: 1.2s (122.0x, -6.1%) ca: 0.7s (70.0x, 0.0%) dr: 1.1s (108.0x, -1.9%) ma: 1.0s (100.0x, -3.1%) -- many-xpts -- many-xpts valgrind-new:0.04s no: 0.3s ( 8.0x, -----) me: 2.0s (50.2x, -----) ca: 2.7s (67.0x, -----) he: 2.3s (57.8x, -----) ca: 1.0s (25.0x, -----) dr: 1.5s (38.5x, -----) ma: 1.5s (37.5x, -----) many-xpts valgrind-old:0.04s no: 0.3s ( 7.8x, 3.1%) me: 2.0s (50.7x, -1.0%) ca: 2.7s (67.0x, 0.0%) he: 2.3s (58.0x, -0.4%) ca: 1.0s (25.0x, 0.0%) dr: 1.5s (38.5x, 0.0%) ma: 1.5s (37.8x, -0.7%) -- sarp -- sarp valgrind-new:0.02s no: 0.3s (14.5x, -----) me: 2.5s (126.5x, -----) ca: 1.8s (92.0x, -----) he: 6.4s (320.0x, -----) ca: 0.9s (47.0x, -----) dr: 1.1s (56.0x, -----) ma: 0.3s (15.0x, -----) sarp valgrind-old:0.02s no: 0.3s (14.0x, 3.4%) me: 2.5s (126.5x, 0.0%) ca: 1.8s (91.5x, 0.5%) he: 6.4s (319.0x, 0.3%) ca: 1.0s (48.0x, -2.1%) dr: 1.0s (52.0x, 7.1%) ma: 0.3s (15.0x, 0.0%) -- tinycc -- tinycc valgrind-new:0.16s no: 1.4s ( 9.1x, -----) me: 9.2s (57.8x, -----) ca:11.3s (70.4x, -----) he: 9.9s (61.9x, -----) ca: 8.3s (51.9x, -----) dr: 8.3s (51.9x, -----) ma: 2.5s (15.5x, -----) tinycc valgrind-old:0.16s no: 1.4s ( 9.1x, 0.0%) me: 9.2s (57.6x, 0.2%) ca:11.2s (70.2x, 0.3%) he: 9.9s (61.9x, 0.0%) ca: 8.2s (51.6x, 0.7%) dr: 8.3s (51.8x, 0.1%) ma: 2.5s (15.6x, -0.4%) -- Finished tests in perf ---------------------------------------------- == 11 programs, 154 timings ================= real 34m18.961s user 33m21.915s sys 0m22.434s |
|
From: Tom H. <to...@co...> - 2014-11-20 04:15:20
|
valgrind revision: 14737 VEX revision: 2995 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.17.2-200.fc20.x86_64 x86_64 Vendor version: Fedora release 16 (Verne) Nightly build on bristol ( x86_64, Fedora 16 ) Started at 2014-11-20 03:01:51 GMT Ended at 2014-11-20 04:15:08 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 == 697 tests, 1 stderr failure, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/err_disable4 (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.11s no: 1.7s (15.1x, -----) me: 3.5s (31.5x, -----) ca:14.4s (130.5x, -----) he: 2.1s (18.9x, -----) ca: 3.9s (35.0x, -----) dr: 2.0s (18.5x, -----) ma: 2.0s (18.0x, -----) bigcode1 valgrind-old:0.11s no: 1.7s (15.2x, -0.6%) me: 3.4s (30.9x, 2.0%) ca:14.4s (131.2x, -0.5%) he: 2.1s (19.0x, -0.5%) ca: 3.9s (35.3x, -0.8%) dr: 2.0s (18.4x, 1.0%) ma: 2.0s (17.8x, 1.0%) -- bigcode2 -- bigcode2 valgrind-new:0.11s no: 4.0s (36.3x, -----) me: 8.6s (78.3x, -----) ca:26.8s (244.0x, -----) he: 5.0s (45.9x, -----) ca: 7.3s (66.3x, -----) dr: 4.8s (43.6x, -----) ma: 4.7s (42.5x, -----) bigcode2 valgrind-old:0.11s no: 4.0s (36.4x, -0.3%) me: 8.7s (78.8x, -0.7%) ca:26.3s (238.8x, 2.1%) he: 5.0s (45.9x, 0.0%) ca: 7.4s (66.9x, -1.0%) dr: 4.8s (43.5x, 0.4%) ma: 4.6s (41.6x, 1.9%) -- bz2 -- bz2 valgrind-new:0.52s no: 1.6s ( 3.2x, -----) me: 5.7s (11.0x, -----) ca:13.3s (25.5x, -----) he: 8.7s (16.6x, -----) ca:10.9s (20.9x, -----) dr:10.7s (20.6x, -----) ma: 1.6s ( 3.1x, -----) bz2 valgrind-old:0.52s no: 1.6s ( 3.2x, 0.0%) me: 5.8s (11.1x, -0.9%) ca:13.3s (25.5x, -0.2%) he: 8.7s (16.7x, -0.6%) ca:10.9s (21.0x, -0.5%) dr:10.6s (20.3x, 1.4%) ma: 1.6s ( 3.1x, 0.6%) -- fbench -- fbench valgrind-new:0.22s no: 1.0s ( 4.6x, -----) me: 3.8s (17.1x, -----) ca: 5.7s (25.7x, -----) he: 2.8s (12.8x, -----) ca: 3.1s (14.1x, -----) dr: 2.7s (12.2x, -----) ma: 1.1s ( 4.8x, -----) fbench valgrind-old:0.22s no: 1.0s ( 4.7x, -2.0%) me: 3.8s (17.2x, -0.5%) ca: 5.7s (25.7x, 0.0%) he: 2.8s (12.8x, 0.0%) ca: 3.1s (14.2x, -0.3%) dr: 2.7s (12.1x, 0.4%) ma: 1.1s ( 4.8x, 0.9%) -- ffbench -- ffbench valgrind-new:0.21s no: 0.9s ( 4.5x, -----) me: 2.9s (14.0x, -----) ca: 1.9s ( 8.9x, -----) he: 5.6s (26.6x, -----) ca: 4.2s (20.0x, -----) dr: 3.5s (16.4x, -----) ma: 0.9s ( 4.2x, -----) ffbench valgrind-old:0.21s no: 0.9s ( 4.5x, 0.0%) me: 2.9s (14.0x, 0.0%) ca: 1.9s ( 8.9x, 0.5%) he: 5.3s (25.0x, 5.7%) ca: 4.2s (19.9x, 0.2%) dr: 3.5s (16.4x, 0.0%) ma: 0.9s ( 4.2x, 0.0%) -- heap -- heap valgrind-new:0.08s no: 0.6s ( 7.9x, -----) me: 5.1s (64.2x, -----) ca: 6.6s (83.0x, -----) he: 6.8s (84.5x, -----) ca: 3.3s (41.1x, -----) dr: 4.5s (55.6x, -----) ma: 4.7s (58.4x, -----) heap valgrind-old:0.08s no: 0.6s ( 7.9x, 0.0%) me: 5.2s (65.4x, -1.8%) ca: 6.6s (82.5x, 0.6%) he: 6.8s (84.4x, 0.1%) ca: 3.3s (41.1x, 0.0%) dr: 4.6s (57.2x, -2.9%) ma: 4.7s (58.2x, 0.2%) -- heap_pdb4 -- heap_pdb4 valgrind-new:0.11s no: 0.7s ( 6.3x, -----) me: 8.7s (78.7x, -----) ca: 7.3s (66.2x, -----) he: 8.0s (73.0x, -----) ca: 3.6s (32.5x, -----) dr: 5.0s (45.4x, -----) ma: 4.8s (43.2x, -----) heap_pdb4 valgrind-old:0.11s no: 0.7s ( 5.9x, 5.8%) me: 8.6s (77.7x, 1.3%) ca: 7.2s (65.4x, 1.2%) he: 7.9s (71.6x, 1.9%) ca: 3.6s (32.5x, 0.0%) dr: 5.0s (45.0x, 0.8%) ma: 4.8s (43.3x, -0.2%) -- many-loss-records -- many-loss-records valgrind-new:0.01s no: 0.2s (25.0x, -----) me: 1.4s (140.0x, -----) ca: 1.0s (104.0x, -----) he: 1.2s (120.0x, -----) ca: 0.7s (67.0x, -----) dr: 1.1s (107.0x, -----) ma: 0.9s (93.0x, -----) many-loss-records valgrind-old:0.01s no: 0.3s (26.0x, -4.0%) me: 1.4s (142.0x, -1.4%) ca: 1.0s (104.0x, 0.0%) he: 1.2s (120.0x, 0.0%) ca: 0.7s (66.0x, 1.5%) dr: 1.1s (109.0x, -1.9%) ma: 0.9s (93.0x, 0.0%) -- many-xpts -- many-xpts valgrind-new:0.03s no: 0.3s (10.0x, -----) me: 1.9s (62.7x, -----) ca: 2.7s (90.3x, -----) he: 2.2s (74.7x, -----) ca: 1.0s (32.3x, -----) dr: 1.5s (49.7x, -----) ma: 1.4s (46.3x, -----) many-xpts valgrind-old:0.03s no: 0.3s (10.3x, -3.3%) me: 1.9s (63.7x, -1.6%) ca: 2.7s (89.7x, 0.7%) he: 2.2s (74.0x, 0.9%) ca: 1.0s (32.3x, 0.0%) dr: 1.5s (49.7x, 0.0%) ma: 1.4s (46.7x, -0.7%) -- sarp -- sarp valgrind-new:0.02s no: 0.3s (14.0x, -----) me: 2.5s (124.5x, -----) ca: 1.7s (85.5x, -----) he: 6.4s (320.5x, -----) ca: 0.9s (45.0x, -----) dr: 1.1s (52.5x, -----) ma: 0.3s (14.5x, -----) sarp valgrind-old:0.02s no: 0.3s (14.5x, -3.6%) me: 2.5s (123.0x, 1.2%) ca: 1.7s (86.0x, -0.6%) he: 6.4s (318.0x, 0.8%) ca: 0.9s (45.0x, 0.0%) dr: 1.0s (50.0x, 4.8%) ma: 0.3s (14.5x, 0.0%) -- tinycc -- tinycc valgrind-new:0.15s no: 1.4s ( 9.5x, -----) me: 8.7s (58.2x, -----) ca:10.8s (71.8x, -----) he: 9.4s (63.0x, -----) ca: 7.9s (52.5x, -----) dr: 7.8s (51.9x, -----) ma: 2.3s (15.5x, -----) tinycc valgrind-old:0.15s no: 1.4s ( 9.3x, 2.1%) me: 8.8s (58.7x, -0.9%) ca:10.6s (70.8x, 1.4%) he: 9.4s (62.8x, 0.3%) ca: 7.8s (52.1x, 0.6%) dr: 7.8s (51.7x, 0.3%) ma: 2.4s (16.2x, -4.3%) -- Finished tests in perf ---------------------------------------------- == 11 programs, 154 timings ================= real 34m23.602s user 33m30.574s sys 0m23.466s |
|
From: Tom H. <to...@co...> - 2014-11-20 04:04:38
|
valgrind revision: 14737 VEX revision: 2995 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.17.2-200.fc20.x86_64 x86_64 Vendor version: Fedora 17 (Beefy Miracle) Nightly build on bristol ( x86_64, Fedora 17 (Beefy Miracle) ) Started at 2014-11-20 02:50:55 GMT Ended at 2014-11-20 04:04:23 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 == 697 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/err_disable4 (stderr) exp-sgcheck/tests/preen_invars (stdout) exp-sgcheck/tests/preen_invars (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.10s no: 1.7s (16.7x, -----) me: 3.4s (33.5x, -----) ca:13.3s (133.4x, -----) he: 2.1s (21.0x, -----) ca: 3.8s (37.5x, -----) dr: 2.1s (20.7x, -----) ma: 2.0s (19.9x, -----) bigcode1 valgrind-old:0.10s no: 1.7s (16.7x, 0.0%) me: 3.4s (33.7x, -0.6%) ca:13.3s (132.7x, 0.5%) he: 2.1s (21.0x, 0.0%) ca: 3.7s (37.3x, 0.5%) dr: 2.0s (20.4x, 1.4%) ma: 2.0s (19.9x, 0.0%) -- bigcode2 -- bigcode2 valgrind-new:0.11s no: 4.0s (36.4x, -----) me: 8.7s (78.7x, -----) ca:26.1s (237.1x, -----) he: 5.1s (46.4x, -----) ca: 7.2s (65.0x, -----) dr: 4.8s (43.7x, -----) ma: 4.6s (42.2x, -----) bigcode2 valgrind-old:0.11s no: 4.0s (36.3x, 0.2%) me: 8.6s (78.4x, 0.5%) ca:26.1s (237.1x, 0.0%) he: 5.0s (45.9x, 1.0%) ca: 7.2s (65.2x, -0.3%) dr: 4.8s (43.5x, 0.4%) ma: 4.6s (41.7x, 1.1%) -- bz2 -- bz2 valgrind-new:0.52s no: 1.6s ( 3.1x, -----) me: 5.7s (11.0x, -----) ca:12.1s (23.2x, -----) he: 8.8s (16.8x, -----) ca:10.3s (19.8x, -----) dr:10.7s (20.6x, -----) ma: 1.6s ( 3.1x, -----) bz2 valgrind-old:0.52s no: 1.6s ( 3.1x, 0.0%) me: 5.7s (11.0x, 0.2%) ca:12.1s (23.2x, 0.2%) he: 8.7s (16.7x, 0.7%) ca:10.2s (19.7x, 0.3%) dr:10.7s (20.7x, -0.1%) ma: 1.6s ( 3.1x, 0.0%) -- fbench -- fbench valgrind-new:0.22s no: 1.0s ( 4.6x, -----) me: 3.6s (16.6x, -----) ca: 5.4s (24.7x, -----) he: 2.7s (12.2x, -----) ca: 3.0s (13.5x, -----) dr: 2.5s (11.5x, -----) ma: 1.1s ( 4.9x, -----) fbench valgrind-old:0.22s no: 1.0s ( 4.6x, 0.0%) me: 3.6s (16.6x, 0.0%) ca: 5.4s (24.7x, 0.0%) he: 2.6s (12.0x, 1.1%) ca: 2.9s (13.3x, 1.7%) dr: 2.5s (11.5x, 0.8%) ma: 1.1s ( 4.9x, 0.9%) -- ffbench -- ffbench valgrind-new:0.21s no: 0.9s ( 4.5x, -----) me: 3.0s (14.1x, -----) ca: 1.8s ( 8.8x, -----) he: 6.8s (32.2x, -----) ca: 4.0s (19.0x, -----) dr: 3.5s (16.4x, -----) ma: 0.9s ( 4.3x, -----) ffbench valgrind-old:0.21s no: 0.9s ( 4.5x, 1.1%) me: 3.0s (14.2x, -0.3%) ca: 1.8s ( 8.7x, 0.5%) he: 6.9s (32.8x, -1.8%) ca: 4.0s (19.1x, -0.5%) dr: 3.4s (16.3x, 0.6%) ma: 0.9s ( 4.3x, 1.1%) -- heap -- heap valgrind-new:0.07s no: 0.6s ( 8.4x, -----) me: 5.3s (75.9x, -----) ca: 6.0s (85.7x, -----) he: 6.8s (96.9x, -----) ca: 3.1s (45.0x, -----) dr: 4.6s (65.4x, -----) ma: 4.6s (66.0x, -----) heap valgrind-old:0.07s no: 0.6s ( 8.6x, -1.7%) me: 5.2s (74.1x, 2.3%) ca: 6.0s (85.6x, 0.2%) he: 6.8s (97.3x, -0.4%) ca: 3.0s (43.6x, 3.2%) dr: 4.6s (65.1x, 0.4%) ma: 4.6s (65.6x, 0.6%) -- heap_pdb4 -- heap_pdb4 valgrind-new:0.11s no: 0.7s ( 5.9x, -----) me: 9.1s (82.9x, -----) ca: 6.7s (60.5x, -----) he: 7.9s (72.1x, -----) ca: 3.4s (30.9x, -----) dr: 5.0s (45.8x, -----) ma: 4.9s (44.6x, -----) heap_pdb4 valgrind-old:0.11s no: 0.7s ( 6.0x, -1.5%) me: 9.1s (83.1x, -0.2%) ca: 6.7s (60.5x, 0.0%) he: 7.9s (72.0x, 0.1%) ca: 3.4s (30.8x, 0.3%) dr: 5.0s (45.8x, 0.0%) ma: 4.9s (44.5x, 0.4%) -- many-loss-records -- many-loss-records valgrind-new:0.01s no: 0.2s (25.0x, -----) me: 1.4s (145.0x, -----) ca: 1.0s (100.0x, -----) he: 1.3s (130.0x, -----) ca: 0.6s (64.0x, -----) dr: 1.1s (114.0x, -----) ma: 1.0s (103.0x, -----) many-loss-records valgrind-old:0.01s no: 0.3s (26.0x, -4.0%) me: 1.5s (146.0x, -0.7%) ca: 1.0s (100.0x, 0.0%) he: 1.3s (128.0x, 1.5%) ca: 0.6s (64.0x, 0.0%) dr: 1.1s (114.0x, 0.0%) ma: 1.0s (102.0x, 1.0%) -- many-xpts -- many-xpts valgrind-new:0.03s no: 0.3s (10.7x, -----) me: 2.0s (65.3x, -----) ca: 2.6s (88.0x, -----) he: 2.4s (79.0x, -----) ca: 0.9s (30.3x, -----) dr: 1.5s (50.3x, -----) ma: 1.5s (50.7x, -----) many-xpts valgrind-old:0.03s no: 0.3s (10.7x, 0.0%) me: 1.9s (65.0x, 0.5%) ca: 2.6s (88.0x, 0.0%) he: 2.4s (78.7x, 0.4%) ca: 0.9s (30.3x, 0.0%) dr: 1.5s (50.0x, 0.7%) ma: 1.5s (50.0x, 1.3%) -- sarp -- sarp valgrind-new:0.02s no: 0.3s (14.0x, -----) me: 2.2s (111.0x, -----) ca: 1.7s (84.5x, -----) he: 7.5s (377.0x, -----) ca: 1.0s (48.5x, -----) dr: 1.0s (50.0x, -----) ma: 0.3s (15.0x, -----) sarp valgrind-old:0.02s no: 0.3s (14.0x, 0.0%) me: 2.2s (111.0x, 0.0%) ca: 1.7s (84.5x, 0.0%) he: 7.5s (375.0x, 0.5%) ca: 1.0s (48.5x, 0.0%) dr: 1.0s (49.0x, 2.0%) ma: 0.3s (15.0x, 0.0%) -- tinycc -- tinycc valgrind-new:0.16s no: 1.4s ( 8.6x, -----) me: 8.5s (53.3x, -----) ca:10.6s (66.0x, -----) he: 9.7s (60.4x, -----) ca: 7.5s (46.8x, -----) dr: 7.7s (47.8x, -----) ma: 2.4s (15.2x, -----) tinycc valgrind-old:0.16s no: 1.4s ( 8.6x, -0.7%) me: 8.6s (53.6x, -0.5%) ca:10.6s (66.2x, -0.4%) he: 9.7s (60.3x, 0.1%) ca: 7.5s (46.9x, -0.3%) dr: 7.7s (47.9x, -0.1%) ma: 2.4s (14.9x, 2.1%) -- Finished tests in perf ---------------------------------------------- == 11 programs, 154 timings ================= real 34m15.040s user 33m17.250s sys 0m23.265s |
|
From: Tom H. <to...@co...> - 2014-11-20 03:56:06
|
valgrind revision: 14737 VEX revision: 2995 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.17.2-200.fc20.x86_64 x86_64 Vendor version: Fedora 18 (Spherical Cow) Nightly build on bristol ( x86_64, Fedora 18 (Spherical Cow) ) Started at 2014-11-20 02:41:04 GMT Ended at 2014-11-20 03:55:53 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 == 697 tests, 2 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/err_disable4 (stderr) exp-sgcheck/tests/preen_invars (stdout) exp-sgcheck/tests/preen_invars (stderr) --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.11s no: 1.7s (15.1x, -----) me: 3.5s (31.5x, -----) ca:13.4s (121.9x, -----) he: 2.1s (19.1x, -----) ca: 3.7s (33.9x, -----) dr: 2.0s (18.5x, -----) ma: 2.0s (17.8x, -----) bigcode1 valgrind-old:0.11s no: 1.6s (15.0x, 0.6%) me: 3.5s (31.5x, -0.3%) ca:13.3s (121.3x, 0.5%) he: 2.1s (19.0x, 0.5%) ca: 3.7s (33.7x, 0.5%) dr: 2.0s (18.6x, -0.5%) ma: 2.0s (17.8x, 0.0%) -- bigcode2 -- bigcode2 valgrind-new:0.11s no: 4.0s (36.3x, -----) me: 8.6s (78.1x, -----) ca:26.1s (237.3x, -----) he: 5.0s (45.8x, -----) ca: 7.2s (65.2x, -----) dr: 4.8s (43.5x, -----) ma: 4.6s (41.7x, -----) bigcode2 valgrind-old:0.11s no: 4.0s (36.3x, 0.0%) me: 8.6s (78.5x, -0.5%) ca:26.2s (238.5x, -0.5%) he: 5.1s (46.1x, -0.6%) ca: 7.1s (64.8x, 0.6%) dr: 4.8s (44.1x, -1.3%) ma: 4.6s (41.6x, 0.2%) -- bz2 -- bz2 valgrind-new:0.52s no: 1.6s ( 3.2x, -----) me: 5.8s (11.1x, -----) ca:12.1s (23.3x, -----) he: 8.7s (16.6x, -----) ca:10.2s (19.7x, -----) dr:11.0s (21.2x, -----) ma: 1.6s ( 3.1x, -----) bz2 valgrind-old:0.52s no: 1.7s ( 3.2x, -1.2%) me: 5.7s (11.0x, 0.5%) ca:12.1s (23.3x, -0.1%) he: 8.7s (16.8x, -0.7%) ca:10.3s (19.8x, -0.6%) dr:11.1s (21.3x, -0.6%) ma: 1.6s ( 3.2x, -0.6%) -- fbench -- fbench valgrind-new:0.22s no: 1.0s ( 4.7x, -----) me: 3.6s (16.5x, -----) ca: 5.5s (25.1x, -----) he: 2.7s (12.5x, -----) ca: 3.1s (14.0x, -----) dr: 2.6s (11.6x, -----) ma: 1.1s ( 4.9x, -----) fbench valgrind-old:0.22s no: 1.0s ( 4.6x, 1.0%) me: 3.6s (16.5x, 0.0%) ca: 5.4s (24.7x, 1.6%) he: 2.7s (12.4x, 0.4%) ca: 3.1s (13.9x, 0.6%) dr: 2.5s (11.5x, 1.6%) ma: 1.1s ( 4.9x, 0.9%) -- ffbench -- ffbench valgrind-new:0.21s no: 1.0s ( 4.6x, -----) me: 3.0s (14.3x, -----) ca: 1.8s ( 8.8x, -----) he: 7.4s (35.2x, -----) ca: 4.2s (19.9x, -----) dr: 3.6s (17.0x, -----) ma: 0.9s ( 4.3x, -----) ffbench valgrind-old:0.21s no: 1.0s ( 4.6x, -1.0%) me: 3.0s (14.3x, -0.3%) ca: 1.8s ( 8.8x, -0.0%) he: 7.3s (35.0x, 0.8%) ca: 4.1s (19.6x, 1.4%) dr: 3.5s (16.7x, 2.0%) ma: 0.9s ( 4.3x, 1.1%) -- heap -- heap valgrind-new:0.08s no: 0.6s ( 7.6x, -----) me: 5.4s (67.2x, -----) ca: 6.1s (76.5x, -----) he: 7.1s (88.5x, -----) ca: 3.0s (37.9x, -----) dr: 4.6s (57.0x, -----) ma: 4.8s (59.4x, -----) heap valgrind-old:0.08s no: 0.6s ( 7.5x, 1.6%) me: 5.4s (67.6x, -0.6%) ca: 6.1s (76.4x, 0.2%) he: 7.0s (86.9x, 1.8%) ca: 3.0s (37.9x, 0.0%) dr: 4.5s (56.6x, 0.7%) ma: 4.7s (58.5x, 1.5%) -- heap_pdb4 -- heap_pdb4 valgrind-new:0.11s no: 0.7s ( 6.2x, -----) me: 9.0s (82.2x, -----) ca: 6.6s (60.0x, -----) he: 8.1s (73.3x, -----) ca: 3.4s (31.1x, -----) dr: 5.1s (46.3x, -----) ma: 5.0s (45.0x, -----) heap_pdb4 valgrind-old:0.11s no: 0.7s ( 6.2x, 0.0%) me: 9.0s (82.2x, 0.0%) ca: 6.7s (60.5x, -0.8%) he: 8.1s (73.4x, -0.1%) ca: 3.4s (31.1x, 0.0%) dr: 5.1s (46.0x, 0.6%) ma: 5.0s (45.1x, -0.2%) -- many-loss-records -- many-loss-records valgrind-new:0.01s no: 0.3s (26.0x, -----) me: 1.5s (149.0x, -----) ca: 1.0s (100.0x, -----) he: 1.3s (130.0x, -----) ca: 0.7s (65.0x, -----) dr: 1.1s (115.0x, -----) ma: 1.0s (102.0x, -----) many-loss-records valgrind-old:0.01s no: 0.3s (26.0x, 0.0%) me: 1.5s (147.0x, 1.3%) ca: 1.0s (100.0x, 0.0%) he: 1.3s (130.0x, 0.0%) ca: 0.7s (65.0x, 0.0%) dr: 1.1s (115.0x, 0.0%) ma: 1.0s (103.0x, -1.0%) -- many-xpts -- many-xpts valgrind-new:0.03s no: 0.3s (10.7x, -----) me: 2.0s (66.0x, -----) ca: 2.6s (87.0x, -----) he: 2.4s (80.3x, -----) ca: 0.9s (31.0x, -----) dr: 1.5s (50.7x, -----) ma: 1.5s (51.0x, -----) many-xpts valgrind-old:0.03s no: 0.3s (10.3x, 3.1%) me: 2.0s (66.3x, -0.5%) ca: 2.6s (87.0x, 0.0%) he: 2.4s (80.3x, 0.0%) ca: 0.9s (30.7x, 1.1%) dr: 1.5s (51.3x, -1.3%) ma: 1.5s (51.0x, 0.0%) -- sarp -- sarp valgrind-new:0.01s no: 0.3s (28.0x, -----) me: 2.5s (248.0x, -----) ca: 1.7s (171.0x, -----) he: 7.5s (745.0x, -----) ca: 0.9s (90.0x, -----) dr: 1.0s (98.0x, -----) ma: 0.3s (30.0x, -----) sarp valgrind-old:0.01s no: 0.3s (28.0x, 0.0%) me: 2.5s (245.0x, 1.2%) ca: 1.7s (170.0x, 0.6%) he: 7.4s (743.0x, 0.3%) ca: 0.9s (90.0x, 0.0%) dr: 1.0s (99.0x, -1.0%) ma: 0.3s (30.0x, 0.0%) -- tinycc -- tinycc valgrind-new:0.15s no: 1.4s ( 9.1x, -----) me: 8.6s (57.5x, -----) ca:10.7s (71.2x, -----) he: 9.8s (65.4x, -----) ca: 7.5s (49.9x, -----) dr: 7.8s (51.9x, -----) ma: 2.4s (16.1x, -----) tinycc valgrind-old:0.15s no: 1.4s ( 9.2x, -1.5%) me: 8.6s (57.5x, -0.1%) ca:10.6s (70.9x, 0.4%) he: 9.8s (65.1x, 0.5%) ca: 7.5s (50.3x, -0.9%) dr: 7.8s (52.0x, -0.1%) ma: 2.4s (16.1x, 0.0%) -- Finished tests in perf ---------------------------------------------- == 11 programs, 154 timings ================= real 35m32.691s user 33m35.175s sys 0m24.756s |
|
From: Tom H. <to...@co...> - 2014-11-20 03:46:03
|
valgrind revision: 14737
VEX revision: 2995
C compiler: gcc (GCC) 4.8.3 20140911 (Red Hat 4.8.3-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.17.2-200.fc20.x86_64 x86_64
Vendor version: Fedora 19 (Schrödingerâs Cat)
Nightly build on bristol ( x86_64, Fedora 19 (Schrödingerâs Cat) )
Started at 2014-11-20 02:31:35 GMT
Ended at 2014-11-20 03:45:46 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
== 697 tests, 1 stderr failure, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
memcheck/tests/err_disable4 (stderr)
=================================================
== Results from 24 hours ago ==
=================================================
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... done
Regression test results follow
== 697 tests, 0 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
=================================================
== Difference between 24 hours ago and now ==
=================================================
*** old.short 2014-11-20 02:51:13.541235088 +0000
--- new.short 2014-11-20 03:11:21.626670076 +0000
***************
*** 4,6 ****
Building valgrind ... done
! Running regression tests ... done
--- 4,6 ----
Building valgrind ... done
! Running regression tests ... failed
***************
*** 8,10 ****
! == 697 tests, 0 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
--- 8,11 ----
! == 697 tests, 1 stderr failure, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
! memcheck/tests/err_disable4 (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.11s no: 1.7s (15.2x, -----) me: 3.5s (31.4x, -----) ca:13.3s (120.6x, -----) he: 2.1s (19.0x, -----) ca: 3.8s (34.5x, -----) dr: 2.0s (18.6x, -----) ma: 2.0s (17.8x, -----)
bigcode1 valgrind-old:0.11s no: 1.6s (15.0x, 1.2%) me: 3.5s (31.5x, -0.3%) ca:13.5s (122.4x, -1.4%) he: 2.1s (19.1x, -0.5%) ca: 3.8s (34.6x, -0.3%) dr: 2.0s (18.5x, 0.5%) ma: 2.0s (17.8x, 0.0%)
-- bigcode2 --
bigcode2 valgrind-new:0.11s no: 4.0s (36.0x, -----) me: 8.6s (77.9x, -----) ca:27.2s (247.4x, -----) he: 5.0s (45.5x, -----) ca: 7.1s (64.8x, -----) dr: 4.8s (43.3x, -----) ma: 4.6s (41.7x, -----)
bigcode2 valgrind-old:0.11s no: 4.0s (36.6x, -1.8%) me: 8.8s (80.1x, -2.8%) ca:28.0s (254.3x, -2.8%) he: 5.0s (45.4x, 0.2%) ca: 7.4s (67.1x, -3.5%) dr: 4.8s (43.2x, 0.2%) ma: 4.6s (41.5x, 0.7%)
-- bz2 --
bz2 valgrind-new:0.49s no: 1.6s ( 3.3x, -----) me: 5.8s (11.8x, -----) ca:12.6s (25.7x, -----) he: 8.8s (17.9x, -----) ca:10.4s (21.2x, -----) dr:10.8s (22.0x, -----) ma: 1.6s ( 3.3x, -----)
bz2 valgrind-old:0.49s no: 1.6s ( 3.3x, 0.6%) me: 5.7s (11.7x, 0.5%) ca:12.6s (25.6x, 0.2%) he: 8.9s (18.2x, -2.1%) ca:10.5s (21.3x, -0.5%) dr:10.8s (22.0x, -0.2%) ma: 1.6s ( 3.3x, -0.6%)
-- fbench --
fbench valgrind-new:0.22s no: 1.0s ( 4.7x, -----) me: 3.5s (15.8x, -----) ca: 5.7s (25.7x, -----) he: 2.8s (12.8x, -----) ca: 3.0s (13.6x, -----) dr: 2.7s (12.2x, -----) ma: 1.1s ( 4.8x, -----)
fbench valgrind-old:0.22s no: 1.0s ( 4.6x, 1.0%) me: 3.5s (15.8x, 0.0%) ca: 5.6s (25.5x, 0.7%) he: 2.8s (12.7x, 1.1%) ca: 3.0s (13.7x, -0.7%) dr: 3.0s (13.4x,-10.1%) ma: 1.1s ( 4.9x, -0.9%)
-- ffbench --
ffbench valgrind-new:0.25s no: 1.0s ( 3.9x, -----) me: 3.1s (12.3x, -----) ca: 1.9s ( 7.8x, -----) he: 6.4s (25.6x, -----) ca: 4.5s (18.0x, -----) dr: 3.4s (13.7x, -----) ma: 0.9s ( 3.6x, -----)
ffbench valgrind-old:0.25s no: 1.0s ( 3.8x, 2.0%) me: 3.0s (12.0x, 2.6%) ca: 1.9s ( 7.5x, 3.1%) he: 6.1s (24.5x, 4.1%) ca: 4.4s (17.7x, 1.3%) dr: 3.5s (14.2x, -3.2%) ma: 0.9s ( 3.6x, 0.0%)
-- heap --
heap valgrind-new:0.08s no: 0.6s ( 7.6x, -----) me: 5.0s (62.6x, -----) ca: 6.0s (75.1x, -----) he: 6.6s (82.9x, -----) ca: 3.2s (40.2x, -----) dr: 4.5s (56.4x, -----) ma: 4.9s (61.4x, -----)
heap valgrind-old:0.08s no: 0.6s ( 7.9x, -3.3%) me: 5.1s (63.5x, -1.4%) ca: 6.0s (74.6x, 0.7%) he: 6.8s (84.4x, -1.8%) ca: 3.2s (40.4x, -0.3%) dr: 4.5s (56.6x, -0.4%) ma: 4.9s (60.8x, 1.0%)
-- heap_pdb4 --
heap_pdb4 valgrind-new:0.10s no: 0.7s ( 6.8x, -----) me: 8.9s (89.2x, -----) ca: 6.6s (66.0x, -----) he: 7.8s (78.4x, -----) ca: 3.5s (35.4x, -----) dr: 5.2s (52.2x, -----) ma: 5.2s (52.4x, -----)
heap_pdb4 valgrind-old:0.10s no: 0.7s ( 6.9x, -1.5%) me: 8.9s (89.1x, 0.1%) ca: 6.6s (66.1x, -0.2%) he: 7.6s (75.8x, 3.3%) ca: 3.5s (35.3x, 0.3%) dr: 5.2s (51.8x, 0.8%) ma: 5.2s (52.2x, 0.4%)
-- many-loss-records --
many-loss-records valgrind-new:0.01s no: 0.3s (26.0x, -----) me: 1.4s (145.0x, -----) ca: 1.0s (102.0x, -----) he: 1.3s (129.0x, -----) ca: 0.7s (66.0x, -----) dr: 1.2s (120.0x, -----) ma: 1.1s (108.0x, -----)
many-loss-records valgrind-old:0.01s no: 0.3s (26.0x, 0.0%) me: 1.4s (144.0x, 0.7%) ca: 1.0s (100.0x, 2.0%) he: 1.3s (129.0x, 0.0%) ca: 0.7s (67.0x, -1.5%) dr: 1.2s (120.0x, 0.0%) ma: 1.1s (108.0x, 0.0%)
-- many-xpts --
many-xpts valgrind-new:0.03s no: 0.3s (10.3x, -----) me: 1.6s (54.0x, -----) ca: 2.6s (87.3x, -----) he: 2.2s (74.0x, -----) ca: 0.9s (31.3x, -----) dr: 1.6s (51.7x, -----) ma: 1.6s (52.0x, -----)
many-xpts valgrind-old:0.03s no: 0.3s (10.7x, -3.2%) me: 1.6s (53.3x, 1.2%) ca: 2.6s (87.0x, 0.4%) he: 2.2s (73.7x, 0.5%) ca: 1.0s (32.0x, -2.1%) dr: 1.6s (52.0x, -0.6%) ma: 1.6s (51.7x, 0.6%)
-- sarp --
sarp valgrind-new:0.02s no: 0.3s (14.5x, -----) me: 2.3s (115.0x, -----) ca: 1.7s (85.5x, -----) he: 6.1s (305.0x, -----) ca: 0.9s (45.5x, -----) dr: 1.1s (54.0x, -----) ma: 0.3s (16.5x, -----)
sarp valgrind-old:0.02s no: 0.3s (14.5x, 0.0%) me: 2.3s (115.5x, -0.4%) ca: 1.7s (86.0x, -0.6%) he: 6.1s (305.0x, 0.0%) ca: 0.9s (46.0x, -1.1%) dr: 1.1s (54.5x, -0.9%) ma: 0.3s (17.5x, -6.1%)
-- tinycc --
tinycc valgrind-new:0.16s no: 1.4s ( 8.8x, -----) me: 7.9s (49.1x, -----) ca:10.6s (66.2x, -----) he: 9.8s (61.2x, -----) ca: 7.7s (48.2x, -----) dr: 8.1s (50.4x, -----) ma: 2.4s (15.2x, -----)
tinycc valgrind-old:0.16s no: 1.4s ( 8.6x, 2.1%) me: 7.9s (49.2x, -0.1%) ca:10.7s (66.6x, -0.6%) he: 9.9s (62.1x, -1.4%) ca: 7.8s (48.6x, -0.8%) dr: 8.1s (50.4x, -0.1%) ma: 2.5s (15.3x, -0.8%)
-- Finished tests in perf ----------------------------------------------
== 11 programs, 154 timings =================
real 34m24.948s
user 33m30.318s
sys 0m25.455s
|
|
From: Tom H. <to...@co...> - 2014-11-20 03:36:08
|
valgrind revision: 14737
VEX revision: 2995
C compiler: gcc (GCC) 4.8.3 20140911 (Red Hat 4.8.3-7)
GDB: GNU gdb (GDB) Fedora 7.7.1-21.fc20
Assembler: GNU assembler version 2.23.2
C library: GNU C Library (GNU libc) stable release version 2.18
uname -mrs: Linux 3.17.2-200.fc20.x86_64 x86_64
Vendor version: Fedora 20 (Heisenbug)
Nightly build on bristol ( x86_64, Fedora 20 )
Started at 2014-11-20 02:21:49 GMT
Ended at 2014-11-20 03:35:55 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
== 697 tests, 1 stderr failure, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
memcheck/tests/err_disable4 (stderr)
=================================================
== Results from 24 hours ago ==
=================================================
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... done
Regression test results follow
== 697 tests, 0 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
=================================================
== Difference between 24 hours ago and now ==
=================================================
*** old.short 2014-11-20 02:41:28.946356405 +0000
--- new.short 2014-11-20 03:01:16.854759395 +0000
***************
*** 4,6 ****
Building valgrind ... done
! Running regression tests ... done
--- 4,6 ----
Building valgrind ... done
! Running regression tests ... failed
***************
*** 8,10 ****
! == 697 tests, 0 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
--- 8,11 ----
! == 697 tests, 1 stderr failure, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
! memcheck/tests/err_disable4 (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.10s no: 1.6s (16.4x, -----) me: 3.4s (33.6x, -----) ca:13.2s (131.7x, -----) he: 2.1s (20.9x, -----) ca: 3.8s (38.0x, -----) dr: 2.1s (20.6x, -----) ma: 2.0s (19.6x, -----)
bigcode1 valgrind-old:0.10s no: 1.6s (16.5x, -0.6%) me: 3.4s (33.7x, -0.3%) ca:13.4s (133.6x, -1.4%) he: 2.1s (20.8x, 0.5%) ca: 3.8s (37.9x, 0.3%) dr: 2.0s (20.4x, 1.0%) ma: 1.9s (19.4x, 1.0%)
-- bigcode2 --
bigcode2 valgrind-new:0.11s no: 4.0s (36.1x, -----) me: 8.6s (78.0x, -----) ca:26.3s (239.4x, -----) he: 5.0s (45.4x, -----) ca: 7.2s (65.0x, -----) dr: 4.7s (42.8x, -----) ma: 4.5s (40.7x, -----)
bigcode2 valgrind-old:0.11s no: 4.0s (36.4x, -0.8%) me: 8.6s (78.2x, -0.2%) ca:25.7s (233.9x, 2.3%) he: 5.0s (45.2x, 0.4%) ca: 7.1s (64.8x, 0.3%) dr: 4.7s (43.0x, -0.4%) ma: 4.6s (42.1x, -3.3%)
-- bz2 --
bz2 valgrind-new:0.51s no: 1.5s ( 3.0x, -----) me: 5.7s (11.2x, -----) ca:12.6s (24.7x, -----) he: 8.6s (16.8x, -----) ca:10.5s (20.5x, -----) dr:10.5s (20.5x, -----) ma: 1.6s ( 3.2x, -----)
bz2 valgrind-old:0.51s no: 1.6s ( 3.1x, -3.2%) me: 5.7s (11.2x, -0.5%) ca:12.6s (24.7x, 0.0%) he: 8.6s (16.9x, -0.7%) ca:10.6s (20.7x, -1.1%) dr:10.7s (20.9x, -1.9%) ma: 1.7s ( 3.4x, -6.8%)
-- fbench --
fbench valgrind-new:0.22s no: 1.0s ( 4.7x, -----) me: 3.5s (15.9x, -----) ca: 5.6s (25.3x, -----) he: 2.7s (12.2x, -----) ca: 3.2s (14.5x, -----) dr: 2.6s (11.7x, -----) ma: 1.1s ( 4.9x, -----)
fbench valgrind-old:0.22s no: 1.0s ( 4.6x, 1.0%) me: 3.5s (15.7x, 0.9%) ca: 5.6s (25.4x, -0.2%) he: 2.7s (12.2x, 0.4%) ca: 3.1s (13.9x, 3.8%) dr: 2.6s (11.7x, -0.4%) ma: 1.1s ( 4.8x, 0.9%)
-- ffbench --
ffbench valgrind-new:0.23s no: 1.0s ( 4.3x, -----) me: 3.0s (13.2x, -----) ca: 1.9s ( 8.3x, -----) he: 6.8s (29.4x, -----) ca: 4.6s (20.0x, -----) dr: 3.5s (15.2x, -----) ma: 0.9s ( 4.0x, -----)
ffbench valgrind-old:0.23s no: 1.0s ( 4.2x, 2.0%) me: 3.1s (13.3x, -1.0%) ca: 2.0s ( 8.7x, -4.2%) he: 7.1s (30.9x, -5.0%) ca: 4.5s (19.5x, 2.6%) dr: 3.5s (15.2x, 0.3%) ma: 0.9s ( 4.0x, -2.2%)
-- heap --
heap valgrind-new:0.08s no: 0.6s ( 7.8x, -----) me: 5.0s (62.9x, -----) ca: 6.1s (76.0x, -----) he: 6.7s (84.1x, -----) ca: 3.4s (42.1x, -----) dr: 4.8s (59.4x, -----) ma: 4.9s (60.9x, -----)
heap valgrind-old:0.08s no: 0.6s ( 7.6x, 1.6%) me: 5.0s (62.0x, 1.4%) ca: 6.1s (76.2x, -0.3%) he: 6.7s (83.1x, 1.2%) ca: 3.3s (41.5x, 1.5%) dr: 4.8s (59.9x, -0.8%) ma: 4.8s (60.4x, 0.8%)
-- heap_pdb4 --
heap_pdb4 valgrind-new:0.10s no: 0.7s ( 6.9x, -----) me: 8.8s (88.0x, -----) ca: 6.7s (66.7x, -----) he: 7.7s (76.6x, -----) ca: 3.6s (36.4x, -----) dr: 5.3s (53.1x, -----) ma: 5.1s (51.2x, -----)
heap_pdb4 valgrind-old:0.10s no: 0.7s ( 6.9x, -0.0%) me: 8.8s (88.2x, -0.2%) ca: 6.7s (67.0x, -0.4%) he: 7.7s (76.7x, -0.1%) ca: 3.6s (35.9x, 1.4%) dr: 5.3s (52.6x, 0.9%) ma: 5.2s (51.7x, -1.0%)
-- many-loss-records --
many-loss-records valgrind-new:0.01s no: 0.3s (26.0x, -----) me: 1.4s (143.0x, -----) ca: 1.0s (100.0x, -----) he: 1.2s (123.0x, -----) ca: 0.7s (66.0x, -----) dr: 1.2s (116.0x, -----) ma: 1.1s (105.0x, -----)
many-loss-records valgrind-old:0.01s no: 0.3s (26.0x, 0.0%) me: 1.4s (142.0x, 0.7%) ca: 1.0s (100.0x, 0.0%) he: 1.3s (131.0x, -6.5%) ca: 0.7s (69.0x, -4.5%) dr: 1.2s (116.0x, 0.0%) ma: 1.1s (107.0x, -1.9%)
-- many-xpts --
many-xpts valgrind-new:0.03s no: 0.3s (10.3x, -----) me: 1.6s (54.3x, -----) ca: 2.6s (86.0x, -----) he: 2.3s (75.3x, -----) ca: 0.9s (31.0x, -----) dr: 1.6s (51.7x, -----) ma: 1.6s (51.7x, -----)
many-xpts valgrind-old:0.03s no: 0.3s (10.7x, -3.2%) me: 1.6s (53.3x, 1.8%) ca: 2.6s (86.0x, 0.0%) he: 2.3s (75.3x, 0.0%) ca: 0.9s (31.0x, 0.0%) dr: 1.6s (51.7x, 0.0%) ma: 1.6s (51.7x, 0.0%)
-- sarp --
sarp valgrind-new:0.02s no: 0.3s (14.5x, -----) me: 2.3s (117.0x, -----) ca: 1.7s (86.0x, -----) he: 6.1s (307.0x, -----) ca: 0.9s (45.0x, -----) dr: 1.2s (60.5x, -----) ma: 0.3s (17.0x, -----)
sarp valgrind-old:0.02s no: 0.3s (14.5x, 0.0%) me: 2.3s (117.0x, 0.0%) ca: 1.8s (87.5x, -1.7%) he: 6.2s (310.5x, -1.1%) ca: 0.9s (45.5x, -1.1%) dr: 1.2s (60.5x, 0.0%) ma: 0.3s (16.5x, 2.9%)
-- tinycc --
tinycc valgrind-new:0.16s no: 1.4s ( 8.7x, -----) me: 8.4s (52.8x, -----) ca:11.0s (68.8x, -----) he: 9.9s (61.7x, -----) ca: 7.9s (49.3x, -----) dr: 8.2s (51.0x, -----) ma: 2.4s (15.1x, -----)
tinycc valgrind-old:0.16s no: 1.4s ( 8.6x, 0.7%) me: 7.9s (49.1x, 7.0%) ca:10.8s (67.2x, 2.4%) he: 9.9s (61.9x, -0.4%) ca: 7.8s (48.4x, 1.8%) dr: 8.2s (51.0x, 0.0%) ma: 2.4s (15.2x, -0.8%)
-- Finished tests in perf ----------------------------------------------
== 11 programs, 154 timings =================
real 34m38.146s
user 33m34.991s
sys 0m25.660s
|
|
From: <ma...@bu...> - 2014-11-20 01:42:12
|
valgrind revision: 14737 VEX revision: 2995 C compiler: gcc (Debian 4.7.2-5) 4.7.2 GDB: GNU gdb (GDB) 7.4.1-debian Assembler: GNU assembler (GNU Binutils for Debian) 2.22 C library: GNU C Library (Debian EGLIBC 2.13-38+deb7u6) stable release version 2.13 uname -mrs: Linux 3.2.0-4-amd64 x86_64 Vendor version: Debian GNU/Linux 7 (wheezy) Nightly build on wildebeest ( Debian 7.7 wheezy x86_64 ) Started at 2014-11-20 00:00:01 UTC Ended at 2014-11-20 01:41:59 UTC Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Regression test results follow == 685 tests, 0 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == --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.14s no: 2.2s (15.4x, -----) me: 4.6s (32.7x, -----) ca:17.9s (127.8x, -----) he: 2.8s (20.1x, -----) ca: 4.9s (35.0x, -----) dr: 2.7s (19.3x, -----) ma: 2.7s (19.1x, -----) bigcode1 valgrind-old:0.14s no: 2.2s (15.8x, -2.3%) me: 4.6s (32.9x, -0.4%) ca:18.3s (130.5x, -2.1%) he: 2.7s (19.5x, 3.2%) ca: 5.1s (36.5x, -4.3%) dr: 2.7s (19.2x, 0.4%) ma: 2.6s (18.9x, 1.1%) -- bigcode2 -- bigcode2 valgrind-new:0.14s no: 5.5s (39.4x, -----) me:11.5s (82.1x, -----) ca:37.1s (264.7x, -----) he: 7.1s (50.4x, -----) ca: 9.7s (69.0x, -----) dr: 6.5s (46.3x, -----) ma: 6.2s (44.0x, -----) bigcode2 valgrind-old:0.14s no: 5.5s (39.4x, -0.0%) me:11.9s (85.1x, -3.7%) ca:36.3s (259.3x, 2.1%) he: 7.1s (50.7x, -0.6%) ca: 9.6s (68.4x, 0.9%) dr: 6.5s (46.6x, -0.6%) ma: 6.0s (43.0x, 2.3%) -- bz2 -- bz2 valgrind-new:0.68s no: 2.2s ( 3.2x, -----) me: 8.0s (11.8x, -----) ca:16.1s (23.7x, -----) he:11.4s (16.8x, -----) ca:13.6s (20.0x, -----) dr:14.4s (21.1x, -----) ma: 2.2s ( 3.2x, -----) bz2 valgrind-old:0.68s no: 2.1s ( 3.1x, 2.7%) me: 8.1s (11.8x, -0.6%) ca:15.9s (23.4x, 1.3%) he:11.4s (16.8x, 0.0%) ca:13.9s (20.5x, -2.5%) dr:14.5s (21.4x, -1.0%) ma: 2.2s ( 3.3x, -1.8%) -- fbench -- fbench valgrind-new:0.28s no: 1.4s ( 4.9x, -----) me: 4.8s (17.0x, -----) ca: 7.1s (25.5x, -----) he: 3.8s (13.7x, -----) ca: 4.0s (14.1x, -----) dr: 3.4s (12.0x, -----) ma: 1.4s ( 4.9x, -----) fbench valgrind-old:0.28s no: 1.3s ( 4.7x, 3.6%) me: 4.6s (16.4x, 3.6%) ca: 7.0s (24.9x, 2.1%) he: 3.7s (13.1x, 4.4%) ca: 3.9s (13.8x, 2.3%) dr: 3.3s (11.9x, 0.9%) ma: 1.4s ( 5.1x, -4.3%) -- ffbench -- ffbench valgrind-new:0.25s no: 1.2s ( 5.0x, -----) me: 3.8s (15.3x, -----) ca: 2.4s ( 9.6x, -----) he: 9.8s (39.3x, -----) ca: 5.3s (21.4x, -----) dr: 4.6s (18.2x, -----) ma: 1.2s ( 4.8x, -----) ffbench valgrind-old:0.25s no: 1.2s ( 5.0x, -0.8%) me: 4.1s (16.6x, -8.1%) ca: 2.5s (10.0x, -4.6%) he: 9.3s (37.3x, 5.1%) ca: 5.6s (22.5x, -5.4%) dr: 4.4s (17.5x, 3.9%) ma: 1.2s ( 4.7x, 1.7%) -- heap -- heap valgrind-new:0.11s no: 0.9s ( 8.0x, -----) me: 7.0s (63.8x, -----) ca: 8.0s (72.9x, -----) he: 9.5s (86.6x, -----) ca: 4.4s (39.6x, -----) dr: 5.9s (53.3x, -----) ma: 6.4s (58.2x, -----) heap valgrind-old:0.11s no: 1.0s ( 8.9x,-11.4%) me: 7.4s (67.5x, -5.7%) ca: 8.4s (76.5x, -4.9%) he: 9.7s (88.3x, -1.9%) ca: 4.4s (40.2x, -1.4%) dr: 5.9s (53.6x, -0.7%) ma: 6.2s (56.5x, 3.0%) -- heap_pdb4 -- heap_pdb4 valgrind-new:0.15s no: 1.1s ( 7.1x, -----) me:12.4s (82.8x, -----) ca: 8.8s (58.5x, -----) he:10.3s (68.8x, -----) ca: 4.5s (30.0x, -----) dr: 6.3s (42.3x, -----) ma: 6.3s (42.3x, -----) heap_pdb4 valgrind-old:0.15s no: 1.0s ( 6.6x, 7.5%) me:12.1s (80.5x, 2.7%) ca: 8.7s (58.0x, 0.9%) he:10.9s (72.7x, -5.6%) ca: 4.5s (30.3x, -0.9%) dr: 6.3s (42.0x, 0.6%) ma: 6.4s (42.9x, -1.6%) -- many-loss-records -- many-loss-records valgrind-new:0.01s no: 0.4s (38.0x, -----) me: 1.9s (188.0x, -----) ca: 1.3s (130.0x, -----) he: 1.7s (168.0x, -----) ca: 0.9s (88.0x, -----) dr: 1.4s (142.0x, -----) ma: 1.4s (137.0x, -----) many-loss-records valgrind-old:0.01s no: 0.4s (37.0x, 2.6%) me: 1.9s (186.0x, 1.1%) ca: 1.4s (137.0x, -5.4%) he: 1.7s (168.0x, -0.0%) ca: 0.9s (88.0x, 0.0%) dr: 1.4s (144.0x, -1.4%) ma: 1.4s (135.0x, 1.5%) -- many-xpts -- many-xpts valgrind-new:0.05s no: 0.4s ( 8.4x, -----) me: 2.5s (49.4x, -----) ca: 3.5s (69.4x, -----) he: 3.0s (60.8x, -----) ca: 1.2s (24.2x, -----) dr: 1.9s (38.2x, -----) ma: 2.0s (39.2x, -----) many-xpts valgrind-old:0.05s no: 0.4s ( 8.4x, 0.0%) me: 2.5s (50.4x, -2.0%) ca: 3.3s (66.6x, 4.0%) he: 3.1s (61.2x, -0.7%) ca: 1.2s (23.2x, 4.1%) dr: 1.9s (37.4x, 2.1%) ma: 2.0s (39.2x, 0.0%) -- sarp -- sarp valgrind-new:0.02s no: 0.4s (19.0x, -----) me: 2.8s (140.5x, -----) ca: 2.1s (107.0x, -----) he:10.2s (510.5x, -----) ca: 1.3s (64.5x, -----) dr: 1.3s (63.0x, -----) ma: 0.4s (20.0x, -----) sarp valgrind-old:0.02s no: 0.4s (19.0x, 0.0%) me: 2.8s (141.0x, -0.4%) ca: 2.1s (107.0x, 0.0%) he:10.2s (511.0x, -0.1%) ca: 1.3s (65.5x, -1.6%) dr: 1.2s (62.0x, 1.6%) ma: 0.4s (20.0x, 0.0%) -- tinycc -- tinycc valgrind-new:0.28s no: 1.9s ( 6.9x, -----) me:10.9s (39.0x, -----) ca:15.5s (55.5x, -----) he:14.9s (53.1x, -----) ca:10.6s (37.8x, -----) dr:11.4s (40.9x, -----) ma: 3.1s (11.0x, -----) tinycc valgrind-old:0.28s no: 1.7s ( 6.2x, 9.4%) me:11.4s (40.8x, -4.5%) ca:13.4s (47.8x, 13.8%) he:12.6s (45.1x, 15.1%) ca:10.2s (36.4x, 3.8%) dr:11.2s (39.9x, 2.4%) ma: 3.0s (10.9x, 1.0%) -- Finished tests in perf ---------------------------------------------- == 11 programs, 154 timings ================= 2750.32user 32.82system 55:01.78elapsed 84%CPU (0avgtext+0avgdata 500764maxresident)k 151944inputs+453136outputs (318major+11736759minor)pagefaults 0swaps Congratulations, all tests passed! |