JitIL: Added «lbzu» instruction and «crXX» instructions. «crXX» are ported from Jit_SystemRegisteres.cpp. «lbzu» may cause crush in GFZP01 (F-Zero GX PAL). I could not test with GFZP01 because I don’t have it. I tested «lbzu» with other games, though.
JitIL: Commented out the code which cause bugs in STGJAF OP movie.
Newer versions of GCC’s
No matter. We don’t actually need it for our purposes.
MaxOSX build fix. Thanks soren.
Make the SSE3.1 VideoCommon code available in GCC builds.
The GCC model for extended instructions like these is that you compile
with -msse3 etc. These affect code generation for whole compilation units,
so the idea is that you have a separate .c file for each instruction set
class and then indirect to the desired one at runtime.
Without e.g. -msse4.1, the GCC built-ins used by
available. However, in our specific case of compiling with -msse2 and
wanting to use SSE3.1 code, enough built-ins are available that we only
need to provide a little hack for pshufb.
Upgrading this to also use SSE4.1 instructions doesn’t appear feasible
without a lot of undesirable duplication of GCC built-in functions and
headers, so we’d probably have to move to the GCC model of separate
source files for that.