[PATCH] D17767: [ms-inline-asm][AVX512] Add ability to use k registers in MS inline asm + fix bag with curly braces

Marina Yatsina via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 1 06:36:14 PST 2016


myatsina created this revision.
myatsina added reviewers: rnk, ehsan, mcrosier, delena.
myatsina added a subscriber: llvm-commits.
myatsina set the repository for this revision to rL LLVM.

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 review is for the llvm part.
The tests and clang part of the review is: http://reviews.llvm.org/D17766

Repository:
  rL LLVM

http://reviews.llvm.org/D17767

Files:
  include/llvm/MC/MCParser/MCTargetAsmParser.h
  lib/MC/MCParser/AsmParser.cpp
  lib/Target/X86/AsmParser/X86AsmParser.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D17767.49485.patch
Type: text/x-patch
Size: 3965 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160301/cecd888f/attachment.bin>


More information about the llvm-commits mailing list