summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuillaume Emont <guijemont@igalia.com>2012-12-15 17:48:43 +0100
committerGuillaume Emont <guijemont@igalia.com>2012-12-28 15:23:39 +0100
commitb959c0830459e166cbc4b0f47d133942639cb0ab (patch)
treef7653f468517021f576237b0593db45265729d77
parentde1b9411454f4caca8ec172a06e8315294471607 (diff)
downloadorc-b959c0830459e166cbc4b0f47d133942639cb0ab.tar.gz
mips: loadupib, loadupdb: error (not implemented) if source argument is not source var
Only source vars can get a ptr_offset, and we need one in these operations as they are implemented now.
-rw-r--r--orc/orcrules-mips.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/orc/orcrules-mips.c b/orc/orcrules-mips.c
index 465c261..967249a 100644
--- a/orc/orcrules-mips.c
+++ b/orc/orcrules-mips.c
@@ -379,7 +379,7 @@ mips_rule_loadupib (OrcCompiler *compiler, void *user, OrcInstruction *insn)
OrcMipsRegister tmp1 = ORC_MIPS_T4;
OrcMipsRegister tmp2 = ORC_MIPS_T5;
- if (compiler->vars[insn->src_args[0]].vartype == ORC_VAR_TYPE_CONST) {
+ if (src->vartype != ORC_VAR_TYPE_SRC) {
ORC_PROGRAM_ERROR (compiler, "not implemented");
return;
}
@@ -452,7 +452,7 @@ mips_rule_loadupdb (OrcCompiler *compiler, void *user, OrcInstruction *insn)
OrcVariable *dest = compiler->vars + insn->dest_args[0];
OrcMipsRegister tmp = ORC_MIPS_T3;
- if (compiler->vars[insn->src_args[0]].vartype == ORC_VAR_TYPE_CONST) {
+ if (src->vartype != ORC_VAR_TYPE_SRC) {
ORC_PROGRAM_ERROR (compiler, "not implemented");
return;
}