Gabe: Do you want me to wait to push this patch? We can have Tony re-post
to gerrit if you want to review it. That would be way easier for me anyway.

We need a way to test for these kinds of errors. It's quite upsetting that
we've had this error in multiply for so long.

Jason

On Mon, May 15, 2017 at 2:50 PM Gabe Black <gabebl...@google.com> wrote:

> Please give me a chance to look at it. I think the checker CPU is for
> comparing, say, the O3 CPU against what's effectively the simple CPU. If an
> instruction doesn't do the right thing, it will do the wrong thing no
> matter which CPU is executing it. You can compare against actual execution
> on a real CPU using the statetrace tool, although I saw that somebody
> rearranged all the process startup code which I'd originally carefully
> matched against actual Linux process startup, so that tool probably doesn't
> give any useful information any more.
>
> Gabe
>
> On Mon, May 15, 2017 at 12:45 PM, Joe Gross <joseph.gr...@amd.com> wrote:
>
>>
>>
>> > On Feb. 4, 2017, 10:21 a.m., Jason Lowe-Power wrote:
>> > > Lol, that code is hard to understand. But, LGTM.
>> > >
>> > > What are you using to test this? Any chance you can commit the test
>> so we don't accidentally break this again in the future?
>> >
>> > Tony Gutierrez wrote:
>> >     This bug was manifesting in the ROCr runtime while it is loading
>> libraries, it manifested as a segfualt (unmapped addr panic) because an
>> address calculation was corrupted due to this instruction. I manually
>> tested this instruction by comparing its output to the result of 64b
>> multiplication using __uint128_t. This is a perfect example of where
>> instruction tests would be useful. It only seemed to give bad output with
>> certain inputs, which gave the error the appearance of being
>> non-deterministic.
>> >
>> > Jason Lowe-Power wrote:
>> >     Resurecting this from the grave... does anyone have any objections
>> to me just pushing this? I spent all day tracking down a bug, which was
>> fixed by this patch.
>>
>> This is an important patch for x86, I say push it. Also it would be nice
>> if we were eventually able to use the CheckerCpu for x86 (I believe it's
>> ARM-only right now), as there might be more hard-to-find bugs like this one.
>>
>>
>> - Joe
>>
>
>>
>> -----------------------------------------------------------
>
>
>> This is an automatically generated e-mail. To reply, visit:
>>
> http://reviews.gem5.org/r/3800/#review9400
>> -----------------------------------------------------------
>>
>>
>> On Feb. 3, 2017, 6:13 p.m., Tony Gutierrez wrote:
>> >
>> > -----------------------------------------------------------
>
>
>> > This is an automatically generated e-mail. To reply, visit:
>> > http://reviews.gem5.org/r/3800/
>>
> > -----------------------------------------------------------
>> >
>> > (Updated Feb. 3, 2017, 6:13 p.m.)
>> >
>> >
>> > Review request for Default.
>> >
>> >
>> > Repository: gem5
>> >
>> >
>> > Description
>> > -------
>>
>
>> >
>> > Changeset 11778:c76b78110490
>> > ---------------------------
>> > x86: fix Mul1u instruction
>> >
>> > the Mul1uFlags and Mul1u instructions perform
>> > the 64b multiplication using only 64b registers, however the
>> > method used causes the high 64b to be corrupted for certain
>> > inputs. here we fix the computation.
>> >
>> >
>> > Diffs
>> > -----
>> >
>> >   src/arch/x86/isa/microops/regop.isa
>> ed89cb178ecd7586296d2a2e83595174474db554
>> >
>> > Diff: http://reviews.gem5.org/r/3800/diff/
>> >
>> >
>> > Testing
>> > -------
>> >
>> >
>> > Thanks,
>> >
>> > Tony Gutierrez
>> >
>> >
>>
>> _______________________________________________
>> gem5-dev mailing list
>> gem5-dev@gem5.org
>> http://m5sim.org/mailman/listinfo/gem5-dev
>>
>
_______________________________________________
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to