History log of /external/valgrind/memcheck/tests/vbit-test/util.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
137e3e719d675c168ae1acc6e15438e62e117fdb 16-Oct-2015 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Link the vbit tester against libvex-<arch>-<os>.a
This allows to remove local copies of certain VEX functions.
VEX r3200 enables this.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15709 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/tests/vbit-test/util.c
5aa9d1ed1857d401087cf55b4c68ab6eb3ffbc56 22-Sep-2015 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add copyright/license comment.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15672 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/tests/vbit-test/util.c
72e4640ec92ff566dbba01f69197865016cfeb84 05-Sep-2015 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Changes related to new IROp Iop_RoundF128toInt. See VEX r3183.
s390: Add testcase for fixbr.
Patch by Andreas Arnez <arnez@linux.vnet.ibm.com>.
Part of fixing BZ #350290.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15629 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/tests/vbit-test/util.c
8eb8bab992e3998c33770b0cdb16059a8b918a06 21-Jul-2015 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Bug 345248 - add support for Solaris OS in valgrind

Authors of this port:
Petr Pavlu setup@dagobah.cz
Ivo Raisr ivosh@ivosh.net
Theo Schlossnagle theo@omniti.com



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15426 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/tests/vbit-test/util.c
7b7b1cbe53ee541a803e1e00b58d58fcee65aa97 01-Sep-2014 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Track vex r2939 (renaming and arg-order change for Iop_Extract{64,V128}).


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14404 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/tests/vbit-test/util.c
ee6bb779947e3e5350a083d5e87efa18ffddedcf 24-Aug-2014 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Track renaming of {reciprocal, reciprocal sqrt}{estimate, step}
primops in vex r2932.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14350 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/tests/vbit-test/util.c
e541e222ef15d58e1a61f97fcf729468628efa54 15-Aug-2014 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Track vex r2924 (Renaming of Iop_QSalN*, Iop_QShlN* and Iop_QShlN*S)


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14282 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/tests/vbit-test/util.c
4d6ce849ad8534867072dbc7ed31464019e23396 21-Jul-2014 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Track vex r2907, which amongst other things, renamed Iop_QDMulLong* to
Iop_QDMull*.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14178 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/tests/vbit-test/util.c
55404925be52fe200bf22e31959573df7ba870a4 26-Jun-2014 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Track vex r2890 (renaming of vector subparts-of-lanes-reversal IROps)


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14103 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/tests/vbit-test/util.c
2e4d5af35b4e326fef32e503d210f3bcc25238cf 26-Jun-2014 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Track vex r2889 (rename vector Cls/Clz primops)


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14102 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/tests/vbit-test/util.c
ba5693c7155e28fc5d2cbe1be751a77fb2097d02 17-Jun-2013 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> valgrind side changes to support the new IRops introduced
in VEX r2727 (conversion ops between binary floating point and
decimal floating point).
Patch by Maran Pakkirisamy (maranp@linux.vnet.ibm.com).
Part of fixing BZ 307113.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13428 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/tests/vbit-test/util.c
39b08d85652c321c2779a0256027d66144847c3c 05-May-2013 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> valgrind side support for
Iop_F64toD64, Iop_D64toF64
Iop_F64toD128, Iop_D128toF64,
Iop_F128toD128, Iop_D128toF128

Companion patch of VEX r2717.
Patch by Maran Pakkirisamy (maranp@linux.vnet.ibm.com).
Part of fixing BZ #307113


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13382 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/tests/vbit-test/util.c
fb583cbc61a1d82a4a970887a6d54737038b71b6 22-Jan-2013 carll <carll@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix implementation of the DFP integer operands.

The implementation of integer operands doesn't really match the documentation
for the Iop. Take for example Iop_ExtractExpD64. It is documented as
D64 -> I64 but the implementation of the UNARY is defined as
UNARY(Ity_D64, Ity_D64). The result is an integer that is stored in an integer
format in a floating point register. On the IBM s390 however, the architecture
stores the integer value in a general purpose register (GPR) not a floating
point register. This issue exists with the implementation of 11 Iops where the
PPC implementation has either a source or destination whose value is an integer
but the value is stored in a floating point register in an integer format. After
reviewing the PPC implementation with the s390 developer, it was agreed the
cleanest way to fix this is to change the PPC implementation. The BINOP will be
changed to be consistent with the Iop description. This means the PPC
instruction implementation of the PPC instruction in guest_ppc_toIR.c will need
to reinterpret integer source operands as integers which will move the value
from a floating point register to an integer register before calling binop().
The underlying PPC implementation of the unop() for the specific Iop will also
need to change to move the value from the integer register back to the floating
point register so the native instruction can be issued with the integer value
in a floating point register. It was decided that making the changed in PPC,
rather then having the s390 reinterpret integers as DFP and then move the value
back to an integer register, was preferable as it makes the implementation of
the unop(), binops(), triop() consistent with the definition of the Iop.

This patch also includes the needed changes for the vbit tester. The Iop
definitions in memcheck/tests/vbit-test/util.c had to be updated to be consitent
with the changes in the Iops as documented below. Also, the function mkLazy3()
in memcheck/mc_translate.c had to be updated to handle the I32 x I8 x I64 -> I64
and I32 x I8 x I128 -> I128 cases.

The specific list of changes are as follows:

Iop name in pub/libvex_ir.h
documented type
type of UNARY/BINARY/TERNARY in priv/ir_defs.c
-------------------------------------------------------

