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
(16) |
2
(22) |
3
(23) |
4
(12) |
5
(24) |
6
(28) |
7
(16) |
|
8
(3) |
9
(2) |
10
(9) |
11
(22) |
12
(19) |
13
(19) |
14
(15) |
|
15
(10) |
16
(23) |
17
(27) |
18
(31) |
19
(26) |
20
(19) |
21
(17) |
|
22
(6) |
23
(4) |
24
(3) |
25
(14) |
26
(1) |
27
(20) |
28
(14) |
|
29
(10) |
30
(26) |
|
|
|
|
|
|
From: <sv...@va...> - 2013-09-18 19:41:55
|
Author: sewardj
Date: Wed Sep 18 19:41:43 2013
New Revision: 2769
Log:
Add support for the Intel TM "xbegin" instruction, by jumping directly
to the failure address. Currently disabled pending finding hardware
that can actually execute xbegin, for testing purposes.
Modified:
trunk/priv/guest_amd64_toIR.c
Modified: trunk/priv/guest_amd64_toIR.c
==============================================================================
--- trunk/priv/guest_amd64_toIR.c (original)
+++ trunk/priv/guest_amd64_toIR.c Wed Sep 18 19:41:43 2013
@@ -20065,6 +20065,26 @@
}
return delta;
}
+ /* BEGIN HACKY SUPPORT FOR xbegin */
+ if (0/*CURRENTLY DISABLED*/ &&
+ modrm == 0xF8 && !haveF2orF3(pfx) && sz == 4) {
+ delta++; /* mod/rm byte */
+ d64 = getSDisp(4,delta);
+ delta += 4;
+ guest_RIP_next_mustcheck = True;
+ guest_RIP_next_assumed = guest_RIP_bbstart + delta;
+ Addr64 failAddr = guest_RIP_bbstart + delta + d64;
+ /* EAX contains the failure status code. Bit 3 is "Set if an
+ internal buffer overflowed", which seems like the
+ least-bogus choice we can make here. */
+ putIRegRAX(4, mkU32(1<<3));
+ /* And jump to the fail address. */
+ jmp_lit(dres, Ijk_Boring, failAddr);
+ vassert(dres->whatNext == Dis_StopHere);
+ DIP("xbeginq 0x%llx\n", failAddr);
+ return delta;
+ }
+ /* END HACKY SUPPORT FOR xbegin */
goto decode_failure;
case 0xC8: /* ENTER */
|
|
From: Josef W. <Jos...@gm...> - 2013-09-18 19:18:20
|
Hi,
Am 18.09.2013 17:41, schrieb Vasily Golubev:
> I am trying to propose some technique for improvement of callgraph on
> ARM. Could I kindly ask you to review one idea?
> I think that we can find ENTRANCE and EXIT of function by analysis of
> sequence of BBs. In runtime we can have Table with
> Name_of_function->Start_address.
> It is available from debug info or from available tables in binary (and
> libraries). As far as I understand, we can test (bb_addr ==
> one_of_address in our Table) and if true -> we are ENTERING in function.
> So, we can track ALL entrances in functions.
So you unconditionally assume a function entry whenever a given
instruction is executed? What if a function has an empty prolog, and
a loop always jumps back to the first instruction of the function?
Anyway. You do not need a table for that, as this property can be
detected at instrumentation time.
> And I propose to add one internal structure (in fact, simple STACK).
Callgrind already maintains a shadow stack.
If
> we find ENTRANCE, we push guest_lr on our STACK. During testing
> (bb_addr(bb) == one_of_address in our Table) if fail we can also test
> (bb_addr(bb) == TOP_ELEMENT_IN_OUR_STACK). And if true, we are EXITING
> from function. So, we can track all EXITS from functions.
So you assume that the LR found when executing the first BB of a
function always represents a return address?
If the code just jumps to a function, LR may have an arbitrary value,
which never gets popped from the shadow stack. This may easily result
in an overflow. What to do then?
> Some problems:
> 1. I am not sure that we can tests all conditions in runtime if we want
> to work fast enough. Maybe we can somehow organize a set of Tables. At
> firs, identify object (file) and then analyze in it.
> 2. Maybe we have to test not only with TOP_OF_STACK, but also try to
> find deeper (in case of some optimizations).
Yes. It should work with longjmps, returning from multiple stack frames
at once.
For that reason, Callgrind uses the stack pointer to regularly sync its
shadow stack. Exactly this is not really working on ARM, as not every
entry/exit of a function changes the stack pointer.
> 3. As far as I understand, each exit of function (next running
> instruction, in fact) will be the start of new BB. Or maybe I am wrong?
VEX is working on superblocks (SB), not basic blocks. Thus, in can
instrument multiple BBs at once, if they are linked by unconditional
jumps ("chasing").
With tail recursion optimization, a function may end by jumping to
another function (in original source, this is a call).
Thus, the beginning of the next function could be inside an SB, and
would not be recognized by your approach.
However, Callgrind bypasses this issue by setting
VG_(clo_vex_control).guest_chase_thresh = 0;
So, the anwser to your question is "yes".
> 4. I am not sure that it will be enough (track ENTRY and EXIT) for
> callgrind's purposes.
The main idea of callgrind's call graph tracing is to produce a sensible
call graph for compiler generated code, ie. the graph
that is expected by a programmer, reflecting his program code.
However, this is not always possible, as different source may
have the same compiler output (e.g. iterative vs. recursive
version of the same algorithm).
And the technique must be robust on hand-crafted machine code.
I do not really know the ABI conventions used by compilers on
ARM, so I cannot really say if your proposal is useful/working.
In the end, you need to check the outcome of your proposal against
what you would expect with a reasonable large code yourself.
It would be nice to have tests which check that the right call
graph was detected for a given code.
Josef
>
> Thank you in advance,
> Vasily
>
>
> On Fri, Aug 30, 2013 at 4:14 AM, Josef Weidendorfer
> <Jos...@gm... <mailto:Jos...@gm...>> wrote:
>
> Am 29.08.2013 06:41, schrieb Vasily Golubev:
> > I noticed that heuristics for x86 based on the fact that we can
> identify
> > all entry\exit analyzing BB for BB at start. I mean the fact that
> entry
> > in\exit from function can occur only as the first IMark at BB
> > (superblock).
>
> Callgrind is asking VEX to feed BBs (not SBs) of guest code
> to its instrumentation function.
>
> Is it true in general?
>
> As a BB is a continuous number of bytes in memory: yes, it is true that
> a function entry can only start at the beginning of a (dynamic) BB, and
> a function exit needs to be at the end of a BB (which then is detected
> at beginning of the next BB).
>
> Or I misunderstand logic of analysis?
>
> No, your analysis was correct.
>
> Josef
>
> >
> > Vasily
> >
> >
> > On Mon, Aug 26, 2013 at 5:35 PM, Emilio Coppa <er...@gm...
> <mailto:er...@gm...>
> > <mailto:er...@gm... <mailto:er...@gm...>>> wrote:
> >
> > Hi all,
> >
> > More or less all of the call/return tracing heuristic is
> found in
> > the ugly setup_bbcc function in callgrind/bbcc.c - a first
> step
> > would be to clean it up to allow for different heuristics on
> > different architectures in the first place.
> >
> >
> > You can also check aprof's callstack code
> >
> <https://code.google.com/p/aprof/source/browse/branches/stable/aprof/callstack.c>,
> > highly inspired by callgrind's code.
> >
> > As how to start into a callpath collection tool, I'd say
> an improved
> > callstack generator for valgrind would be an excellent
> > beginning, especially
> > as it would greatly improve all valgrind tooling.
> >
> >
> > I am really interested in this. I am not a Valgrind expert but I
> > will be happy to help.
> >
> > Emilio.
> >
> >
> >
> ------------------------------------------------------------------------------
> > Introducing Performance Central, a new site from SourceForge and
> > AppDynamics. Performance Central is your source for news,
> insights,
> > analysis and resources for efficient Application Performance
> Management.
> > Visit us today!
> >
> http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk
> > _______________________________________________
> > Valgrind-developers mailing list
> > Val...@li...
> <mailto:Val...@li...>
> > <mailto:Val...@li...
> <mailto:Val...@li...>>
> > https://lists.sourceforge.net/lists/listinfo/valgrind-developers
> >
> >
> >
> >
> > --
> > Best Regards,
> > Vasily
> >
> >
> >
> ------------------------------------------------------------------------------
> > Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
> > Discover the easy way to master current and previous Microsoft
> technologies
> > and advance your career. Get an incredible 1,500+ hours of
> step-by-step
> > tutorial videos with LearnDevNow. Subscribe today and save!
> >
> http://pubads.g.doubleclick.net/gampad/clk?id=58040911&iu=/4140/ostg.clktrk
> >
> >
> >
> > _______________________________________________
> > Valgrind-developers mailing list
> > Val...@li...
> <mailto:Val...@li...>
> > https://lists.sourceforge.net/lists/listinfo/valgrind-developers
> >
>
>
>
>
> --
> Best Regards,
> Vasily
|
|
From: <sv...@va...> - 2013-09-18 18:28:06
|
Author: sewardj
Date: Wed Sep 18 18:27:55 2013
New Revision: 2768
Log:
x86 front ends: tighten up decoding of MOV Ib,Eb and MOV Iv,Ev. This
failed to check the g-register in the modrm byte, with the result that
it will mis-decode the AVX2 XABORT and XBEGIN instructions as these
instead, with obviously-bizarre consequences.
Modified:
trunk/priv/guest_amd64_toIR.c
trunk/priv/guest_x86_toIR.c
Modified: trunk/priv/guest_amd64_toIR.c
==============================================================================
--- trunk/priv/guest_amd64_toIR.c (original)
+++ trunk/priv/guest_amd64_toIR.c Wed Sep 18 18:27:55 2013
@@ -20035,34 +20035,37 @@
DIP(haveF3(pfx) ? "rep ; ret\n" : "ret\n");
return delta;
- case 0xC6: /* MOV Ib,Eb */
+ case 0xC6: /* C6 /0 = MOV Ib,Eb */
sz = 1;
- goto do_Mov_I_E;
- case 0xC7: /* MOV Iv,Ev */
- goto do_Mov_I_E;
- do_Mov_I_E:
- if (haveF2orF3(pfx)) goto decode_failure;
+ goto maybe_do_Mov_I_E;
+ case 0xC7: /* C7 /0 = MOV Iv,Ev */
+ goto maybe_do_Mov_I_E;
+ maybe_do_Mov_I_E:
modrm = getUChar(delta);
- if (epartIsReg(modrm)) {
- delta++; /* mod/rm byte */
- d64 = getSDisp(imin(4,sz),delta);
- delta += imin(4,sz);
- putIRegE(sz, pfx, modrm,
- mkU(szToITy(sz), d64 & mkSizeMask(sz)));
- DIP("mov%c $%lld, %s\n", nameISize(sz),
- (Long)d64,
- nameIRegE(sz,pfx,modrm));
- } else {
- addr = disAMode ( &alen, vbi, pfx, delta, dis_buf,
- /*xtra*/imin(4,sz) );
- delta += alen;
- d64 = getSDisp(imin(4,sz),delta);
- delta += imin(4,sz);
- storeLE(mkexpr(addr),
- mkU(szToITy(sz), d64 & mkSizeMask(sz)));
- DIP("mov%c $%lld, %s\n", nameISize(sz), (Long)d64, dis_buf);
+ if (gregLO3ofRM(modrm) == 0) {
+ if (haveF2orF3(pfx)) goto decode_failure;
+ if (epartIsReg(modrm)) {
+ delta++; /* mod/rm byte */
+ d64 = getSDisp(imin(4,sz),delta);
+ delta += imin(4,sz);
+ putIRegE(sz, pfx, modrm,
+ mkU(szToITy(sz), d64 & mkSizeMask(sz)));
+ DIP("mov%c $%lld, %s\n", nameISize(sz),
+ (Long)d64,
+ nameIRegE(sz,pfx,modrm));
+ } else {
+ addr = disAMode ( &alen, vbi, pfx, delta, dis_buf,
+ /*xtra*/imin(4,sz) );
+ delta += alen;
+ d64 = getSDisp(imin(4,sz),delta);
+ delta += imin(4,sz);
+ storeLE(mkexpr(addr),
+ mkU(szToITy(sz), d64 & mkSizeMask(sz)));
+ DIP("mov%c $%lld, %s\n", nameISize(sz), (Long)d64, dis_buf);
+ }
+ return delta;
}
- return delta;
+ goto decode_failure;
case 0xC8: /* ENTER */
/* Same comments re operand size as for LEAVE below apply.
Modified: trunk/priv/guest_x86_toIR.c
==============================================================================
--- trunk/priv/guest_x86_toIR.c (original)
+++ trunk/priv/guest_x86_toIR.c Wed Sep 18 18:27:55 2013
@@ -13503,28 +13503,31 @@
DIP("mov%c $0x%x,%s\n", nameISize(sz), d32, nameIReg(sz,opc-0xB8));
break;
- case 0xC6: /* MOV Ib,Eb */
+ case 0xC6: /* C6 /0 = MOV Ib,Eb */
sz = 1;
- goto do_Mov_I_E;
- case 0xC7: /* MOV Iv,Ev */
- goto do_Mov_I_E;
+ goto maybe_do_Mov_I_E;
+ case 0xC7: /* C7 /0 = MOV Iv,Ev */
+ goto maybe_do_Mov_I_E;
- do_Mov_I_E:
+ maybe_do_Mov_I_E:
modrm = getIByte(delta);
- if (epartIsReg(modrm)) {
- delta++; /* mod/rm byte */
- d32 = getUDisp(sz,delta); delta += sz;
- putIReg(sz, eregOfRM(modrm), mkU(szToITy(sz), d32));
- DIP("mov%c $0x%x, %s\n", nameISize(sz), d32,
- nameIReg(sz,eregOfRM(modrm)));
- } else {
- addr = disAMode ( &alen, sorb, delta, dis_buf );
- delta += alen;
- d32 = getUDisp(sz,delta); delta += sz;
- storeLE(mkexpr(addr), mkU(szToITy(sz), d32));
- DIP("mov%c $0x%x, %s\n", nameISize(sz), d32, dis_buf);
+ if (gregOfRM(modrm) == 0) {
+ if (epartIsReg(modrm)) {
+ delta++; /* mod/rm byte */
+ d32 = getUDisp(sz,delta); delta += sz;
+ putIReg(sz, eregOfRM(modrm), mkU(szToITy(sz), d32));
+ DIP("mov%c $0x%x, %s\n", nameISize(sz), d32,
+ nameIReg(sz,eregOfRM(modrm)));
+ } else {
+ addr = disAMode ( &alen, sorb, delta, dis_buf );
+ delta += alen;
+ d32 = getUDisp(sz,delta); delta += sz;
+ storeLE(mkexpr(addr), mkU(szToITy(sz), d32));
+ DIP("mov%c $0x%x, %s\n", nameISize(sz), d32, dis_buf);
+ }
+ break;
}
- break;
+ goto decode_failure;
/* ------------------------ opl imm, A ----------------- */
|
|
From: <sv...@va...> - 2013-09-18 17:46:02
|
Author: carll
Date: Wed Sep 18 17:45:54 2013
New Revision: 13563
Log:
Oops, commit 13562 said the patch was done by Amodra. It should have
said the patch was from Paralkar Anmol.
This is the fix for Bugzilla 324765.
Modified:
trunk/none/tests/ppc32/jm-insns.c
Modified: trunk/none/tests/ppc32/jm-insns.c
==============================================================================
--- trunk/none/tests/ppc32/jm-insns.c (original)
+++ trunk/none/tests/ppc32/jm-insns.c Wed Sep 18 17:45:54 2013
@@ -16,9 +16,9 @@
/*
* test-ppc.c:
* PPC tests for qemu-PPC CPU emulation checks
- *
+ *
* Copyright (c) 2005 Jocelyn Mayer
- *
+ *
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License V2
* as published by the Free Software Foundation
|
|
From: <sv...@va...> - 2013-09-18 16:06:58
|
Author: carll
Date: Wed Sep 18 16:06:46 2013
New Revision: 13562
Log:
The patch fixes the assembly of the Power dcbtst and dcbt instructions.
The assembly of these instructions is not alwasy being done correctly as
described in the following email reply.
Re: Assembling Power instructions: dcbtst/dcbt.
From: Peter Bergner <bergner at vnet dot ibm dot com>
To: Paralkar Anmol-B07584 <B07584 at freescale dot com>
Cc: "amodra at bigpond dot net dot au" <amodra at bigpond dot net dot au>, "binutils at sourceware dot org" <binutils at sourceware dot org>
Date: Fri, 13 Sep 2013 15:22:35 -0500
Subject: Re: Assembling Power instructions: dcbtst/dcbt.
Authentication-results: sourceware.org; auth=none
References: <DC6D7B34688246489A6578981A5ADEB9302A07 at 039-SN2MPN1-012 dot 039d dot mgd dot msft dot net>
On Fri, 2013-09-13 at 18:32 +0000, Paralkar Anmol-B07584 wrote:
> Hello,
>
> Per Power ISA Version 2.07 (May 3, 2013) "4.3.2 Data Cache Instructions",
> the assembly language syntax for the dcbtst instruction (pp. 771) is:
>
> dcbtst RA,RB,TH [Category: Server]
> dcbtst TH,RA,RB [Category: Embedded]
>
> and it's layout in the object code is:
>
> +------+------+------+------+------------+---+
> | 31 | TH | RA | RB | 246(0xF6) | / |
> |0 |6 |11 |16 |21 |31 |
> +------+------+------+------+------------+---+
>
> (Analogously: dcbt pp. 770)
>
> However, GAS (as of version 2.23.52.20130912) decides on the syntax to use based on
> processor/architecture dialect (not Power ISA Category), using the Server syntax in
> the case of POWER4 and the Embedded syntax for generic PPC or VLE.
That was a bug fixed here:
https://sourceware.org/ml/binutils/2012-11/msg00352.html
> Consequently (e.g.),
>
> dcbtst 17, 14, 6
>
> in the assembly file gets "misassembled" under -many for a user-space program on Linux:
When you only specify -many (and not one of -mpower4, -mpower5, etc.),
the assembler/disassembler will choose a default -m<CPU> value for
you. That has changed over time, but is generally one of the newer
server cpus. For example, for binutils trunk, the default is now
-mpower8 and for your 2.23.x binutils, it is -mpower7.
That should force the assembler and disassembler to assemble
the instruction using the server operand order you want, but the bug
above (which is in 2.23) basically resets it to an old cpu, so it
chooses to use the embedded/old cpu setting.
The patch from Amodra fixes the issue by manually generating the correct
hex value for the instruction rather then leaving it to the assembler to
generate the hex value from the symbolic assembly instruction name.
This is the fix for Bugzilla 324765.
Added:
trunk/none/tests/ppc32/opcodes.h
trunk/none/tests/ppc64/opcodes.h (with props)
Modified:
trunk/none/tests/ppc32/jm-insns.c
Modified: trunk/none/tests/ppc32/jm-insns.c
==============================================================================
--- trunk/none/tests/ppc32/jm-insns.c (original)
+++ trunk/none/tests/ppc32/jm-insns.c Wed Sep 18 16:06:46 2013
@@ -168,6 +168,7 @@
#include <stdint.h>
#include "tests/sys_mman.h"
#include "tests/malloc.h" // memalign16
+#include "./opcodes.h"
#define STATIC_ASSERT(e) sizeof(struct { int:-!(e); })
@@ -3340,21 +3341,24 @@
*/
static void test_dcbtct (void)
{
- __asm__ __volatile__ ("dcbt %0, %1, 1" : : "b" (r17), "r" (r14));
- __asm__ __volatile__ ("dcbt %0, %1, 7" : : "b" (r17), "r" (r14));
+ /* dcbt RA, RB, TH */
+ ASM_DCBT(17, 14, 1);
+ ASM_DCBT(17, 14, 7);
}
static void test_dcbtds (void)
{
- __asm__ __volatile__ ("dcbt %0, %1, 10" : : "b" (r17), "r" (r14));
- __asm__ __volatile__ ("dcbt %0, %1, 0" : : "b" (r17), "r" (r14));
- __asm__ __volatile__ ("dcbt %0, %1, 16" : : "b" (r17), "r" (r14));
+ /* dcbt RA, RB, TH */
+ ASM_DCBT(17, 14, 10);
+ ASM_DCBT(17, 14, 0);
+ ASM_DCBT(17, 14, 16);
}
static void test_dcbtst (void)
{
- __asm__ __volatile__ ("dcbtst %0, %1, 6" : : "b" (r17), "r" (r14));
- __asm__ __volatile__ ("dcbtst %0, %1, 15" : : "b" (r17), "r" (r14));
+ /* dcbtst RA, RB, TH */
+ ASM_DCBTST(17, 14, 6);
+ ASM_DCBTST(17, 14, 15);
}
Added: trunk/none/tests/ppc32/opcodes.h
==============================================================================
--- trunk/none/tests/ppc32/opcodes.h (added)
+++ trunk/none/tests/ppc32/opcodes.h Wed Sep 18 16:06:46 2013
@@ -0,0 +1,56 @@
+#ifndef OPCODES_H
+#define OPCODES_H
+
+/* (Along the lines of ../s390x/opcodes.h) Macro definitions to hand-assemble
+ * instructions known to cause problems with assemblers or across assembler
+ * versions.
+ *
+ * Notes:
+ *
+ * 0. Offsets used in encodings are in Valgrind (Right to Left) ordering.
+ * 1. Use register numbers, not register names in macro invocations.
+ * 2. Insert the definitions for a new instruction/instruction format in
+ * the order of the appearance of its definition in the Power ISA.
+ */
+
+/* Instruction formats:
+ */
+
+/* Power ISA Version 2.07 (May 3, 2013). pp. 15: X-FORM */
+#define X20_ASM_DIRECTIVE ".long"
+#define X20_OPCODE_OFFSET "26"
+#define X20_TH_OFFSET "21"
+#define X20_RA_OFFSET "16"
+#define X20_RB_OFFSET "11"
+#define X20_XO_OFFSET "1"
+#define X20_RES_OFFSET "0"
+
+#define X20_ASM(OPCODE, TH, RA, RB, XO, RES) \
+ X20_ASM_DIRECTIVE " " \
+ "(" #OPCODE "<<" X20_OPCODE_OFFSET ")" "+" \
+ "(" #TH "<<" X20_TH_OFFSET ")" "+" \
+ "(" #RA "<<" X20_RA_OFFSET ")" "+" \
+ "(" #RB "<<" X20_RB_OFFSET ")" "+" \
+ "(" #XO "<<" X20_XO_OFFSET ")" "+" \
+ "(" #RES "<<" X20_RES_OFFSET ")"
+
+#define X20(OPCODE, TH, RA, RB, XO, RES) X20_ASM(OPCODE, TH, RA, RB, XO, RES)
+
+/* Instruction specifics:
+ */
+
+/* Power ISA Version 2.07 (May 3, 2013). pp. 770: dcbt (Category: Server Syntax) */
+#define DCBT_OPCODE 31
+#define DCBT_XO 278
+#define DCBT_RES 0
+#define DCBT_S(RA, RB, TH) X20(DCBT_OPCODE, TH, RA, RB, DCBT_XO, DCBT_RES)
+#define ASM_DCBT(RA, RB, TH) __asm__ __volatile__ (DCBT_S(RA, RB, TH))
+
+/* Power ISA Version 2.07 (May 3, 2013). pp. 771: dcbtst (Category: Server Syntax) */
+#define DCBTST_OPCODE 31
+#define DCBTST_XO 246
+#define DCBTST_RES 0
+#define DCBTST_S(RA, RB, TH) X20(DCBTST_OPCODE, TH, RA, RB, DCBTST_XO, DCBTST_RES)
+#define ASM_DCBTST(RA, RB, TH) __asm__ __volatile__ (DCBTST_S(RA, RB, TH))
+
+#endif /* OPCODES_H */
Added: trunk/none/tests/ppc64/opcodes.h
==============================================================================
--- trunk/none/tests/ppc64/opcodes.h (added)
+++ trunk/none/tests/ppc64/opcodes.h Wed Sep 18 16:06:46 2013
@@ -0,0 +1 @@
+link ../ppc32/opcodes.h
\ No newline at end of file
|
|
From: Vasily G. <vas...@gm...> - 2013-09-18 15:42:02
|
Hello, Mr. Weidendorfer. I am trying to propose some technique for improvement of callgraph on ARM. Could I kindly ask you to review one idea? I think that we can find ENTRANCE and EXIT of function by analysis of sequence of BBs. In runtime we can have Table with Name_of_function->Start_address. It is available from debug info or from available tables in binary (and libraries). As far as I understand, we can test (bb_addr == one_of_address in our Table) and if true -> we are ENTERING in function. So, we can track ALL entrances in functions. And I propose to add one internal structure (in fact, simple STACK). If we find ENTRANCE, we push guest_lr on our STACK. During testing (bb_addr(bb) == one_of_address in our Table) if fail we can also test (bb_addr(bb) == TOP_ELEMENT_IN_OUR_STACK). And if true, we are EXITING from function. So, we can track all EXITS from functions. Some problems: 1. I am not sure that we can tests all conditions in runtime if we want to work fast enough. Maybe we can somehow organize a set of Tables. At firs, identify object (file) and then analyze in it. 2. Maybe we have to test not only with TOP_OF_STACK, but also try to find deeper (in case of some optimizations). 3. As far as I understand, each exit of function (next running instruction, in fact) will be the start of new BB. Or maybe I am wrong? 4. I am not sure that it will be enough (track ENTRY and EXIT) for callgrind's purposes. Thank you in advance, Vasily On Fri, Aug 30, 2013 at 4:14 AM, Josef Weidendorfer < Jos...@gm...> wrote: > Am 29.08.2013 06:41, schrieb Vasily Golubev: > > I noticed that heuristics for x86 based on the fact that we can identify > > all entry\exit analyzing BB for BB at start. I mean the fact that entry > > in\exit from function can occur only as the first IMark at BB > > (superblock). > > Callgrind is asking VEX to feed BBs (not SBs) of guest code > to its instrumentation function. > > Is it true in general? > > As a BB is a continuous number of bytes in memory: yes, it is true that > a function entry can only start at the beginning of a (dynamic) BB, and > a function exit needs to be at the end of a BB (which then is detected > at beginning of the next BB). > > Or I misunderstand logic of analysis? > > No, your analysis was correct. > > Josef > > > > > Vasily > > > > > > On Mon, Aug 26, 2013 at 5:35 PM, Emilio Coppa <er...@gm... > > <mailto:er...@gm...>> wrote: > > > > Hi all, > > > > More or less all of the call/return tracing heuristic is found in > > the ugly setup_bbcc function in callgrind/bbcc.c - a first step > > would be to clean it up to allow for different heuristics on > > different architectures in the first place. > > > > > > You can also check aprof's callstack code > > < > https://code.google.com/p/aprof/source/browse/branches/stable/aprof/callstack.c > >, > > highly inspired by callgrind's code. > > > > As how to start into a callpath collection tool, I'd say an > improved > > callstack generator for valgrind would be an excellent > > beginning, especially > > as it would greatly improve all valgrind tooling. > > > > > > I am really interested in this. I am not a Valgrind expert but I > > will be happy to help. > > > > Emilio. > > > > > > > ------------------------------------------------------------------------------ > > Introducing Performance Central, a new site from SourceForge and > > AppDynamics. Performance Central is your source for news, insights, > > analysis and resources for efficient Application Performance > Management. > > Visit us today! > > > http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk > > _______________________________________________ > > Valgrind-developers mailing list > > Val...@li... > > <mailto:Val...@li...> > > https://lists.sourceforge.net/lists/listinfo/valgrind-developers > > > > > > > > > > -- > > Best Regards, > > Vasily > > > > > > > ------------------------------------------------------------------------------ > > Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more! > > Discover the easy way to master current and previous Microsoft > technologies > > and advance your career. Get an incredible 1,500+ hours of step-by-step > > tutorial videos with LearnDevNow. Subscribe today and save! > > > http://pubads.g.doubleclick.net/gampad/clk?id=58040911&iu=/4140/ostg.clktrk > > > > > > > > _______________________________________________ > > Valgrind-developers mailing list > > Val...@li... > > https://lists.sourceforge.net/lists/listinfo/valgrind-developers > > > > -- Best Regards, Vasily |
|
From: <sv...@va...> - 2013-09-18 14:00:24
|
Author: florian
Date: Wed Sep 18 14:00:10 2013
New Revision: 13561
Log:
Fix memory leak when reallocating a thread name.
Modified:
trunk/coregrind/m_scheduler/scheduler.c
trunk/coregrind/m_syswrap/syswrap-linux.c
Modified: trunk/coregrind/m_scheduler/scheduler.c
==============================================================================
--- trunk/coregrind/m_scheduler/scheduler.c (original)
+++ trunk/coregrind/m_scheduler/scheduler.c Wed Sep 18 14:00:10 2013
@@ -238,7 +238,9 @@
if (VG_(threads)[i].status == VgTs_Empty) {
VG_(threads)[i].status = VgTs_Init;
VG_(threads)[i].exitreason = VgSrc_None;
- VG_(threads)[i].thread_name = NULL;
+ if (VG_(threads)[i].thread_name)
+ VG_(arena_free)(VG_AR_CORE, VG_(threads)[i].thread_name);
+ VG_(threads)[i].thread_name = NULL;
return i;
}
}
Modified: trunk/coregrind/m_syswrap/syswrap-linux.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-linux.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-linux.c Wed Sep 18 14:00:10 2013
@@ -951,10 +951,13 @@
const HChar* new_name = (const HChar*) ARG2;
if (new_name) { // Paranoia
ThreadState* tst = VG_(get_ThreadState)(tid);
+ SizeT new_len = VG_(strlen)(new_name);
/* Don't bother reusing the memory. This is a rare event. */
tst->thread_name =
- VG_(arena_strdup)(VG_AR_CORE, "syswrap.prctl", new_name);
+ VG_(arena_realloc)(VG_AR_CORE, "syswrap.prctl",
+ tst->thread_name, new_len + 1);
+ VG_(strcpy)(tst->thread_name, new_name);
}
}
break;
|
|
From: <sv...@va...> - 2013-09-18 13:28:39
|
Author: de
Date: Wed Sep 18 13:28:30 2013
New Revision: 481
Log:
Added SQLite to list of vg users
Modified:
trunk/gallery/users.html
Modified: trunk/gallery/users.html
==============================================================================
--- trunk/gallery/users.html (original)
+++ trunk/gallery/users.html Wed Sep 18 13:28:30 2013
@@ -128,6 +128,9 @@
<li><a href="http://www.postgresql.org/">PostgreSQL:</a>
the World's most advanced open source database.</li>
+ <li><a href="http://www.sqlite.org/">SQLite:</a>
+ The most widely deployed database engine; a self-contained, zero-configuration, serverless in-process library. (<a href="http://www.sqlite.org/testing.html">Appreciation </a> from SQLite.)</li>
+
<li><a href="http://www.teratext.com/home.html">Teratext Database System:</a>
a terabyte-capable text database.</li>
|
|
From: <sv...@va...> - 2013-09-18 11:24:43
|
Author: tom
Date: Wed Sep 18 11:24:25 2013
New Revision: 2767
Log:
Unbreak the build on non-MIPS platforms.
Modified:
trunk/priv/guest_mips_helpers.c
Modified: trunk/priv/guest_mips_helpers.c
==============================================================================
--- trunk/priv/guest_mips_helpers.c (original)
+++ trunk/priv/guest_mips_helpers.c Wed Sep 18 11:24:25 2013
@@ -1118,6 +1118,7 @@
extern UInt mips_dirtyhelper_calculate_FCSR ( void* gs, UInt fs, flt_op inst )
{
UInt ret = 0;
+#if defined(__mips__) && ((defined(__mips_isa_rev) && __mips_isa_rev >= 2))
#if defined(VGA_mips32)
VexGuestMIPS32State* guest_state = (VexGuestMIPS32State*)gs;
UInt *addr = (UInt *)&guest_state->guest_f0;
@@ -1211,6 +1212,7 @@
vassert(0);
break;
}
+#endif
return ret;
}
|
|
From: Vasily G. <vas...@gm...> - 2013-09-18 11:09:24
|
Hello, Mr. Coppa. I read your articles "Input-Sensitive Profiling" and Multithreaded Input-Sensitive Profiling". As far as I understand aprof measures number of BBs executed in some particular function. Could I kindly ask you to explain why you measure BBs rather than NUMBER OF INSTRUCTIONS? Because one BB may contains 3 - 50 INSNs. You told that "Measuring basic blocks rather than time has several other advantages, very well motivated in [8]". I read [8] "Measuring Empirical Computational Complexity" too. But they measure then number that each BB was execution. And in aprof you measure approximately (number of BB executed in function) * (number of calls to this function) for constant number of input data (RMS). As far as understand it is completely different values. Thank you in advance, Vasily On Mon, Aug 26, 2013 at 5:35 PM, Emilio Coppa <er...@gm...> wrote: > Hi all, > > More or less all of the call/return tracing heuristic is found in >> the ugly setup_bbcc function in callgrind/bbcc.c - a first step >> would be to clean it up to allow for different heuristics on >> different architectures in the first place. > > > You can also check aprof's callstack code<https://code.google.com/p/aprof/source/browse/branches/stable/aprof/callstack.c>, > highly inspired by callgrind's code. > > As how to start into a callpath collection tool, I'd say an improved >> callstack generator for valgrind would be an excellent beginning, >> especially >> as it would greatly improve all valgrind tooling. >> > > I am really interested in this. I am not a Valgrind expert but I will be > happy to help. > > Emilio. > > > > ------------------------------------------------------------------------------ > Introducing Performance Central, a new site from SourceForge and > AppDynamics. Performance Central is your source for news, insights, > analysis and resources for efficient Application Performance Management. > Visit us today! > http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk > _______________________________________________ > Valgrind-developers mailing list > Val...@li... > https://lists.sourceforge.net/lists/listinfo/valgrind-developers > > -- Best Regards, Vasily |
|
From: <sv...@va...> - 2013-09-18 10:08:38
|
Author: dejanj
Date: Wed Sep 18 10:08:23 2013
New Revision: 13560
Log:
mips32/mips64: tests for FCSR.
Change the existing tests to print the value of the FCSR
register after the mips fpu instruction is executed.
Add tests that are testing the value of FCSR register.
Added:
trunk/none/tests/mips32/test_fcsr.c
trunk/none/tests/mips32/test_fcsr.stderr.exp
trunk/none/tests/mips32/test_fcsr.stdout.exp
trunk/none/tests/mips32/test_fcsr.vgtest
trunk/none/tests/mips64/test_fcsr.c
trunk/none/tests/mips64/test_fcsr.stderr.exp
trunk/none/tests/mips64/test_fcsr.stdout.exp
trunk/none/tests/mips64/test_fcsr.vgtest
Modified:
trunk/none/tests/mips32/Makefile.am
trunk/none/tests/mips32/round.c
trunk/none/tests/mips32/round.stdout.exp
trunk/none/tests/mips64/Makefile.am
trunk/none/tests/mips64/fpu_arithmetic.c
trunk/none/tests/mips64/macro_fpu.h
trunk/none/tests/mips64/round.c
trunk/none/tests/mips64/round.stdout.exp
Modified: trunk/none/tests/mips32/Makefile.am
==============================================================================
--- trunk/none/tests/mips32/Makefile.am (original)
+++ trunk/none/tests/mips32/Makefile.am Wed Sep 18 10:08:23 2013
@@ -30,7 +30,8 @@
mips32_dspr2.stdout.exp mips32_dspr2.stderr.exp \
mips32_dspr2.stdout.exp-mips32 mips32_dspr2.vgtest \
unaligned_load_store.stdout.exp-LE unaligned_load_store.stdout.exp-BE \
- unaligned_load_store.stderr.exp unaligned_load_store.vgtest
+ unaligned_load_store.stderr.exp unaligned_load_store.vgtest \
+ test_fcsr.stdout.exp test_fcsr.stderr.exp test_fcsr.vgtest
check_PROGRAMS = \
allexec \
@@ -48,7 +49,8 @@
bug320057-mips32 \
mips32_dsp \
mips32_dspr2 \
- unaligned_load_store
+ unaligned_load_store \
+ test_fcsr
AM_CFLAGS += @FLAG_M32@
AM_CXXFLAGS += @FLAG_M32@
Modified: trunk/none/tests/mips32/round.c
==============================================================================
--- trunk/none/tests/mips32/round.c (original)
+++ trunk/none/tests/mips32/round.c Wed Sep 18 10:08:23 2013
@@ -58,137 +58,154 @@
-347856, 0x80000000, 0xFFFFFFF, 23,
};
-#define BINOP(op) \
- __asm__ volatile( \
- op" %0, %1, %2\n\t" \
- : "=f"(fd) : "f"(f) , "f"(fB));
-
-#define UNOPdd(op) \
- fd_d = 0; \
- __asm__ volatile( \
- op" %0, %1\n\t" \
- : "=f"(fd_d) : "f"(fs_d[i]));
-
-#define UNOPff(op) \
- fd_f = 0; \
- __asm__ volatile( \
- op" %0, %1\n\t" \
- : "=f"(fd_f) : "f"(fs_f[i]));
-
-#define UNOPfd(op) \
- fd_d = 0; \
- __asm__ volatile( \
- op" %0, %1\n\t" \
- : "=f"(fd_d) : "f"(fs_f[i]));
-
-#define UNOPdf(op) \
- fd_f = 0; \
- __asm__ volatile( \
- op" %0, %1\n\t" \
- : "=f"(fd_f) : "f"(fs_d[i]));
-
-#define UNOPfw(op) \
- fd_w = 0; \
- __asm__ volatile( \
- op" $f0, %1\n\t" \
- "mfc1 %0, $f0\n\t" \
- : "=r"(fd_w) : "f"(fs_f[i]) \
- : "$f0");
-
-#define UNOPdw(op) \
- fd_w = 0; \
- __asm__ volatile( \
- op" $f0, %1\n\t" \
- "mfc1 %0, $f0\n\t" \
- : "=r"(fd_w) : "f"(fs_d[i]) \
- : "$f0");
-
-#define UNOPwd(op) \
- fd_d = 0; \
- __asm__ volatile( \
- "mtc1 %1, $f0\n\t" \
- op" %0, $f0\n\t" \
- : "=f"(fd_d) : "r"(fs_w[i]) \
- : "$f0", "$f1");
-
-#define UNOPwf(op) \
- fd_f = 0; \
- __asm__ volatile( \
- "mtc1 %1, $f0\n\t" \
- op" %0, $f0\n\t" \
- : "=f"(fd_f) : "r"(fs_w[i]) \
- : "$f0");
+#define BINOP(op) \
+ __asm__ volatile(op" %1, %2, %3" "\n\t" \
+ "cfc1 %0, $31" "\n\t" \
+ : "=r" (fcsr), "=f"(fd) \
+ : "f"(f) , "f"(fB));
+
+#define UNOPdd(op) \
+ fd_d = 0; \
+ __asm__ volatile(op" %1, %2" "\n\t" \
+ "cfc1 %0, $31" "\n\t" \
+ : "=r" (fcsr), "=f"(fd_d) \
+ : "f"(fs_d[i]));
+
+#define UNOPff(op) \
+ fd_f = 0; \
+ __asm__ volatile(op" %1, %2" "\n\t" \
+ "cfc1 %0, $31" "\n\t" \
+ : "=r" (fcsr), "=f"(fd_f) \
+ : "f"(fs_f[i]));
+
+#define UNOPfd(op) \
+ fd_d = 0; \
+ __asm__ volatile(op" %1, %2" "\n\t" \
+ "cfc1 %0, $31" "\n\t" \
+ : "=r" (fcsr), "=f"(fd_d) \
+ : "f"(fs_f[i]));
+
+#define UNOPdf(op) \
+ fd_f = 0; \
+ __asm__ volatile(op" %1, %2" "\n\t" \
+ "cfc1 %0, $31" "\n\t" \
+ : "=r" (fcsr), "=f"(fd_f) \
+ : "f"(fs_d[i]));
+
+#define UNOPfw(op) \
+ fd_w = 0; \
+ __asm__ volatile(op" $f0, %2" "\n\t" \
+ "mfc1 %1, $f0" "\n\t" \
+ "cfc1 %0, $31" "\n\t" \
+ : "=r" (fcsr), "=r"(fd_w) \
+ : "f"(fs_f[i]) \
+ : "$f0");
+
+#define UNOPdw(op) \
+ fd_w = 0; \
+ __asm__ volatile(op" $f0, %2" "\n\t" \
+ "mfc1 %1, $f0" "\n\t" \
+ "cfc1 %0, $31" "\n\t" \
+ : "=r" (fcsr), "=r"(fd_w) \
+ : "f"(fs_d[i]) \
+ : "$f0");
+
+#define UNOPwd(op) \
+ fd_d = 0; \
+ __asm__ volatile("mtc1 %2, $f0" "\n\t" \
+ op" %1, $f0" "\n\t" \
+ "cfc1 %0, $31" "\n\t" \
+ : "=r" (fcsr), "=f"(fd_d) \
+ : "r"(fs_w[i]) \
+ : "$f0", "$f1");
+
+#define UNOPwf(op) \
+ fd_f = 0; \
+ __asm__ volatile("mtc1 %2, $f0" "\n\t" \
+ op" %1, $f0" "\n\t" \
+ "cfc1 %0, $31" "\n\t" \
+ : "=r" (fcsr), "=f"(fd_f) \
+ : "r"(fs_w[i]) \
+ : "$f0");
void set_rounding_mode(round_mode_t mode)
{
- switch(mode) {
- case TO_NEAREST:
- __asm__ volatile("cfc1 $t0, $31\n\t"
- "srl $t0, 2\n\t"
- "sll $t0, 2\n\t"
- "ctc1 $t0, $31\n\t");
-
- break;
- case TO_ZERO:
- __asm__ volatile("cfc1 $t0, $31\n\t"
- "srl $t0, 2\n\t"
- "sll $t0, 2\n\t"
- "addiu $t0, 1\n\t"
- "ctc1 $t0, $31\n\t");
- break;
- case TO_PLUS_INFINITY:
- __asm__ volatile("cfc1 $t0, $31\n\t"
- "srl $t0, 2\n\t"
- "sll $t0, 2\n\t"
- "addiu $t0, 2\n\t"
- "ctc1 $t0, $31\n\t");
- break;
- case TO_MINUS_INFINITY:
- __asm__ volatile("cfc1 $t0, $31\n\t"
- "srl $t0, 2\n\t"
- "sll $t0, 2\n\t"
- "addiu $t0, 3\n\t"
- "ctc1 $t0, $31\n\t");
- break;
- }
+ switch(mode) {
+ case TO_NEAREST:
+ __asm__ volatile("cfc1 $t0, $31\n\t"
+ "srl $t0, 2\n\t"
+ "sll $t0, 2\n\t"
+ "ctc1 $t0, $31\n\t");
+ break;
+ case TO_ZERO:
+ __asm__ volatile("cfc1 $t0, $31\n\t"
+ "srl $t0, 2\n\t"
+ "sll $t0, 2\n\t"
+ "addiu $t0, 1\n\t"
+ "ctc1 $t0, $31\n\t");
+ break;
+ case TO_PLUS_INFINITY:
+ __asm__ volatile("cfc1 $t0, $31\n\t"
+ "srl $t0, 2\n\t"
+ "sll $t0, 2\n\t"
+ "addiu $t0, 2\n\t"
+ "ctc1 $t0, $31\n\t");
+ break;
+ case TO_MINUS_INFINITY:
+ __asm__ volatile("cfc1 $t0, $31\n\t"
+ "srl $t0, 2\n\t"
+ "sll $t0, 2\n\t"
+ "addiu $t0, 3\n\t"
+ "ctc1 $t0, $31\n\t");
+ break;
+ }
}
int directedRoundingMode(flt_dir_op_t op) {
int fd_w = 0;
int i;
+ int fcsr = 0;
for (i = 0; i < 24; i++) {
switch(op) {
case CEILWS:
UNOPfw("ceil.w.s");
printf("%s %d %f\n", flt_dir_op_names[op], fd_w, fs_f[i]);
+ printf("fcsr: 0x%x\n", fcsr);
break;
case CEILWD:
UNOPdw("ceil.w.d");
printf("%s %d %lf\n", flt_dir_op_names[op], fd_w, fs_d[i]);
+ printf("fcsr: 0x%x\n", fcsr);
break;
case FLOORWS:
UNOPfw("floor.w.s");
printf("%s %d %f\n", flt_dir_op_names[op], fd_w, fs_f[i]);
+ printf("fcsr: 0x%x\n", fcsr);
break;
case FLOORWD:
UNOPdw("floor.w.d");
printf("%s %d %lf\n", flt_dir_op_names[op], fd_w, fs_d[i]);
+ printf("fcsr: 0x%x\n", fcsr);
break;
case ROUNDWS:
UNOPfw("round.w.s");
printf("%s %d %f\n", flt_dir_op_names[op], fd_w, fs_f[i]);
+ printf("fcsr: 0x%x\n", fcsr);
break;
case ROUNDWD:
UNOPdw("round.w.d");
printf("%s %d %lf\n", flt_dir_op_names[op], fd_w, fs_d[i]);
+ printf("fcsr: 0x%x\n", fcsr);
break;
case TRUNCWS:
UNOPfw("trunc.w.s");
printf("%s %d %f\n", flt_dir_op_names[op], fd_w, fs_f[i]);
+ printf("fcsr: 0x%x\n", fcsr);
break;
case TRUNCWD:
UNOPdw("trunc.w.d");
printf("%s %d %lf\n", flt_dir_op_names[op], fd_w, fs_d[i]);
+ printf("fcsr: 0x%x\n", fcsr);
break;
default:
printf("error\n");
@@ -204,38 +221,43 @@
float fd_f = 0;
int fd_w = 0;
int i;
+ int fcsr = 0;
round_mode_t rm;
- for (rm = TO_NEAREST; rm <= TO_MINUS_INFINITY; rm ++)
- {
+ for (rm = TO_NEAREST; rm <= TO_MINUS_INFINITY; rm ++) {
set_rounding_mode(rm);
printf("roundig mode: %s\n", round_mode_name[rm]);
- for (i = 0; i < 24; i++)
- {
+ for (i = 0; i < 24; i++) {
set_rounding_mode(rm);
switch(op1) {
case CVTDS:
UNOPfd("cvt.d.s");
printf("%s %lf %lf\n", flt_round_op_names[op1], fd_d, fs_f[i]);
+ printf("fcsr: 0x%x\n", fcsr);
break;
case CVTDW:
UNOPwd("cvt.d.w");
printf("%s %lf %d\n", flt_round_op_names[op1], fd_d, fs_w[i]);
+ printf("fcsr: 0x%x\n", fcsr);
break;
case CVTSD:
UNOPdf("cvt.s.d");
printf("%s %f %lf\n", flt_round_op_names[op1], fd_f, fs_d[i]);
+ printf("fcsr: 0x%x\n", fcsr);
break;
case CVTSW:
UNOPwf("cvt.s.w");
printf("%s %f %d\n", flt_round_op_names[op1], fd_f, fs_w[i]);
+ printf("fcsr: 0x%x\n", fcsr);
break;
case CVTWS:
UNOPfw("cvt.w.s");
printf("%s %d %f\n", flt_round_op_names[op1], fd_w, fs_f[i]);
+ printf("fcsr: 0x%x\n", fcsr);
break;
case CVTWD:
UNOPdw("cvt.w.d");
printf("%s %d %lf\n", flt_round_op_names[op1], fd_w, fs_d[i]);
+ printf("fcsr: 0x%x\n", fcsr);
break;
default:
printf("error\n");
Modified: trunk/none/tests/mips32/round.stdout.exp
==============================================================================
--- trunk/none/tests/mips32/round.stdout.exp (original)
+++ trunk/none/tests/mips32/round.stdout.exp Wed Sep 18 10:08:23 2013
@@ -1,794 +1,1562 @@
-------------------------- test FPU Conversion Operations Using a Directed Rounding Mode --------------------------
ceil.w.s 0 0.000000
+fcsr: 0x0
ceil.w.s 457 456.248962
+fcsr: 0x1004
ceil.w.s 3 3.000000
+fcsr: 0x4
ceil.w.s -1 -1.000000
+fcsr: 0x4
ceil.w.s 1385 1384.599976
+fcsr: 0x1004
ceil.w.s -7 -7.294568
+fcsr: 0x1004
ceil.w.s 1000000000 1000000000.000000
+fcsr: 0x4
ceil.w.s -5786 -5786.470215
+fcsr: 0x1004
ceil.w.s 1752 1752.000000
+fcsr: 0x4
ceil.w.s 1 0.002457
+fcsr: 0x1004
ceil.w.s 1 0.000000
+fcsr: 0x1004
ceil.w.s -248562 -248562.765625
+fcsr: 0x1004
ceil.w.s -45786 -45786.476562
+fcsr: 0x1004
ceil.w.s 457 456.248962
+fcsr: 0x1004
ceil.w.s 35 34.000462
+fcsr: 0x1004
ceil.w.s 45787 45786.476562
+fcsr: 0x1004
ceil.w.s 1752065 1752065.000000
+fcsr: 0x4
ceil.w.s 107 107.000000
+fcsr: 0x4
ceil.w.s -45667 -45667.238281
+fcsr: 0x1004
ceil.w.s -7 -7.294568
+fcsr: 0x1004
ceil.w.s -347856 -347856.468750
+fcsr: 0x1004
ceil.w.s 356048 356047.562500
+fcsr: 0x1004
ceil.w.s -1 -1.000000
+fcsr: 0x4
ceil.w.s 24 23.040001
+fcsr: 0x1004
ceil.w.d 0 0.000000
+fcsr: 0x4
ceil.w.d 457 456.248956
+fcsr: 0x1004
ceil.w.d 3 3.000000
+fcsr: 0x4
ceil.w.d -1 -1.000000
+fcsr: 0x4
ceil.w.d 1385 1384.600000
+fcsr: 0x1004
ceil.w.d -7 -7.294568
+fcsr: 0x1004
ceil.w.d 1000000000 1000000000.000000
+fcsr: 0x4
ceil.w.d -5786 -5786.470000
+fcsr: 0x1004
ceil.w.d 1752 1752.000000
+fcsr: 0x4
ceil.w.d 1 0.002458
+fcsr: 0x1004
ceil.w.d 1 0.000000
+fcsr: 0x1004
ceil.w.d -248562 -248562.760000
+fcsr: 0x1004
ceil.w.d -45786 -45786.476000
+fcsr: 0x1004
ceil.w.d 457 456.248956
+fcsr: 0x1004
ceil.w.d 35 34.000460
+fcsr: 0x1004
ceil.w.d 45787 45786.476000
+fcsr: 0x1004
ceil.w.d 1752065 1752065.000000
+fcsr: 0x4
ceil.w.d 107 107.000000
+fcsr: 0x4
ceil.w.d -45667 -45667.240000
+fcsr: 0x1004
ceil.w.d -7 -7.294568
+fcsr: 0x1004
ceil.w.d -347856 -347856.475000
+fcsr: 0x1004
ceil.w.d 356048 356047.560000
+fcsr: 0x1004
ceil.w.d -1 -1.000000
+fcsr: 0x4
ceil.w.d 24 23.040000
+fcsr: 0x1004
floor.w.s 0 0.000000
+fcsr: 0x4
floor.w.s 456 456.248962
+fcsr: 0x1004
floor.w.s 3 3.000000
+fcsr: 0x4
floor.w.s -1 -1.000000
+fcsr: 0x4
floor.w.s 1384 1384.599976
+fcsr: 0x1004
floor.w.s -8 -7.294568
+fcsr: 0x1004
floor.w.s 1000000000 1000000000.000000
+fcsr: 0x4
floor.w.s -5787 -5786.470215
+fcsr: 0x1004
floor.w.s 1752 1752.000000
+fcsr: 0x4
floor.w.s 0 0.002457
+fcsr: 0x1004
floor.w.s 0 0.000000
+fcsr: 0x1004
floor.w.s -248563 -248562.765625
+fcsr: 0x1004
floor.w.s -45787 -45786.476562
+fcsr: 0x1004
floor.w.s 456 456.248962
+fcsr: 0x1004
floor.w.s 34 34.000462
+fcsr: 0x1004
floor.w.s 45786 45786.476562
+fcsr: 0x1004
floor.w.s 1752065 1752065.000000
+fcsr: 0x4
floor.w.s 107 107.000000
+fcsr: 0x4
floor.w.s -45668 -45667.238281
+fcsr: 0x1004
floor.w.s -8 -7.294568
+fcsr: 0x1004
floor.w.s -347857 -347856.468750
+fcsr: 0x1004
floor.w.s 356047 356047.562500
+fcsr: 0x1004
floor.w.s -1 -1.000000
+fcsr: 0x4
floor.w.s 23 23.040001
+fcsr: 0x1004
floor.w.d 0 0.000000
+fcsr: 0x4
floor.w.d 456 456.248956
+fcsr: 0x1004
floor.w.d 3 3.000000
+fcsr: 0x4
floor.w.d -1 -1.000000
+fcsr: 0x4
floor.w.d 1384 1384.600000
+fcsr: 0x1004
floor.w.d -8 -7.294568
+fcsr: 0x1004
floor.w.d 1000000000 1000000000.000000
+fcsr: 0x4
floor.w.d -5787 -5786.470000
+fcsr: 0x1004
floor.w.d 1752 1752.000000
+fcsr: 0x4
floor.w.d 0 0.002458
+fcsr: 0x1004
floor.w.d 0 0.000000
+fcsr: 0x1004
floor.w.d -248563 -248562.760000
+fcsr: 0x1004
floor.w.d -45787 -45786.476000
+fcsr: 0x1004
floor.w.d 456 456.248956
+fcsr: 0x1004
floor.w.d 34 34.000460
+fcsr: 0x1004
floor.w.d 45786 45786.476000
+fcsr: 0x1004
floor.w.d 1752065 1752065.000000
+fcsr: 0x4
floor.w.d 107 107.000000
+fcsr: 0x4
floor.w.d -45668 -45667.240000
+fcsr: 0x1004
floor.w.d -8 -7.294568
+fcsr: 0x1004
floor.w.d -347857 -347856.475000
+fcsr: 0x1004
floor.w.d 356047 356047.560000
+fcsr: 0x1004
floor.w.d -1 -1.000000
+fcsr: 0x4
floor.w.d 23 23.040000
+fcsr: 0x1004
round.w.s 0 0.000000
+fcsr: 0x4
round.w.s 456 456.248962
+fcsr: 0x1004
round.w.s 3 3.000000
+fcsr: 0x4
round.w.s -1 -1.000000
+fcsr: 0x4
round.w.s 1385 1384.599976
+fcsr: 0x1004
round.w.s -7 -7.294568
+fcsr: 0x1004
round.w.s 1000000000 1000000000.000000
+fcsr: 0x4
round.w.s -5786 -5786.470215
+fcsr: 0x1004
round.w.s 1752 1752.000000
+fcsr: 0x4
round.w.s 0 0.002457
+fcsr: 0x1004
round.w.s 0 0.000000
+fcsr: 0x1004
round.w.s -248563 -248562.765625
+fcsr: 0x1004
round.w.s -45786 -45786.476562
+fcsr: 0x1004
round.w.s 456 456.248962
+fcsr: 0x1004
round.w.s 34 34.000462
+fcsr: 0x1004
round.w.s 45786 45786.476562
+fcsr: 0x1004
round.w.s 1752065 1752065.000000
+fcsr: 0x4
round.w.s 107 107.000000
+fcsr: 0x4
round.w.s -45667 -45667.238281
+fcsr: 0x1004
round.w.s -7 -7.294568
+fcsr: 0x1004
round.w.s -347856 -347856.468750
+fcsr: 0x1004
round.w.s 356048 356047.562500
+fcsr: 0x1004
round.w.s -1 -1.000000
+fcsr: 0x4
round.w.s 23 23.040001
+fcsr: 0x1004
round.w.d 0 0.000000
+fcsr: 0x4
round.w.d 456 456.248956
+fcsr: 0x1004
round.w.d 3 3.000000
+fcsr: 0x4
round.w.d -1 -1.000000
+fcsr: 0x4
round.w.d 1385 1384.600000
+fcsr: 0x1004
round.w.d -7 -7.294568
+fcsr: 0x1004
round.w.d 1000000000 1000000000.000000
+fcsr: 0x4
round.w.d -5786 -5786.470000
+fcsr: 0x1004
round.w.d 1752 1752.000000
+fcsr: 0x4
round.w.d 0 0.002458
+fcsr: 0x1004
round.w.d 0 0.000000
+fcsr: 0x1004
round.w.d -248563 -248562.760000
+fcsr: 0x1004
round.w.d -45786 -45786.476000
+fcsr: 0x1004
round.w.d 456 456.248956
+fcsr: 0x1004
round.w.d 34 34.000460
+fcsr: 0x1004
round.w.d 45786 45786.476000
+fcsr: 0x1004
round.w.d 1752065 1752065.000000
+fcsr: 0x4
round.w.d 107 107.000000
+fcsr: 0x4
round.w.d -45667 -45667.240000
+fcsr: 0x1004
round.w.d -7 -7.294568
+fcsr: 0x1004
round.w.d -347856 -347856.475000
+fcsr: 0x1004
round.w.d 356048 356047.560000
+fcsr: 0x1004
round.w.d -1 -1.000000
+fcsr: 0x4
round.w.d 23 23.040000
+fcsr: 0x1004
trunc.w.s 0 0.000000
+fcsr: 0x4
trunc.w.s 456 456.248962
+fcsr: 0x1004
trunc.w.s 3 3.000000
+fcsr: 0x4
trunc.w.s -1 -1.000000
+fcsr: 0x4
trunc.w.s 1384 1384.599976
+fcsr: 0x1004
trunc.w.s -7 -7.294568
+fcsr: 0x1004
trunc.w.s 1000000000 1000000000.000000
+fcsr: 0x4
trunc.w.s -5786 -5786.470215
+fcsr: 0x1004
trunc.w.s 1752 1752.000000
+fcsr: 0x4
trunc.w.s 0 0.002457
+fcsr: 0x1004
trunc.w.s 0 0.000000
+fcsr: 0x1004
trunc.w.s -248562 -248562.765625
+fcsr: 0x1004
trunc.w.s -45786 -45786.476562
+fcsr: 0x1004
trunc.w.s 456 456.248962
+fcsr: 0x1004
trunc.w.s 34 34.000462
+fcsr: 0x1004
trunc.w.s 45786 45786.476562
+fcsr: 0x1004
trunc.w.s 1752065 1752065.000000
+fcsr: 0x4
trunc.w.s 107 107.000000
+fcsr: 0x4
trunc.w.s -45667 -45667.238281
+fcsr: 0x1004
trunc.w.s -7 -7.294568
+fcsr: 0x1004
trunc.w.s -347856 -347856.468750
+fcsr: 0x1004
trunc.w.s 356047 356047.562500
+fcsr: 0x1004
trunc.w.s -1 -1.000000
+fcsr: 0x4
trunc.w.s 23 23.040001
+fcsr: 0x1004
trunc.w.d 0 0.000000
+fcsr: 0x4
trunc.w.d 456 456.248956
+fcsr: 0x1004
trunc.w.d 3 3.000000
+fcsr: 0x4
trunc.w.d -1 -1.000000
+fcsr: 0x4
trunc.w.d 1384 1384.600000
+fcsr: 0x1004
trunc.w.d -7 -7.294568
+fcsr: 0x1004
trunc.w.d 1000000000 1000000000.000000
+fcsr: 0x4
trunc.w.d -5786 -5786.470000
+fcsr: 0x1004
trunc.w.d 1752 1752.000000
+fcsr: 0x4
trunc.w.d 0 0.002458
+fcsr: 0x1004
trunc.w.d 0 0.000000
+fcsr: 0x1004
trunc.w.d -248562 -248562.760000
+fcsr: 0x1004
trunc.w.d -45786 -45786.476000
+fcsr: 0x1004
trunc.w.d 456 456.248956
+fcsr: 0x1004
trunc.w.d 34 34.000460
+fcsr: 0x1004
trunc.w.d 45786 45786.476000
+fcsr: 0x1004
trunc.w.d 1752065 1752065.000000
+fcsr: 0x4
trunc.w.d 107 107.000000
+fcsr: 0x4
trunc.w.d -45667 -45667.240000
+fcsr: 0x1004
trunc.w.d -7 -7.294568
+fcsr: 0x1004
trunc.w.d -347856 -347856.475000
+fcsr: 0x1004
trunc.w.d 356047 356047.560000
+fcsr: 0x1004
trunc.w.d -1 -1.000000
+fcsr: 0x4
trunc.w.d 23 23.040000
+fcsr: 0x1004
-------------------------- test FPU Conversion Operations Using the FCSR Rounding Mode --------------------------
roundig mode: near
cvt.d.s 0.000000 0.000000
+fcsr: 0x4
cvt.d.s 456.248962 456.248962
+fcsr: 0x4
cvt.d.s 3.000000 3.000000
+fcsr: 0x4
cvt.d.s -1.000000 -1.000000
+fcsr: 0x4
cvt.d.s 1384.599976 1384.599976
+fcsr: 0x4
cvt.d.s -7.294568 -7.294568
+fcsr: 0x4
cvt.d.s 1000000000.000000 1000000000.000000
+fcsr: 0x4
cvt.d.s -5786.470215 -5786.470215
+fcsr: 0x4
cvt.d.s 1752.000000 1752.000000
+fcsr: 0x4
cvt.d.s 0.002457 0.002457
+fcsr: 0x4
cvt.d.s 0.000000 0.000000
+fcsr: 0x4
cvt.d.s -248562.765625 -248562.765625
+fcsr: 0x4
cvt.d.s -45786.476562 -45786.476562
+fcsr: 0x4
cvt.d.s 456.248962 456.248962
+fcsr: 0x4
cvt.d.s 34.000462 34.000462
+fcsr: 0x4
cvt.d.s 45786.476562 45786.476562
+fcsr: 0x4
cvt.d.s 1752065.000000 1752065.000000
+fcsr: 0x4
cvt.d.s 107.000000 107.000000
+fcsr: 0x4
cvt.d.s -45667.238281 -45667.238281
+fcsr: 0x4
cvt.d.s -7.294568 -7.294568
+fcsr: 0x4
cvt.d.s -347856.468750 -347856.468750
+fcsr: 0x4
cvt.d.s 356047.562500 356047.562500
+fcsr: 0x4
cvt.d.s -1.000000 -1.000000
+fcsr: 0x4
cvt.d.s 23.040001 23.040001
+fcsr: 0x4
roundig mode: zero
cvt.d.s 0.000000 0.000000
+fcsr: 0x5
cvt.d.s 456.248962 456.248962
+fcsr: 0x5
cvt.d.s 3.000000 3.000000
+fcsr: 0x5
cvt.d.s -1.000000 -1.000000
+fcsr: 0x5
cvt.d.s 1384.599976 1384.599976
+fcsr: 0x5
cvt.d.s -7.294568 -7.294568
+fcsr: 0x5
cvt.d.s 1000000000.000000 1000000000.000000
+fcsr: 0x5
cvt.d.s -5786.470215 -5786.470215
+fcsr: 0x5
cvt.d.s 1752.000000 1752.000000
+fcsr: 0x5
cvt.d.s 0.002457 0.002457
+fcsr: 0x5
cvt.d.s 0.000000 0.000000
+fcsr: 0x5
cvt.d.s -248562.765625 -248562.765625
+fcsr: 0x5
cvt.d.s -45786.476562 -45786.476562
+fcsr: 0x5
cvt.d.s 456.248962 456.248962
+fcsr: 0x5
cvt.d.s 34.000462 34.000462
+fcsr: 0x5
cvt.d.s 45786.476562 45786.476562
+fcsr: 0x5
cvt.d.s 1752065.000000 1752065.000000
+fcsr: 0x5
cvt.d.s 107.000000 107.000000
+fcsr: 0x5
cvt.d.s -45667.238281 -45667.238281
+fcsr: 0x5
cvt.d.s -7.294568 -7.294568
+fcsr: 0x5
cvt.d.s -347856.468750 -347856.468750
+fcsr: 0x5
cvt.d.s 356047.562500 356047.562500
+fcsr: 0x5
cvt.d.s -1.000000 -1.000000
+fcsr: 0x5
cvt.d.s 23.040001 23.040001
+fcsr: 0x5
roundig mode: +inf
cvt.d.s 0.000000 0.000000
+fcsr: 0x6
cvt.d.s 456.248962 456.248962
+fcsr: 0x6
cvt.d.s 3.000000 3.000000
+fcsr: 0x6
cvt.d.s -1.000000 -1.000000
+fcsr: 0x6
cvt.d.s 1384.599976 1384.599976
+fcsr: 0x6
cvt.d.s -7.294568 -7.294568
+fcsr: 0x6
cvt.d.s 1000000000.000000 1000000000.000000
+fcsr: 0x6
cvt.d.s -5786.470215 -5786.470215
+fcsr: 0x6
cvt.d.s 1752.000000 1752.000000
+fcsr: 0x6
cvt.d.s 0.002457 0.002457
+fcsr: 0x6
cvt.d.s 0.000000 0.000000
+fcsr: 0x6
cvt.d.s -248562.765625 -248562.765625
+fcsr: 0x6
cvt.d.s -45786.476562 -45786.476562
+fcsr: 0x6
cvt.d.s 456.248962 456.248962
+fcsr: 0x6
cvt.d.s 34.000462 34.000462
+fcsr: 0x6
cvt.d.s 45786.476562 45786.476562
+fcsr: 0x6
cvt.d.s 1752065.000000 1752065.000000
+fcsr: 0x6
cvt.d.s 107.000000 107.000000
+fcsr: 0x6
cvt.d.s -45667.238281 -45667.238281
+fcsr: 0x6
cvt.d.s -7.294568 -7.294568
+fcsr: 0x6
cvt.d.s -347856.468750 -347856.468750
+fcsr: 0x6
cvt.d.s 356047.562500 356047.562500
+fcsr: 0x6
cvt.d.s -1.000000 -1.000000
+fcsr: 0x6
cvt.d.s 23.040001 23.040001
+fcsr: 0x6
roundig mode: -inf
cvt.d.s 0.000000 0.000000
+fcsr: 0x7
cvt.d.s 456.248962 456.248962
+fcsr: 0x7
cvt.d.s 3.000000 3.000000
+fcsr: 0x7
cvt.d.s -1.000000 -1.000000
+fcsr: 0x7
cvt.d.s 1384.599976 1384.599976
+fcsr: 0x7
cvt.d.s -7.294568 -7.294568
+fcsr: 0x7
cvt.d.s 1000000000.000000 1000000000.000000
+fcsr: 0x7
cvt.d.s -5786.470215 -5786.470215
+fcsr: 0x7
cvt.d.s 1752.000000 1752.000000
+fcsr: 0x7
cvt.d.s 0.002457 0.002457
+fcsr: 0x7
cvt.d.s 0.000000 0.000000
+fcsr: 0x7
cvt.d.s -248562.765625 -248562.765625
+fcsr: 0x7
cvt.d.s -45786.476562 -45786.476562
+fcsr: 0x7
cvt.d.s 456.248962 456.248962
+fcsr: 0x7
cvt.d.s 34.000462 34.000462
+fcsr: 0x7
cvt.d.s 45786.476562 45786.476562
+fcsr: 0x7
cvt.d.s 1752065.000000 1752065.000000
+fcsr: 0x7
cvt.d.s 107.000000 107.000000
+fcsr: 0x7
cvt.d.s -45667.238281 -45667.238281
+fcsr: 0x7
cvt.d.s -7.294568 -7.294568
+fcsr: 0x7
cvt.d.s -347856.468750 -347856.468750
+fcsr: 0x7
cvt.d.s 356047.562500 356047.562500
+fcsr: 0x7
cvt.d.s -1.000000 -1.000000
+fcsr: 0x7
cvt.d.s 23.040001 23.040001
+fcsr: 0x7
roundig mode: near
cvt.d.w 0.000000 0
+fcsr: 0x4
cvt.d.w 456.000000 456
+fcsr: 0x4
cvt.d.w 3.000000 3
+fcsr: 0x4
cvt.d.w -1.000000 -1
+fcsr: 0x4
cvt.d.w -1.000000 -1
+fcsr: 0x4
cvt.d.w 356.000000 356
+fcsr: 0x4
cvt.d.w 1000000000.000000 1000000000
+fcsr: 0x4
cvt.d.w -5786.000000 -5786
+fcsr: 0x4
cvt.d.w 1752.000000 1752
+fcsr: 0x4
cvt.d.w 24575.000000 24575
+fcsr: 0x4
cvt.d.w 10.000000 10
+fcsr: 0x4
cvt.d.w -248562.000000 -248562
+fcsr: 0x4
cvt.d.w -45786.000000 -45786
+fcsr: 0x4
cvt.d.w 456.000000 456
+fcsr: 0x4
cvt.d.w 34.000000 34
+fcsr: 0x4
cvt.d.w 45786.000000 45786
+fcsr: 0x4
cvt.d.w 1752065.000000 1752065
+fcsr: 0x4
cvt.d.w 107.000000 107
+fcsr: 0x4
cvt.d.w -45667.000000 -45667
+fcsr: 0x4
cvt.d.w -7.000000 -7
+fcsr: 0x4
cvt.d.w -347856.000000 -347856
+fcsr: 0x4
cvt.d.w -2147483648.000000 -2147483648
+fcsr: 0x4
cvt.d.w 268435455.000000 268435455
+fcsr: 0x4
cvt.d.w 23.000000 23
+fcsr: 0x4
roundig mode: zero
cvt.d.w 0.000000 0
+fcsr: 0x5
cvt.d.w 456.000000 456
+fcsr: 0x5
cvt.d.w 3.000000 3
+fcsr: 0x5
cvt.d.w -1.000000 -1
+fcsr: 0x5
cvt.d.w -1.000000 -1
+fcsr: 0x5
cvt.d.w 356.000000 356
+fcsr: 0x5
cvt.d.w 1000000000.000000 1000000000
+fcsr: 0x5
cvt.d.w -5786.000000 -5786
+fcsr: 0x5
cvt.d.w 1752.000000 1752
+fcsr: 0x5
cvt.d.w 24575.000000 24575
+fcsr: 0x5
cvt.d.w 10.000000 10
+fcsr: 0x5
cvt.d.w -248562.000000 -248562
+fcsr: 0x5
cvt.d.w -45786.000000 -45786
+fcsr: 0x5
cvt.d.w 456.000000 456
+fcsr: 0x5
cvt.d.w 34.000000 34
+fcsr: 0x5
cvt.d.w 45786.000000 45786
+fcsr: 0x5
cvt.d.w 1752065.000000 1752065
+fcsr: 0x5
cvt.d.w 107.000000 107
+fcsr: 0x5
cvt.d.w -45667.000000 -45667
+fcsr: 0x5
cvt.d.w -7.000000 -7
+fcsr: 0x5
cvt.d.w -347856.000000 -347856
+fcsr: 0x5
cvt.d.w -2147483648.000000 -2147483648
+fcsr: 0x5
cvt.d.w 268435455.000000 268435455
+fcsr: 0x5
cvt.d.w 23.000000 23
+fcsr: 0x5
roundig mode: +inf
cvt.d.w 0.000000 0
+fcsr: 0x6
cvt.d.w 456.000000 456
+fcsr: 0x6
cvt.d.w 3.000000 3
+fcsr: 0x6
cvt.d.w -1.000000 -1
+fcsr: 0x6
cvt.d.w -1.000000 -1
+fcsr: 0x6
cvt.d.w 356.000000 356
+fcsr: 0x6
cvt.d.w 1000000000.000000 1000000000
+fcsr: 0x6
cvt.d.w -5786.000000 -5786
+fcsr: 0x6
cvt.d.w 1752.000000 1752
+fcsr: 0x6
cvt.d.w 24575.000000 24575
+fcsr: 0x6
cvt.d.w 10.000000 10
+fcsr: 0x6
cvt.d.w -248562.000000 -248562
+fcsr: 0x6
cvt.d.w -45786.000000 -45786
+fcsr: 0x6
cvt.d.w 456.000000 456
+fcsr: 0x6
cvt.d.w 34.000000 34
+fcsr: 0x6
cvt.d.w 45786.000000 45786
+fcsr: 0x6
cvt.d.w 1752065.000000 1752065
+fcsr: 0x6
cvt.d.w 107.000000 107
+fcsr: 0x6
cvt.d.w -45667.000000 -45667
+fcsr: 0x6
cvt.d.w -7.000000 -7
+fcsr: 0x6
cvt.d.w -347856.000000 -347856
+fcsr: 0x6
cvt.d.w -2147483648.000000 -2147483648
+fcsr: 0x6
cvt.d.w 268435455.000000 268435455
+fcsr: 0x6
cvt.d.w 23.000000 23
+fcsr: 0x6
roundig mode: -inf
cvt.d.w 0.000000 0
+fcsr: 0x7
cvt.d.w 456.000000 456
+fcsr: 0x7
cvt.d.w 3.000000 3
+fcsr: 0x7
cvt.d.w -1.000000 -1
+fcsr: 0x7
cvt.d.w -1.000000 -1
+fcsr: 0x7
cvt.d.w 356.000000 356
+fcsr: 0x7
cvt.d.w 1000000000.000000 1000000000
+fcsr: 0x7
cvt.d.w -5786.000000 -5786
+fcsr: 0x7
cvt.d.w 1752.000000 1752
+fcsr: 0x7
cvt.d.w 24575.000000 24575
+fcsr: 0x7
cvt.d.w 10.000000 10
+fcsr: 0x7
cvt.d.w -248562.000000 -248562
+fcsr: 0x7
cvt.d.w -45786.000000 -45786
+fcsr: 0x7
cvt.d.w 456.000000 456
+fcsr: 0x7
cvt.d.w 34.000000 34
+fcsr: 0x7
cvt.d.w 45786.000000 45786
+fcsr: 0x7
cvt.d.w 1752065.000000 1752065
+fcsr: 0x7
cvt.d.w 107.000000 107
+fcsr: 0x7
cvt.d.w -45667.000000 -45667
+fcsr: 0x7
cvt.d.w -7.000000 -7
+fcsr: 0x7
cvt.d.w -347856.000000 -347856
+fcsr: 0x7
cvt.d.w -2147483648.000000 -2147483648
+fcsr: 0x7
cvt.d.w 268435455.000000 268435455
+fcsr: 0x7
cvt.d.w 23.000000 23
+fcsr: 0x7
roundig mode: near
cvt.s.d 0.000000 0.000000
+fcsr: 0x4
cvt.s.d 456.248962 456.248956
+fcsr: 0x1004
cvt.s.d 3.000000 3.000000
+fcsr: 0x4
cvt.s.d -1.000000 -1.000000
+fcsr: 0x4
cvt.s.d 1384.599976 1384.600000
+fcsr: 0x1004
cvt.s.d -7.294568 -7.294568
+fcsr: 0x1004
cvt.s.d 1000000000.000000 1000000000.000000
+fcsr: 0x4
cvt.s.d -5786.470215 -5786.470000
+fcsr: 0x1004
cvt.s.d 1752.000000 1752.000000
+fcsr: 0x4
cvt.s.d 0.002457 0.002458
+fcsr: 0x1004
cvt.s.d 0.000000 0.000000
+fcsr: 0x1004
cvt.s.d -248562.765625 -248562.760000
+fcsr: 0x1004
cvt.s.d -45786.476562 -45786.476000
+fcsr: 0x1004
cvt.s.d 456.248962 456.248956
+fcsr: 0x1004
cvt.s.d 34.000462 34.000460
+fcsr: 0x1004
cvt.s.d 45786.476562 45786.476000
+fcsr: 0x1004
cvt.s.d 1752065.000000 1752065.000000
+fcsr: 0x4
cvt.s.d 107.000000 107.000000
+fcsr: 0x4
cvt.s.d -45667.238281 -45667.240000
+fcsr: 0x1004
cvt.s.d -7.294568 -7.294568
+fcsr: 0x1004
cvt.s.d -347856.468750 -347856.475000
+fcsr: 0x1004
cvt.s.d 356047.562500 356047.560000
+fcsr: 0x1004
cvt.s.d -1.000000 -1.000000
+fcsr: 0x4
cvt.s.d 23.040001 23.040000
+fcsr: 0x1004
roundig mode: zero
cvt.s.d 0.000000 0.000000
+fcsr: 0x5
cvt.s.d 456.248932 456.248956
+fcsr: 0x1005
cvt.s.d 3.000000 3.000000
+fcsr: 0x5
cvt.s.d -1.000000 -1.000000
+fcsr: 0x5
cvt.s.d 1384.599976 1384.600000
+fcsr: 0x1005
cvt.s.d -7.294568 -7.294568
+fcsr: 0x1005
cvt.s.d 1000000000.000000 1000000000.000000
+fcsr: 0x5
cvt.s.d -5786.469727 -5786.470000
+fcsr: 0x1005
cvt.s.d 1752.000000 1752.000000
+fcsr: 0x5
cvt.s.d 0.002457 0.002458
+fcsr: 0x1005
cvt.s.d 0.000000 0.000000
+fcsr: 0x1005
cvt.s.d -248562.750000 -248562.760000
+fcsr: 0x1005
cvt.s.d -45786.472656 -45786.476000
+fcsr: 0x1005
cvt.s.d 456.248932 456.248956
+fcsr: 0x1005
cvt.s.d 34.000458 34.000460
+fcsr: 0x1005
cvt.s.d 45786.472656 45786.476000
+fcsr: 0x1005
cvt.s.d 1752065.000000 1752065.000000
+fcsr: 0x5
cvt.s.d 107.000000 107.000000
+fcsr: 0x5
cvt.s.d -45667.238281 -45667.240000
+fcsr: 0x1005
cvt.s.d -7.294568 -7.294568
+fcsr: 0x1005
cvt.s.d -347856.468750 -347856.475000
+fcsr: 0x1005
cvt.s.d 356047.531250 356047.560000
+fcsr: 0x1005
cvt.s.d -1.000000 -1.000000
+fcsr: 0x5
cvt.s.d 23.039999 23.040000
+fcsr: 0x1005
roundig mode: +inf
cvt.s.d 0.000000 0.000000
+fcsr: 0x6
cvt.s.d 456.248962 456.248956
+fcsr: 0x1006
cvt.s.d 3.000000 3.000000
+fcsr: 0x6
cvt.s.d -1.000000 -1.000000
+fcsr: 0x6
cvt.s.d 1384.600098 1384.600000
+fcsr: 0x1006
cvt.s.d -7.294568 -7.294568
+fcsr: 0x1006
cvt.s.d 1000000000.000000 1000000000.000000
+fcsr: 0x6
cvt.s.d -5786.469727 -5786.470000
+fcsr: 0x1006
cvt.s.d 1752.000000 1752.000000
+fcsr: 0x6
cvt.s.d 0.002458 0.002458
+fcsr: 0x1006
cvt.s.d 0.000000 0.000000
+fcsr: 0x1006
cvt.s.d -248562.750000 -248562.760000
+fcsr: 0x1006
cvt.s.d -45786.472656 -45786.476000
+fcsr: 0x1006
cvt.s.d 456.248962 456.248956
+fcsr: 0x1006
cvt.s.d 34.000462 34.000460
+fcsr: 0x1006
cvt.s.d 45786.476562 45786.476000
+fcsr: 0x1006
cvt.s.d 1752065.000000 1752065.000000
+fcsr: 0x6
cvt.s.d 107.000000 107.000000
+fcsr: 0x6
cvt.s.d -45667.238281 -45667.240000
+fcsr: 0x1006
cvt.s.d -7.294568 -7.294568
+fcsr: 0x1006
cvt.s.d -347856.468750 -347856.475000
+fcsr: 0x1006
cvt.s.d 356047.562500 356047.560000
+fcsr: 0x1006
cvt.s.d -1.000000 -1.000000
+fcsr: 0x6
cvt.s.d 23.040001 23.040000
+fcsr: 0x1006
roundig mode: -inf
cvt.s.d 0.000000 0.000000
+fcsr: 0x7
cvt.s.d 456.248932 456.248956
+fcsr: 0x1007
cvt.s.d 3.000000 3.000000
+fcsr: 0x7
cvt.s.d -1.000000 -1.000000
+fcsr: 0x7
cvt.s.d 1384.599976 1384.600000
+fcsr: 0x1007
cvt.s.d -7.294568 -7.294568
+fcsr: 0x1007
cvt.s.d 1000000000.000000 1000000000.000000
+fcsr: 0x7
cvt.s.d -5786.470215 -5786.470000
+fcsr: 0x1007
cvt.s.d 1752.000000 1752.000000
+fcsr: 0x7
cvt.s.d 0.002457 0.002458
+fcsr: 0x1007
cvt.s.d 0.000000 0.000000
+fcsr: 0x1007
cvt.s.d -248562.765625 -248562.760000
+fcsr: 0x1007
cvt.s.d -45786.476562 -45786.476000
+fcsr: 0x1007
cvt.s.d 456.248932 456.248956
+fcsr: 0x1007
cvt.s.d 34.000458 34.000460
+fcsr: 0x1007
cvt.s.d 45786.472656 45786.476000
+fcsr: 0x1007
cvt.s.d 1752065.000000 1752065.000000
+fcsr: 0x7
cvt.s.d 107.000000 107.000000
+fcsr: 0x7
cvt.s.d -45667.242188 -45667.240000
+fcsr: 0x1007
cvt.s.d -7.294568 -7.294568
+fcsr: 0x1007
cvt.s.d -347856.500000 -347856.475000
+fcsr: 0x1007
cvt.s.d 356047.531250 356047.560000
+fcsr: 0x1007
cvt.s.d -1.000000 -1.000000
+fcsr: 0x7
cvt.s.d 23.039999 23.040000
+fcsr: 0x1007
roundig mode: near
cvt.s.w 0.000000 0
+fcsr: 0x4
cvt.s.w 456.000000 456
+fcsr: 0x4
cvt.s.w 3.000000 3
+fcsr: 0x4
cvt.s.w -1.000000 -1
+fcsr: 0x4
cvt.s.w -1.000000 -1
+fcsr: 0x4
cvt.s.w 356.000000 356
+fcsr: 0x4
cvt.s.w 1000000000.000000 1000000000
+fcsr: 0x4
cvt.s.w -5786.000000 -5786
+fcsr: 0x4
cvt.s.w 1752.000000 1752
+fcsr: 0x4
cvt.s.w 24575.000000 24575
+fcsr: 0x4
cvt.s.w 10.000000 10
+fcsr: 0x4
cvt.s.w -248562.000000 -248562
+fcsr: 0x4
cvt.s.w -45786.000000 -45786
+fcsr: 0x4
cvt.s.w 456.000000 456
+fcsr: 0x4
cvt.s.w 34.000000 34
+fcsr: 0x4
cvt.s.w 45786.000000 45786
+fcsr: 0x4
cvt.s.w 1752065.000000 1752065
+fcsr: 0x4
cvt.s.w 107.000000 107
+fcsr: 0x4
cvt.s.w -45667.000000 -45667
+fcsr: 0x4
cvt.s.w -7.000000 -7
+fcsr: 0x4
cvt.s.w -347856.000000 -347856
+fcsr: 0x4
cvt.s.w -2147483648.000000 -2147483648
+fcsr: 0x4
cvt.s.w 268435456.000000 268435455
+fcsr: 0x1004
cvt.s.w 23.000000 23
+fcsr: 0x4
roundig mode: zero
cvt.s.w 0.000000 0
+fcsr: 0x5
cvt.s.w 456.000000 456
+fcsr: 0x5
cvt.s.w 3.000000 3
+fcsr: 0x5
cvt.s.w -1.000000 -1
+fcsr: 0x5
cvt.s.w -1.000000 -1
+fcsr: 0x5
cvt.s.w 356.000000 356
+fcsr: 0x5
cvt.s.w 1000000000.000000 1000000000
+fcsr: 0x5
cvt.s.w -5786.000000 -5786
+fcsr: 0x5
cvt.s.w 1752.000000 1752
+fcsr: 0x5
cvt.s.w 24575.000000 24575
+fcsr: 0x5
cvt.s.w 10.000000 10
+fcsr: 0x5
cvt.s.w -248562.000000 -248562
+fcsr: 0x5
cvt.s.w -45786.000000 -45786
+fcsr: 0x5
cvt.s.w 456.000000 456
+fcsr: 0x5
cvt.s.w 34.000000 34
+fcsr: 0x5
cvt.s.w 45786.000000 45786
+fcsr: 0x5
cvt.s.w 1752065.000000 1752065
+fcsr: 0x5
cvt.s.w 107.000000 107
+fcsr: 0x5
cvt.s.w -45667.000000 -45667
+fcsr: 0x5
cvt.s.w -7.000000 -7
+fcsr: 0x5
cvt.s.w -347856.000000 -347856
+fcsr: 0x5
cvt.s.w -2147483648.000000 -2147483648
+fcsr: 0x5
cvt.s.w 268435440.000000 268435455
+fcsr: 0x1005
cvt.s.w 23.000000 23
+fcsr: 0x5
roundig mode: +inf
cvt.s.w 0.000000 0
+fcsr: 0x6
cvt.s.w 456.000000 456
+fcsr: 0x6
cvt.s.w 3.000000 3
+fcsr: 0x6
cvt.s.w -1.000000 -1
+fcsr: 0x6
cvt.s.w -1.000000 -1
+fcsr: 0x6
cvt.s.w 356.000000 356
+fcsr: 0x6
cvt.s.w 1000000000.000000 1000000000
+fcsr: 0x6
cvt.s.w -5786.000000 -5786
+fcsr: 0x6
cvt.s.w 1752.000000 1752
+fcsr: 0x6
cvt.s.w 24575.000000 24575
+fcsr: 0x6
cvt.s.w 10.000000 10
+fcsr: 0x6
cvt.s.w -248562.000000 -248562
+fcsr: 0x6
cvt.s.w -45786.000000 -45786
+fcsr: 0x6
cvt.s.w 456.000000 456
+fcsr: 0x6
cvt.s.w 34.000000 34
+fcsr: 0x6
cvt.s.w 45786.000000 45786
+fcsr: 0x6
cvt.s.w 1752065.000000 1752065
+fcsr: 0x6
cvt.s.w 107.000000 107
+fcsr: 0x6
cvt.s.w -45667.000000 -45667
+fcsr: 0x6
cvt.s.w -7.000000 -7
+fcsr: 0x6
cvt.s.w -347856.000000 -347856
+fcsr: 0x6
cvt.s.w -2147483648.000000 -2147483648
+fcsr: 0x6
cvt.s.w 268435456.000000 268435455
+fcsr: 0x1006
cvt.s.w 23.000000 23
+fcsr: 0x6
roundig mode: -inf
cvt.s.w 0.000000 0
+fcsr: 0x7
cvt.s.w 456.000000 456
+fcsr: 0x7
cvt.s.w 3.000000 3
+fcsr: 0x7
cvt.s.w -1.000000 -1
+fcsr: 0x7
cvt.s.w -1.000000 -1
+fcsr: 0x7
cvt.s.w 356.000000 356
+fcsr: 0x7
cvt.s.w 1000000000.000000 1000000000
+fcsr: 0x7
cvt.s.w -5786.000000 -5786
+fcsr: 0x7
cvt.s.w 1752.000000 1752
+fcsr: 0x7
cvt.s.w 24575.000000 24575
+fcsr: 0x7
cvt.s.w 10.000000 10
+fcsr: 0x7
cvt.s.w -248562.000000 -248562
+fcsr: 0x7
cvt.s.w -45786.000000 -45786
+fcsr: 0x7
cvt.s.w 456.000000 456
+fcsr: 0x7
cvt.s.w 34.000000 34
+fcsr: 0x7
cvt.s.w 45786.000000 45786
+fcsr: 0x7
cvt.s.w 1752065.000000 1752065
+fcsr: 0x7
cvt.s.w 107.000000 107
+fcsr: 0x7
cvt.s.w -45667.000000 -45667
+fcsr: 0x7
cvt.s.w -7.000000 -7
+fcsr: 0x7
cvt.s.w -347856.000000 -347856
+fcsr: 0x7
cvt.s.w -2147483648.000000 -2147483648
+fcsr: 0x7
cvt.s.w 268435440.000000 268435455
+fcsr: 0x1007
cvt.s.w 23.000000 23
+fcsr: 0x7
roundig mode: near
cvt.w.s 0 0.000000
+fcsr: 0x4
cvt.w.s 456 456.248962
+fcsr: 0x1004
cvt.w.s 3 3.000000
+fcsr: 0x4
cvt.w.s -1 -1.000000
+fcsr: 0x4
cvt.w.s 1385 1384.599976
+fcsr: 0x1004
cvt.w.s -7 -7.294568
+fcsr: 0x1004
cvt.w.s 1000000000 1000000000.000000
+fcsr: 0x4
cvt.w.s -5786 -5786.470215
+fcsr: 0x1004
cvt.w.s 1752 1752.000000
+fcsr: 0x4
cvt.w.s 0 0.002457
+fcsr: 0x1004
cvt.w.s 0 0.000000
+fcsr: 0x1004
cvt.w.s -248563 -248562.765625
+fcsr: 0x1004
cvt.w.s -45786 -45786.476562
+fcsr: 0x1004
cvt.w.s 456 456.248962
+fcsr: 0x1004
cvt.w.s 34 34.000462
+fcsr: 0x1004
cvt.w.s 45786 45786.476562
+fcsr: 0x1004
cvt.w.s 1752065 1752065.000000
+fcsr: 0x4
cvt.w.s 107 107.000000
+fcsr: 0x4
cvt.w.s -45667 -45667.238281
+fcsr: 0x1004
cvt.w.s -7 -7.294568
+fcsr: 0x1004
cvt.w.s -347856 -347856.468750
+fcsr: 0x1004
cvt.w.s 356048 356047.562500
+fcsr: 0x1004
cvt.w.s -1 -1.000000
+fcsr: 0x4
cvt.w.s 23 23.040001
+fcsr: 0x1004
roundig mode: zero
cvt.w.s 0 0.000000
+fcsr: 0x5
cvt.w.s 456 456.248962
+fcsr: 0x1005
cvt.w.s 3 3.000000
+fcsr: 0x5
cvt.w.s -1 -1.000000
+fcsr: 0x5
cvt.w.s 1384 1384.599976
+fcsr: 0x1005
cvt.w.s -7 -7.294568
+fcsr: 0x1005
cvt.w.s 1000000000 1000000000.000000
+fcsr: 0x5
cvt.w.s -5786 -5786.470215
+fcsr: 0x1005
cvt.w.s 1752 1752.000000
+fcsr: 0x5
cvt.w.s 0 0.002457
+fcsr: 0x1005
cvt.w.s 0 0.000000
+fcsr: 0x1005
cvt.w.s -248562 -248562.765625
+fcsr: 0x1005
cvt.w.s -45786 -45786.476562
+fcsr: 0x1005
cvt.w.s 456 456.248962
+fcsr: 0x1005
cvt.w.s 34 34.000462
+fcsr: 0x1005
cvt.w.s 45786 45786.476562
+fcsr: 0x1005
cvt.w.s 1752065 1752065.000000
+fcsr: 0x5
cvt.w.s 107 107.000000
+fcsr: 0x5
cvt.w.s -45667 -45667.238281
+fcsr: 0x1005
cvt.w.s -7 -7.294568
+fcsr: 0x1005
cvt.w.s -347856 -347856.468750
+fcsr: 0x1005
cvt.w.s 356047 356047.562500
+fcsr: 0x1005
cvt.w.s -1 -1.000000
+fcsr: 0x5
cvt.w.s 23 23.040001
+fcsr: 0x1005
roundig mode: +inf
cvt.w.s 0 0.000000
+fcsr: 0x6
cvt.w.s 457 456.248962
+fcsr: 0x1006
cvt.w.s 3 3.000000
+fcsr: 0x6
cvt.w.s -1 -1.000000
+fcsr: 0x6
cvt.w.s 1385 1384.599976
+fcsr: 0x1006
cvt.w.s -7 -7.294568
+fcsr: 0x1006
cvt.w.s 1000000000 1000000000.000000
+fcsr: 0x6
cvt.w.s -5786 -5786.470215
+fcsr: 0x1006
cvt.w.s 1752 1752.000000
+fcsr: 0x6
cvt.w.s 1 0.002457
+fcsr: 0x1006
cvt.w.s 1 0.000000
+fcsr: 0x1006
cvt.w.s -248562 -248562.765625
+fcsr: 0x1006
cvt.w.s -45786 -45786.476562
+fcsr: 0x1006
cvt.w.s 457 456.248962
+fcsr: 0x1006
cvt.w.s 35 34.000462
+fcsr: 0x1006
cvt.w.s 45787 45786.476562
+fcsr: 0x1006
cvt.w.s 1752065 1752065.000000
+fcsr: 0x6
cvt.w.s 107 107.000000
+fcsr: 0x6
cvt.w.s -45667 -45667.238281
+fcsr: 0x1006
cvt.w.s -7 -7.294568
+fcsr: 0x1006
cvt.w.s -347856 -347856.468750
+fcsr: 0x1006
cvt.w.s 356048 356047.562500
+fcsr: 0x1006
cvt.w.s -1 -1.000000
+fcsr: 0x6
cvt.w.s 24 23.040001
+fcsr: 0x1006
roundig mode: -inf
cvt.w.s 0 0.000000
+fcsr: 0x7
cvt.w.s 456 456.248962
+fcsr: 0x1007
cvt.w.s 3 3.000000
+fcsr: 0x7
cvt.w.s -1 -1.000000
+fcsr: 0x7
cvt.w.s 1384 1384.599976
+fcsr: 0x1007
cvt.w.s -8 -7.294568
+fcsr: 0x1007
cvt.w.s 1000000000 1000000000.000000
+fcsr: 0x7
cvt.w.s -5787 -5786.470215
+fcsr: 0x1007
cvt.w.s 1752 1752.000000
+fcsr: 0x7
cvt.w.s 0 0.002457
+fcsr: 0x1007
cvt.w.s 0 0.000000
+fcsr: 0x1007
cvt.w.s -248563 -248562.765625
+fcsr: 0x1007
cvt.w.s -45787 -45786.476562
+fcsr: 0x1007
cvt.w.s 456 456.248962
+fcsr: 0x1007
cvt.w.s 34 34.000462
+fcsr: 0x1007
cvt.w.s 45786 45786.476562
+fcsr: 0x1007
cvt.w.s 1752065 1752065.000000
+fcsr: 0x7
cvt.w.s 107 107.000000
+fcsr: 0x7
cvt.w.s -45668 -45667.238281
+fcsr: 0x1007
cvt.w.s -8 -7.294568
+fcsr: 0x1007
cvt.w.s -347857 -347856.468750
+fcsr: 0x1007
cvt.w.s 356047 356047.562500
+fcsr: 0x1007
cvt.w.s -1 -1.000000
+fcsr: 0x7
cvt.w.s 23 23.040001
+fcsr: 0x1007
roundig mode: near
cvt.w.d 0 0.000000
+fcsr: 0x4
cvt.w.d 456 456.248956
+fcsr: 0x1004
cvt.w.d 3 3.000000
+fcsr: 0x4
cvt.w.d -1 -1.000000
+fcsr: 0x4
cvt.w.d 1385 1384.600000
+fcsr: 0x1004
cvt.w.d -7 -7.294568
+fcsr: 0x1004
cvt.w.d 1000000000 1000000000.000000
+fcsr: 0x4
cvt.w.d -5786 -5786.470000
+fcsr: 0x1004
cvt.w.d 1752 1752.000000
+fcsr: 0x4
cvt.w.d 0 0.002458
+fcsr: 0x1004
cvt.w.d 0 0.000000
+fcsr: 0x1004
cvt.w.d -248563 -248562.760000
+fcsr: 0x1004
cvt.w.d -45786 -45786.476000
+fcsr: 0x1004
cvt.w.d 456 456.248956
+fcsr: 0x1004
cvt.w.d 34 34.000460
+fcsr: 0x1004
cvt.w.d 45786 45786.476000
+fcsr: 0x1004
cvt.w.d 1752065 1752065.000000
+fcsr: 0x4
cvt.w.d 107 107.000000
+fcsr: 0x4
cvt.w.d -45667 -45667.240000
+fcsr: 0x1004
cvt.w.d -7 -7.294568
+fcsr: 0x1004
cvt.w.d -347856 -347856.475000
+fcsr: 0x1004
cvt.w.d 356048 356047.560000
+fcsr: 0x1004
cvt.w.d -1 -1.000000
+fcsr: 0x4
cvt.w.d 23 23.040000
+fcsr: 0x1004
roundig mode: zero
cvt.w.d 0 0.000000
+fcsr: 0x5
cvt.w.d 456 456.248956
+fcsr: 0x1005
cvt.w.d 3 3.000000
+fcsr: 0x5
cvt.w.d -1 -1.000000
+fcsr: 0x5
cvt.w.d 1384 1384.600000
+fcsr: 0x1005
cvt.w.d -7 -7.294568
+fcsr: 0x1005
cvt.w.d 1000000000 1000000000.000000
+fcsr: 0x5
cvt.w.d -5786 -5786.470000
+fcsr: 0x1005
cvt.w.d 1752 1752.000000
+fcsr: 0x5
cvt.w.d 0 0.002458
+fcsr: 0x1005
cvt.w.d 0 0.000000
+fcsr: 0x1005
cvt.w.d -248562 -248562.760000
+fcsr: 0x1005
cvt.w.d -45786 -45786.476000
+fcsr: 0x1005
cvt.w.d 456 456.248956
+fcsr: 0x1005
cvt.w.d 34 34.000460
+fcsr: 0x1005
cvt.w.d 45786 45786.476000
+fcsr: 0x1005
cvt.w.d 1752065 1752065.000000
+fcsr: 0x5
cvt.w.d 107 107.000000
+fcsr: 0x5
cvt.w.d -45667 -45667.240000
+fcsr: 0x1005
cvt.w.d -7 -7.294568
+fcsr: 0x1005
cvt.w.d -347856 -347856.475000
+fcsr: 0x1005
cvt.w.d 356047 356047.560000
+fcsr: 0x1005
cvt.w.d -1 -1.000000
+fcsr: 0x5
cvt.w.d 23 23.040000
+fcsr: 0x1005
roundig mode: +inf
cvt.w.d 0 0.000000
+fcsr: 0x6
cvt.w.d 457 456.248956
+fcsr: 0x1006
cvt.w.d 3 3.000000
+fcsr: 0x6
cvt.w.d -1 -1.000000
+fcsr: 0x6
cvt.w.d 1385 1384.600000
+fcsr: 0x1006
cvt.w.d -7 -7.294568
+fcsr: 0x1006
cvt.w.d 1000000000 1000000000.000000
+fcsr: 0x6
cvt.w.d -5786 -5786.470000
+fcsr: 0x1006
cvt.w.d 1752 1752.000000
+fcsr: 0x6
cvt.w.d 1 0.002458
+fcsr: 0x1006
cvt.w.d 1 0.000000
+fcsr: 0x1006
cvt.w.d -248562 -248562.760000
+fcsr: 0x1006
cvt.w.d -45786 -45786.476000
+fcsr: 0x1006
cvt.w.d 457 456.248956
+fcsr: 0x1006
cvt.w.d 35 34.000460
+fcsr: 0x1006
cvt.w.d 45787 45786.476000
+fcsr: 0x1006
cvt.w.d 1752065 1752065.000000
+fcsr: 0x6
cvt.w.d 107 107.000000
+fcsr: 0x6
cvt.w.d -45667 -45667.240000
+fcsr: 0x1006
cvt.w.d -7 -7.294568
+fcsr: 0x1006
cvt.w.d -347856 -347856.475000
+fcsr: 0x1006
cvt.w.d 356048 356047.560000
+fcsr: 0x1006
cvt.w.d -1 -1.000000
+fcsr: 0x6
cvt.w.d 24 23.040000
+fcsr: 0x1006
roundig mode: -inf
cvt.w.d 0 0.000000
+fcsr: 0x7
cvt.w.d 456 456.248956
+fcsr: 0x1007
cvt.w.d 3 3.000000
+fcsr: 0x7
cvt.w.d -1 -1.000000
+fcsr: 0x7
cvt.w.d 1384 1384.600000
+fcsr: 0x1007
cvt.w.d -8 -7.294568
+fcsr: 0x1007
cvt.w.d 1000000000 1000000000.000000
+fcsr: 0x7
cvt.w.d -5787 -5786.470000
+fcsr: 0x1007
cvt.w.d 1752 1752.000000
+fcsr: 0x7
cvt.w.d 0 0.002458
+fcsr: 0x1007
cvt.w.d 0 0.000000
+fcsr: 0x1007
cvt.w.d -248563 -248562.760000
+fcsr: 0x1007
cvt.w.d -45787 -45786.476000
+fcsr: 0x1007
cvt.w.d 456 456.248956
+fcsr: 0x1007
cvt.w.d 34 34.000460
+fcsr: 0x1007
cvt.w.d 45786 45786.476000
+fcsr: 0x1007
cvt.w.d 1752065 1752065.000000
+fcsr: 0x7
cvt.w.d 107 107.000000
+fcsr: 0x7
cvt.w.d -45668 -45667.240000
+fcsr: 0x1007
cvt.w.d -8 -7.294568
+fcsr: 0x1007
cvt.w.d -347857 -347856.475000
+fcsr: 0x1007
cvt.w.d 356047 356047.560000
+fcsr: 0x1007
cvt.w.d -1 -1.000000
+fcsr: 0x7
cvt.w.d 23 23.040000
+fcsr: 0x1007
Added: trunk/none/tests/mips32/test_fcsr.c
==============================================================================
--- trunk/none/tests/mips32/test_fcsr.c (added)
+++ trunk/none/tests/mips32/test_fcsr.c Wed Sep 18 10:08:23 2013
@@ -0,0 +1,30 @@
+#include <stdio.h>
+
+int main ()
+{
+ int out [] = {0, 0};
+ __asm__ volatile("cfc1 $a1, $31" "\n\t"
+ "li $t0, 0xd70a3d71" "\n\t"
+ "mtc1 $t0, $f0" "\n\t"
+ "li $t0, 0x405ee0a3" "\n\t"
+ "mtc1 $t0, $f1" "\n\t"
+ "ctc1 $zero, $31" "\n\t"
+ "round.w.d $f0, $f0" "\n\t"
+ "cfc1 $a2, $31" "\n\t"
+ "sw $a2, 0(%0)" "\n\t"
+ "li $t0, 0x00000000" "\n\t"
+ "mtc1 $t0, $f0" "\n\t"
+ "li $t0, 0x3ff00000" "\n\t"
+ "mtc1 $t0, $f1" "\n\t"
+ "ctc1 $zero, $31" "\n\t"
+ "round.w.d $f0, $f0" "\n\t"
+ "cfc1 $a2, $31" "\n\t"
+ "sw $a2, 4(%0)" "\n\t"
+ "ctc1 $a1, $31" "\n\t"
+ :
+ : "r" (out)
+ : "a1", "a2", "t0", "$f0", "$f1"
+ );
+ printf("FCSR::1: 0x%x, 2: 0x%x\n", out[0], out[1]);
+ return 0;
+}
Added: trunk/none/tests/mips32/test_fcsr.stderr.exp
==============================================================================
(empty)
Added: trunk/none/tests/mips32/test_fcsr.stdout.exp
==============================================================================
--- trunk/none/tests/mips32/test_fcsr.stdout.exp (added)
+++ trunk/none/tests/mips32/test_fcsr.stdout.exp Wed Sep 18 10:08:23 2013
@@ -0,0 +1 @@
+FCSR::1: 0x1004, 2: 0x0
Added: trunk/none/tests/mips32/test_fcsr.vgtest
==============================================================================
--- trunk/none/tests/mips32/test_fcsr.vgtest (added)
+++ trunk/none/tests/mips32/test_fcsr.vgtest Wed Sep 18 10:08:23 2013
@@ -0,0 +1,2 @@
+prog: test_fcsr
+vgopts: -q
Modified: trunk/none/tests/mips64/Makefile.am
==============================================================================
--- trunk/none/tests/mips64/Makefile.am (original)
+++ trunk/none/tests/mips64/Makefile.am Wed Sep 18 10:08:23 2013
@@ -40,7 +40,9 @@
unaligned_load.stdout.exp-BE unaligned_load.stdout.exp-LE \
unaligned_load.stderr.exp unaligned_load.vgtest \
unaligned_load_store.stdout.exp-LE unaligned_load_store.stdout.exp-BE \
- unaligned_load_store.stderr.exp unaligned_load_store.vgtest
+ unaligned_load_store.stderr.exp unaligned_load_store.vgtest \
+ test_fcsr.stdout.exp test_fcsr.stderr.exp \
+ test_fcsr.vgtest
check_PROGRAMS = \
allexec \
@@ -63,7 +65,8 @@
shift_instructions \
test_block_size \
unaligned_load \
- unaligned_load_store
+ unaligned_load_store \
+ test_fcsr
AM_CFLAGS += @FLAG_M64@
AM_CXXFLAGS += @FLAG_M64@
Modified: trunk/none/tests/mips64/fpu_arithmetic.c
==============================================================================
--- trunk/none/tests/mips64/fpu_arithmetic.c (original)
+++ trunk/none/tests/mips64/fpu_arithmetic.c Wed Sep 18 10:08:23 2013
@@ -7,6 +7,7 @@
double fd_d = 0;
float fd_f = 0;
int i = 0;
+ int fcsr = 0;
round_mode_t rm;
for (rm = TO_NEAREST; rm <= TO_MINUS_INFINITY; rm ++) {
set_rounding_mode(rm);
Modified: trunk/none/tests/mips64/macro_fpu.h
==============================================================================
--- trunk/none/tests/mips64/macro_fpu.h (original)
+++ trunk/none/tests/mips64/macro_fpu.h Wed Sep 18 10:08:23 2013
@@ -52,147 +52,163 @@
"cvt.l.d", "cvt.s.l",
};
-#define UNOPdd(op) \
- fd_d = 0; \
- __asm__ __volatile__( \
- op" %0, %1" "\n\t" \
- : "=f"(fd_d) \
- : "f"(fs_d[i]) \
- );
-
-#define UNOPff(op) \
- fd_f = 0; \
- __asm__ __volatile__( \
- op" %0, %1" "\n\t" \
- : "=f"(fd_f) \
- : "f"(fs_f[i]) \
- );
-
-#define UNOPfd(op) \
- fd_d = 0; \
- __asm__ __volatile__( \
- op" %0, %1" "\n\t" \
- : "=f"(fd_d) \
- : "f"(fs_f[i]) \
- );
-
-#define UNOPdf(op) \
- fd_f = 0; \
- __asm__ __volatile__( \
- op" %0, %1" "\n\t" \
- : "=f"(fd_f) \
- : "f"(fs_d[i]) \
- );
-
-#define UNOPfw(op) \
- fd_w = 0; \
- __asm__ __volatile__( \
- op" $f0, %1" "\n\t" \
- "mfc1 %0, $f0" "\n\t" \
- : "=r"(fd_w) \
- : "f"(fs_f[i]) \
- : "$f0" \
- );
-
-#define UNOPdw(op) \
- fd_w = 0; \
- __asm__ __volatile__( \
- op" $f0, %1" "\n\t" \
- "mfc1 %0, $f0" "\n\t" \
- : "=r"(fd_w) \
- : "f"(fs_d[i]) \
- : "$f0" \
- );
-
-#define UNOPwd(op) \
- fd_d = 0; \
- __asm__ __volatile__( \
- "mtc1 %1, $f0" "\n\t" \
- op" %0, $f0" "\n\t" \
- : "=f"(fd_d) \
- : "r"(fs_w[i]) \
- : "$f0" \
- );
-
-#define UNOPwf(op) \
- fd_f = 0; \
- __asm__ __volatile__( \
- "mtc1 %1, $f0" "\n\t" \
- op" %0, $f0" "\n\t" \
- : "=f"(fd_f) \
- : "r"(fs_w[i]) \
- : "$f0" \
- );
-
-#define UNOPld(op) \
- fd_d = 0; \
- __asm__ __volatile__( \
- "dmtc1 %1, $f0" "\n\t" \
- op" %0, $f0" "\n\t" \
- : "=f"(fd_d) \
- : "r"(fs_l[i]) \
- : "$f0" \
- );
-
-#define UNOPdl(op) \
- fd_l = 0; \
- __asm__ __volatile__( \
- op" $f0, %1" "\n\t" \
- "dmfc1 %0, $f0" "\n\t" \
- : "=r"(fd_l) \
- : "f"(fs_d[i]) \
- : "$f0" \
- );
-
-#define UNOPls(op) \
- fd_f = 0; \
- __asm__ __volatile__( \
- "dmtc1 %1, $f0" "\n\t" \
- op" %0, $f0" "\n\t" \
- : "=f"(fd_f) \
- : "r"(fs_l[i]) \
- : "$f0" \
- );
-
-#define UNOPsl(op) \
- fd_l = 0; \
- __asm__ __volatile__( \
- op" $f0, %1" "\n\t" \
- "dmfc1 %0, $f0" "\n\t" \
- : "=r"(fd_l) \
- : "f"(fs_f[i]) \
- : "$f0" \
+#define UNOPdd(op) \
+ fd_d = 0; \
+ __asm__ __volatile__( \
+ op" %1, %2" "\n\t" \
+ "cfc1 %0, $31" "\n\t" \
+ : "=r" (fcsr), "=f"(fd_d) \
+ : "f"(fs_d[i]) \
+ );
+
+#define UNOPff(op) \
+ fd_f = 0; \
+ __asm__ __volatile__( \
+ op" %1, %2" "\n\t" \
+ "cfc1 %0, $31" "\n\t" \
+ : "=r" (fcsr), "=f"(fd_f) \
+ : "f"(fs_f[i]) \
+ );
+
+#define UNOPfd(op) \
+ fd_d = 0; \
+ __asm__ __volatile__( \
+ op" %1, %2" "\n\t" \
+ "cfc1 %0, $31" "\n\t" \
+ : "=r" (fcsr), "=f"(fd_d) \
+ : "f"(fs_f[i]) \
+ );
+
+#define UNOPdf(op) \
+ fd_f = 0; \
+ __asm__ __volatile__( \
+ op" %1, %2" "\n\t" \
+ "cfc1 %0, $31" "\n\t" \
+ : "=r" (fcsr), "=f"(fd_f) \
+ : "f"(fs_d[i]) \
+ );
+
+#define UNOPfw(op) \
+ fd_w = 0; \
+ __asm__ __volatile__( \
+ op" $f0, %2" "\n\t" \
+ "mfc1 %1, $f0" "\n\t" \
+ "cfc1 %0, $31" "\n\t" \
+ : "=r" (fcsr), "=r"(fd_w) \
+ : "f"(fs_f[i]) \
+ : "$f0" \
+ );
+
+#define UNOPdw(op) \
+ fd_w = 0; \
+ __asm__ __volatile__( \
+ op" $f0, %2" "\n\t" \
+ "mfc1 %1, $f0" "\n\t" \
+ "cfc1 %0, $31" "\n\t" \
+ : "=r" (fcsr), "=r"(fd_w) \
+ : "f"(fs_d[i]) \
+ : "$f0" \
+ );
+
+#define UNOPwd(op) \
+ fd_d = 0; \
+ __asm__ __volatile__( \
+ "mtc1 %2, $f0" "\n\t" \
+ op" %1, $f0" "\n\t" \
+ "cfc1 %0, $31" "\n\t" \
+ : "=r" (fcsr), "=f"(fd_d) \
+ : "r"(fs_w[i]) \
+ : "$f0" \
+ );
+
+#define UNOPwf(op) \
+ fd_f = 0; \
+ __asm__ __volatile__( \
+ "mtc1 %2, $f0" "\n\t" \
+ op" %1, $f0" "\n\t" \
+ "cfc1 %0, $31" "\n\t" \
+ : "=r" (fcsr), "=f"(fd_f) \
+ : "r"(fs_w[i]) \
+ : "$f0" \
+ );
+
+#define UNOPld(op) \
+ fd_d = 0; \
+ __asm__ __volatile__( \
+ "dmtc1 %2, $f0" "\n\t" \
+ op" %1, $f0" "\n\t" \
+ "cfc1 %0, $31" "\n\t" \
+ : "=r" (fcsr), "=f"(fd_d) \
+ : "r"(fs_l[i]) \
+ : "$f0" \
+ );
+
+#define UNOPdl(op) \
+ fd_l = 0; \
+ __asm__ __volatile__( \
+ op" $f0, %2" "\n\t" \
+ "dmfc1 %1, $f0" "\n\t" \
+ "cfc1 %0, $31" "\n\t" \
+ : "=r" (fcsr), "=r"(fd_l) \
+ : "f"(fs_d[i]) \
+ : "$f0" \
+ );
+
+#define UNOPls(op) \
+ fd_f = 0; \
+ __asm__ __volatile__( \
+ "dmtc1 %2, $f0" "\n\t" \
+ op" %1, $f0" "\n\t" \
+ "cfc1 %0, $31" "\n\t" \
+ : "=r" (fcsr), "=f"(fd_f) \
+ : "r"(fs_l[i]) \
+ : "$f0" \
+ );
+
+#define UNOPsl(op) \
+ fd_l = 0; \
+ __asm__ __volatile__( \
+ op" $f0, %2" "\n\t" \
+ "dmfc1 %1, $f0" "\n\t" \
+ "cfc1 %0, $31" "\n\t" \
+ : "=r" (fcsr), "=r"(fd_l) \
+ : "f"(fs_f[i]) \
+ : "$f0" \
);
#define BINOPf(op) \
fd_f = 0; \
__asm__ __volatile__( \
- op" %0, %1, %2" "\n\t" \
- : "=f" (fd_f) \
+ op" %1, %2, %3" "\n\t" \
+ "cfc1 %0, $31" "\n\t" \
+ : "=r" (fcsr), "=f" (fd_f) \
: "f" (fs_f[i]), "f" (ft_f[i]) \
);
#define BINOPd(op) \
fd_d = 0; \
__asm__ __volatile__( \
- op" %0, %1, %2" "\n\t" \
- : "=f"(fd_d) \
+ op" %1, %2, %3" "\n\t" \
+ "cfc1 %0, $31" "\n\t" \
+ : "=r" (fcsr), "=f"(fd_d) \
: "f" (fs_d[i]), "f" (ft_d[i]) \
);
#define TRIOPf(op) \
fd_f = 0; \
__asm__ __volatile__( \
- op" %0, %1, %2, %3" "\n\t" \
- : "=f" (fd_f) \
+ op" %1, %2, %3, %4" "\n\t" \
+ "cfc1 %0, $31" "\n\t" \
+ : "=r" (fcsr), "=f" (fd_f) \
: "f" (fr_f[i]), "f" (fs_f[i]) , "f" (ft_f[i]) \
);
#define TRIOPd(op) \
fd_d = 0; \
__asm__ __volatile__( \
- op" %0, %1, %2, %3" "\n\t" \
- : "=f"(fd_d) \
+ op" %1, %2, %3, %4" "\n\t" \
+ "cfc1 %0, $31" "\n\t" \
+ : "=r" (fcsr), "=f"(fd_d) \
: "f" (fr_d[i]), "f" (fs_d[i]) , "f" (ft_d[i]) \
);
Modified: trunk/none/tests/mips64/round.c
==============================================================================
--- trunk/none/tests/mips64/round.c (original)
+++ trunk/none/tests/mips64/round.c Wed Sep 18 10:08:23 2013
@@ -6,71 +6,88 @@
int fd_w = 0;
long long int fd_l = 0;
int i;
+ int fcsr = 0;
for (i = 0; i < MAX_ARR; i++) {
switch(op) {
case CEILWS:
UNOPfw("ceil.w.s");
printf("%s %d %f\n", flt_dir_op_names[op], fd_w, fs_f[i]);
+ printf("fcsr: 0x%x\n", fcsr);
break;
case CEILWD:
UNOPdw("ceil.w.d");
printf("%s %d %lf\n", flt_dir_op_names[op], fd_w, fs_d[i]);
+ printf("fcsr: 0x%x\n", fcsr);
break;
case FLOORWS:
UNOPfw("floor.w.s");
printf("%s %d %f\n", flt_dir_op_names[op], fd_w, fs_f[i]);
+ printf("fcsr: 0x%x\n", fcsr);
break;
case FLOORWD:
UNOPdw("floor.w.d");
printf("%s %d %lf\n", flt_dir_op_names[op], fd_w, fs_d[i]);
+ printf("fcsr: 0x%x\n", fcsr);
break;
case ROUNDWS:
UNOPfw("round.w.s");
printf("%s %d %f\n", flt_dir_op_names[op], fd_w, fs_f[i]);
+ printf("fcsr: 0x%x\n", fcsr);
break;
case ROUNDWD:
UNOPdw("round.w.d");
printf("%s %d %lf\n", flt_dir_op_names[op], fd_w, fs_d[i]);
+ printf("fcsr: 0x%x\n", fcsr);
break;
case TRUNCWS:
UNOPfw("trunc.w.s");
printf("%s %d %f\n", flt_dir_op_names[op], fd_w, fs_f[i]);
+ printf("fcsr: 0x%x\n", fcsr);
break;
case TRUNCWD:
UNOPdw("trunc.w.d");
printf("%s %d %lf\n", flt_dir_op_names[op], fd_w, fs_d[i]);
+ printf("fcsr: 0x%x\n", fcsr);
break;
case CEILLS:
UNOPsl("ceil.l.s");
printf("%s %lld %f\n", flt_dir_op_names[op], fd_l, fs_f[i]);
+ printf("fcsr: 0x%x\n", fcsr);
break;
case CEILLD:
UNOPdl("ceil.l.d");
printf("%s %lld %lf\n", flt_dir_op_names[op], fd_l, fs_d[i]);
+ printf("fcsr: 0x%x\n", fcsr);
break;
case FLOORLS:
UNOPsl("floor.l.s");
printf("%s %lld %f\n", flt_dir_op_names[op], fd_l, fs_f[i]);
+ printf("fcsr: 0x%x\n", fcsr);
break;
case FLOORLD:
UNOPdl("floor.l.d");
printf("%s %lld %lf\n", flt_dir_op_names[op], fd_l, fs_d[i]);
+ printf("fcsr: 0x%x\n", fcsr);
break;
case ROUNDLS:
UNOPsl("round.l.s");
printf("%s %lld %f\n", flt_dir_op_names[op], fd_l, fs_f[i]);
+ printf("fcsr: 0x%x\n", fcsr);
break;
case ROUNDLD:
UNOPdl("round.l.d");
printf("%s %lld %lf\n", flt_dir_op_names[op], fd_l, fs_d[i]);
+ printf("fcsr: 0x%x\n", fcsr);
break;
case TRUNCLS:
UNOPsl("trunc.l.s");
printf("%s %lld %f\n", flt_dir_op_names[op], fd_l, fs_f[i]);
+ printf("fcsr: 0x%x\n", fcsr);
break;
case TRUNCLD:
UNOPdl("trunc.l.d");
printf("%s %lld %lf\n", flt_dir_op_names[op], fd_l, fs_d[i]);
+ printf("fcsr: 0x%x\n", fcsr);
break;
default:
printf("error\n");
@@ -87,6 +104,7 @@
int fd_w = 0;
long long int fd_l = 0;
int i;
+ int fcsr = 0;
round_mode_t rm;
for (rm = TO_NEAREST; rm <= TO_MINUS_INFINITY; rm ++) {
...
[truncated message content] |
|
From: <sv...@va...> - 2013-09-18 10:06:23
|
Author: dejanj
Date: Wed Sep 18 10:06:13 2013
New Revision: 2766
Log:
mips32/mips64: additional VEX support for FCSR register.
Some mips fpu instructions are changing the value of the
fcsr register so we need to update the value of the fcsr
register in the guest state.
Modified:
trunk/priv/guest_mips_defs.h
trunk/priv/guest_mips_helpers.c
trunk/priv/guest_mips_toIR.c
trunk/priv/host_mips_isel.c
Modified: trunk/priv/guest_mips_defs.h
==============================================================================
--- trunk/priv/guest_mips_defs.h (original)
+++ trunk/priv/guest_mips_defs.h Wed Sep 18 10:06:13 2013
@@ -78,6 +78,15 @@
/*---------------------------------------------------------*/
/*--- mips guest helpers ---*/
/*---------------------------------------------------------*/
+typedef enum {
+ CEILWS=0, CEILWD, CEILLS, CEILLD,
+ FLOORWS, FLOORWD, FLOORLS, FLOORLD,
+ ROUNDWS, ROUNDWD, ROUNDLS, ROUNDLD,
+ TRUNCWS, TRUNCWD, TRUNCLS, TRUNCLD,
+ CVTDS, CVTDW, CVTSD, CVTSW,
+ CVTWS, CVTWD, CVTDL, CVTLS,
+ CVTLD, CVTSL
+} flt_op;
extern UInt mips32_dirtyhelper_mfc0 ( UInt rd, UInt sel );
@@ -88,6 +97,9 @@
extern ULong mips64_dirtyhelper_rdhwr ( ULong rt, ULong rd );
#endif
+extern UInt mips_dirtyhelper_calculate_FCSR ( void* guest_state, UInt fs,
+ flt_op op );
+
/*---------------------------------------------------------*/
/*--- Condition code stuff ---*/
/*---------------------------------------------------------*/
Modified: trunk/priv/guest_mips_helpers.c
==============================================================================
--- trunk/priv/guest_mips_helpers.c (original)
+++ trunk/priv/guest_mips_helpers.c Wed Sep 18 10:06:13 2013
@@ -1092,6 +1092,128 @@
}
#endif
+#define ASM_VOLATILE_ROUND32(fs, inst) \
+ __asm__ volatile("ctc1 %3, $31" "\n\t" \
+ "mtc1 %1, $f0" "\n\t" \
+ "mtc1 %2, $f1" "\n\t" \
+ ""#inst" $f0, $f0" "\n\t" \
+ "cfc1 %0, $31" "\n\t" \
+ : "=r" (ret) \
+ : "r" (addr[fs]), "r" (addr[fs+1]), "r" (fcsr) \
+ : "$f0", "$f1" \
+ );
+
+#define ASM_VOLATILE_ROUND64(fs, inst) \
+ __asm__ volatile("ctc1 %2, $31" "\n\t" \
+ "dmtc1 %1, $f0" "\n\t" \
+ ""#inst" $f0, $f0" "\n\t" \
+ "cfc1 %0, $31" "\n\t" \
+ : "=r" (ret) \
+ : "r" (addr[fs]), "r" (fcsr) \
+ : "$f0" \
+ );
+
+/* TODO: Add cases for all fpu instructions because all fpu instructions are
+ change the value of FCSR register. */
+extern UInt mips_dirtyhelper_calculate_FCSR ( void* gs, UInt fs, flt_op inst )
+{
+ UInt ret = 0;
+#if defined(VGA_mips32)
+ VexGuestMIPS32State* guest_state = (VexGuestMIPS32State*)gs;
+ UInt *addr = (UInt *)&guest_state->guest_f0;
+#define ASM_VOLATILE_ROUND(fs, inst) ASM_VOLATILE_ROUND32(fs, inst)
+#else
+ VexGuestMIPS64State* guest_state = (VexGuestMIPS64State*)gs;
+ ULong *addr = (ULong *)&guest_state->guest_f0;
+#define ASM_VOLATILE_ROUND(fs, inst) ASM_VOLATILE_ROUND64(fs, inst)
+#endif
+ UInt fcsr = guest_state->guest_FCSR;
+ switch (inst) {
+ case ROUNDWD:
+ ASM_VOLATILE_ROUND(fs, round.w.d)
+ break;
+ case FLOORWS:
+ ASM_VOLATILE_ROUND(fs, floor.w.s)
+ break;
+ case FLOORWD:
+ ASM_VOLATILE_ROUND(fs, floor.w.d)
+ break;
+ case TRUNCWS:
+ ASM_VOLATILE_ROUND(fs, trunc.w.s)
+ break;
+ case TRUNCWD:
+ ASM_VOLATILE_ROUND(fs, trunc.w.d)
+ break;
+ case CEILWS:
+ ASM_VOLATILE_ROUND(fs, ceil.w.s)
+ break;
+ case CEILWD:
+ ASM_VOLATILE_ROUND(fs, ceil.w.d)
+ break;
+ case CEILLS:
+ ASM_VOLATILE_ROUND(fs, ceil.l.s)
+ break;
+ case CEILLD:
+ ASM_VOLATILE_ROUND(fs, ceil.l.d)
+ break;
+ case ROUNDLS:
+ ASM_VOLATILE_ROUND(fs, round.l.s)
+ break;
+ case ROUNDLD:
+ ASM_VOLATILE_ROUND(fs, round.l.d)
+ break;
+ case TRUNCLS:
+ ASM_VOLATILE_ROUND(fs, trunc.l.s)
+ break;
+ case TRUNCLD:
+ ASM_VOLATILE_ROUND(fs, trunc.l.d)
+ break;
+ case CVTDS:
+ ASM_VOLATILE_ROUND(fs, cvt.d.s)
+ break;
+ case CVTDW:
+ ASM_VOLATILE_ROUND(fs, cvt.d.w)
+ break;
+ case CVTDL:
+ ASM_VOLATILE_ROUND(fs, cvt.d.l)
+ break;
+ case CVTSW:
+ ASM_VOLATILE_ROUND(fs, cvt.s.w)
+ break;
+ case CVTSD:
+ ASM_VOLATILE_ROUND(fs, cvt.s.d)
+ break;
+ case CVTSL:
+ ASM_VOLATILE_ROUND(fs, cvt.s.l)
+ break;
+ case CVTWS:
+ ASM_VOLATILE_ROUND(fs, cvt.w.s)
+ break;
+ case CVTWD:
+ ASM_VOLATILE_ROUND(fs, cvt.w.d)
+ break;
+ case CVTLS:
+ ASM_VOLATILE_ROUND(fs, cvt.l.s)
+ break;
+ case CVTLD:
+ ASM_VOLATILE_ROUND(fs, cvt.l.d)
+ break;
+ case FLOORLS:
+ ASM_VOLATILE_ROUND(fs, floor.l.s)
+ break;
+ case FLOORLD:
+ ASM_VOLATILE_ROUND(fs, floor.l.d)
+ break;
+ case ROUNDWS:
+ ASM_VOLATILE_ROUND(fs, round.w.s)
+ break;
+ default:
+ vassert(0);
+ break;
+ }
+ return ret;
+}
+
/*---------------------------------------------------------------*/
/*--- end guest_mips_helpers.c ---*/
/*---------------------------------------------------------------*/
Modified: trunk/priv/guest_mips_toIR.c
==============================================================================
--- trunk/priv/guest_mips_toIR.c (original)
+++ trunk/priv/guest_mips_toIR.c Wed Sep 18 10:06:13 2013
@@ -1088,6 +1088,41 @@
stmt(IRStmt_Put(offsetof(VexGuestMIPS32State, guest_FCSR), e));
}
+static void calculateFCSR(UInt fs, UInt inst)
+{
+ IRDirty *d;
+ IRTemp fcsr = newTemp(Ity_I32);
+ /* IRExpr_BBPTR() => Need to pass pointer to guest
+ state to helper. */
+ d = unsafeIRDirty_1_N(fcsr, 0,
+ "mips_dirtyhelper_calculate_FCSR",
+ &mips_dirtyhelper_calculate_FCSR,
+ mkIRExprVec_3(IRExpr_BBPTR(),
+ mkU32(fs),
+ mkU32(inst)));
+
+ /* Declare we're reading guest state. */
+ d->nFxState = mode64 ? 1 : 2;
+ vex_bzero(&d->fxState, sizeof(d->fxState));
+
+ d->fxState[0].fx = Ifx_Read; /* read */
+ d->fxState[0].offset = floatGuestRegOffset(fs);
+ if (mode64)
+ d->fxState[0].size = sizeof(ULong);
+ else
+ d->fxState[0].size = sizeof(UInt);
+
+ if (!mode64) {
+ d->fxState[1].fx = Ifx_Read; /* read */
+ d->fxState[1].offset = floatGuestRegOffset(fs+1);
+ d->fxState[1].size = sizeof(UInt);
+ }
+
+ stmt(IRStmt_Dirty(d));
+
+ putFCSR(mkexpr(fcsr));
+}
+
static IRExpr *getULR(void)
{
if (mode64)
@@ -11658,6 +11693,7 @@
switch (fmt) {
case 0x10: /* S */
DIP("round.l.s f%d, f%d", fd, fs);
+ calculateFCSR(fs, ROUNDLS);
t0 = newTemp(Ity_I64);
assign(t0, binop(Iop_F32toI64S, mkU32(0x0),
@@ -11667,6 +11703,7 @@
break;
case 0x11: /* D */
DIP("round.l.d f%d, f%d", fd, fs);
+ calculateFCSR(fs, ROUNDLD);
putFReg(fd, binop(Iop_RoundF64toInt, mkU32(0x0),
getFReg(fs)));
break;
@@ -11680,6 +11717,7 @@
switch (fmt) {
case 0x10: /* S */
DIP("trunc.l.s f%d, f%d", fd, fs);
+ calculateFCSR(fs, TRUNCLS);
t0 = newTemp(Ity_I64);
assign(t0, binop(Iop_F32toI64S, mkU32(0x3),
getLoFromF64(Ity_F64, getFReg(fs))));
@@ -11688,6 +11726,7 @@
break;
case 0x11: /* D */
DIP("trunc.l.d f%d, f%d", fd, fs);
+ calculateFCSR(fs, TRUNCLD);
putFReg(fd, binop(Iop_RoundF64toInt, mkU32(0x3),
getFReg(fs)));
break;
@@ -12155,6 +12194,7 @@
switch (fmt) {
case 0x10: /* S */
DIP("cvt.d.s f%d, f%d", fd, fs);
+ calculateFCSR(fs, CVTDS);
if (mode64) {
t0 = newTemp(Ity_I64);
t1 = newTemp(Ity_I32);
@@ -12168,14 +12208,13 @@
assign(t3, unop(Iop_ReinterpI32asF32, mkexpr(t1)));
putFReg(fd, unop(Iop_F32toF64, mkexpr(t3)));
- break;
- } else {
+ } else
putDReg(fd, unop(Iop_F32toF64, getFReg(fs)));
- break;
- }
+ break;
case 0x14:
DIP("cvt.d.w %d, %d", fd, fs);
+ calculateFCSR(fs, CVTDW);
if (mode64) {
t0 = newTemp(Ity_I64);
t1 = newTemp(Ity_I32);
@@ -12197,6 +12236,7 @@
case 0x15: { /* L */
if (mode64) {
DIP("cvt.d.l %d, %d", fd, fs);
+ calculateFCSR(fs, CVTDL);
t0 = newTemp(Ity_I64);
assign(t0, unop(Iop_ReinterpF64asI64, getFReg(fs)));
@@ -12215,6 +12255,7 @@
switch (fmt) {
case 0x14: /* W */
DIP("cvt.s.w %d, %d", fd, fs);
+ calculateFCSR(fs, CVTSW);
if (mode64) {
t0 = newTemp(Ity_I64);
t1 = newTemp(Ity_I32);
@@ -12226,17 +12267,17 @@
assign(t1, unop(Iop_64to32, mkexpr(t0)));
putFReg(fd, mkWidenFromF32(tyF, binop(Iop_I32StoF32,
get_IR_roundingmode(), mkexpr(t1))));
- break;
} else {
t0 = newTemp(Ity_I32);
assign(t0, unop(Iop_ReinterpF32asI32, getFReg(fs)));
putFReg(fd, binop(Iop_I32StoF32, get_IR_roundingmode(),
mkexpr(t0)));
- break;
- }
+ }
+ break;
case 0x11: /* D */
DIP("cvt.s.d %d, %d", fd, fs);
+ calculateFCSR(fs, CVTSD);
if (mode64) {
t0 = newTemp(Ity_F32);
assign(t0, binop(Iop_F64toF32, get_IR_roundingmode(),
@@ -12249,6 +12290,7 @@
case 0x15: /* L */
DIP("cvt.s.l %d, %d", fd, fs);
+ calculateFCSR(fs, CVTSL);
t0 = newTemp(Ity_I64);
assign(t0, unop(Iop_ReinterpF64asI64, getFReg(fs)));
@@ -12265,6 +12307,7 @@
switch (fmt) {
case 0x10: /* S */
DIP("cvt.w.s %d, %d", fd, fs);
+ calculateFCSR(fs, CVTWS);
if (mode64) {
putFReg(fd, mkWidenFromF32(tyF, binop(Iop_RoundF32toInt,
get_IR_roundingmode(), getLoFromF64(tyF,
@@ -12276,6 +12319,7 @@
case 0x11:
DIP("cvt.w.d %d, %d", fd, fs);
+ calculateFCSR(fs, CVTWD);
if (mode64) {
t0 = newTemp(Ity_I32);
t1 = newTemp(Ity_F32);
@@ -12303,6 +12347,7 @@
switch (fmt) {
case 0x10: /* S */
DIP("cvt.l.s %d, %d", fd, fs);
+ calculateFCSR(fs, CVTLS);
t0 = newTemp(Ity_I64);
assign(t0, binop(Iop_F32toI64S, get_IR_roundingmode(),
@@ -12313,6 +12358,7 @@
case 0x11: { /* D */
DIP("cvt.l.d %d, %d", fd, fs);
+ calculateFCSR(fs, CVTLD);
putFReg(fd, binop(Iop_RoundF64toInt,
get_IR_roundingmode(), getFReg(fs)));
break;
@@ -12327,6 +12373,7 @@
switch (fmt) {
case 0x10: /* S */
DIP("floor.l.s %d, %d", fd, fs);
+ calculateFCSR(fs, FLOORLS);
t0 = newTemp(Ity_I64);
assign(t0, binop(Iop_F32toI64S, mkU32(0x1),
@@ -12337,6 +12384,7 @@
case 0x11: /* D */
DIP("floor.l.d %d, %d", fd, fs);
+ calculateFCSR(fs, FLOORLD);
putFReg(fd, binop(Iop_RoundF64toInt, mkU32(0x1),
getFReg(fs)));
break;
@@ -12349,6 +12397,7 @@
switch (fmt) {
case 0x10: /* S */
DIP("round.w.s f%d, f%d", fd, fs);
+ calculateFCSR(fs, ROUNDWS);
if (mode64) {
t0 = newTemp(Ity_I64);
t1 = newTemp(Ity_I32);
@@ -12365,22 +12414,20 @@
mkexpr(t3)));
putFReg(fd, mkWidenFromF32(tyF, mkexpr(t4)));
- break;
- } else {
+ } else
putFReg(fd, binop(Iop_RoundF32toInt, mkU32(0x0),
getFReg(fs)));
- break;
- }
+ break;
case 0x11: /* D */
DIP("round.w.d f%d, f%d", fd, fs);
+ calculateFCSR(fs, ROUNDWD);
if (mode64) {
t0 = newTemp(Ity_I32);
assign(t0, binop(Iop_F64toI32S, mkU32(0x0),
getDReg(fs)));
putFReg(fd, mkWidenFromF32(tyF,
unop(Iop_ReinterpI32asF32, mkexpr(t0))));
- break;
} else {
t0 = newTemp(Ity_I32);
@@ -12388,8 +12435,8 @@
getDReg(fs)));
putFReg(fd, unop(Iop_ReinterpI32asF32, mkexpr(t0)));
- break;
}
+ break;
default:
goto decode_failure;
@@ -12400,6 +12447,7 @@
switch (fmt) {
case 0x10: /* S */
DIP("floor.w.s f%d, f%d", fd, fs);
+ calculateFCSR(fs, FLOORWS);
if (mode64) {
t0 = newTemp(Ity_I64);
t1 = newTemp(Ity_I32);
@@ -12416,15 +12464,14 @@
mkexpr(t3)));
putFReg(fd, mkWidenFromF32(tyF, mkexpr(t4)));
- break;
- } else {
+ } else
putFReg(fd, binop(Iop_RoundF32toInt, mkU32(0x1),
getFReg(fs)));
- break;
- }
+ break;
case 0x11: /* D */
DIP("floor.w.d f%d, f%d", fd, fs);
+ calculateFCSR(fs, FLOORWD);
if (mode64) {
t0 = newTemp(Ity_I32);
assign(t0, binop(Iop_F64toI32S, mkU32(0x1),
@@ -12451,6 +12498,7 @@
switch (fmt) {
case 0x10: /* S */
DIP("trunc.w.s %d, %d", fd, fs);
+ calculateFCSR(fs, TRUNCWS);
if (mode64) {
t0 = newTemp(Ity_I64);
t1 = newTemp(Ity_I32);
@@ -12467,14 +12515,13 @@
mkexpr(t3)));
putFReg(fd, mkWidenFromF32(tyF, mkexpr(t4)));
- break;
- } else {
+ } else
putFReg(fd, binop(Iop_RoundF32toInt, mkU32(0x3),
getFReg(fs)));
break;
- }
case 0x11: /* D */
DIP("trunc.w.d %d, %d", fd, fs);
+ calculateFCSR(fs, TRUNCWD);
if (mode64) {
t0 = newTemp(Ity_I32);
@@ -12483,7 +12530,6 @@
putFReg(fd, mkWidenFromF32(tyF,
unop(Iop_ReinterpI32asF32, mkexpr(t0))));
- break;
} else {
t0 = newTemp(Ity_I32);
@@ -12491,8 +12537,8 @@
getDReg(fs)));
putFReg(fd, unop(Iop_ReinterpI32asF32, mkexpr(t0)));
- break;
}
+ break;
default:
goto decode_failure;
@@ -12503,6 +12549,7 @@
switch (fmt) {
case 0x10: /* S */
DIP("ceil.w.s %d, %d", fd, fs);
+ calculateFCSR(fs, CEILWS);
if (mode64) {
t0 = newTemp(Ity_I64);
t1 = newTemp(Ity_I32);
@@ -12526,20 +12573,20 @@
case 0x11: /* D */
DIP("ceil.w.d %d, %d", fd, fs);
+ calculateFCSR(fs, CEILWD);
if (!mode64) {
t0 = newTemp(Ity_I32);
assign(t0, binop(Iop_F64toI32S, mkU32(0x2),
getDReg(fs)));
putFReg(fd, unop(Iop_ReinterpI32asF32, mkexpr(t0)));
- break;
} else {
t0 = newTemp(Ity_I32);
assign(t0, binop(Iop_F64toI32S, mkU32(0x2),
getDReg(fs)));
putFReg(fd, mkWidenFromF32(tyF,
unop(Iop_ReinterpI32asF32, mkexpr(t0))));
- break;
}
+ break;
default:
goto decode_failure;
@@ -12550,6 +12597,7 @@
switch (fmt) {
case 0x10: /* S */
DIP("ceil.l.s %d, %d", fd, fs);
+ calculateFCSR(fs, CEILLS);
t0 = newTemp(Ity_I64);
assign(t0, binop(Iop_F32toI64S, mkU32(0x2),
@@ -12560,6 +12608,7 @@
case 0x11: /* D */
DIP("ceil.l.d %d, %d", fd, fs);
+ calculateFCSR(fs, CEILLD);
putFReg(fd, binop(Iop_RoundF64toInt, mkU32(0x2),
getFReg(fs)));
break;
Modified: trunk/priv/host_mips_isel.c
==============================================================================
--- trunk/priv/host_mips_isel.c (original)
+++ trunk/priv/host_mips_isel.c Wed Sep 18 10:06:13 2013
@@ -554,7 +554,7 @@
if (LIKELY(!is_IRExpr_VECRET_or_BBPTR(arg)))
aTy = typeOfIRExpr(env->type_env, arg);
- if (aTy == Ity_I32 || mode64) {
+ if (aTy == Ity_I32 || (mode64 && arg->tag != Iex_BBPTR)) {
tmpregs[argreg] = iselWordExpr_R(env, arg);
argreg++;
} else if (aTy == Ity_I64) { /* Ity_I64 */
@@ -569,7 +569,6 @@
tmpregs[argreg] = raHi;
argreg++;
} else if (arg->tag == Iex_BBPTR) {
- vassert(0); // ATC
tmpregs[argreg] = GuestStatePointer(mode64);
argreg++;
}
|
|
From: Florian K. <fl...@ei...> - 2013-09-18 09:16:47
|
On 09/18/2013 05:04 AM, Tom Hughes wrote: > --- threadname_xml.stderr.exp 2013-09-18 03:48:18.072059251 +0100 > +++ threadname_xml.stderr.out 2013-09-18 03:55:28.826605637 +0100 > @@ -102,6 +102,9 @@ > <file>threadname.c</file> > <line>...</line> > </frame> > + <frame> > + <ip>0x........</ip> > + </frame> > </stack> > <auxwhat>Address 0x........ is 0 bytes after a block of size 2 alloc'd</auxwhat> > <stack> I've added a tweak to filter_xml_frames in r13559. That should fix this. Florian |
|
From: <sv...@va...> - 2013-09-18 09:15:34
|
Author: florian
Date: Wed Sep 18 09:15:23 2013
New Revision: 13559
Log:
Tweak filter_xml_frames. Suppress frames containing neither a
function name nor any source code reference.
Modified:
trunk/tests/filter_xml_frames
Modified: trunk/tests/filter_xml_frames
==============================================================================
--- trunk/tests/filter_xml_frames (original)
+++ trunk/tests/filter_xml_frames Wed Sep 18 09:15:23 2013
@@ -1,14 +1,23 @@
#! /usr/bin/env perl
-# Remove <frame>.....</frame> containing an <obj> poining to
-# some system library.
+# Remove certain <frame>.....</frame> records that are suspected to point
+# to some kind of system library. Those are
+# - frames with <obj>/lib/....
+# - frames with <obj>/usr/lib/....
+# - frames without source informatino and without a function name
+#
+# There may be others...
use strict;
use warnings;
my $in_frame = 0;
my $frame = "";
-my $ignore_frame = 0;
+
+# Info about the current frame
+my $has_source_info = 0; # <dir>, <file>, <line>
+my $has_function_name = 0; # <fn>
+my $has_system_obj = 0; # <obj>/lib... or <obj>/usr/lib...
while (my $line = <>)
{
@@ -16,7 +25,7 @@
if ($line =~ /<frame>/) {
$frame = $line;
$in_frame = 1;
- $ignore_frame = 0
+ $has_source_info = $has_function_name = $has_system_obj = 0;
} else {
print $line;
}
@@ -26,14 +35,19 @@
# We're in a frame
$frame .= $line;
if ($line =~ /<\/frame>/) {
+# Is this a frame we want to keep?
+ my $ignore_frame = $has_system_obj ||
+ (! $has_source_info && ! $has_function_name);
if (! $ignore_frame) {
print $frame;
}
$in_frame = 0;
} else {
-# The may require tweaking; currently /lib and /usr/lib are matched
- $ignore_frame = 1 if ($line =~ /<obj>\/lib/);
- $ignore_frame = 1 if ($line =~ /<obj>\/usr\/lib/);
+ $has_source_info = 1 if ($line =~ /<(dir|file|line)>/);
+ $has_function_name = 1 if ($line =~ /<fn>/);
+# This may require tweaking; currently /lib and /usr/lib are matched
+ $has_system_obj = 1 if ($line =~ /<obj>\/lib/);
+ $has_system_obj = 1 if ($line =~ /<obj>\/usr\/lib/);
}
}
|
|
From: Tom H. <to...@co...> - 2013-09-18 09:05:02
|
valgrind revision: 13557 VEX revision: 2764 C compiler: gcc (GCC) 4.8.1 20130603 (Red Hat 4.8.1-1) GDB: GNU gdb (GDB) Fedora (7.6-34.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.9.5-301.fc19.x86_64 x86_64 Vendor version: Fedora release 19 (Schrödingerâs Cat) Nightly build on bristol ( x86_64, Fedora 19 (Schrödingerâs Cat) ) Started at 2013-09-18 02:32:26 BST Ended at 2013-09-18 10:04:44 BST Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 667 tests, 4 stderr failures, 1 stdout failure, 1 stderrB failure, 1 stdoutB failure, 0 post failures == gdbserver_tests/mcmain_pic (stdout) gdbserver_tests/mcmain_pic (stderr) gdbserver_tests/mcmain_pic (stdoutB) gdbserver_tests/mcmain_pic (stderrB) memcheck/tests/dw4 (stderr) memcheck/tests/origin5-bz2 (stderr) exp-sgcheck/tests/hackedbz2 (stderr) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 667 tests, 4 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/dw4 (stderr) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/threadname_xml (stderr) exp-sgcheck/tests/hackedbz2 (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short 2013-09-18 02:50:10.269354246 +0100 --- new.short 2013-09-18 10:04:44.057386887 +0100 *************** *** 8,13 **** ! == 667 tests, 4 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/dw4 (stderr) memcheck/tests/origin5-bz2 (stderr) - memcheck/tests/threadname_xml (stderr) exp-sgcheck/tests/hackedbz2 (stderr) --- 8,16 ---- ! == 667 tests, 4 stderr failures, 1 stdout failure, 1 stderrB failure, 1 stdoutB failure, 0 post failures == ! gdbserver_tests/mcmain_pic (stdout) ! gdbserver_tests/mcmain_pic (stderr) ! gdbserver_tests/mcmain_pic (stdoutB) ! gdbserver_tests/mcmain_pic (stderrB) memcheck/tests/dw4 (stderr) memcheck/tests/origin5-bz2 (stderr) exp-sgcheck/tests/hackedbz2 (stderr) |
|
From: Philippe W. <phi...@sk...> - 2013-09-18 03:40:57
|
valgrind revision: 13558 VEX revision: 2765 C compiler: gcc (GCC) 4.7.2 20121109 (Red Hat 4.7.2-8) GDB: GNU gdb (GDB) Fedora (7.5.1-37.fc18) Assembler: GNU assembler version 2.23.51.0.1-7.fc18 20120806 C library: GNU C Library stable release version 2.16 uname -mrs: Linux 3.7.2-204.fc18.ppc64 ppc64 Vendor version: Fedora release 18 (Spherical Cow) Nightly build on gcc110 ( Fedora release 18 (Spherical Cow), ppc64 ) Started at 2013-09-17 20:00:09 PDT Ended at 2013-09-17 20:40:19 PDT Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 565 tests, 33 stderr failures, 5 stdout failures, 0 stderrB failures, 0 stdoutB failures, 2 post failures == memcheck/tests/linux/getregset (stdout) memcheck/tests/linux/getregset (stderr) memcheck/tests/ppc64/power_ISA2_05 (stdout) memcheck/tests/supp_unknown (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/wrap8 (stdout) memcheck/tests/wrap8 (stderr) massif/tests/big-alloc (post) massif/tests/deep-D (post) none/tests/ppc32/jm-misc (stdout) none/tests/ppc32/jm-misc (stderr) none/tests/ppc64/jm-misc (stdout) none/tests/ppc64/jm-misc (stderr) helgrind/tests/annotate_rwlock (stderr) helgrind/tests/free_is_write (stderr) helgrind/tests/hg02_deadlock (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/locked_vs_unlocked1_fwd (stderr) helgrind/tests/locked_vs_unlocked1_rev (stderr) helgrind/tests/locked_vs_unlocked2 (stderr) helgrind/tests/locked_vs_unlocked3 (stderr) helgrind/tests/pth_barrier1 (stderr) helgrind/tests/pth_barrier2 (stderr) helgrind/tests/pth_barrier3 (stderr) helgrind/tests/pth_destroy_cond (stderr) helgrind/tests/rwlock_race (stderr) helgrind/tests/tc01_simple_race (stderr) helgrind/tests/tc05_simple_race (stderr) helgrind/tests/tc06_two_races (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc09_bad_unlock (stderr) helgrind/tests/tc14_laog_dinphils (stderr) helgrind/tests/tc16_byterace (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc19_shadowmem (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 565 tests, 34 stderr failures, 5 stdout failures, 0 stderrB failures, 0 stdoutB failures, 2 post failures == memcheck/tests/linux/getregset (stdout) memcheck/tests/linux/getregset (stderr) memcheck/tests/ppc64/power_ISA2_05 (stdout) memcheck/tests/supp_unknown (stderr) memcheck/tests/threadname_xml (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/wrap8 (stdout) memcheck/tests/wrap8 (stderr) massif/tests/big-alloc (post) massif/tests/deep-D (post) none/tests/ppc32/jm-misc (stdout) none/tests/ppc32/jm-misc (stderr) none/tests/ppc64/jm-misc (stdout) none/tests/ppc64/jm-misc (stderr) helgrind/tests/annotate_rwlock (stderr) helgrind/tests/free_is_write (stderr) helgrind/tests/hg02_deadlock (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/locked_vs_unlocked1_fwd (stderr) helgrind/tests/locked_vs_unlocked1_rev (stderr) helgrind/tests/locked_vs_unlocked2 (stderr) helgrind/tests/locked_vs_unlocked3 (stderr) helgrind/tests/pth_barrier1 (stderr) helgrind/tests/pth_barrier2 (stderr) helgrind/tests/pth_barrier3 (stderr) helgrind/tests/pth_destroy_cond (stderr) helgrind/tests/rwlock_race (stderr) helgrind/tests/tc01_simple_race (stderr) helgrind/tests/tc05_simple_race (stderr) helgrind/tests/tc06_two_races (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc09_bad_unlock (stderr) helgrind/tests/tc14_laog_dinphils (stderr) helgrind/tests/tc16_byterace (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc19_shadowmem (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Tue Sep 17 20:19:15 2013 --- new.short Tue Sep 17 20:40:19 2013 *************** *** 8,10 **** ! == 565 tests, 34 stderr failures, 5 stdout failures, 0 stderrB failures, 0 stdoutB failures, 2 post failures == memcheck/tests/linux/getregset (stdout) --- 8,10 ---- ! == 565 tests, 33 stderr failures, 5 stdout failures, 0 stderrB failures, 0 stdoutB failures, 2 post failures == memcheck/tests/linux/getregset (stdout) *************** *** 13,15 **** memcheck/tests/supp_unknown (stderr) - memcheck/tests/threadname_xml (stderr) memcheck/tests/varinfo6 (stderr) --- 13,14 ---- |
|
From: Tom H. <to...@co...> - 2013-09-18 03:11:41
|
valgrind revision: 13558
VEX revision: 2765
C compiler: gcc (GCC) 4.3.0 20080428 (Red Hat 4.3.0-8)
GDB:
Assembler: GNU assembler version 2.18.50.0.6-2 20080403
C library: GNU C Library stable release version 2.8
uname -mrs: Linux 3.9.5-301.fc19.x86_64 x86_64
Vendor version: Fedora release 9 (Sulphur)
Nightly build on bristol ( x86_64, Fedora 9 )
Started at 2013-09-18 03:52:04 BST
Ended at 2013-09-18 04:11:26 BST
Results differ from 24 hours ago
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... failed
Regression test results follow
== 642 tests, 1 stderr failure, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
memcheck/tests/amd64/insn-pcmpistri (stderr)
none/tests/amd64/sse4-64 (stdout)
=================================================
== Results from 24 hours ago ==
=================================================
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... failed
Last 20 lines of verbose log follow echo
mv -f $depbase.Tpo $depbase.Po
threadname.c: In function âchild_fn_2â:
threadname.c:24: warning: implicit declaration of function âpthread_setname_npâ
gcc -Winline -Wall -Wshadow -g -m64 -Wno-long-long -Wwrite-strings -fno-stack-protector -Wno-write-strings -o threadname threadname.o -lpthread
threadname.o: In function `child_fn_2':
/tmp/vgtest-19996/2013-09-18/valgrind-old/memcheck/tests/threadname.c:24: undefined reference to `pthread_setname_np'
threadname.o: In function `child_fn_1':
/tmp/vgtest-19996/2013-09-18/valgrind-old/memcheck/tests/threadname.c:36: undefined reference to `pthread_setname_np'
collect2: ld returned 1 exit status
make[5]: *** [threadname] Error 1
make[5]: Leaving directory `/tmp/vgtest-19996/2013-09-18/valgrind-old/memcheck/tests'
make[4]: *** [check-am] Error 2
make[4]: Leaving directory `/tmp/vgtest-19996/2013-09-18/valgrind-old/memcheck/tests'
make[3]: *** [check-recursive] Error 1
make[3]: Leaving directory `/tmp/vgtest-19996/2013-09-18/valgrind-old/memcheck/tests'
make[2]: *** [check-recursive] Error 1
make[2]: Leaving directory `/tmp/vgtest-19996/2013-09-18/valgrind-old/memcheck'
make[1]: *** [check-recursive] Error 1
make[1]: Leaving directory `/tmp/vgtest-19996/2013-09-18/valgrind-old'
make: *** [check] Error 2
=================================================
== Difference between 24 hours ago and now ==
=================================================
*** old.short 2013-09-18 03:56:53.202950361 +0100
--- new.short 2013-09-18 04:11:26.920794413 +0100
***************
*** 3,26 ****
Configuring valgrind ... done
! Building valgrind ... failed
- Last 20 lines of verbose log follow echo
- mv -f $depbase.Tpo $depbase.Po
- threadname.c: In function âchild_fn_2â:
- threadname.c:24: warning: implicit declaration of function âpthread_setname_npâ
- gcc -Winline -Wall -Wshadow -g -m64 -Wno-long-long -Wwrite-strings -fno-stack-protector -Wno-write-strings -o threadname threadname.o -lpthread
- threadname.o: In function `child_fn_2':
- /tmp/vgtest-19996/2013-09-18/valgrind-old/memcheck/tests/threadname.c:24: undefined reference to `pthread_setname_np'
- threadname.o: In function `child_fn_1':
- /tmp/vgtest-19996/2013-09-18/valgrind-old/memcheck/tests/threadname.c:36: undefined reference to `pthread_setname_np'
- collect2: ld returned 1 exit status
- make[5]: *** [threadname] Error 1
- make[5]: Leaving directory `/tmp/vgtest-19996/2013-09-18/valgrind-old/memcheck/tests'
- make[4]: *** [check-am] Error 2
- make[4]: Leaving directory `/tmp/vgtest-19996/2013-09-18/valgrind-old/memcheck/tests'
- make[3]: *** [check-recursive] Error 1
- make[3]: Leaving directory `/tmp/vgtest-19996/2013-09-18/valgrind-old/memcheck/tests'
- make[2]: *** [check-recursive] Error 1
- make[2]: Leaving directory `/tmp/vgtest-19996/2013-09-18/valgrind-old/memcheck'
- make[1]: *** [check-recursive] Error 1
- make[1]: Leaving directory `/tmp/vgtest-19996/2013-09-18/valgrind-old'
- make: *** [check] Error 2
--- 3,12 ----
Configuring valgrind ... done
! Building valgrind ... done
! Running regression tests ... failed
!
! Regression test results follow
!
! == 642 tests, 1 stderr failure, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
! memcheck/tests/amd64/insn-pcmpistri (stderr)
! none/tests/amd64/sse4-64 (stdout)
|
|
From: Tom H. <to...@co...> - 2013-09-18 03:04:37
|
valgrind revision: 13558 VEX revision: 2765 C compiler: gcc (GCC) 4.4.5 20101112 (Red Hat 4.4.5-2) GDB: Assembler: GNU assembler version 2.20.51.0.2-20.fc13 20091009 C library: GNU C Library stable release version 2.12.2 uname -mrs: Linux 3.9.5-301.fc19.x86_64 x86_64 Vendor version: Fedora release 13 (Goddard) Nightly build on bristol ( x86_64, Fedora 13 ) Started at 2013-09-18 03:31:59 BST Ended at 2013-09-18 04:04:21 BST 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 == 646 tests, 2 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/threadname_xml (stderr) helgrind/tests/pth_barrier3 (stderr) |
|
From: Tom H. <to...@co...> - 2013-09-18 03:00:49
|
valgrind revision: 13558
VEX revision: 2765
C compiler: gcc (GCC) 4.4.1 20090725 (Red Hat 4.4.1-2)
GDB:
Assembler: GNU assembler version 2.19.51.0.14-3.fc11 20090722
C library: GNU C Library stable release version 2.10.2
uname -mrs: Linux 3.9.5-301.fc19.x86_64 x86_64
Vendor version: Fedora release 11 (Leonidas)
Nightly build on bristol ( x86_64, Fedora 11 )
Started at 2013-09-18 03:41:21 BST
Ended at 2013-09-18 04:00:34 BST
Results differ from 24 hours ago
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... failed
Regression test results follow
== 644 tests, 1 stderr failure, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
memcheck/tests/long_namespace_xml (stderr)
none/tests/amd64/sse4-64 (stdout)
=================================================
== Results from 24 hours ago ==
=================================================
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... failed
Last 20 lines of verbose log follow echo
mv -f $depbase.Tpo $depbase.Po
threadname.c: In function âchild_fn_2â:
threadname.c:24: warning: implicit declaration of function âpthread_setname_npâ
gcc -Winline -Wall -Wshadow -g -m64 -Wno-long-long -Wwrite-strings -fno-stack-protector -Wno-write-strings -o threadname threadname.o -lpthread
threadname.o: In function `child_fn_2':
/tmp/vgtest-30380/2013-09-18/valgrind-old/memcheck/tests/threadname.c:24: undefined reference to `pthread_setname_np'
threadname.o: In function `child_fn_1':
/tmp/vgtest-30380/2013-09-18/valgrind-old/memcheck/tests/threadname.c:36: undefined reference to `pthread_setname_np'
collect2: ld returned 1 exit status
make[5]: *** [threadname] Error 1
make[5]: Leaving directory `/tmp/vgtest-30380/2013-09-18/valgrind-old/memcheck/tests'
make[4]: *** [check-am] Error 2
make[4]: Leaving directory `/tmp/vgtest-30380/2013-09-18/valgrind-old/memcheck/tests'
make[3]: *** [check-recursive] Error 1
make[3]: Leaving directory `/tmp/vgtest-30380/2013-09-18/valgrind-old/memcheck/tests'
make[2]: *** [check-recursive] Error 1
make[2]: Leaving directory `/tmp/vgtest-30380/2013-09-18/valgrind-old/memcheck'
make[1]: *** [check-recursive] Error 1
make[1]: Leaving directory `/tmp/vgtest-30380/2013-09-18/valgrind-old'
make: *** [check] Error 2
=================================================
== Difference between 24 hours ago and now ==
=================================================
*** old.short 2013-09-18 03:45:02.713891894 +0100
--- new.short 2013-09-18 04:00:34.025621151 +0100
***************
*** 3,26 ****
Configuring valgrind ... done
! Building valgrind ... failed
- Last 20 lines of verbose log follow echo
- mv -f $depbase.Tpo $depbase.Po
- threadname.c: In function âchild_fn_2â:
- threadname.c:24: warning: implicit declaration of function âpthread_setname_npâ
- gcc -Winline -Wall -Wshadow -g -m64 -Wno-long-long -Wwrite-strings -fno-stack-protector -Wno-write-strings -o threadname threadname.o -lpthread
- threadname.o: In function `child_fn_2':
- /tmp/vgtest-30380/2013-09-18/valgrind-old/memcheck/tests/threadname.c:24: undefined reference to `pthread_setname_np'
- threadname.o: In function `child_fn_1':
- /tmp/vgtest-30380/2013-09-18/valgrind-old/memcheck/tests/threadname.c:36: undefined reference to `pthread_setname_np'
- collect2: ld returned 1 exit status
- make[5]: *** [threadname] Error 1
- make[5]: Leaving directory `/tmp/vgtest-30380/2013-09-18/valgrind-old/memcheck/tests'
- make[4]: *** [check-am] Error 2
- make[4]: Leaving directory `/tmp/vgtest-30380/2013-09-18/valgrind-old/memcheck/tests'
- make[3]: *** [check-recursive] Error 1
- make[3]: Leaving directory `/tmp/vgtest-30380/2013-09-18/valgrind-old/memcheck/tests'
- make[2]: *** [check-recursive] Error 1
- make[2]: Leaving directory `/tmp/vgtest-30380/2013-09-18/valgrind-old/memcheck'
- make[1]: *** [check-recursive] Error 1
- make[1]: Leaving directory `/tmp/vgtest-30380/2013-09-18/valgrind-old'
- make: *** [check] Error 2
--- 3,12 ----
Configuring valgrind ... done
! Building valgrind ... done
! Running regression tests ... failed
!
! Regression test results follow
!
! == 644 tests, 1 stderr failure, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
! memcheck/tests/long_namespace_xml (stderr)
! none/tests/amd64/sse4-64 (stdout)
|
|
From: Rich C. <rc...@wi...> - 2013-09-18 02:58:59
|
valgrind revision: 13558
VEX revision: 2765
C compiler: gcc (SUSE Linux) 4.7.2 20130108 [gcc-4_7-branch revision 195012]
GDB: GNU gdb (GDB) SUSE (7.5.1-2.1.1)
Assembler: GNU assembler (GNU Binutils; openSUSE 12.3) 2.23.1
C library: GNU C Library (GNU libc) stable release version 2.17 (git c758a6861537)
uname -mrs: Linux 3.7.9-1.1-desktop x86_64
Vendor version: Welcome to openSUSE 12.3 "Dartmouth" Beta 1 - Kernel %r (%t).
Nightly build on ultra ( gcc 4.5.1 Linux 3.7.9-1.1-desktop x86_64 )
Started at 2013-09-17 21:30:01 CDT
Ended at 2013-09-17 21:58:47 CDT
Results differ from 24 hours ago
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... failed
Regression test results follow
== 660 tests, 1 stderr failure, 0 stdout failures, 1 stderrB failure, 0 stdoutB failures, 0 post failures ==
gdbserver_tests/mssnapshot (stderrB)
memcheck/tests/origin5-bz2 (stderr)
=================================================
== Results from 24 hours ago ==
=================================================
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... failed
Regression test results follow
== 660 tests, 2 stderr failures, 0 stdout failures, 1 stderrB failure, 0 stdoutB failures, 0 post failures ==
gdbserver_tests/mssnapshot (stderrB)
memcheck/tests/origin5-bz2 (stderr)
memcheck/tests/threadname_xml (stderr)
=================================================
== Difference between 24 hours ago and now ==
=================================================
*** old.short Tue Sep 17 21:44:41 2013
--- new.short Tue Sep 17 21:58:47 2013
***************
*** 8,13 ****
! == 660 tests, 2 stderr failures, 0 stdout failures, 1 stderrB failure, 0 stdoutB failures, 0 post failures ==
gdbserver_tests/mssnapshot (stderrB)
memcheck/tests/origin5-bz2 (stderr)
- memcheck/tests/threadname_xml (stderr)
--- 8,12 ----
! == 660 tests, 1 stderr failure, 0 stdout failures, 1 stderrB failure, 0 stdoutB failures, 0 post failures ==
gdbserver_tests/mssnapshot (stderrB)
memcheck/tests/origin5-bz2 (stderr)
=================================================
./valgrind-new/gdbserver_tests/mssnapshot.stderrB.diff
=================================================
--- mssnapshot.stderrB.exp 2013-09-17 21:45:02.210100059 -0500
+++ mssnapshot.stderrB.out 2013-09-17 21:48:50.702822743 -0500
@@ -1,5 +1,11 @@
relaying data between gdb and process ....
+Missing separate debuginfo for /lib64/ld-linux-x86-64.so.2
+Try: zypper install -C "debuginfo(build-id)=ecb8ef1a6904a2a3ec60a527f415f520c8636158"
vgdb-error value changed from 0 to 999999
+Missing separate debuginfo for /lib64/libpthread.so.0
+Try: zypper install -C "debuginfo(build-id)=ef5f5dbcb2398c608fef7884e1bfb65be3b5f0ef"
+Missing separate debuginfo for /lib64/libc.so.6
+Try: zypper install -C "debuginfo(build-id)=bd1473e8e6a4c10a14731b5be4b35b4e87db2af7"
general valgrind monitor commands:
help [debug] : monitor command help. With debug: + debugging commands
v.wait [<ms>] : sleep <ms> (default 0) then continue
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc212-s390x
=================================================
--- origin5-bz2.stderr.exp-glibc212-s390x 2013-09-17 21:44:55.431286244 -0500
+++ origin5-bz2.stderr.out 2013-09-17 21:50:32.685020048 -0500
@@ -75,17 +75,6 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
- at 0x........: mainSort (origin5-bz2.c:2859)
- by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
- by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
- by 0x........: handle_compress (origin5-bz2.c:4753)
- by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
- by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
- by 0x........: main (origin5-bz2.c:6484)
- Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6479)
-
-Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2963)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -131,6 +120,12 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6512)
- Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6479)
+ Uninitialised value was created by a heap allocation
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: g_serviceFn (origin5-bz2.c:6429)
+ by 0x........: default_bzalloc (origin5-bz2.c:4470)
+ by 0x........: BZ2_decompress (origin5-bz2.c:1578)
+ by 0x........: BZ2_bzDecompress (origin5-bz2.c:5192)
+ by 0x........: BZ2_bzBuffToBuffDecompress (origin5-bz2.c:5678)
+ by 0x........: main (origin5-bz2.c:6498)
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc234-s390x
=================================================
--- origin5-bz2.stderr.exp-glibc234-s390x 2013-09-17 21:44:55.215292176 -0500
+++ origin5-bz2.stderr.out 2013-09-17 21:50:32.685020048 -0500
@@ -120,6 +120,12 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6512)
- Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6479)
+ Uninitialised value was created by a heap allocation
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: g_serviceFn (origin5-bz2.c:6429)
+ by 0x........: default_bzalloc (origin5-bz2.c:4470)
+ by 0x........: BZ2_decompress (origin5-bz2.c:1578)
+ by 0x........: BZ2_bzDecompress (origin5-bz2.c:5192)
+ by 0x........: BZ2_bzBuffToBuffDecompress (origin5-bz2.c:5678)
+ by 0x........: main (origin5-bz2.c:6498)
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc25-amd64
=================================================
--- origin5-bz2.stderr.exp-glibc25-amd64 2013-09-17 21:44:55.642280449 -0500
+++ origin5-bz2.stderr.out 2013-09-17 21:50:32.685020048 -0500
@@ -120,6 +120,12 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6512)
- Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6479)
+ Uninitialised value was created by a heap allocation
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: g_serviceFn (origin5-bz2.c:6429)
+ by 0x........: default_bzalloc (origin5-bz2.c:4470)
+ by 0x........: BZ2_decompress (origin5-bz2.c:1578)
+ by 0x........: BZ2_bzDecompress (origin5-bz2.c:5192)
+ by 0x........: BZ2_bzBuffToBuffDecompress (origin5-bz2.c:5678)
+ by 0x........: main (origin5-bz2.c:6498)
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc25-x86
=================================================
--- origin5-bz2.stderr.exp-glibc25-x86 2013-09-17 21:44:55.659279982 -0500
+++ origin5-bz2.stderr.out 2013-09-17 21:50:32.685020048 -0500
@@ -12,7 +12,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: copy_input_until_stop (origin5-bz2.c:4686)
by 0x........: handle_compress (origin5-bz2.c:4750)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -21,7 +21,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: copy_input_until_stop (origin5-bz2.c:4686)
by 0x........: handle_compress (origin5-bz2.c:4750)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -30,7 +30,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2820)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -41,7 +41,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2823)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -52,7 +52,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2854)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -63,7 +63,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2858)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -74,7 +74,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2963)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -85,7 +85,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2964)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -96,7 +96,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: fallbackSort (origin5-bz2.c:2269)
by 0x........: BZ2_blockSort (origin5-bz2.c:3116)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -107,7 +107,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: fallbackSort (origin5-bz2.c:2275)
by 0x........: BZ2_blockSort (origin5-bz2.c:3116)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -120,6 +120,12 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6512)
- Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6479)
+ Uninitialised value was created by a heap allocation
+ at 0x........: malloc (vg_replace_malloc.c:...)
<truncated beyond 100 lines>
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc27-ppc64
=================================================
--- origin5-bz2.stderr.exp-glibc27-ppc64 2013-09-17 21:44:54.844302366 -0500
+++ origin5-bz2.stderr.out 2013-09-17 21:50:32.685020048 -0500
@@ -1,7 +1,7 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6481)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Conditional jump or move depends on uninitialised value(s)
at 0x........: copy_input_until_stop (origin5-bz2.c:4686)
@@ -10,7 +10,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: copy_input_until_stop (origin5-bz2.c:4686)
@@ -19,7 +19,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: copy_input_until_stop (origin5-bz2.c:4686)
@@ -28,7 +28,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2820)
@@ -39,7 +39,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2823)
@@ -50,7 +50,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2854)
@@ -61,7 +61,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2858)
@@ -72,7 +72,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2963)
@@ -83,7 +83,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2964)
@@ -94,7 +94,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: fallbackSort (origin5-bz2.c:2269)
@@ -105,7 +105,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
<truncated beyond 100 lines>
=================================================
./valgrind-old/gdbserver_tests/mssnapshot.stderrB.diff
=================================================
--- mssnapshot.stderrB.exp 2013-09-17 21:30:33.177944502 -0500
+++ mssnapshot.stderrB.out 2013-09-17 21:34:41.078147860 -0500
@@ -1,5 +1,11 @@
relaying data between gdb and process ....
+Missing separate debuginfo for /lib64/ld-linux-x86-64.so.2
+Try: zypper install -C "debuginfo(build-id)=ecb8ef1a6904a2a3ec60a527f415f520c8636158"
vgdb-error value changed from 0 to 999999
+Missing separate debuginfo for /lib64/libpthread.so.0
+Try: zypper install -C "debuginfo(build-id)=ef5f5dbcb2398c608fef7884e1bfb65be3b5f0ef"
+Missing separate debuginfo for /lib64/libc.so.6
+Try: zypper install -C "debuginfo(build-id)=bd1473e8e6a4c10a14731b5be4b35b4e87db2af7"
general valgrind monitor commands:
help [debug] : monitor command help. With debug: + debugging commands
v.wait [<ms>] : sleep <ms> (default 0) then continue
=================================================
./valgrind-old/memcheck/tests/origin5-bz2.stderr.diff-glibc212-s390x
=================================================
--- origin5-bz2.stderr.exp-glibc212-s390x 2013-09-17 21:30:42.131699095 -0500
+++ origin5-bz2.stderr.out 2013-09-17 21:36:23.095349607 -0500
@@ -75,17 +75,6 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
- at 0x........: mainSort (origin5-bz2.c:2859)
- by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
- by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
- by 0x........: handle_compress (origin5-bz2.c:4753)
- by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
- by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
- by 0x........: main (origin5-bz2.c:6484)
- Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6479)
-
-Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2963)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -131,6 +120,12 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6512)
- Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6479)
+ Uninitialised value was created by a heap allocation
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: g_serviceFn (origin5-bz2.c:6429)
+ by 0x........: default_bzalloc (origin5-bz2.c:4470)
+ by 0x........: BZ2_decompress (origin5-bz2.c:1578)
+ by 0x........: BZ2_bzDecompress (origin5-bz2.c:5192)
+ by 0x........: BZ2_bzBuffToBuffDecompress (origin5-bz2.c:5678)
+ by 0x........: main (origin5-bz2.c:6498)
=================================================
./valgrind-old/memcheck/tests/origin5-bz2.stderr.diff-glibc234-s390x
=================================================
--- origin5-bz2.stderr.exp-glibc234-s390x 2013-09-17 21:30:41.639712580 -0500
+++ origin5-bz2.stderr.out 2013-09-17 21:36:23.095349607 -0500
@@ -120,6 +120,12 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6512)
- Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6479)
+ Uninitialised value was created by a heap allocation
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: g_serviceFn (origin5-bz2.c:6429)
+ by 0x........: default_bzalloc (origin5-bz2.c:4470)
+ by 0x........: BZ2_decompress (origin5-bz2.c:1578)
+ by 0x........: BZ2_bzDecompress (origin5-bz2.c:5192)
+ by 0x........: BZ2_bzBuffToBuffDecompress (origin5-bz2.c:5678)
+ by 0x........: main (origin5-bz2.c:6498)
=================================================
./valgrind-old/memcheck/tests/origin5-bz2.stderr.diff-glibc25-amd64
=================================================
--- origin5-bz2.stderr.exp-glibc25-amd64 2013-09-17 21:30:41.640712553 -0500
+++ origin5-bz2.stderr.out 2013-09-17 21:36:23.095349607 -0500
@@ -120,6 +120,12 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6512)
- Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6479)
+ Uninitialised value was created by a heap allocation
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: g_serviceFn (origin5-bz2.c:6429)
+ by 0x........: default_bzalloc (origin5-bz2.c:4470)
+ by 0x........: BZ2_decompress (origin5-bz2.c:1578)
+ by 0x........: BZ2_bzDecompress (origin5-bz2.c:5192)
+ by 0x........: BZ2_bzBuffToBuffDecompress (origin5-bz2.c:5678)
+ by 0x........: main (origin5-bz2.c:6498)
=================================================
./valgrind-old/memcheck/tests/origin5-bz2.stderr.diff-glibc25-x86
=================================================
--- origin5-bz2.stderr.exp-glibc25-x86 2013-09-17 21:30:40.378747141 -0500
+++ origin5-bz2.stderr.out 2013-09-17 21:36:23.095349607 -0500
@@ -12,7 +12,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: copy_input_until_stop (origin5-bz2.c:4686)
by 0x........: handle_compress (origin5-bz2.c:4750)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -21,7 +21,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: copy_input_until_stop (origin5-bz2.c:4686)
by 0x........: handle_compress (origin5-bz2.c:4750)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -30,7 +30,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2820)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -41,7 +41,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2823)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -52,7 +52,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2854)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -63,7 +63,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2858)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -74,7 +74,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2963)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -85,7 +85,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2964)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -96,7 +96,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: fallbackSort (origin5-bz2.c:2269)
by 0x........: BZ2_blockSort (origin5-bz2.c:3116)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -107,7 +107,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: fallbackSort (origin5-bz2.c:2275)
by 0x........: BZ2_blockSort (origin5-bz2.c:3116)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -120,6 +120,12 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6512)
- Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6479)
+ Uninitialised value was created by a heap allocation
+ at 0x........: malloc (vg_replace_malloc.c:...)
<truncated beyond 100 lines>
=================================================
./valgrind-old/memcheck/tests/origin5-bz2.stderr.diff-glibc27-ppc64
=================================================
--- origin5-bz2.stderr.exp-glibc27-ppc64 2013-09-17 21:30:40.146753500 -0500
+++ origin5-bz2.stderr.out 2013-09-17 21:36:23.095349607 -0500
@@ -1,7 +1,7 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6481)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Conditional jump or move depends on uninitialised value(s)
at 0x........: copy_input_until_stop (origin5-bz2.c:4686)
@@ -10,7 +10,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: copy_input_until_stop (origin5-bz2.c:4686)
@@ -19,7 +19,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: copy_input_until_stop (origin5-bz2.c:4686)
@@ -28,7 +28,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2820)
@@ -39,7 +39,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2823)
@@ -50,7 +50,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2854)
@@ -61,7 +61,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2858)
@@ -72,7 +72,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2963)
@@ -83,7 +83,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2964)
@@ -94,7 +94,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: fallbackSort (origin5-bz2.c:2269)
@@ -105,7 +105,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
<truncated beyond 100 lines>
=================================================
./valgrind-old/memcheck/tests/threadname_xml.stderr.diff
=================================================
--- threadname_xml.stderr.exp 2013-09-17 21:30:40.976730751 -0500
+++ threadname_xml.stderr.out 2013-09-17 21:37:04.063225689 -0500
@@ -106,9 +106,6 @@
<ip>0x........</ip>
<obj>...</obj>
<fn>start_thread</fn>
- <dir>...</dir>
- <file>pthread_create.c</file>
- <line>...</line>
</frame>
</stack>
<auxwhat>Address 0x........ is 0 bytes after a block of size 2 alloc'd</auxwhat>
@@ -141,9 +138,6 @@
<ip>0x........</ip>
<obj>...</obj>
<fn>start_thread</fn>
- <dir>...</dir>
- <file>pthread_create.c</file>
- <line>...</line>
</frame>
</stack>
</error>
@@ -175,9 +169,6 @@
<ip>0x........</ip>
<obj>...</obj>
<fn>start_thread</fn>
- <dir>...</dir>
- <file>pthread_create.c</file>
- <line>...</line>
</frame>
</stack>
<auxwhat>Address 0x........ is 0 bytes after a block of size 3 alloc'd</auxwhat>
@@ -210,9 +201,6 @@
<ip>0x........</ip>
<obj>...</obj>
<fn>start_thread</fn>
- <dir>...</dir>
- <file>pthread_create.c</file>
- <line>...</line>
</frame>
</stack>
</error>
@@ -244,9 +232,6 @@
<ip>0x........</ip>
<obj>...</obj>
<fn>start_thread</fn>
- <dir>...</dir>
- <file>pthread_create.c</file>
- <line>...</line>
</frame>
</stack>
<auxwhat>Address 0x........ is 0 bytes after a block of size 4 alloc'd</auxwhat>
@@ -279,9 +264,6 @@
<ip>0x........</ip>
<obj>...</obj>
<fn>start_thread</fn>
- <dir>...</dir>
- <file>pthread_create.c</file>
- <line>...</line>
</frame>
</stack>
</error>
|
|
From: Tom H. <to...@co...> - 2013-09-18 02:58:35
|
valgrind revision: 13558 VEX revision: 2765 C compiler: gcc (GCC) 4.5.1 20100924 (Red Hat 4.5.1-4) GDB: GNU gdb (GDB) Fedora (7.2-52.fc14) Assembler: GNU assembler version 2.20.51.0.7-8.fc14 20100318 C library: GNU C Library stable release version 2.13 uname -mrs: Linux 3.9.5-301.fc19.x86_64 x86_64 Vendor version: Fedora release 14 (Laughlin) Nightly build on bristol ( x86_64, Fedora 14 ) Started at 2013-09-18 03:23:24 BST Ended at 2013-09-18 03:58:20 BST Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 665 tests, 1 stderr failure, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/origin5-bz2 (stderr) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 665 tests, 2 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/origin5-bz2 (stderr) memcheck/tests/threadname_xml (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short 2013-09-18 03:41:28.452091880 +0100 --- new.short 2013-09-18 03:58:20.067246641 +0100 *************** *** 8,12 **** ! == 665 tests, 2 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/origin5-bz2 (stderr) - memcheck/tests/threadname_xml (stderr) --- 8,11 ---- ! == 665 tests, 1 stderr failure, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/origin5-bz2 (stderr) |
|
From: Tom H. <to...@co...> - 2013-09-18 02:49:32
|
valgrind revision: 13557 VEX revision: 2764 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.9.5-301.fc19.x86_64 x86_64 Vendor version: Fedora release 15 (Lovelock) Nightly build on bristol ( x86_64, Fedora 15 ) Started at 2013-09-18 03:13:31 BST Ended at 2013-09-18 03:49:12 BST Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 667 tests, 1 stderr failure, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/origin5-bz2 (stderr) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 667 tests, 2 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/origin5-bz2 (stderr) memcheck/tests/threadname_xml (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short 2013-09-18 03:31:51.177375538 +0100 --- new.short 2013-09-18 03:49:12.402993341 +0100 *************** *** 8,12 **** ! == 667 tests, 2 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/origin5-bz2 (stderr) - memcheck/tests/threadname_xml (stderr) --- 8,11 ---- ! == 667 tests, 1 stderr failure, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/origin5-bz2 (stderr) |
|
From: Tom H. <to...@co...> - 2013-09-18 02:40:02
|
valgrind revision: 13557 VEX revision: 2764 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.9.5-301.fc19.x86_64 x86_64 Vendor version: Fedora release 16 (Verne) Nightly build on bristol ( x86_64, Fedora 16 ) Started at 2013-09-18 03:02:19 BST Ended at 2013-09-18 03:39:44 BST 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 == 667 tests, 1 stderr failure, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/origin5-bz2 (stderr) |
|
From: Tom H. <to...@co...> - 2013-09-18 02:29:36
|
valgrind revision: 13557 VEX revision: 2764 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.9.5-301.fc19.x86_64 x86_64 Vendor version: Fedora release 17 (Beefy Miracle) Nightly build on bristol ( x86_64, Fedora 17 (Beefy Miracle) ) Started at 2013-09-18 02:52:02 BST Ended at 2013-09-18 03:29:14 BST Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 667 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/origin5-bz2 (stderr) exp-sgcheck/tests/preen_invars (stdout) exp-sgcheck/tests/preen_invars (stderr) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 667 tests, 6 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == gdbserver_tests/mcinfcallRU (stderr) gdbserver_tests/mcinfcallWSRU (stderr) gdbserver_tests/mcmain_pic (stderr) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/threadname_xml (stderr) exp-sgcheck/tests/preen_invars (stdout) exp-sgcheck/tests/preen_invars (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short 2013-09-18 03:10:14.295674575 +0100 --- new.short 2013-09-18 03:29:14.784445411 +0100 *************** *** 8,10 **** ! == 667 tests, 6 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == gdbserver_tests/mcinfcallRU (stderr) --- 8,10 ---- ! == 667 tests, 5 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == gdbserver_tests/mcinfcallRU (stderr) *************** *** 13,15 **** memcheck/tests/origin5-bz2 (stderr) - memcheck/tests/threadname_xml (stderr) exp-sgcheck/tests/preen_invars (stdout) --- 13,14 ---- |
|
From: <sv...@va...> - 2013-09-18 02:20:02
|
Author: petarj
Date: Wed Sep 18 02:19:45 2013
New Revision: 13558
Log:
mips64: add tests for MIPS64 Octeon Instructions
Follow up to VEX r2765.
Patch by Zahid Anwar.
Bugzilla issue 322150
Added:
trunk/none/tests/mips64/cvm_ins.c
trunk/none/tests/mips64/cvm_ins.stderr.exp
trunk/none/tests/mips64/cvm_ins.stdout.exp
trunk/none/tests/mips64/cvm_ins.vgtest
Modified:
trunk/none/tests/mips64/Makefile.am
Modified: trunk/none/tests/mips64/Makefile.am
==============================================================================
--- trunk/none/tests/mips64/Makefile.am (original)
+++ trunk/none/tests/mips64/Makefile.am Wed Sep 18 02:19:45 2013
@@ -10,6 +10,7 @@
branch_and_jump_instructions.stdout.exp \
branch_and_jump_instructions.stderr.exp branch_and_jump_instructions.vgtest \
branches.stdout.exp branches.stderr.exp branches.vgtest \
+ cvm_ins.stdout.exp cvm_ins.stderr.exp cvm_ins.vgtest \
extract_insert_bit_field.stdout.exp-mips64 \
extract_insert_bit_field.stdout.exp-mips64r2 \
extract_insert_bit_field.stderr.exp extract_insert_bit_field.vgtest \
@@ -46,6 +47,7 @@
arithmetic_instruction \
branch_and_jump_instructions \
branches \
+ cvm_ins \
extract_insert_bit_field \
fpu_arithmetic \
fpu_branches \
@@ -68,3 +70,5 @@
AM_CCASFLAGS += @FLAG_M64@
allexec_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_NONNULL@
+
+cvm_ins_CFLAGS = $(AM_CFLAGS) -g -O0 -march=octeon
Added: trunk/none/tests/mips64/cvm_ins.c
==============================================================================
--- trunk/none/tests/mips64/cvm_ins.c (added)
+++ trunk/none/tests/mips64/cvm_ins.c Wed Sep 18 02:19:45 2013
@@ -0,0 +1,196 @@
+#include <stdio.h>
+const int reg_val[256] = {
+
+ 0x00000000L, 0x04c11db7L, 0x09823b6eL, 0x0d4326d9L,
+ 0x130476dcL, 0x17c56b6bL, 0x1a864db2L, 0x1e475005L,
+ 0x2608edb8L, 0x22c9f00fL, 0x2f8ad6d6L, 0x2b4bcb61L,
+ 0x350c9b64L, 0x31cd86d3L, 0x3c8ea00aL, 0x384fbdbdL,
+ 0x4c11db70L, 0x48d0c6c7L, 0x4593e01eL, 0x4152fda9L,
+ 0x5f15adacL, 0x5bd4b01bL, 0x569796c2L, 0x52568b75L,
+ 0x6a1936c8L, 0x6ed82b7fL, 0x639b0da6L, 0x675a1011L,
+ 0x791d4014L, 0x7ddc5da3L, 0x709f7b7aL, 0x745e66cdL,
+ 0x9823b6e0L, 0x9ce2ab57L, 0x91a18d8eL, 0x95609039L,
+ 0x8b27c03cL, 0x8fe6dd8bL, 0x82a5fb52L, 0x8664e6e5L,
+ 0xbe2b5b58L, 0xbaea46efL, 0xb7a96036L, 0xb3687d81L,
+ 0xad2f2d84L, 0xa9ee3033L, 0xa4ad16eaL, 0xa06c0b5dL,
+ 0xd4326d90L, 0xd0f37027L, 0xddb056feL, 0xd9714b49L,
+ 0xc7361b4cL, 0xc3f706fbL, 0xceb42022L, 0xca753d95L,
+ 0xf23a8028L, 0xf6fb9d9fL, 0xfbb8bb46L, 0xff79a6f1L,
+ 0xe13ef6f4L, 0xe5ffeb43L, 0xe8bccd9aL, 0xec7dd02dL,
+ 0x34867077L, 0x30476dc0L, 0x3d044b19L, 0x39c556aeL,
+ 0x278206abL, 0x23431b1cL, 0x2e003dc5L, 0x2ac12072L,
+ 0x128e9dcfL, 0x164f8078L, 0x1b0ca6a1L, 0x1fcdbb16L,
+ 0x018aeb13L, 0x054bf6a4L, 0x0808d07dL, 0x0cc9cdcaL,
+ 0x7897ab07L, 0x7c56b6b0L, 0x71159069L, 0x75d48ddeL,
+ 0x6b93dddbL, 0x6f52c06cL, 0x6211e6b5L, 0x66d0fb02L,
+ 0x5e9f46bfL, 0x5a5e5b08L, 0x571d7dd1L, 0x53dc6066L,
+ 0x4d9b3063L, 0x495a2dd4L, 0x44190b0dL, 0x40d816baL,
+ 0xaca5c697L, 0xa864db20L, 0xa527fdf9L, 0xa1e6e04eL,
+ 0xbfa1b04bL, 0xbb60adfcL, 0xb6238b25L, 0xb2e29692L,
+ 0x8aad2b2fL, 0x8e6c3698L, 0x832f1041L, 0x87ee0df6L,
+ 0x99a95df3L, 0x9d684044L, 0x902b669dL, 0x94ea7b2aL,
+ 0xe0b41de7L, 0xe4750050L, 0xe9362689L, 0xedf73b3eL,
+ 0xf3b06b3bL, 0xf771768cL, 0xfa325055L, 0xfef34de2L,
+ 0xc6bcf05fL, 0xc27dede8L, 0xcf3ecb31L, 0xcbffd686L,
+ 0xd5b88683L, 0xd1799b34L, 0xdc3abdedL, 0xd8fba05aL,
+ 0x690ce0eeL, 0x6dcdfd59L, 0x608edb80L, 0x644fc637L,
+ 0x7a089632L, 0x7ec98b85L, 0x738aad5cL, 0x774bb0ebL,
+ 0x4f040d56L, 0x4bc510e1L, 0x46863638L, 0x42472b8fL,
+ 0x5c007b8aL, 0x58c1663dL, 0x558240e4L, 0x51435d53L,
+ 0x251d3b9eL, 0x21dc2629L, 0x2c9f00f0L, 0x285e1d47L,
+ 0x36194d42L, 0x32d850f5L, 0x3f9b762cL, 0x3b5a6b9bL,
+ 0x0315d626L, 0x07d4cb91L, 0x0a97ed48L, 0x0e56f0ffL,
+ 0x1011a0faL, 0x14d0bd4dL, 0x19939b94L, 0x1d528623L,
+ 0xf12f560eL, 0xf5ee4bb9L, 0xf8ad6d60L, 0xfc6c70d7L,
+ 0xe22b20d2L, 0xe6ea3d65L, 0xeba91bbcL, 0xef68060bL,
+ 0xd727bbb6L, 0xd3e6a601L, 0xdea580d8L, 0xda649d6fL,
+ 0xc423cd6aL, 0xc0e2d0ddL, 0xcda1f604L, 0xc960ebb3L,
+ 0xbd3e8d7eL, 0xb9ff90c9L, 0xb4bcb610L, 0xb07daba7L,
+ 0xae3afba2L, 0xaafbe615L, 0xa7b8c0ccL, 0xa379dd7bL,
+ 0x9b3660c6L, 0x9ff77d71L, 0x92b45ba8L, 0x9675461fL,
+ 0x8832161aL, 0x8cf30badL, 0x81b02d74L, 0x857130c3L,
+ 0x5d8a9099L, 0x594b8d2eL, 0x5408abf7L, 0x50c9b640L,
+ 0x4e8ee645L, 0x4a4ffbf2L, 0x470cdd2bL, 0x43cdc09cL,
+ 0x7b827d21L, 0x7f436096L, 0x7200464fL, 0x76c15bf8L,
+ 0x68860bfdL, 0x6c47164aL, 0x61043093L, 0x65c52d24L,
+ 0x119b4be9L, 0x155a565eL, 0x18197087L, 0x1cd86d30L,
+ 0x029f3d35L, 0x065e2082L, 0x0b1d065bL, 0x0fdc1becL,
+ 0x3793a651L, 0x3352bbe6L, 0x3e119d3fL, 0x3ad08088L,
+ 0x2497d08dL, 0x2056cd3aL, 0x2d15ebe3L, 0x29d4f654L,
+ 0xc5a92679L, 0xc1683bceL, 0xcc2b1d17L, 0xc8ea00a0L,
+ 0xd6ad50a5L, 0xd26c4d12L, 0xdf2f6bcbL, 0xdbee767cL,
+ 0xe3a1cbc1L, 0xe760d676L, 0xea23f0afL, 0xeee2ed18L,
+ 0xf0a5bd1dL, 0xf464a0aaL, 0xf9278673L, 0xfde69bc4L,
+ 0x89b8fd09L, 0x8d79e0beL, 0x803ac667L, 0x84fbdbd0L,
+ 0x9abc8bd5L, 0x9e7d9662L, 0x933eb0bbL, 0x97ffad0cL,
+ 0xafb010b1L, 0xab710d06L, 0xa6322bdfL, 0xa2f33668L,
+ 0xbcb4666dL, 0xb8757bdaL, 0xb5365d03L, 0xb1f740b4L
+};
+
+#define TESTINST1(instruction, RSVal, RT, RS, p, lenm1) \
+{ \
+ unsigned long out; \
+ __asm__ volatile( \
+ "li $" #RT ", 0" "\n\t" \
+ "move $" #RS ", %1" "\n\t" \
+ instruction "\n\t" \
+ "move %0, $" #RT "\n\t" \
+ : "=&r" (out) \
+ : "r" (RSVal) \
+ : #RS, #RT, "cc", "memory" \
+ ); \
+ printf("%s :: rt 0x%lx rs 0x%x, p 0x%08x, lenm1 0x%08x\n", \
+ instruction, out, RSVal, p, lenm1); \
+}
+#define TESTINST2(instruction, RSVal, RTval, RD, RS, RT) \
+{ \
+ unsigned long out; \
+ __asm__ volatile( \
+ "li $" #RD ", 0" "\n\t" \
+ "move $" #RS ", %1" "\n\t" \
+ "move $" #RT ", %2" "\n\t" \
+ instruction "\n\t" \
+ "move %0, $" #RD "\n\t" \
+ : "=&r" (out) \
+ : "r" (RSVal), "r" (RTval) \
+ : #RD, #RS, #RT, "cc", "memory" \
+ ); \
+ printf("%s :: rd 0x%lx rs 0x%x, rt 0x%x\n", \
+ instruction, out, RSVal, RTval); \
+}
+#define TESTINST3(instruction, RSVal, RT, RS,imm) \
+{ \
+ unsigned long out; \
+ __asm__ volatile( \
+ "li $" #RT ", 0" "\n\t" \
+ "move $" #RS ", %1" "\n\t" \
+ instruction "\n\t" \
+ "move %0, $" #RT "\n\t" \
+ : "=&r" (out) \
+ : "r" (RSVal) \
+ : #RS, #RT, "cc", "memory" \
+ ); \
+ printf("%s :: rt 0x%lx rs 0x%x,imm 0x%08x\n", \
+ instruction, out, RSVal, imm); \
+}
+
+typedef enum {
+ EXTS=0, EXTS32, CINS, CINS32, SNEI, SNE, SEQI, DMUL, SEQ
+} cvm_op;
+
+int main()
+{
+ int i, j;
+ cvm_op op;
+ for (op = EXTS; op <= SEQ; op++) {
+ switch(op) {
+ case EXTS: { /* To extract and sign-extend a bit field that starts
+ from the lower 32 bits of a register. */
+ for(i = 0; i <= 255; i+=4)
+ TESTINST1("exts $t1, $t2, 1, 7", reg_val[i], t1, t2, 1, 7);
+ break;
+ }
+
+ case EXTS32: { /* To extract and sign-extend a bit field that starts
+ from the upper 32 bits of a register. */
+ for(i = 0; i <= 255; i+=4)
+ TESTINST1("exts32 $t1, $t2, 1 , 7", reg_val[i], t1, t2,1,7);
+ break;
+ }
+
+ case CINS:{ /* To insert a bit field that starts in the lower 32 bits
+ of a register. */
+ for(i = 0; i <= 255; i+=4)
+ TESTINST1("cins $t1, $t2, 2 , 9", reg_val[i], t1, t2,2,9);
+ break;
+ }
+
+ case CINS32: { /* To insert a bit field that starts in the upper
+ 32 bits of a register. */
+ for(i =0; i <= 255; i+=4)
+ TESTINST1("cins32 $t1, $t2, 2 , 9", reg_val[i], t1, t2, 2, 9);
+ break;
+ }
+
+ case SEQ: { /* To record the result of an equals comparison. */
+ for(i = 0; i <= 255; i+=4)
+ for(j = 0; j <= 255; j+=4)
+ TESTINST2("seq $t1, $t2 ,$t3 ", reg_val[i], reg_val[j],
+ t1, t2, t3);
+ break;
+ }
+
+ case SEQI: { /* To record the result of an equals comparison
+ with a constant. */
+ for(i = 0; i <= 255; i+=4)
+ TESTINST3("seqi $t1, $t2 ,9 ", reg_val[i], t1, t2, 9);
+ break;
+ }
+
+ case SNE: { /* To record the result of a not equals comparison. */
+ for(i = 0; i <= 255; i+=4)
+ for(j = 0; j<= 255; j+=4)
+ TESTINST2("sne $t1, $t2 ,$t3 ", reg_val[i], reg_val[j],
+ t1, t2, t3);
+ break;
+ }
+
+ case SNEI: { /* To record the result of a not equals comparison
+ with a constant. */
+ for(i = 0; i <= 255; i+=1)
+ TESTINST3("snei $t1, $t2 ,9 ", reg_val[i], t1, t2, 9);
+ break;
+ }
+
+ case DMUL: { /* To multiply 64-bit signed integers and
+ write the result to a GPR. */
+ for(i = 0; i <= 255; i+=4)
+ for(j = 0; j <= 255; j+=8)
+ TESTINST2("dmul $t1, $t2 ,$t3 ", reg_val[i], reg_val[j],
+ t1, t2, t3);
+ break;
+ }
+ }
+ }
+ return 0;
+}
Added: trunk/none/tests/mips64/cvm_ins.stderr.exp
==============================================================================
(empty)
Added: trunk/none/tests/mips64/cvm_ins.stdout.exp
==============================================================================
--- trunk/none/tests/mips64/cvm_ins.stdout.exp (added)
+++ trunk/none/tests/mips64/cvm_ins.stdout.exp Wed Sep 18 02:19:45 2013
@@ -0,0 +1,10816 @@
+exts $t1, $t2, 1, 7 :: rt 0x0 rs 0x0, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0x6e rs 0x130476dc, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0xffffffffffffffdc rs 0x2608edb8, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0xffffffffffffffb2 rs 0x350c9b64, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0xffffffffffffffb8 rs 0x4c11db70, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0xffffffffffffffd6 rs 0x5f15adac, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0x64 rs 0x6a1936c8, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0xa rs 0x791d4014, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0x70 rs 0x9823b6e0, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0x1e rs 0x8b27c03c, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0xffffffffffffffac rs 0xbe2b5b58, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0xffffffffffffffc2 rs 0xad2f2d84, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0xffffffffffffffc8 rs 0xd4326d90, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0xffffffffffffffa6 rs 0xc7361b4c, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0x14 rs 0xf23a8028, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0x7a rs 0xe13ef6f4, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0x3b rs 0x34867077, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0x55 rs 0x278206ab, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0xffffffffffffffe7 rs 0x128e9dcf, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0xffffffffffffff89 rs 0x18aeb13, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0xffffffffffffff83 rs 0x7897ab07, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0xffffffffffffffed rs 0x6b93dddb, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0x5f rs 0x5e9f46bf, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0x31 rs 0x4d9b3063, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0x4b rs 0xaca5c697, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0x25 rs 0xbfa1b04b, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0xffffffffffffff97 rs 0x8aad2b2f, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0xfffffffffffffff9 rs 0x99a95df3, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0xfffffffffffffff3 rs 0xe0b41de7, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0xffffffffffffff9d rs 0xf3b06b3b, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0x2f rs 0xc6bcf05f, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0x41 rs 0xd5b88683, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0x77 rs 0x690ce0ee, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0x19 rs 0x7a089632, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0xffffffffffffffab rs 0x4f040d56, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0xffffffffffffffc5 rs 0x5c007b8a, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0xffffffffffffffcf rs 0x251d3b9e, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0xffffffffffffffa1 rs 0x36194d42, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0x13 rs 0x315d626, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0x7d rs 0x1011a0fa, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0x7 rs 0xf12f560e, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0x69 rs 0xe22b20d2, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0xffffffffffffffdb rs 0xd727bbb6, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0xffffffffffffffb5 rs 0xc423cd6a, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0xffffffffffffffbf rs 0xbd3e8d7e, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0xffffffffffffffd1 rs 0xae3afba2, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0x63 rs 0x9b3660c6, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0xd rs 0x8832161a, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0x4c rs 0x5d8a9099, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0x22 rs 0x4e8ee645, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0xffffffffffffff90 rs 0x7b827d21, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0xfffffffffffffffe rs 0x68860bfd, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0xfffffffffffffff4 rs 0x119b4be9, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0xffffffffffffff9a rs 0x29f3d35, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0x28 rs 0x3793a651, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0x46 rs 0x2497d08d, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0x3c rs 0xc5a92679, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0x52 rs 0xd6ad50a5, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0xffffffffffffffe0 rs 0xe3a1cbc1, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0xffffffffffffff8e rs 0xf0a5bd1d, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0xffffffffffffff84 rs 0x89b8fd09, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0xffffffffffffffea rs 0x9abc8bd5, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0x58 rs 0xafb010b1, p 0x00000001, lenm1 0x00000007
+exts $t1, $t2, 1, 7 :: rt 0x36 rs 0xbcb4666d, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0x0 rs 0x0, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0x0 rs 0x130476dc, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0x0 rs 0x2608edb8, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0x0 rs 0x350c9b64, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0x0 rs 0x4c11db70, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0x0 rs 0x5f15adac, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0x0 rs 0x6a1936c8, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0x0 rs 0x791d4014, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0xffffffffffffffff rs 0x9823b6e0, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0xffffffffffffffff rs 0x8b27c03c, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0xffffffffffffffff rs 0xbe2b5b58, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0xffffffffffffffff rs 0xad2f2d84, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0xffffffffffffffff rs 0xd4326d90, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0xffffffffffffffff rs 0xc7361b4c, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0xffffffffffffffff rs 0xf23a8028, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0xffffffffffffffff rs 0xe13ef6f4, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0x0 rs 0x34867077, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0x0 rs 0x278206ab, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0x0 rs 0x128e9dcf, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0x0 rs 0x18aeb13, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0x0 rs 0x7897ab07, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0x0 rs 0x6b93dddb, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0x0 rs 0x5e9f46bf, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0x0 rs 0x4d9b3063, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0xffffffffffffffff rs 0xaca5c697, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0xffffffffffffffff rs 0xbfa1b04b, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0xffffffffffffffff rs 0x8aad2b2f, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0xffffffffffffffff rs 0x99a95df3, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0xffffffffffffffff rs 0xe0b41de7, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0xffffffffffffffff rs 0xf3b06b3b, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0xffffffffffffffff rs 0xc6bcf05f, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0xffffffffffffffff rs 0xd5b88683, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0x0 rs 0x690ce0ee, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0x0 rs 0x7a089632, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0x0 rs 0x4f040d56, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0x0 rs 0x5c007b8a, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0x0 rs 0x251d3b9e, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0x0 rs 0x36194d42, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0x0 rs 0x315d626, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0x0 rs 0x1011a0fa, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0xffffffffffffffff rs 0xf12f560e, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0xffffffffffffffff rs 0xe22b20d2, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0xffffffffffffffff rs 0xd727bbb6, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0xffffffffffffffff rs 0xc423cd6a, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0xffffffffffffffff rs 0xbd3e8d7e, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0xffffffffffffffff rs 0xae3afba2, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0xffffffffffffffff rs 0x9b3660c6, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0xffffffffffffffff rs 0x8832161a, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0x0 rs 0x5d8a9099, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0x0 rs 0x4e8ee645, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0x0 rs 0x7b827d21, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0x0 rs 0x68860bfd, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0x0 rs 0x119b4be9, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0x0 rs 0x29f3d35, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0x0 rs 0x3793a651, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0x0 rs 0x2497d08d, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0xffffffffffffffff rs 0xc5a92679, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0xffffffffffffffff rs 0xd6ad50a5, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0xffffffffffffffff rs 0xe3a1cbc1, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0xffffffffffffffff rs 0xf0a5bd1d, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0xffffffffffffffff rs 0x89b8fd09, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0xffffffffffffffff rs 0x9abc8bd5, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0xffffffffffffffff rs 0xafb010b1, p 0x00000001, lenm1 0x00000007
+exts32 $t1, $t2, 1 , 7 :: rt 0xffffffffffffffff rs 0xbcb4666d, p 0x00000001, lenm1 0x00000007
+cins $t1, $t2, 2 , 9 :: rt 0x0 rs 0x0, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0xb70 rs 0x130476dc, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0x6e0 rs 0x2608edb8, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0xd90 rs 0x350c9b64, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0xdc0 rs 0x4c11db70, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0x6b0 rs 0x5f15adac, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0xb20 rs 0x6a1936c8, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0x50 rs 0x791d4014, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0xb80 rs 0x9823b6e0, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0xf0 rs 0x8b27c03c, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0xd60 rs 0xbe2b5b58, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0x610 rs 0xad2f2d84, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0x640 rs 0xd4326d90, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0xd30 rs 0xc7361b4c, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0xa0 rs 0xf23a8028, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0xbd0 rs 0xe13ef6f4, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0x1dc rs 0x34867077, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0xaac rs 0x278206ab, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0x73c rs 0x128e9dcf, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0xc4c rs 0x18aeb13, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0xc1c rs 0x7897ab07, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0x76c rs 0x6b93dddb, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0xafc rs 0x5e9f46bf, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0x18c rs 0x4d9b3063, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0xa5c rs 0xaca5c697, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0x12c rs 0xbfa1b04b, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0xcbc rs 0x8aad2b2f, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0x7cc rs 0x99a95df3, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0x79c rs 0xe0b41de7, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0xcec rs 0xf3b06b3b, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0x17c rs 0xc6bcf05f, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0xa0c rs 0xd5b88683, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0x3b8 rs 0x690ce0ee, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0x8c8 rs 0x7a089632, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0x558 rs 0x4f040d56, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0xe28 rs 0x5c007b8a, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0xe78 rs 0x251d3b9e, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0x508 rs 0x36194d42, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0x898 rs 0x315d626, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0x3e8 rs 0x1011a0fa, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0x838 rs 0xf12f560e, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0x348 rs 0xe22b20d2, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0xed8 rs 0xd727bbb6, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0x5a8 rs 0xc423cd6a, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0x5f8 rs 0xbd3e8d7e, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0xe88 rs 0xae3afba2, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0x318 rs 0x9b3660c6, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0x868 rs 0x8832161a, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0x264 rs 0x5d8a9099, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0x914 rs 0x4e8ee645, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0x484 rs 0x7b827d21, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0xff4 rs 0x68860bfd, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0xfa4 rs 0x119b4be9, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0x4d4 rs 0x29f3d35, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0x944 rs 0x3793a651, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0x234 rs 0x2497d08d, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0x9e4 rs 0xc5a92679, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0x294 rs 0xd6ad50a5, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0xf04 rs 0xe3a1cbc1, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0x474 rs 0xf0a5bd1d, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0x424 rs 0x89b8fd09, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0xf54 rs 0x9abc8bd5, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0x2c4 rs 0xafb010b1, p 0x00000002, lenm1 0x00000009
+cins $t1, $t2, 2 , 9 :: rt 0x9b4 rs 0xbcb4666d, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0x0 rs 0x0, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0xb7000000000 rs 0x130476dc, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0x6e000000000 rs 0x2608edb8, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0xd9000000000 rs 0x350c9b64, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0xdc000000000 rs 0x4c11db70, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0x6b000000000 rs 0x5f15adac, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0xb2000000000 rs 0x6a1936c8, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0x5000000000 rs 0x791d4014, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0xb8000000000 rs 0x9823b6e0, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0xf000000000 rs 0x8b27c03c, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0xd6000000000 rs 0xbe2b5b58, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0x61000000000 rs 0xad2f2d84, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0x64000000000 rs 0xd4326d90, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0xd3000000000 rs 0xc7361b4c, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0xa000000000 rs 0xf23a8028, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0xbd000000000 rs 0xe13ef6f4, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0x1dc00000000 rs 0x34867077, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0xaac00000000 rs 0x278206ab, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0x73c00000000 rs 0x128e9dcf, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0xc4c00000000 rs 0x18aeb13, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0xc1c00000000 rs 0x7897ab07, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0x76c00000000 rs 0x6b93dddb, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0xafc00000000 rs 0x5e9f46bf, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0x18c00000000 rs 0x4d9b3063, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0xa5c00000000 rs 0xaca5c697, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0x12c00000000 rs 0xbfa1b04b, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0xcbc00000000 rs 0x8aad2b2f, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0x7cc00000000 rs 0x99a95df3, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0x79c00000000 rs 0xe0b41de7, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0xcec00000000 rs 0xf3b06b3b, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0x17c00000000 rs 0xc6bcf05f, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0xa0c00000000 rs 0xd5b88683, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0x3b800000000 rs 0x690ce0ee, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0x8c800000000 rs 0x7a089632, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0x55800000000 rs 0x4f040d56, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0xe2800000000 rs 0x5c007b8a, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0xe7800000000 rs 0x251d3b9e, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0x50800000000 rs 0x36194d42, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0x89800000000 rs 0x315d626, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0x3e800000000 rs 0x1011a0fa, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0x83800000000 rs 0xf12f560e, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0x34800000000 rs 0xe22b20d2, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0xed800000000 rs 0xd727bbb6, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0x5a800000000 rs 0xc423cd6a, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0x5f800000000 rs 0xbd3e8d7e, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0xe8800000000 rs 0xae3afba2, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0x31800000000 rs 0x9b3660c6, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0x86800000000 rs 0x8832161a, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0x26400000000 rs 0x5d8a9099, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0x91400000000 rs 0x4e8ee645, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0x48400000000 rs 0x7b827d21, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0xff400000000 rs 0x68860bfd, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0xfa400000000 rs 0x119b4be9, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0x4d400000000 rs 0x29f3d35, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0x94400000000 rs 0x3793a651, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0x23400000000 rs 0x2497d08d, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0x9e400000000 rs 0xc5a92679, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0x29400000000 rs 0xd6ad50a5, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0xf0400000000 rs 0xe3a1cbc1, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0x47400000000 rs 0xf0a5bd1d, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0x42400000000 rs 0x89b8fd09, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0xf5400000000 rs 0x9abc8bd5, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0x2c400000000 rs 0xafb010b1, p 0x00000002, lenm1 0x00000009
+cins32 $t1, $t2, 2 , 9 :: rt 0x9b400000000 rs 0xbcb4666d, p 0x00000002, lenm1 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x0,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x4c11db7,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x9823b6e,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xd4326d9,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x130476dc,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x17c56b6b,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x1a864db2,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x1e475005,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x2608edb8,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x22c9f00f,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x2f8ad6d6,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x2b4bcb61,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x350c9b64,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x31cd86d3,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x3c8ea00a,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x384fbdbd,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x4c11db70,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x48d0c6c7,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x4593e01e,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x4152fda9,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x5f15adac,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x5bd4b01b,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x569796c2,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x52568b75,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x6a1936c8,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x6ed82b7f,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x639b0da6,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x675a1011,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x791d4014,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x7ddc5da3,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x709f7b7a,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x745e66cd,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x9823b6e0,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x9ce2ab57,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x91a18d8e,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x95609039,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x8b27c03c,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x8fe6dd8b,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x82a5fb52,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x8664e6e5,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xbe2b5b58,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xbaea46ef,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xb7a96036,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xb3687d81,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xad2f2d84,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xa9ee3033,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xa4ad16ea,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xa06c0b5d,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xd4326d90,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xd0f37027,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xddb056fe,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xd9714b49,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xc7361b4c,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xc3f706fb,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xceb42022,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xca753d95,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xf23a8028,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xf6fb9d9f,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xfbb8bb46,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xff79a6f1,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xe13ef6f4,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xe5ffeb43,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xe8bccd9a,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xec7dd02d,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x34867077,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x30476dc0,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x3d044b19,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x39c556ae,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x278206ab,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x23431b1c,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x2e003dc5,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x2ac12072,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x128e9dcf,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x164f8078,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x1b0ca6a1,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x1fcdbb16,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x18aeb13,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x54bf6a4,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x808d07d,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xcc9cdca,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x7897ab07,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x7c56b6b0,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x71159069,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x75d48dde,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x6b93dddb,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x6f52c06c,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x6211e6b5,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x66d0fb02,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x5e9f46bf,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x5a5e5b08,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x571d7dd1,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x53dc6066,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x4d9b3063,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x495a2dd4,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x44190b0d,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x40d816ba,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xaca5c697,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xa864db20,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xa527fdf9,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xa1e6e04e,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xbfa1b04b,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xbb60adfc,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xb6238b25,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xb2e29692,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x8aad2b2f,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x8e6c3698,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x832f1041,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x87ee0df6,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x99a95df3,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x9d684044,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x902b669d,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x94ea7b2a,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xe0b41de7,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xe4750050,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xe9362689,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xedf73b3e,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xf3b06b3b,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xf771768c,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xfa325055,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xfef34de2,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xc6bcf05f,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xc27dede8,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xcf3ecb31,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xcbffd686,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xd5b88683,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xd1799b34,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xdc3abded,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xd8fba05a,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x690ce0ee,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x6dcdfd59,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x608edb80,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x644fc637,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x7a089632,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x7ec98b85,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x738aad5c,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x774bb0eb,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x4f040d56,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x4bc510e1,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x46863638,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x42472b8f,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x5c007b8a,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x58c1663d,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x558240e4,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x51435d53,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x251d3b9e,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x21dc2629,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x2c9f00f0,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x285e1d47,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x36194d42,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x32d850f5,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x3f9b762c,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x3b5a6b9b,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x315d626,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x7d4cb91,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xa97ed48,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xe56f0ff,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x1011a0fa,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x14d0bd4d,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x19939b94,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x1d528623,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xf12f560e,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xf5ee4bb9,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xf8ad6d60,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xfc6c70d7,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xe22b20d2,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xe6ea3d65,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xeba91bbc,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xef68060b,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xd727bbb6,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xd3e6a601,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xdea580d8,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xda649d6f,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xc423cd6a,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xc0e2d0dd,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xcda1f604,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xc960ebb3,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xbd3e8d7e,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xb9ff90c9,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xb4bcb610,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xb07daba7,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xae3afba2,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xaafbe615,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xa7b8c0cc,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xa379dd7b,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x9b3660c6,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x9ff77d71,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x92b45ba8,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x9675461f,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x8832161a,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x8cf30bad,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x81b02d74,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x857130c3,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x5d8a9099,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x594b8d2e,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x5408abf7,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x50c9b640,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x4e8ee645,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x4a4ffbf2,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x470cdd2b,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x43cdc09c,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x7b827d21,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x7f436096,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x7200464f,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x76c15bf8,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x68860bfd,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x6c47164a,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x61043093,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x65c52d24,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x119b4be9,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x155a565e,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x18197087,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x1cd86d30,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x29f3d35,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x65e2082,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xb1d065b,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xfdc1bec,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x3793a651,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x3352bbe6,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x3e119d3f,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x3ad08088,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x2497d08d,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x2056cd3a,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x2d15ebe3,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x29d4f654,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xc5a92679,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xc1683bce,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xcc2b1d17,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xc8ea00a0,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xd6ad50a5,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xd26c4d12,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xdf2f6bcb,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xdbee767c,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xe3a1cbc1,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xe760d676,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xea23f0af,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xeee2ed18,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xf0a5bd1d,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xf464a0aa,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xf9278673,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xfde69bc4,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x89b8fd09,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x8d79e0be,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x803ac667,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x84fbdbd0,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x9abc8bd5,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x9e7d9662,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x933eb0bb,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0x97ffad0c,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xafb010b1,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xab710d06,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xa6322bdf,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xa2f33668,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xbcb4666d,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xb8757bda,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xb5365d03,imm 0x00000009
+snei $t1, $t2 ,9 :: rt 0x1 rs 0xb1f740b4,imm 0x00000009
+sne $t1, $t2 ,$t3 :: rd 0x0 rs 0x0, rt 0x0
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0x130476dc
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0x2608edb8
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0x350c9b64
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0x4c11db70
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0x5f15adac
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0x6a1936c8
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0x791d4014
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0x9823b6e0
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0x8b27c03c
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0xbe2b5b58
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0xad2f2d84
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0xd4326d90
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0xc7361b4c
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0xf23a8028
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0xe13ef6f4
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0x34867077
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0x278206ab
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0x128e9dcf
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0x18aeb13
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0x7897ab07
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0x6b93dddb
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0x5e9f46bf
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0x4d9b3063
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0xaca5c697
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0xbfa1b04b
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0x8aad2b2f
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0x99a95df3
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0xe0b41de7
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0xf3b06b3b
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0xc6bcf05f
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0xd5b88683
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0x690ce0ee
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0x7a089632
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0x4f040d56
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0x5c007b8a
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0x251d3b9e
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0x36194d42
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0x315d626
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0x1011a0fa
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0xf12f560e
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0xe22b20d2
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0xd727bbb6
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0xc423cd6a
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0xbd3e8d7e
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0xae3afba2
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0x9b3660c6
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0x8832161a
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0x5d8a9099
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0x4e8ee645
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0x7b827d21
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0x68860bfd
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0x119b4be9
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0x29f3d35
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0x3793a651
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0x2497d08d
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0xc5a92679
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0xd6ad50a5
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0xe3a1cbc1
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0xf0a5bd1d
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0x89b8fd09
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0x9abc8bd5
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0xafb010b1
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x0, rt 0xbcb4666d
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0x0
+sne $t1, $t2 ,$t3 :: rd 0x0 rs 0x130476dc, rt 0x130476dc
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0x2608edb8
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0x350c9b64
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0x4c11db70
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0x5f15adac
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0x6a1936c8
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0x791d4014
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0x9823b6e0
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0x8b27c03c
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0xbe2b5b58
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0xad2f2d84
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0xd4326d90
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0xc7361b4c
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0xf23a8028
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0xe13ef6f4
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0x34867077
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0x278206ab
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0x128e9dcf
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0x18aeb13
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0x7897ab07
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0x6b93dddb
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0x5e9f46bf
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0x4d9b3063
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0xaca5c697
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0xbfa1b04b
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0x8aad2b2f
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0x99a95df3
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0xe0b41de7
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0xf3b06b3b
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0xc6bcf05f
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0xd5b88683
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0x690ce0ee
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0x7a089632
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0x4f040d56
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0x5c007b8a
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0x251d3b9e
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0x36194d42
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0x315d626
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0x1011a0fa
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0xf12f560e
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0xe22b20d2
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0xd727bbb6
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0xc423cd6a
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0xbd3e8d7e
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0xae3afba2
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0x9b3660c6
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0x8832161a
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0x5d8a9099
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0x4e8ee645
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0x7b827d21
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0x68860bfd
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0x119b4be9
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0x29f3d35
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0x3793a651
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0x2497d08d
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0xc5a92679
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0xd6ad50a5
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0xe3a1cbc1
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0xf0a5bd1d
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0x89b8fd09
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0x9abc8bd5
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0xafb010b1
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x130476dc, rt 0xbcb4666d
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0x0
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0x130476dc
+sne $t1, $t2 ,$t3 :: rd 0x0 rs 0x2608edb8, rt 0x2608edb8
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0x350c9b64
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0x4c11db70
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0x5f15adac
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0x6a1936c8
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0x791d4014
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0x9823b6e0
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0x8b27c03c
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0xbe2b5b58
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0xad2f2d84
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0xd4326d90
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0xc7361b4c
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0xf23a8028
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0xe13ef6f4
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0x34867077
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0x278206ab
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0x128e9dcf
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0x18aeb13
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0x7897ab07
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0x6b93dddb
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0x5e9f46bf
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0x4d9b3063
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0xaca5c697
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0xbfa1b04b
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0x8aad2b2f
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0x99a95df3
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0xe0b41de7
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0xf3b06b3b
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0xc6bcf05f
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0xd5b88683
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0x690ce0ee
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0x7a089632
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0x4f040d56
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0x5c007b8a
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0x251d3b9e
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0x36194d42
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0x315d626
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0x1011a0fa
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0xf12f560e
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0xe22b20d2
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0xd727bbb6
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0xc423cd6a
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0xbd3e8d7e
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0xae3afba2
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0x9b3660c6
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0x8832161a
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0x5d8a9099
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0x4e8ee645
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0x7b827d21
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0x68860bfd
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0x119b4be9
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0x29f3d35
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0x3793a651
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0x2497d08d
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0xc5a92679
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0xd6ad50a5
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0xe3a1cbc1
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0xf0a5bd1d
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0x89b8fd09
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0x9abc8bd5
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0xafb010b1
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x2608edb8, rt 0xbcb4666d
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x350c9b64, rt 0x0
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x350c9b64, rt 0x130476dc
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x350c9b64, rt 0x2608edb8
+sne $t1, $t2 ,$t3 :: rd 0x0 rs 0x350c9b64, rt 0x350c9b64
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x350c9b64, rt 0x4c11db70
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x350c9b64, rt 0x5f15adac
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x350c9b64, rt 0x6a1936c8
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x350c9b64, rt 0x791d4014
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x350c9b64, rt 0x9823b6e0
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x350c9b64, rt 0x8b27c03c
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x350c9b64, rt 0xbe2b5b58
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x350c9b64, rt 0xad2f2d84
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x350c9b64, rt 0xd4326d90
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x350c9b64, rt 0xc7361b4c
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x350c9b64, rt 0xf23a8028
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x350c9b64, rt 0xe13ef6f4
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x350c9b64, rt 0x34867077
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x350c9b64, rt 0x278206ab
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x350c9b64, rt 0x128e9dcf
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x350c9b64, rt 0x18aeb13
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x350c9b64, rt 0x7897ab07
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x350c9b64, rt 0x6b93dddb
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x350c9b64, rt 0x5e9f46bf
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x350c9b64, rt 0x4d9b3063
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x350c9b64, rt 0xaca5c697
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x350c9b64, rt 0xbfa1b04b
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x350c9b64, rt 0x8aad2b2f
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x350c9b64, rt 0x99a95df3
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x350c9b64, rt 0xe0b41de7
+sne $t1, $t2 ,$t3 :: rd 0x1 rs 0x350c9b64, rt 0xf3b06b3b
+sne $t1, $t2 ,$t3 :...
[truncated message content] |