}
}
} else if (p->vars[insn->src_args[0]].vartype == ORC_VAR_TYPE_CONST) {
- ORC_ASM_CODE(p," %s = 0x%08x; /* %d or %gf */\n", dest,
- (unsigned int)p->vars[insn->src_args[0]].value.i,
- (int)p->vars[insn->src_args[0]].value.i,
- p->vars[insn->src_args[0]].value.f);
+ if (p->vars[insn->src_args[0]].size <= 4)
+ ORC_ASM_CODE(p," %s = 0x%08x; /* %d or %gf */\n", dest,
+ (unsigned int)p->vars[insn->src_args[0]].value.i,
+ (int)p->vars[insn->src_args[0]].value.i,
+ p->vars[insn->src_args[0]].value.f);
+ else
+ ORC_ASM_CODE(p," %s = 0x%016lx; /* %ld or %lff */\n", dest,
+ p->vars[insn->src_args[0]].value.i,
+ p->vars[insn->src_args[0]].value.i,
+ p->vars[insn->src_args[0]].value.f);
} else {
ORC_COMPILER_ERROR(p, "expected param or constant");
}