There is a fix here:

http://reviews.gem5.org/r/2505/
http://reviews.gem5.org/r/2506/

It's been waiting for review, but should hopefully go in in the next day or
so.

Gabe

On Mon, Nov 24, 2014 at 5:02 PM, Ahmed Khawaja via gem5-dev <
[email protected]> wrote:

> Greetings,
>
>      I am trying to run an SSE-enabled program through GEM5 in SE mode and
> I get an error about "panic: Tried to read unmpapped address 0x130c1c0", I
> disassembled my program and ran gem5 with instruction tracing. The
> offending instruction does NOT appear in the disassembled code. The
> interesting thing to note is I added an implementation of the PEXTRB
> instruction and the offending instruction (which shouldn't) is directly
> after the first PEXTRB instruction is executed (it only shows 1 being
> executed, though in the source code they only appear in sequences of 8
> PEXTRB instrucitons in a row). I am lead to believe this is an issue with
> the front end decoder, can anyone tell me if my diagnosis seems correct and
> what level of confidence should I expect in the front end decoder for an
> instruction that was NOT implemented.
>
>    I was able to successfully reproduce the error using a stand alone
> micro-program (which I have attached) and the source code is listed below.
> The program runs fine (doesn't do anything really) stand alone, but crashes
> in gem5 with the same signature of a random ADD instruction appearing after
> the PEXTRB instruction. Two things to note, in the committed version of
> GEM5 PEXTRB is not implemented but it SHOULD still be decoded properly. The
> program works fine if I change the PEXTRB instruction to reference a
> register instead of memory, it appears the bug becomes an issue when the
> destination is a memory operand. The instruction listed below is a copy of
> what was in my original program. Furthermore, I tried running it the with
> immediate byte != 0 and the program did NOT crash in GEM5. Any help would
> be greatly appreciated!
>
> Gabe replied last time, but I have not heard anything since, is anyone
> looking into this or can give me pointers on resolving the issue?
>
>
> // Compile me with: g++ -static -msse4 sse_test.cpp
> #include "smmintrin.h"
> int main()  {
> asm(
> "pushq %rax \n"
> "pushq %rdx \n"
> "movq $0x0, %rdx \n"
> "movq %rsp, %rax \n"
> "subq $0xc, %rax \n"
> "pextrb $0x0,%xmm0, 0xc(%rdx,%rax,1) \n"
> "pxor %xmm0, %xmm0 \n"
> "popq %rdx \n"
> "popq %rax \n"
> );
> return 0;
> }
>
>
> Thank you,
>    Ahmed Khawaja
> _______________________________________________
> gem5-dev mailing list
> [email protected]
> http://m5sim.org/mailman/listinfo/gem5-dev
>
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to