summaryrefslogtreecommitdiff
path: root/backend
diff options
context:
space:
mode:
Diffstat (limited to 'backend')
-rw-r--r--backend/src/backend/gen_insn_selection.cpp24
-rw-r--r--backend/src/backend/gen_insn_selection.hpp4
-rw-r--r--backend/src/ir/instruction.hpp2
3 files changed, 15 insertions, 15 deletions
diff --git a/backend/src/backend/gen_insn_selection.cpp b/backend/src/backend/gen_insn_selection.cpp
index bbcbb19d..647f991e 100644
--- a/backend/src/backend/gen_insn_selection.cpp
+++ b/backend/src/backend/gen_insn_selection.cpp
@@ -659,7 +659,7 @@ namespace gbe
friend class SelectionInstruction;
private:
/*! Auxiliary label for if/endif. */
- uint16_t currAuxLabel;
+ uint32_t currAuxLabel;
bool bHas32X32Mul;
bool bHasLongType;
uint32_t ldMsgOrder;
@@ -1048,7 +1048,7 @@ namespace gbe
void Selection::Opaque::LABEL(ir::LabelIndex index) {
SelectionInstruction *insn = this->appendInsn(SEL_OP_LABEL, 0, 0);
- insn->index = uint16_t(index);
+ insn->index = uint32_t(index);
}
void Selection::Opaque::BARRIER(GenRegister src, GenRegister fence, uint32_t barrierType) {
@@ -1066,7 +1066,7 @@ namespace gbe
int Selection::Opaque::JMPI(Reg src, ir::LabelIndex index, ir::LabelIndex origin) {
SelectionInstruction *insn = this->appendInsn(SEL_OP_JMPI, 0, 1);
insn->src(0) = src;
- insn->index = uint16_t(index);
+ insn->index = uint32_t(index);
insn->extra.longjmp = abs(index - origin) > 800;
return insn->extra.longjmp ? 2 : 1;
}
@@ -1074,28 +1074,28 @@ namespace gbe
void Selection::Opaque::BRD(Reg src, ir::LabelIndex jip) {
SelectionInstruction *insn = this->appendInsn(SEL_OP_BRD, 0, 1);
insn->src(0) = src;
- insn->index = uint16_t(jip);
+ insn->index = uint32_t(jip);
}
void Selection::Opaque::BRC(Reg src, ir::LabelIndex jip, ir::LabelIndex uip) {
SelectionInstruction *insn = this->appendInsn(SEL_OP_BRC, 0, 1);
insn->src(0) = src;
- insn->index = uint16_t(jip);
- insn->index1 = uint16_t(uip);
+ insn->index = uint32_t(jip);
+ insn->index1 = uint32_t(uip);
}
void Selection::Opaque::IF(Reg src, ir::LabelIndex jip, ir::LabelIndex uip) {
SelectionInstruction *insn = this->appendInsn(SEL_OP_IF, 0, 1);
insn->src(0) = src;
- insn->index = uint16_t(jip);
- insn->index1 = uint16_t(uip);
+ insn->index = uint32_t(jip);
+ insn->index1 = uint32_t(uip);
}
void Selection::Opaque::ELSE(Reg src, ir::LabelIndex jip, ir::LabelIndex elseLabel) {
SelectionInstruction *insn = this->appendInsn(SEL_OP_ELSE, 0, 1);
insn->src(0) = src;
- insn->index = uint16_t(jip);
+ insn->index = uint32_t(jip);
this->LABEL(elseLabel);
}
@@ -1107,13 +1107,13 @@ namespace gbe
this->LABEL(this->block->endifLabel);
SelectionInstruction *insn = this->appendInsn(SEL_OP_ENDIF, 0, 1);
insn->src(0) = src;
- insn->index = uint16_t(this->block->endifLabel);
+ insn->index = uint32_t(this->block->endifLabel);
}
void Selection::Opaque::WHILE(Reg src, ir::LabelIndex jip) {
SelectionInstruction *insn = this->appendInsn(SEL_OP_WHILE, 0, 1);
insn->src(0) = src;
- insn->index = uint16_t(jip);
+ insn->index = uint32_t(jip);
}
void Selection::Opaque::CMP(uint32_t conditional, Reg src0, Reg src1, Reg dst) {
@@ -1784,7 +1784,7 @@ namespace gbe
if (this->ctx.getIFENDIFFix() &&
this->block->insnList.size() != 0 &&
this->block->insnList.size() % 1000 == 0 &&
- (uint16_t)this->block->endifLabel != 0) {
+ (uint32_t)this->block->endifLabel != 0) {
ir::LabelIndex jip = this->block->endifLabel;
this->ENDIF(GenRegister::immd(0), jip);
this->push();
diff --git a/backend/src/backend/gen_insn_selection.hpp b/backend/src/backend/gen_insn_selection.hpp
index 6a08180d..686f3090 100644
--- a/backend/src/backend/gen_insn_selection.hpp
+++ b/backend/src/backend/gen_insn_selection.hpp
@@ -140,9 +140,9 @@ namespace gbe
/*! Number of sources */
uint8_t srcNum:4;
/*! To store various indices */
- uint16_t index;
+ uint32_t index;
/*! For BRC/IF to store the UIP */
- uint16_t index1;
+ uint32_t index1;
/*! instruction ID used for vector allocation. */
uint32_t ID;
/*! Variable sized. Destinations and sources go here */
diff --git a/backend/src/ir/instruction.hpp b/backend/src/ir/instruction.hpp
index e6119da1..ddcefcee 100644
--- a/backend/src/ir/instruction.hpp
+++ b/backend/src/ir/instruction.hpp
@@ -88,7 +88,7 @@ namespace ir {
std::ostream &operator<< (std::ostream &out, AddressSpace addrSpace);
/*! A label is identified with an unsigned short */
- TYPE_SAFE(LabelIndex, uint16_t)
+ TYPE_SAFE(LabelIndex, uint32_t)
/*! Function class contains the register file and the register tuple. Any
* information related to the registers may therefore require a function