RFE: Need support for Intel x86 "Advanced Vector Extensions" (="AVX") instructions
RFE: Need support for Intel x86 "Advanced Vector Extensions" (="AVX") instructions (this is the "meta"-bug to track all smaller bugs which need to be filed to get the AVX work implemented). Some work has already been done: 6762020 Disassembly support for Intel Advanced Vector Extensions (AVX) 6926635 Disassembler support for XGETBV, XRSTOR, XSAVE and XSETBV instructions Contributed by Xinping Huang <firstname.lastname@example.org> The outstanding work is (but not limited to): - "mdb" support - kernel/context switch support to save/restore the new registers - ELF support - /usr/bin/isalist support - <insert more...> References: - PSARC/2010/311 ("Intel AVX Support") - http://en.wikipedia.org/wiki/Advanced_Vector_Extensions Notes: - Priority is very "low" (for now). There are samples of the CPUs floating around on selected customers sides but it will likely take until 2012 until this stuff becomes mainstream - It seems Solaris 11 already has this feature implemented
Updated by Rich Lowe about 9 years ago
- Difficulty set to Medium
- Tags set to needs-triage
The bug submitter was apparently very confused about this.
- context switch support is done (that's xsave/xrstore)
- ELF support is done
- isalist does not generally support things like this
The things outstanding are:
- mdb should print %ymm whenever they exist, and it would normally be displaying FP registers
- isainfo should display 'avx' if the facility is present.
The latter is actually the union of the "ELF" and "isalist" bits above, the work was 99% done but somehow the important bit got skipped -- the AV_I386_AVX flag is never set! It should be set in i86pc/os/cpuid.c as all the others are. This may mean that if you use a compiler or assembler which declares a binary as needing this feature, you're hosed.