Hello,

As the title says, I am trying to run the SPEC benchmarks (v1.1.9) on gem5
v23.0.1.0 on an Ubuntu 20.04 LTS host machine with SE mode of simulation on
DerivO3CPU. Whenever I run the simulation, I keep getting a similar error
for all Intrate benchmarks (base version) saying that unrecognized/invalid
instruction executed. I have compiled gem5 for the X86 ISA.

For SPEC, I have compiled the intrate benchmarks with the default
Example-gcc-linux-x86.cfg file. I also tried adding flags that would
disable BMI2 instructions since I saw in a previous question asked by a
gem5 user that gem5 may not support those instructions.

I am also aware that it is better to run SPEC in FS mode but that would be
in case of encountering unimplemented syscalls. I still want to understand
the reason and find a solution to avoid encountering the unimplemented
instruction error.

I appreciate any help you can provide.

Thank you. Best,
Preet.

TL;DR:
Simulation config:
--cpu-type=DerivO3CPU --cpu-clock=2GHz --caches --l2cache --l1d_size=64kB
--l1d_assoc=8 --l1i_size=32kB --l1i_assoc=8 --l2_size=2MB
--mem-type=DDR4_2400_8x8 --mem-size=8GB

Executable command:
SPEC2017 benchmarks

Simulation config:
deprecated/example/se.py

Host system:
Ubuntu 20.04 LTS, Intel Xeon Gold 5118, x86_64.

SPEC compilation config:
Example-gcc-linux-x86.cfg (also tried -mno-bmi2, -mtune=generic, -static,
but all failed).

Sample errors:
gcc_r_base gem5:
     src/arch/x86/faults.cc:131: panic: Unrecognized/invalid instruction
executed:

     {
          leg = 0,
          rex = 0,
          vex/xop = 0,
          op = {
               type = one byte,
               op = 0x62,
               },
          modRM = 0xf2,
          sib = 0,
          immediate = 0,
          displacement = 0
          dispSize = 0}

perlbench_r_base gem5:
     src/arch/x86/faults.cc:131: panic: Unrecognized/invalid instruction
executed:

     {
          leg = 0,
          rex = 0,
          vex/xop = 0,
          op = {
               type = one byte,
               op = 0x62,
               },
          modRM = 0xf2,
          sib = 0,
          immediate = 0,
          displacement = 0
          dispSize = 0}

mcf_r_base gem5:
     src/arch/x86/faults.cc:166: panic: Tried to read unmapped address
0x347ffff7a3ca48.
     PC: (0x2146=>0x214a).(0=>1), Instr:   MOV_R_M : ld   rdx, DS:[rax +
0x38]

omnettp_r_base gem5:
     src/arch/x86/faults.cc:131: panic: Unrecognized/invalid instruction
executed:

     {
          leg = 0,
          rex = 0,
          vex/xop = 0,
          op = {
               type = one byte,
               op = 0x62,
               },
          modRM = 0xf2,
          sib = 0,
          immediate = 0,
          displacement = 0
          dispSize = 0}

xalancbmk_r_base gem5:
     src/arch/x86/faults.cc:131: panic: Unrecognized/invalid instruction
executed:

     {
          leg = 0,
          rex = 0,
          vex/xop = 0,
          op = {
               type = one byte,
               op = 0x62,
               },
          modRM = 0xd1,
          sib = 0,
          immediate = 0,
          displacement = 0
          dispSize = 0}

x264_r_base gem5:
     src/arch/x86/faults.cc:131: panic: Unrecognized/invalid instruction
executed:

     {
          leg = 0x10,
          rex = 0,
          vex/xop = 0x1,
          op = {
               type = three byte 0f38,
               op = 0xf7,
               },
          modRM = 0,
          sib = 0,
          immediate = 0,
          displacement = 0
          dispSize = 0}

deepsjeng_r_base gem5:
     src/arch/x86/faults.cc:131: panic: Unrecognized/invalid instruction
executed:

     {
          leg = 0x10,
          rex = 0x8,
          vex/xop = 0x1,
          op = {
               type = three byte 0f38,
               op = 0xf7,
               },
          modRM = 0,
          sib = 0,
          immediate = 0,
          displacement = 0
          dispSize = 0}

leela_r_base gem5:
     src/arch/x86/faults.cc:131: panic: Unrecognized/invalid instruction
executed:

     {
          leg = 0,
          rex = 0,
          vex/xop = 0,
          op = {
               type = one byte,
               op = 0x62,
               },
          modRM = 0xd1,
          sib = 0,
          immediate = 0,
          displacement = 0
          dispSize = 0}

exchange2_r_base gem5:
     src/arch/x86/faults.cc:131: panic: Unrecognized/invalid instruction
executed:

     {
          leg = 0x10,
          rex = 0,
          vex/xop = 0x5,
          op = {
               type = three byte 0f3a,
               op = 0x38,
               },
          modRM = 0,
          sib = 0,
          immediate = 0,
          displacement = 0
          dispSize = 0}

xz_r_base gem5:
     src/arch/x86/faults.cc:131: panic: Unrecognized/invalid instruction
executed:

     {
          leg = 0,
          rex = 0,
          vex/xop = 0,
          op = {
               type = one byte,
               op = 0x62,
               },
          modRM = 0xf2,
          sib = 0,
          immediate = 0,
          displacement = 0
          dispSize = 0}
_______________________________________________
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org

Reply via email to