mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-24 22:24:54 +00:00
ARM Assembler support for DMB instruction.
Flesh out the options supported for the instruction. Shuffle tests a bit and add entries for the rest of the options. Add an alias to handle the default operand of "sy". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135109 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -3304,6 +3304,8 @@ def DMB : AInoP<(outs), (ins memb_opt:$opt), MiscFrm, NoItinerary,
|
||||
}
|
||||
}
|
||||
|
||||
def : InstAlias<"dmb", (DMB 0xf)>;
|
||||
|
||||
def DSB : AInoP<(outs), (ins memb_opt:$opt), MiscFrm, NoItinerary,
|
||||
"dsb", "\t$opt", []>,
|
||||
Requires<[IsARM, HasDB]> {
|
||||
|
@@ -1343,10 +1343,14 @@ tryParseMemBarrierOptOperand(SmallVectorImpl<MCParsedAsmOperand*> &Operands) {
|
||||
unsigned Opt = StringSwitch<unsigned>(OptStr.slice(0, OptStr.size()))
|
||||
.Case("sy", ARM_MB::SY)
|
||||
.Case("st", ARM_MB::ST)
|
||||
.Case("sh", ARM_MB::ISH)
|
||||
.Case("ish", ARM_MB::ISH)
|
||||
.Case("shst", ARM_MB::ISHST)
|
||||
.Case("ishst", ARM_MB::ISHST)
|
||||
.Case("nsh", ARM_MB::NSH)
|
||||
.Case("un", ARM_MB::NSH)
|
||||
.Case("nshst", ARM_MB::NSHST)
|
||||
.Case("unst", ARM_MB::NSHST)
|
||||
.Case("osh", ARM_MB::OSH)
|
||||
.Case("oshst", ARM_MB::OSHST)
|
||||
.Default(~0U);
|
||||
|
Reference in New Issue
Block a user