Rosetta 2 Binary Translation Comprehensive Supported Instruction Set List

So... I've got a bad feeling about this. Rereading:



What Can't Be Translated?

Rosetta can translate most Intel-based apps, including apps that contain just-in-time (JIT) compilers. However, Rosetta doesn’t translate the following executables:

· Kernel extensions

· Virtual Machine apps that virtualize x8664 computer platforms

Rosetta translates all x86

64 instructions, but it doesn’t support the execution of some newer instruction sets and processor features, such as AVX, AVX2, and AVX512When I first read these over, I said, no big deal; these are security things, and nobody (meaning, um, me) really uses AVX. But having now taken a first peek at the "Universal Mac" Xcode targets, the phrasing "Virtual Machine apps that virtualize x86_64 computer platforms" brought me back about seven years, and to VMware's push for VT-x layers.
Is Apple saying:

A) "we're disallowing a binary-translated version of competing hypervisors frameworks" (my first reading), or is it:

B) No Penryn-era instructions, including AES-NI and PCLMULQDQ can be translated? 😱

Because, um, that's going to be a way bigger deal. The thing is, many, many developers, including myself, in the 10.11-10.12 era started compiling and optimizing using those particular instructions. I particularly remember using a flag combo -march=core-avx-i -mno-avx -mmacosx-version-min=10.2. Along with -Ofast -flto ... if the code passed regressions. And I dropped static versions of carryless-CRC zlib into... everything?

I'm not gonna apologize for doing this. It was following Apple's own lead with the drop of OS support without these instructions. And, if I'm reading that right, this means there is a lot more non-translatable code out there than I thought.

Am I incorrect? The thing is, the only instructions you call out by name is AVX. But, how 'bout SSE 4.x? Basically, at this point can I ask, is there just a plain ol' list, of which instructions are supported and which aren't?

~ Geoff

P.S. Why no tags for Rosetta, Binary Translation, etc.?

Rosetta 2 Binary Translation Comprehensive Supported Instruction Set List
 
 
Q