diff options
author | Johnny Chen <johnny.chen@apple.com> | 2010-02-25 17:51:03 +0000 |
---|---|---|
committer | Johnny Chen <johnny.chen@apple.com> | 2010-02-25 17:51:03 +0000 |
commit | d86d269f08ec9a00bbceccef7d11fc430a8af76e (patch) | |
tree | cb80cb1486e805790affbea1efee823fc13f26ee | |
parent | bb82b146e9794f4f0ac8fa2e6a02263bc971b0ac (diff) | |
download | llvm-d86d269f08ec9a00bbceccef7d11fc430a8af76e.tar.gz llvm-d86d269f08ec9a00bbceccef7d11fc430a8af76e.tar.bz2 llvm-d86d269f08ec9a00bbceccef7d11fc430a8af76e.tar.xz |
Added the following 16-bit Thumb instructions for disassembly only: YIELD, WFE,
WFI, SEV, SETEND.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97149 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Target/ARM/ARMInstrThumb.td | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/lib/Target/ARM/ARMInstrThumb.td b/lib/Target/ARM/ARMInstrThumb.td index 1154c8608b..f53d2a2aaf 100644 --- a/lib/Target/ARM/ARMInstrThumb.td +++ b/lib/Target/ARM/ARMInstrThumb.td @@ -142,6 +142,48 @@ def tNOP : T1pI<(outs), (ins), NoItinerary, "nop", "", let Inst{7-0} = 0b00000000; } +def tYIELD : T1pI<(outs), (ins), NoItinerary, "yield", "", + [/* For disassembly only; pattern left blank */]>, + T1Encoding<0b101111> { + let Inst{9-8} = 0b11; + let Inst{7-0} = 0b00010000; +} + +def tWFE : T1pI<(outs), (ins), NoItinerary, "wfe", "", + [/* For disassembly only; pattern left blank */]>, + T1Encoding<0b101111> { + let Inst{9-8} = 0b11; + let Inst{7-0} = 0b00100000; +} + +def tWFI : T1pI<(outs), (ins), NoItinerary, "wfi", "", + [/* For disassembly only; pattern left blank */]>, + T1Encoding<0b101111> { + let Inst{9-8} = 0b11; + let Inst{7-0} = 0b00110000; +} + +def tSEV : T1pI<(outs), (ins), NoItinerary, "sev", "", + [/* For disassembly only; pattern left blank */]>, + T1Encoding<0b101111> { + let Inst{9-8} = 0b11; + let Inst{7-0} = 0b01000000; +} + +def tSETENDBE : T1I<(outs), (ins), NoItinerary, "setend\tbe", + [/* For disassembly only; pattern left blank */]>, + T1Encoding<0b101101> { + let Inst{9-5} = 0b10010; + let Inst{3} = 1; +} + +def tSETENDLE : T1I<(outs), (ins), NoItinerary, "setend\tle", + [/* For disassembly only; pattern left blank */]>, + T1Encoding<0b101101> { + let Inst{9-5} = 0b10010; + let Inst{3} = 0; +} + // The i32imm operand $val can be used by a debugger to store more information // about the breakpoint. def tBKPT : T1I<(outs), (ins i32imm:$val), NoItinerary, "bkpt\t$val", |