aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2010-11-19 22:02:18 +0000
committerBill Wendling <isanbard@gmail.com>2010-11-19 22:02:18 +0000
commita898166d3863b163ee87d69a4e4a487a5a92af43 (patch)
tree4e61cfc6d348790aaa624dee0b6ba7c59f9eeac2
parent76eb5f2401125c358eaf5e97a223a78ad4cc99e9 (diff)
downloadexternal_llvm-a898166d3863b163ee87d69a4e4a487a5a92af43.zip
external_llvm-a898166d3863b163ee87d69a4e4a487a5a92af43.tar.gz
external_llvm-a898166d3863b163ee87d69a4e4a487a5a92af43.tar.bz2
Change long binary encodings to use hex instead. It's more readable. Also
initialize missing bit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119849 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Target/ARM/ARMInstrThumb.td37
1 files changed, 20 insertions, 17 deletions
diff --git a/lib/Target/ARM/ARMInstrThumb.td b/lib/Target/ARM/ARMInstrThumb.td
index 05ded4e..8b4abcc 100644
--- a/lib/Target/ARM/ARMInstrThumb.td
+++ b/lib/Target/ARM/ARMInstrThumb.td
@@ -126,74 +126,77 @@ def t_addrmode_sp : Operand<i32>,
// these will always be in pairs, and asserts if it finds otherwise. Better way?
let Defs = [SP], Uses = [SP], hasSideEffects = 1 in {
def tADJCALLSTACKUP :
-PseudoInst<(outs), (ins i32imm:$amt1, i32imm:$amt2), NoItinerary,
- [(ARMcallseq_end imm:$amt1, imm:$amt2)]>,
- Requires<[IsThumb, IsThumb1Only]>;
+ PseudoInst<(outs), (ins i32imm:$amt1, i32imm:$amt2), NoItinerary,
+ [(ARMcallseq_end imm:$amt1, imm:$amt2)]>,
+ Requires<[IsThumb, IsThumb1Only]>;
def tADJCALLSTACKDOWN :
-PseudoInst<(outs), (ins i32imm:$amt), NoItinerary,
- [(ARMcallseq_start imm:$amt)]>,
- Requires<[IsThumb, IsThumb1Only]>;
+ PseudoInst<(outs), (ins i32imm:$amt), NoItinerary,
+ [(ARMcallseq_start imm:$amt)]>,
+ Requires<[IsThumb, IsThumb1Only]>;
}
def tNOP : T1pI<(outs), (ins), NoItinerary, "nop", "",
[/* For disassembly only; pattern left blank */]>,
T1Encoding<0b101111> {
let Inst{9-8} = 0b11;
- let Inst{7-0} = 0b00000000;
+ let Inst{7-0} = 0x00;
}
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;
+ let Inst{7-0} = 0x10;
}
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;
+ let Inst{7-0} = 0x20;
}
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;
+ let Inst{7-0} = 0x30;
}
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;
+ let Inst{7-0} = 0x40;
}
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;
+ let Inst{4} = 1;
+ let Inst{3} = 1; // Big-Endian
+ let Inst{2-0} = 0b000;
}
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;
+ let Inst{4} = 1;
+ let Inst{3} = 0; // Little-Endian
+ let Inst{2-0} = 0b000;
}
// 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",
+def tBKPT : T1I<(outs), (ins i32imm:$val), NoItinerary, "bkpt\t$imm8",
[/* For disassembly only; pattern left blank */]>,
T1Encoding<0b101111> {
- bits<8> val;
-
+ bits<8> imm8;
let Inst{9-8} = 0b10;
- let Inst{7-0} = val;
+ let Inst{7-0} = imm8;
}
// Change Processor State is a system instruction -- for disassembly only.