From: David Schleef Date: Fri, 6 Aug 2010 02:52:52 +0000 (-0700) Subject: c: Fix loadupib code X-Git-Tag: orc-0.4.7~64 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ff31944328306e35f0d74f77357f42ed22475306;p=platform%2Fupstream%2Forc.git c: Fix loadupib code --- diff --git a/orc/orcemulateopcodes.c b/orc/orcemulateopcodes.c index e26c2eb..f4ec60f 100644 --- a/orc/orcemulateopcodes.c +++ b/orc/orcemulateopcodes.c @@ -413,7 +413,7 @@ emulate_loadupib (OrcOpcodeExecutor *ex, int offset, int n) for (i = 0; i < n; i++) { /* 0: loadupib */ - var32 = ((offset + i)&1) ? (ptr4[(offset + i)>>1] + ptr4[((offset + i)>>1)+1] + 1)>>1 : ptr4[(offset + i)>>1]; + var32 = ((offset + i)&1) ? ((orc_uint8)ptr4[(offset + i)>>1] + (orc_uint8)ptr4[((offset + i)>>1)+1] + 1)>>1 : ptr4[(offset + i)>>1]; /* 1: storeb */ ptr0[i] = var32; } diff --git a/orc/orcprogram-c.c b/orc/orcprogram-c.c index 1de40a5..b561ff1 100644 --- a/orc/orcprogram-c.c +++ b/orc/orcprogram-c.c @@ -691,7 +691,7 @@ c_rule_loadupdb (OrcCompiler *p, void *user, OrcInstruction *insn) static void c_rule_loadupib (OrcCompiler *p, void *user, OrcInstruction *insn) { - ORC_ASM_CODE(p," var%d = ((offset + i)&1) ? (ptr%d[(offset + i)>>1] + ptr%d[((offset + i)>>1)+1] + 1)>>1 : ptr%d[(offset + i)>>1];\n", + ORC_ASM_CODE(p," var%d = ((offset + i)&1) ? ((orc_uint8)ptr%d[(offset + i)>>1] + (orc_uint8)ptr%d[((offset + i)>>1)+1] + 1)>>1 : ptr%d[(offset + i)>>1];\n", insn->dest_args[0], insn->src_args[0], insn->src_args[0], insn->src_args[0]); }