From: Jin K. S. <jin...@in...> - 2013-08-27 03:29:54
|
Please review and pull patches from: git://repo.or.cz/nasm/avx512.git A test case is added and checked against. Quite a few bugs are fixed in this series of patches. Gas and other tools expects the embedded rounding decorator located next to the last SIMD operand but this is different from what AVX-512 spec says. Currently NASM is implemented to be compatible with the existing other tools such as gas. The instruction flags (IF_*) in insns.dat ran out of the space for accomodating increasing number of instruction set types such as AVX-512. So the data type size is increased from 32 bits to 64 bits. Jin Kyu Song (7): AVX-512: Add a test case for EVEX encoded instructions AVX-512: Moved {er} decorator position next to the last SIMD op AVX-512: Find the correct position of the last SIMD op AVX-512: Add a feature to generate a raw bytecode file AVX-512: Fix a bug in calculating Disp8*N value AVX-512: Change the data type for instruction flags AVX-512: Fix match function to check the range of registers assemble.c | 18 +- assemble.h | 4 +- disasm.c | 4 +- disasm.h | 2 +- insns.dat | 63 +- insns.h | 53 +- insns.pl | 15 + nasm.c | 8 +- nasm.h | 2 + ndisasm.c | 2 +- test/avx512f.asm | 9175 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ test/gas2nasm.py | 107 + 12 files changed, 9383 insertions(+), 70 deletions(-) create mode 100644 test/avx512f.asm create mode 100755 test/gas2nasm.py -- 1.7.9.5 |