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 | 74cca5a989c551559510721253697d6c9681aa35 (patch) | |
| tree | 70239ad96ff4a7fd1330120028fd4d6792094c3d | |
| parent | 36b5414c4e1d1f8d047899402cc097c0fe42bd37 (diff) | |
| download | bcm5719-llvm-74cca5a989c551559510721253697d6c9681aa35.tar.gz bcm5719-llvm-74cca5a989c551559510721253697d6c9681aa35.zip | |
Added the following 16-bit Thumb instructions for disassembly only: YIELD, WFE,
WFI, SEV, SETEND.
llvm-svn: 97149
| -rw-r--r-- | llvm/lib/Target/ARM/ARMInstrThumb.td | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/ARMInstrThumb.td b/llvm/lib/Target/ARM/ARMInstrThumb.td index 1154c8608b7..f53d2a2aafe 100644 --- a/llvm/lib/Target/ARM/ARMInstrThumb.td +++ b/llvm/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", |

