Set instruction size correctly in XCoreInstrFormats.td

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170289 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Richard Osborne 2012-12-16 16:46:24 +00:00
parent 9578d793c9
commit a44a751bc9

View File

@ -10,7 +10,7 @@
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//
// Instruction format superclass // Instruction format superclass
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//
class InstXCore<dag outs, dag ins, string asmstr, list<dag> pattern> class InstXCore<int sz, dag outs, dag ins, string asmstr, list<dag> pattern>
: Instruction { : Instruction {
field bits<32> Inst; field bits<32> Inst;
@ -19,102 +19,103 @@ class InstXCore<dag outs, dag ins, string asmstr, list<dag> pattern>
dag InOperandList = ins; dag InOperandList = ins;
let AsmString = asmstr; let AsmString = asmstr;
let Pattern = pattern; let Pattern = pattern;
let Size = sz;
} }
// XCore pseudo instructions format // XCore pseudo instructions format
class PseudoInstXCore<dag outs, dag ins, string asmstr, list<dag> pattern> class PseudoInstXCore<dag outs, dag ins, string asmstr, list<dag> pattern>
: InstXCore<outs, ins, asmstr, pattern>; : InstXCore<0, outs, ins, asmstr, pattern>;
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//
// Instruction formats // Instruction formats
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//
class _F3R<dag outs, dag ins, string asmstr, list<dag> pattern> class _F3R<dag outs, dag ins, string asmstr, list<dag> pattern>
: InstXCore<outs, ins, asmstr, pattern> { : InstXCore<2, outs, ins, asmstr, pattern> {
let Inst{31-0} = 0; let Inst{31-0} = 0;
} }
class _FL3R<dag outs, dag ins, string asmstr, list<dag> pattern> class _FL3R<dag outs, dag ins, string asmstr, list<dag> pattern>
: InstXCore<outs, ins, asmstr, pattern> { : InstXCore<4, outs, ins, asmstr, pattern> {
let Inst{31-0} = 0; let Inst{31-0} = 0;
} }
class _F2RUS<dag outs, dag ins, string asmstr, list<dag> pattern> class _F2RUS<dag outs, dag ins, string asmstr, list<dag> pattern>
: InstXCore<outs, ins, asmstr, pattern> { : InstXCore<2, outs, ins, asmstr, pattern> {
let Inst{31-0} = 0; let Inst{31-0} = 0;
} }
class _FL2RUS<dag outs, dag ins, string asmstr, list<dag> pattern> class _FL2RUS<dag outs, dag ins, string asmstr, list<dag> pattern>
: InstXCore<outs, ins, asmstr, pattern> { : InstXCore<4, outs, ins, asmstr, pattern> {
let Inst{31-0} = 0; let Inst{31-0} = 0;
} }
class _FRU6<dag outs, dag ins, string asmstr, list<dag> pattern> class _FRU6<dag outs, dag ins, string asmstr, list<dag> pattern>
: InstXCore<outs, ins, asmstr, pattern> { : InstXCore<2, outs, ins, asmstr, pattern> {
let Inst{31-0} = 0; let Inst{31-0} = 0;
} }
class _FLRU6<dag outs, dag ins, string asmstr, list<dag> pattern> class _FLRU6<dag outs, dag ins, string asmstr, list<dag> pattern>
: InstXCore<outs, ins, asmstr, pattern> { : InstXCore<4, outs, ins, asmstr, pattern> {
let Inst{31-0} = 0; let Inst{31-0} = 0;
} }
class _FU6<dag outs, dag ins, string asmstr, list<dag> pattern> class _FU6<dag outs, dag ins, string asmstr, list<dag> pattern>
: InstXCore<outs, ins, asmstr, pattern> { : InstXCore<2, outs, ins, asmstr, pattern> {
let Inst{31-0} = 0; let Inst{31-0} = 0;
} }
class _FLU6<dag outs, dag ins, string asmstr, list<dag> pattern> class _FLU6<dag outs, dag ins, string asmstr, list<dag> pattern>
: InstXCore<outs, ins, asmstr, pattern> { : InstXCore<4, outs, ins, asmstr, pattern> {
let Inst{31-0} = 0; let Inst{31-0} = 0;
} }
class _FU10<dag outs, dag ins, string asmstr, list<dag> pattern> class _FU10<dag outs, dag ins, string asmstr, list<dag> pattern>
: InstXCore<outs, ins, asmstr, pattern> { : InstXCore<2, outs, ins, asmstr, pattern> {
let Inst{31-0} = 0; let Inst{31-0} = 0;
} }
class _FLU10<dag outs, dag ins, string asmstr, list<dag> pattern> class _FLU10<dag outs, dag ins, string asmstr, list<dag> pattern>
: InstXCore<outs, ins, asmstr, pattern> { : InstXCore<4, outs, ins, asmstr, pattern> {
let Inst{31-0} = 0; let Inst{31-0} = 0;
} }
class _F2R<dag outs, dag ins, string asmstr, list<dag> pattern> class _F2R<dag outs, dag ins, string asmstr, list<dag> pattern>
: InstXCore<outs, ins, asmstr, pattern> { : InstXCore<2, outs, ins, asmstr, pattern> {
let Inst{31-0} = 0; let Inst{31-0} = 0;
} }
class _FRUS<dag outs, dag ins, string asmstr, list<dag> pattern> class _FRUS<dag outs, dag ins, string asmstr, list<dag> pattern>
: InstXCore<outs, ins, asmstr, pattern> { : InstXCore<2, outs, ins, asmstr, pattern> {
let Inst{31-0} = 0; let Inst{31-0} = 0;
} }
class _FL2R<dag outs, dag ins, string asmstr, list<dag> pattern> class _FL2R<dag outs, dag ins, string asmstr, list<dag> pattern>
: InstXCore<outs, ins, asmstr, pattern> { : InstXCore<4, outs, ins, asmstr, pattern> {
let Inst{31-0} = 0; let Inst{31-0} = 0;
} }
class _F1R<dag outs, dag ins, string asmstr, list<dag> pattern> class _F1R<dag outs, dag ins, string asmstr, list<dag> pattern>
: InstXCore<outs, ins, asmstr, pattern> { : InstXCore<2, outs, ins, asmstr, pattern> {
let Inst{31-0} = 0; let Inst{31-0} = 0;
} }
class _F0R<dag outs, dag ins, string asmstr, list<dag> pattern> class _F0R<dag outs, dag ins, string asmstr, list<dag> pattern>
: InstXCore<outs, ins, asmstr, pattern> { : InstXCore<2, outs, ins, asmstr, pattern> {
let Inst{31-0} = 0; let Inst{31-0} = 0;
} }
class _L4R<dag outs, dag ins, string asmstr, list<dag> pattern> class _L4R<dag outs, dag ins, string asmstr, list<dag> pattern>
: InstXCore<outs, ins, asmstr, pattern> { : InstXCore<4, outs, ins, asmstr, pattern> {
let Inst{31-0} = 0; let Inst{31-0} = 0;
} }
class _L5R<dag outs, dag ins, string asmstr, list<dag> pattern> class _L5R<dag outs, dag ins, string asmstr, list<dag> pattern>
: InstXCore<outs, ins, asmstr, pattern> { : InstXCore<4, outs, ins, asmstr, pattern> {
let Inst{31-0} = 0; let Inst{31-0} = 0;
} }
class _L6R<dag outs, dag ins, string asmstr, list<dag> pattern> class _L6R<dag outs, dag ins, string asmstr, list<dag> pattern>
: InstXCore<outs, ins, asmstr, pattern> { : InstXCore<4, outs, ins, asmstr, pattern> {
let Inst{31-0} = 0; let Inst{31-0} = 0;
} }