asmjit/cult

Segfault on Illegal instruction

breznak opened this issue · 5 comments

 vblendvpd ymm, ymm, ymm, ymm    : Lat:  1.00 Rcp:  1.00
  vblendvps xmm, xmm, xmm, xmm    : Lat:  1.00 Rcp:  1.00
  vblendvps ymm, ymm, ymm, ymm    : Lat:  1.00 Rcp:  1.00
Illegal instruction (core dumped)

I get a segfault after running the system for a while. Is there a way I could provide a better debug info? (the coredump is not saved somehow, even if I do ulimit)

Try passing --dump parameter to the app. It will print what it generates and executes.

I think, if you have AVX-only machine (no AVX2) that there is a bug in the decision whether the instruction can be executed. I will dig into this.

I need to add some features to asmjit to allow detailed CPU requirements checking. Then I will fix cult to use that feature. This would be better than workarounding this in cult itself.

Yes, I have an AVX, but not AVX2 cpu (as cpuinfo says), thanks for analyzing the problem

Okay, it seems I have finally fixed this. I did it a more systematic way so it took a little more time than I initially expected. Please try again and let me know if it's still trying to execute AVX2 instruction(s).

Works well! Diky