Iop_ExtractExpD64
D64 -> I64
UNARY(Ity_D64, Ity_D64); (current)
UNARY(Ity_D64, Ity_I64); (fix)


Iop_ExtractExpD128
D128 -> I64
UNARY(Ity_D128, Ity_D64); (current)
UNARY(Ity_D128, Ity_I64); (fix)

Iop_InsertExpD64
I64 x I64 -> D64
I64 x D64 -> D64 (fix definition)
BINARY(Ity_D64,Ity_D64, Ity_D64); (current)
BINARY(Ity_I64,Ity_D64, Ity_D64); (fix)

Iop_InsertExpD128
I64 x I128 -> D128
I64 x D128 -> D128 (fix definition)
BINARY(Ity_D64,Ity_D128, Ity_D128); (current)
BINARY(Ity_I64,Ity_D128, Ity_D128); (fix)

Iop_I64StoD128
I64S -> D128
UNARY(Ity_D64, Ity_D128); (current)
UNARY(Ity_I64, Ity_D128); (fix)

Iop_D64toI64S
IRRoundingModeDFP(I32) x D64 -> I64
BINARY(ity_RMode, Ity_D64, Ity_D64) (current)
BINARY(ity_RMode, Ity_D64, Ity_I64) (fix)

Iop_D128toI64S
IRRoundingModeDFP(I32) x D128 -> I64
BINARY(ity_RMode, Ity_D128, Ity_D64); (current)
BINARY(ity_RMode, Ity_D128, Ity_I64); (fix)

Iop_I64StoD64
IRRoundingModeDFP(I32) x I64 -> D64
BINARY(ity_RMode, Ity_D64, Ity_D64); (current)
BINARY(ity_RMode, Ity_I64, Ity_D64); (fix)

Iop_SignificanceRoundD64
IRRoundingModeDFP(I32) x I8 x D64 -> D64
TERNARY(ity_RMode,Ity_D64,Ity_D64, Ity_D64); (current)
TERNARY(ity_RMode,Ity_I8,Ity_D64, Ity_D64); (fix)

Iop_SignificanceRoundD128
IRRoundingModeDFP(I32) x I8 x D128 -> D128
TERNARY(ity_RMode,Ity_D128,Ity_D128, Ity_D128); (current)
TERNARY(ity_RMode,Ity_I8,Ity_D128, Ity_D128); (fix)

The patch is for bugzilla 311100
VEX Committed revision 2652

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13260 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/tests/vbit-test/util.c
53eb2a0f3b35eafb8fa713566ca5b4e6e4f3490c 12-Jan-2013 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add memcheck support for the IROps added in VEX r2631.
Adapt vbit-tester.
Patch by Maran Pakkirisamy (maranp@linux.vnet.ibm.com).
Part of fixing BZ 307113.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13224 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/tests/vbit-test/util.c
974b409a9c293f1341f26bb2cfc13982af76b19b 27-Dec-2012 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> valgrind-side support for Iop_ExtractSigD64 and Iop_ExtractSigD128.
See also companion patch VEX r2621.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13211 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/tests/vbit-test/util.c
29a36b99ad14c9c5a9aa5e89ff3e0d8274fc0339 26-Dec-2012 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> valgrind side changes to support Iop_CmpExpD64 and Iop_CmpExpD128.
VEX buddy patch is r2617.
Enhance testcase for CEDTR and CEXTR. Adapt vbit tester.
Patch by Maran Pakkirisamy (maranp@linux.vnet.ibm.com).
This is part of fixing BZ 307113.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13203 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/tests/vbit-test/util.c
9f35c0d66fe0b1c4b2d34fc781e077b84ab84039 19-Dec-2012 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix vbit tester for Iop_D32toD64 and Iop_D64toD32.
Spotted and fixed by Maran (maranp@linux.vnet.ibm.com).


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13188 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/tests/vbit-test/util.c
1b9609aa2638e4c81f3eb0d27fdaa4c944aaf33e 01-Sep-2012 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> s390: Valgrind-side changes to fixing bugzilla #274695:
Testcase, vbit tester update, memcheck support for the new IROps,
NEWS announcement and opcode list update.
Patch by Christian Borntraeger (borntraeger@de.ibm.com).
Vbit tester tweaks by myself.
Fixes bugzilla #274695.
See also companion patch VEX r2496.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12921 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/tests/vbit-test/util.c
909e0fc928ddb0b04ba301a4895d653f3a91d114 30-Aug-2012 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix build on Darwin. Patch by Rich Coe (rcoe@wi.rr.com).


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12917 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/tests/vbit-test/util.c
504f829bfb9dbf2258edbbe6ad892f1605d679fb 29-Aug-2012 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix printf formats for uint64_t values.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12913 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/tests/vbit-test/util.c
bb913cd4cc1e56d7d7798a8b754361a05d01f916 28-Aug-2012 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add a tester for V-bit propagation through IROps.
The tester is located in memcheck/tests/vbit-test.
It needs the following support on the valgrind / VEX side:
(1) a new client request VG_USERREQ__VEX_INIT_FOR_IRI
(2) a new "special instruction" on all architectures inserted via
VALGRIND_VEX_INJECT_IR
(3) VEX changes to detect the special insn and insert IR (ir_inject.c)

The README file in vbit-test has some more information.
See also VEX r2490. Fixes bugzilla #300102.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12906 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/tests/vbit-test/util.c