JustasMasiulis / xorstr

heavily vectorized c++17 compile time string encryption.
Apache License 2.0
1.19k stars 193 forks source link

Illegal Instruction #3

Closed ghost closed 6 years ago

ghost commented 6 years ago

On one of my RDPs I got this: image

Nou4r commented 6 years ago

Strange i just recently also had the same issue

JustasMasiulis commented 6 years ago

Does the CPU of the machine support AVX intrinsics? Can't really think of any other reason for the failure. You can disable them by defining JM_XORSTR_DISABLE_AVX_INTRINSICS

(vpxor requires AVX 2 instruction set)

ghost commented 6 years ago

Yep, that was the issue. Thanks 👍

no-realm commented 6 years ago

How did he even compile the program without enabling the necessary ABI? I had to explicitly enable it via flags when compiling with GCC/Clang. And enabling a set which my CPU didn't support caused a compiler error.

JustasMasiulis commented 6 years ago

MSVC doesn't have such warnings / errors. There is a switch for it to use these instructions that is disabled by default, but if you use intrinsics it will simply generate what you asked for ignoring them.