[gem5-users] Re: SPEC CPU2017 X86 SE mode - instruction 'palignr_Vdq_Wdq_Ib' unimplemented

2023-03-14 Thread Eliot Moss via gem5-users

On 3/13/2023 5:33 PM, Abitha Thyagarajan via gem5-users wrote:

Hi Eliot and Mirco,

I had the same issue with `palignr_Vdq_Wdq_Ib` being unimplemented. I tried compiling my application 
binary (i.e., the one I was trying to run on gem5, not gem5 itself) to exclude SSE which contains 
that instruction. I used gcc flags `-mno-sse3 -mno-ssse3 -mno-sse4.1 -mno-sse4.2 -mno-sse4`. 
However, I still get the warning message about `palignr_Vdq_Wdq_Ib` being unimplemented.


Do either of you have any idea about this? If you had success with resolving this warning by another 
method, please let me know.


Sorry - I have no deep knowledge on this and was only making a suggestion.

However, maybe the instruction is coming from a library routine that gets
linked in later, and this not from your actual gcc output.  You can probably
locate the offending instruction using objdump, looking at (searching) the
assembly code of a fully linked executable.

If it *is* a library routine, I'm not sure exactly how to get a version that
does not use that instruction.  Some library routines test hardware ability
at run time and choose different function versions based on the result.  If
the gem5 modeled cpu say "I have SSE", then you may get that version.  It may
be possible to configure the gem5 cpu without SSE (I've not researched that).

I hope this gives you some useful possibilities to pursue.

Best - EM
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org


[gem5-users] Re: SPEC CPU2017 X86 SE mode - instruction 'palignr_Vdq_Wdq_Ib' unimplemented

2023-03-13 Thread Mirco Mannino via gem5-users

Hi Eliot and Abitha,

After Eliot's advice, I also tried to compile spec using the flags you 
used, and also "-march=nocona".
Unfortunately, inspecting the generated assembly, I see that the 
"palignr" instruction is always present.


I'll update you if I manage to compile the binaries without using that 
instruction.


Thank you both.

Mirco

Il 13/03/23 21:33, Abitha Thyagarajan via gem5-users ha scritto:


Hi Eliot and Mirco,

I had the same issue with `palignr_Vdq_Wdq_Ib` being unimplemented. I 
tried compiling my application binary (i.e., the one I was trying to 
run on gem5, not gem5 itself) to exclude SSE which contains that 
instruction. I used gcc flags `-mno-sse3 -mno-ssse3 -mno-sse4.1 
-mno-sse4.2 -mno-sse4`. However, I still get the warning message about 
`palignr_Vdq_Wdq_Ib` being unimplemented.


Do either of you have any idea about this? If you had success with 
resolving this warning by another method, please let me know.


Thanks,
Abitha


___
gem5-users mailing list --gem5-users@gem5.org
To unsubscribe send an email togem5-users-le...@gem5.org

--
*Mirco Mannino, PhD student *
Dipartimento di Ingegneria dell'Informazione e Scienze Matematiche
Università degli Studi di Siena___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org


[gem5-users] Re: SPEC CPU2017 X86 SE mode - instruction 'palignr_Vdq_Wdq_Ib' unimplemented

2023-03-13 Thread Abitha Thyagarajan via gem5-users
Hi Eliot and Mirco,

I had the same issue with \`palignr_Vdq_Wdq_Ib\` being unimplemented. I tried 
compiling my application binary (i.e., the one I was trying to run on gem5, not 
gem5 itself) to exclude SSE which contains that instruction. I used gcc flags 
\`-mno-sse3 -mno-ssse3 -mno-sse4.1 -mno-sse4.2 -mno-sse4\`. However, I still 
get the warning message about \`palignr_Vdq_Wdq_Ib\` being unimplemented.

Do either of you have any idea about this? If you had success with resolving 
this warning by another method, please let me know.

Thanks,\
Abitha
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org


[gem5-users] Re: SPEC CPU2017 X86 SE mode - instruction 'palignr_Vdq_Wdq_Ib' unimplemented

2023-03-09 Thread Eliot Moss via gem5-users

On 3/9/2023 6:45 PM, Mirco Mannino via gem5-users wrote:

Hi all,

I'm trying to take checkpoints from SimPoints for SPEC CPU 2017 in SE mode. I would like to generate 
checkpoints for different ISAs (RISCV and X86).


So far, I did the following:
1) BBV files created using "qpoints" tool (https://github.com/pranith/qpoints), since 
"--simpoint-profile", from se.py, was taking too long.

2) For the SimPoints, I used the tool from UCSD 
(https://cseweb.ucsd.edu/~calder/simpoint/).
3) For the checkpoint generation I used the "--take-simpoint-checkpoint" option 
from se.py.

With RISCV I had no problem to take checkpoints for all the benchmarks of IntRate suite (apart from 
502.gcc_r).


On the other hand, using X86 I am not able to run several benchmarks of IntRate suite. In 
particular, the benchmarks that give me problems are:

* 500.perlbench_r
* 502.gcc_r
* 520.omnetpp_r
* 523.xalancbmk_r
* 557.xz_r

I noticed that all the benchmarks that fail with X86 display the following 
warning several times:
"build/X86/arch/x86/generated/exec-ns.cc.inc:27: warn: instruction 
'palignr_Vdq_Wdq_Ib' unimplemented"

Any hints on how to solve this? Is there a solution other than implementing the 
"palignr" instruction

I am using the last stable version of gem5 (v22.1, commit 5fa484e)


What comes to my mind is compiling while telling gcc to use an x86 model
that does not have the "offending" instruction.

Best - Eliot Moss
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org