On Mon, Jan 12, 2026 at 11:34 AM Pranith Kumar <[email protected]> wrote: > > Hello, > > I am trying to run spec intrate with qemu-x86_64 and it seems to fail > with an 'Illegal Instruction' error. I tried compiling with an ancient > architecture (-march=core2/athlon64) and this error persists. > > Is this a known issue? Are there any workarounds? > > Trace 0: 0x7fffe806fd40 [00000000/000000000050d8d6/1040c0b3/00000000] > Perl_sv_upgrade > ---------------- > IN: Perl_sv_upgrade > 0x0050d8dc: c5 f9 ef c0 vpxor %xmm0, %xmm0, %xmm0 > 0x0050d8e0: 48 83 c2 10 addq $0x10, %rdx > 0x0050d8e4: 62 .byte 0x62 > 0x0050d8e5: f1 int1 >
This is being caused by the instruction 'vmovdqu8'. Disassembly of the binary shows: 11e69c: c5 f9 ef c0 vpxor %xmm0,%xmm0,%xmm0 11e6a0: 48 83 c2 10 add $0x10,%rdx 11e6a4: 62 f1 7f 08 7f 42 ff vmovdqu8 %xmm0,-0x10(%rdx) However, tcg is unable to decode this last instruction and traps. I wonder why the 'march=core2' flag is not forcing gcc to disable this instruction sequence. -- Pranith
