1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 19:12:56 +02:00
llvm-mirror/lib/Target/X86/AsmParser
Marina Yatsina dcbfbce154 [ms-inline-asm][AVX512] Add ability to use k registers in MS inline asm + fix bag with curly braces
Until now curly braces could only be used in MS inline assembly to mark block start/end.
All curly braces were removed completely at a very early stage.
This approach caused bugs like:
"m{o}v eax, ebx" turned into "mov eax, ebx" without any error.

In addition, AVX-512 added special operands (e.g., k registers), which are also surrounded by curly braces that mark them as such.
Now, we need to keep the curly braces and identify at a later stage if they are marking block start/end (if so, ignore them), or surrounding special AVX-512 operands (if so, parse them as such).

This patch fixes the bug described above and enables the use of AVX-512 special operands.

This commit is the the llvm part of the patch.
The clang part of the review is: http://reviews.llvm.org/D17766
The llvm part of the review is: http://reviews.llvm.org/D17767

Differential Revision: http://reviews.llvm.org/D17767

llvm-svn: 262843
2016-03-07 18:11:16 +00:00
..
CMakeLists.txt [CMake] X86AsmParser: Prune redundant LINK_LIBS. 2015-09-29 01:25:01 +00:00
LLVMBuild.txt [X86] Remove X86CodeGen dependency from the AsmParser library. 2015-12-25 22:10:11 +00:00
X86AsmInstrumentation.cpp Move MCTargetAsmParser.h to llvm/MC/MCParser where it belongs. 2016-01-27 10:01:28 +00:00
X86AsmInstrumentation.h Reduce the size of MCRelaxableFragment. 2015-11-14 06:35:56 +00:00
X86AsmParser.cpp [ms-inline-asm][AVX512] Add ability to use k registers in MS inline asm + fix bag with curly braces 2016-03-07 18:11:16 +00:00
X86AsmParserCommon.h One more batch of self-containing headers. 2016-01-27 19:29:56 +00:00
X86Operand.h AVX512F: Add GATHER/SCATTER assembler Intel syntax tests for knl/skx/avx . Change memory operand parser handling. 2016-02-25 13:30:17 +00:00