[PATCH] [AArch64] Add logical pseudo instructions to MC AsmParser
    Arnaud Allard de Grandmaison 
    arnaud.adegm at gmail.com
       
    Thu Jul 10 06:43:20 PDT 2014
    
    
  
This patch teaches the AsmParser to accept some logical+immediate
instructions and convert them as shown:
      bic  Rd, Rn, #imm  ->  and Rd, Rn, #~imm
      bics Rd, Rn, #imm  ->  ands Rd, Rn, #~imm
      orn  Rd, Rn, #imm  ->  orr Rd, Rn, #~imm
      eon  Rd, Rn, #imm  ->  eor Rd, Rn, #~imm
Those instructions are an alternate syntax available to assembly coders,
and are needed in order to support code already compiling with some other
assemblers. For example, the bic construct is used by the linux kernel.
Those pseudos are just syntactic sugar, and this leads to a question about
diagnostics. Which diagnostic should be emitted when the asmparser fails to
match an instruction or a pseudo ? For example, with this patch, the
closest match for the assembler is the pseudo in one of the
basic-a64-diagnostics tests, which leads to a weird diagnostic. Would there
be a non convoluted way to disambiguate this, or give a lower priority to
pseudos ?
Apart from this point, does this patch looks reasonable ?
Cheers,
--
Arnaud A. de Grandmaison
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140710/ee23a0e5/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-AArch64-Add-logical-pseudo-instructions-to-MC-AsmPar.patch
Type: text/x-patch
Size: 11705 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140710/ee23a0e5/attachment.bin>
    
    
More information about the llvm-commits
mailing list