Corrade/Utility/IntrinsicsAvx.h file new in Git master

Intrinsics for x86 LZCNT, BMI1, BMI2, AVX, AVX F16C, AVX FMA and AVX2 instructions.

Equivalent to #include <immintrin.h> on most compilers except for GCC 4.8, where it contains an additional workaround to make the instructions available with just the CORRADE_ENABLE_AVX, CORRADE_ENABLE_AVX_F16C, CORRADE_ENABLE_AVX_FMA or CORRADE_ENABLE_AVX2 function attributes instead of having to specify -mavx or -mavx2 for the whole compilation unit. This however can't reliably be done for -mlzcnt, -mbmi, -mbmi2, -mf16c or -mfma because then it could not be freely combined with other instruction sets, only used alone. You have to enable these instructions globally in order to use them on GCC 4.8.

As AVX-512 is supported only since GCC 4.9, which doesn't need this workaround, it's not handled here.