From ab1d1f1a198abfd0c41b24abbb80029e853678c1 Mon Sep 17 00:00:00 2001 From: David Schleef Date: Tue, 3 Aug 2010 00:56:33 -0700 Subject: [PATCH] c: cleanup pointer updating --- orc/orcemulateopcodes.c | 422 ++++++++++++++++++++++++------------------------ orc/orcfunctions.c | 4 +- orc/orcprogram-c.c | 15 +- 3 files changed, 215 insertions(+), 226 deletions(-) diff --git a/orc/orcemulateopcodes.c b/orc/orcemulateopcodes.c index b326670..7b020ca 100644 --- a/orc/orcemulateopcodes.c +++ b/orc/orcemulateopcodes.c @@ -56,12 +56,12 @@ emulate_absb (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadb */ var32 = *ptr4; - ptr4++; /* 1: absb */ var33 = ORC_ABS(var32); /* 2: storeb */ *ptr0 = var33; ptr0++; + ptr4++; } } @@ -84,15 +84,15 @@ emulate_addb (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadb */ var32 = *ptr4; - ptr4++; /* 1: loadb */ var33 = *ptr5; - ptr5++; /* 2: addb */ var34 = var32 + var33; /* 3: storeb */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -115,15 +115,15 @@ emulate_addssb (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadb */ var32 = *ptr4; - ptr4++; /* 1: loadb */ var33 = *ptr5; - ptr5++; /* 2: addssb */ var34 = ORC_CLAMP_SB(var32 + var33); /* 3: storeb */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -146,15 +146,15 @@ emulate_addusb (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadb */ var32 = *ptr4; - ptr4++; /* 1: loadb */ var33 = *ptr5; - ptr5++; /* 2: addusb */ var34 = ORC_CLAMP_UB((orc_uint8)var32 + (orc_uint8)var33); /* 3: storeb */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -177,15 +177,15 @@ emulate_andb (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadb */ var32 = *ptr4; - ptr4++; /* 1: loadb */ var33 = *ptr5; - ptr5++; /* 2: andb */ var34 = var32 & var33; /* 3: storeb */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -208,15 +208,15 @@ emulate_andnb (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadb */ var32 = *ptr4; - ptr4++; /* 1: loadb */ var33 = *ptr5; - ptr5++; /* 2: andnb */ var34 = (~var32) & var33; /* 3: storeb */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -239,15 +239,15 @@ emulate_avgsb (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadb */ var32 = *ptr4; - ptr4++; /* 1: loadb */ var33 = *ptr5; - ptr5++; /* 2: avgsb */ var34 = (var32 + var33 + 1)>>1; /* 3: storeb */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -270,15 +270,15 @@ emulate_avgub (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadb */ var32 = *ptr4; - ptr4++; /* 1: loadb */ var33 = *ptr5; - ptr5++; /* 2: avgub */ var34 = ((orc_uint8)var32 + (orc_uint8)var33 + 1)>>1; /* 3: storeb */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -301,15 +301,15 @@ emulate_cmpeqb (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadb */ var32 = *ptr4; - ptr4++; /* 1: loadb */ var33 = *ptr5; - ptr5++; /* 2: cmpeqb */ var34 = (var32 == var33) ? (~0) : 0; /* 3: storeb */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -332,15 +332,15 @@ emulate_cmpgtsb (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadb */ var32 = *ptr4; - ptr4++; /* 1: loadb */ var33 = *ptr5; - ptr5++; /* 2: cmpgtsb */ var34 = (var32 > var33) ? (~0) : 0; /* 3: storeb */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -360,12 +360,12 @@ emulate_copyb (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadb */ var32 = *ptr4; - ptr4++; /* 1: copyb */ var33 = var32; /* 2: storeb */ *ptr0 = var33; ptr0++; + ptr4++; } } @@ -384,10 +384,10 @@ emulate_loadb (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadb */ var32 = *ptr4; - ptr4++; /* 1: storeb */ *ptr0 = var32; ptr0++; + ptr4++; } } @@ -430,15 +430,15 @@ emulate_maxsb (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadb */ var32 = *ptr4; - ptr4++; /* 1: loadb */ var33 = *ptr5; - ptr5++; /* 2: maxsb */ var34 = ORC_MAX(var32, var33); /* 3: storeb */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -461,15 +461,15 @@ emulate_maxub (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadb */ var32 = *ptr4; - ptr4++; /* 1: loadb */ var33 = *ptr5; - ptr5++; /* 2: maxub */ var34 = ORC_MAX((orc_uint8)var32, (orc_uint8)var33); /* 3: storeb */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -492,15 +492,15 @@ emulate_minsb (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadb */ var32 = *ptr4; - ptr4++; /* 1: loadb */ var33 = *ptr5; - ptr5++; /* 2: minsb */ var34 = ORC_MIN(var32, var33); /* 3: storeb */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -523,15 +523,15 @@ emulate_minub (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadb */ var32 = *ptr4; - ptr4++; /* 1: loadb */ var33 = *ptr5; - ptr5++; /* 2: minub */ var34 = ORC_MIN((orc_uint8)var32, (orc_uint8)var33); /* 3: storeb */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -554,15 +554,15 @@ emulate_mullb (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadb */ var32 = *ptr4; - ptr4++; /* 1: loadb */ var33 = *ptr5; - ptr5++; /* 2: mullb */ var34 = (var32 * var33) & 0xff; /* 3: storeb */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -585,15 +585,15 @@ emulate_mulhsb (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadb */ var32 = *ptr4; - ptr4++; /* 1: loadb */ var33 = *ptr5; - ptr5++; /* 2: mulhsb */ var34 = (var32 * var33) >> 8; /* 3: storeb */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -616,15 +616,15 @@ emulate_mulhub (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadb */ var32 = *ptr4; - ptr4++; /* 1: loadb */ var33 = *ptr5; - ptr5++; /* 2: mulhub */ var34 = ((orc_uint32)(orc_uint8)var32 * (orc_uint32)(orc_uint8)var33) >> 8; /* 3: storeb */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -647,15 +647,15 @@ emulate_orb (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadb */ var32 = *ptr4; - ptr4++; /* 1: loadb */ var33 = *ptr5; - ptr5++; /* 2: orb */ var34 = var32 | var33; /* 3: storeb */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -676,12 +676,12 @@ emulate_shlb (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadb */ var32 = *ptr4; - ptr4++; /* 1: shlb */ var33 = var32 << var24; /* 2: storeb */ *ptr0 = var33; ptr0++; + ptr4++; } } @@ -702,12 +702,12 @@ emulate_shrsb (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadb */ var32 = *ptr4; - ptr4++; /* 1: shrsb */ var33 = var32 >> var24; /* 2: storeb */ *ptr0 = var33; ptr0++; + ptr4++; } } @@ -728,12 +728,12 @@ emulate_shrub (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadb */ var32 = *ptr4; - ptr4++; /* 1: shrub */ var33 = ((orc_uint8)var32) >> var24; /* 2: storeb */ *ptr0 = var33; ptr0++; + ptr4++; } } @@ -753,12 +753,12 @@ emulate_signb (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadb */ var32 = *ptr4; - ptr4++; /* 1: signb */ var33 = ORC_CLAMP(var32,-1,1); /* 2: storeb */ *ptr0 = var33; ptr0++; + ptr4++; } } @@ -777,10 +777,10 @@ emulate_storeb (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadb */ var32 = *ptr4; - ptr4++; /* 1: storeb */ *ptr0 = var32; ptr0++; + ptr4++; } } @@ -803,15 +803,15 @@ emulate_subb (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadb */ var32 = *ptr4; - ptr4++; /* 1: loadb */ var33 = *ptr5; - ptr5++; /* 2: subb */ var34 = var32 - var33; /* 3: storeb */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -834,15 +834,15 @@ emulate_subssb (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadb */ var32 = *ptr4; - ptr4++; /* 1: loadb */ var33 = *ptr5; - ptr5++; /* 2: subssb */ var34 = ORC_CLAMP_SB(var32 - var33); /* 3: storeb */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -865,15 +865,15 @@ emulate_subusb (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadb */ var32 = *ptr4; - ptr4++; /* 1: loadb */ var33 = *ptr5; - ptr5++; /* 2: subusb */ var34 = ORC_CLAMP_UB((orc_uint8)var32 - (orc_uint8)var33); /* 3: storeb */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -896,15 +896,15 @@ emulate_xorb (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadb */ var32 = *ptr4; - ptr4++; /* 1: loadb */ var33 = *ptr5; - ptr5++; /* 2: xorb */ var34 = var32 ^ var33; /* 3: storeb */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -924,12 +924,12 @@ emulate_absw (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadw */ var32 = *ptr4; - ptr4++; /* 1: absw */ var33 = ORC_ABS(var32); /* 2: storew */ *ptr0 = var33; ptr0++; + ptr4++; } } @@ -952,15 +952,15 @@ emulate_addw (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadw */ var32 = *ptr4; - ptr4++; /* 1: loadw */ var33 = *ptr5; - ptr5++; /* 2: addw */ var34 = var32 + var33; /* 3: storew */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -983,15 +983,15 @@ emulate_addssw (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadw */ var32 = *ptr4; - ptr4++; /* 1: loadw */ var33 = *ptr5; - ptr5++; /* 2: addssw */ var34 = ORC_CLAMP_SW(var32 + var33); /* 3: storew */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -1014,15 +1014,15 @@ emulate_addusw (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadw */ var32 = *ptr4; - ptr4++; /* 1: loadw */ var33 = *ptr5; - ptr5++; /* 2: addusw */ var34 = ORC_CLAMP_UW((orc_uint16)var32 + (orc_uint16)var33); /* 3: storew */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -1045,15 +1045,15 @@ emulate_andw (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadw */ var32 = *ptr4; - ptr4++; /* 1: loadw */ var33 = *ptr5; - ptr5++; /* 2: andw */ var34 = var32 & var33; /* 3: storew */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -1076,15 +1076,15 @@ emulate_andnw (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadw */ var32 = *ptr4; - ptr4++; /* 1: loadw */ var33 = *ptr5; - ptr5++; /* 2: andnw */ var34 = (~var32) & var33; /* 3: storew */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -1107,15 +1107,15 @@ emulate_avgsw (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadw */ var32 = *ptr4; - ptr4++; /* 1: loadw */ var33 = *ptr5; - ptr5++; /* 2: avgsw */ var34 = (var32 + var33 + 1)>>1; /* 3: storew */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -1138,15 +1138,15 @@ emulate_avguw (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadw */ var32 = *ptr4; - ptr4++; /* 1: loadw */ var33 = *ptr5; - ptr5++; /* 2: avguw */ var34 = ((orc_uint16)var32 + (orc_uint16)var33 + 1)>>1; /* 3: storew */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -1169,15 +1169,15 @@ emulate_cmpeqw (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadw */ var32 = *ptr4; - ptr4++; /* 1: loadw */ var33 = *ptr5; - ptr5++; /* 2: cmpeqw */ var34 = (var32 == var33) ? (~0) : 0; /* 3: storew */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -1200,15 +1200,15 @@ emulate_cmpgtsw (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadw */ var32 = *ptr4; - ptr4++; /* 1: loadw */ var33 = *ptr5; - ptr5++; /* 2: cmpgtsw */ var34 = (var32 > var33) ? (~0) : 0; /* 3: storew */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -1228,12 +1228,12 @@ emulate_copyw (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadw */ var32 = *ptr4; - ptr4++; /* 1: copyw */ var33 = var32; /* 2: storew */ *ptr0 = var33; ptr0++; + ptr4++; } } @@ -1252,10 +1252,10 @@ emulate_loadw (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadw */ var32 = *ptr4; - ptr4++; /* 1: storew */ *ptr0 = var32; ptr0++; + ptr4++; } } @@ -1298,15 +1298,15 @@ emulate_maxsw (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadw */ var32 = *ptr4; - ptr4++; /* 1: loadw */ var33 = *ptr5; - ptr5++; /* 2: maxsw */ var34 = ORC_MAX(var32, var33); /* 3: storew */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -1329,15 +1329,15 @@ emulate_maxuw (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadw */ var32 = *ptr4; - ptr4++; /* 1: loadw */ var33 = *ptr5; - ptr5++; /* 2: maxuw */ var34 = ORC_MAX((orc_uint16)var32, (orc_uint16)var33); /* 3: storew */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -1360,15 +1360,15 @@ emulate_minsw (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadw */ var32 = *ptr4; - ptr4++; /* 1: loadw */ var33 = *ptr5; - ptr5++; /* 2: minsw */ var34 = ORC_MIN(var32, var33); /* 3: storew */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -1391,15 +1391,15 @@ emulate_minuw (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadw */ var32 = *ptr4; - ptr4++; /* 1: loadw */ var33 = *ptr5; - ptr5++; /* 2: minuw */ var34 = ORC_MIN((orc_uint16)var32, (orc_uint16)var33); /* 3: storew */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -1422,15 +1422,15 @@ emulate_mullw (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadw */ var32 = *ptr4; - ptr4++; /* 1: loadw */ var33 = *ptr5; - ptr5++; /* 2: mullw */ var34 = (var32 * var33) & 0xffff; /* 3: storew */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -1453,15 +1453,15 @@ emulate_mulhsw (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadw */ var32 = *ptr4; - ptr4++; /* 1: loadw */ var33 = *ptr5; - ptr5++; /* 2: mulhsw */ var34 = (var32 * var33) >> 16; /* 3: storew */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -1484,15 +1484,15 @@ emulate_mulhuw (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadw */ var32 = *ptr4; - ptr4++; /* 1: loadw */ var33 = *ptr5; - ptr5++; /* 2: mulhuw */ var34 = ((orc_uint32)((orc_uint16)var32) * (orc_uint32)((orc_uint16)var33)) >> 16; /* 3: storew */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -1515,15 +1515,15 @@ emulate_orw (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadw */ var32 = *ptr4; - ptr4++; /* 1: loadw */ var33 = *ptr5; - ptr5++; /* 2: orw */ var34 = var32 | var33; /* 3: storew */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -1544,12 +1544,12 @@ emulate_shlw (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadw */ var32 = *ptr4; - ptr4++; /* 1: shlw */ var33 = var32 << var24; /* 2: storew */ *ptr0 = var33; ptr0++; + ptr4++; } } @@ -1570,12 +1570,12 @@ emulate_shrsw (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadw */ var32 = *ptr4; - ptr4++; /* 1: shrsw */ var33 = var32 >> var24; /* 2: storew */ *ptr0 = var33; ptr0++; + ptr4++; } } @@ -1596,12 +1596,12 @@ emulate_shruw (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadw */ var32 = *ptr4; - ptr4++; /* 1: shruw */ var33 = ((orc_uint16)var32) >> var24; /* 2: storew */ *ptr0 = var33; ptr0++; + ptr4++; } } @@ -1621,12 +1621,12 @@ emulate_signw (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadw */ var32 = *ptr4; - ptr4++; /* 1: signw */ var33 = ORC_CLAMP(var32,-1,1); /* 2: storew */ *ptr0 = var33; ptr0++; + ptr4++; } } @@ -1645,10 +1645,10 @@ emulate_storew (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadw */ var32 = *ptr4; - ptr4++; /* 1: storew */ *ptr0 = var32; ptr0++; + ptr4++; } } @@ -1671,15 +1671,15 @@ emulate_subw (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadw */ var32 = *ptr4; - ptr4++; /* 1: loadw */ var33 = *ptr5; - ptr5++; /* 2: subw */ var34 = var32 - var33; /* 3: storew */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -1702,15 +1702,15 @@ emulate_subssw (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadw */ var32 = *ptr4; - ptr4++; /* 1: loadw */ var33 = *ptr5; - ptr5++; /* 2: subssw */ var34 = ORC_CLAMP_SW(var32 - var33); /* 3: storew */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -1733,15 +1733,15 @@ emulate_subusw (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadw */ var32 = *ptr4; - ptr4++; /* 1: loadw */ var33 = *ptr5; - ptr5++; /* 2: subusw */ var34 = ORC_CLAMP_UW((orc_uint16)var32 - (orc_uint16)var33); /* 3: storew */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -1764,15 +1764,15 @@ emulate_xorw (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadw */ var32 = *ptr4; - ptr4++; /* 1: loadw */ var33 = *ptr5; - ptr5++; /* 2: xorw */ var34 = var32 ^ var33; /* 3: storew */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -1792,12 +1792,12 @@ emulate_absl (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadl */ var32 = *ptr4; - ptr4++; /* 1: absl */ var33.i = ORC_ABS(var32.i); /* 2: storel */ *ptr0 = var33; ptr0++; + ptr4++; } } @@ -1820,15 +1820,15 @@ emulate_addl (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadl */ var32 = *ptr4; - ptr4++; /* 1: loadl */ var33 = *ptr5; - ptr5++; /* 2: addl */ var34.i = var32.i + var33.i; /* 3: storel */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -1851,15 +1851,15 @@ emulate_addssl (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadl */ var32 = *ptr4; - ptr4++; /* 1: loadl */ var33 = *ptr5; - ptr5++; /* 2: addssl */ var34.i = ORC_CLAMP_SL((orc_int64)var32.i + (orc_int64)var33.i); /* 3: storel */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -1882,15 +1882,15 @@ emulate_addusl (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadl */ var32 = *ptr4; - ptr4++; /* 1: loadl */ var33 = *ptr5; - ptr5++; /* 2: addusl */ var34.i = ORC_CLAMP_UL((orc_int64)(orc_uint32)var32.i + (orc_int64)(orc_uint32)var33.i); /* 3: storel */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -1913,15 +1913,15 @@ emulate_andl (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadl */ var32 = *ptr4; - ptr4++; /* 1: loadl */ var33 = *ptr5; - ptr5++; /* 2: andl */ var34.i = var32.i & var33.i; /* 3: storel */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -1944,15 +1944,15 @@ emulate_andnl (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadl */ var32 = *ptr4; - ptr4++; /* 1: loadl */ var33 = *ptr5; - ptr5++; /* 2: andnl */ var34.i = (~var32.i) & var33.i; /* 3: storel */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -1975,15 +1975,15 @@ emulate_avgsl (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadl */ var32 = *ptr4; - ptr4++; /* 1: loadl */ var33 = *ptr5; - ptr5++; /* 2: avgsl */ var34.i = ((orc_int64)var32.i + (orc_int64)var33.i + 1)>>1; /* 3: storel */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -2006,15 +2006,15 @@ emulate_avgul (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadl */ var32 = *ptr4; - ptr4++; /* 1: loadl */ var33 = *ptr5; - ptr5++; /* 2: avgul */ var34.i = ((orc_uint64)(orc_uint32)var32.i + (orc_uint64)(orc_uint32)var33.i + 1)>>1; /* 3: storel */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -2037,15 +2037,15 @@ emulate_cmpeql (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadl */ var32 = *ptr4; - ptr4++; /* 1: loadl */ var33 = *ptr5; - ptr5++; /* 2: cmpeql */ var34.i = (var32.i == var33.i) ? (~0) : 0; /* 3: storel */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -2068,15 +2068,15 @@ emulate_cmpgtsl (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadl */ var32 = *ptr4; - ptr4++; /* 1: loadl */ var33 = *ptr5; - ptr5++; /* 2: cmpgtsl */ var34.i = (var32.i > var33.i) ? (~0) : 0; /* 3: storel */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -2096,12 +2096,12 @@ emulate_copyl (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadl */ var32 = *ptr4; - ptr4++; /* 1: copyl */ var33.i = var32.i; /* 2: storel */ *ptr0 = var33; ptr0++; + ptr4++; } } @@ -2120,10 +2120,10 @@ emulate_loadl (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadl */ var32 = *ptr4; - ptr4++; /* 1: storel */ *ptr0 = var32; ptr0++; + ptr4++; } } @@ -2166,15 +2166,15 @@ emulate_maxsl (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadl */ var32 = *ptr4; - ptr4++; /* 1: loadl */ var33 = *ptr5; - ptr5++; /* 2: maxsl */ var34.i = ORC_MAX(var32.i, var33.i); /* 3: storel */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -2197,15 +2197,15 @@ emulate_maxul (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadl */ var32 = *ptr4; - ptr4++; /* 1: loadl */ var33 = *ptr5; - ptr5++; /* 2: maxul */ var34.i = ORC_MAX((orc_uint32)var32.i, (orc_uint32)var33.i); /* 3: storel */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -2228,15 +2228,15 @@ emulate_minsl (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadl */ var32 = *ptr4; - ptr4++; /* 1: loadl */ var33 = *ptr5; - ptr5++; /* 2: minsl */ var34.i = ORC_MIN(var32.i, var33.i); /* 3: storel */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -2259,15 +2259,15 @@ emulate_minul (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadl */ var32 = *ptr4; - ptr4++; /* 1: loadl */ var33 = *ptr5; - ptr5++; /* 2: minul */ var34.i = ORC_MIN((orc_uint32)var32.i, (orc_uint32)var33.i); /* 3: storel */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -2290,15 +2290,15 @@ emulate_mulll (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadl */ var32 = *ptr4; - ptr4++; /* 1: loadl */ var33 = *ptr5; - ptr5++; /* 2: mulll */ var34.i = (var32.i * var33.i) & 0xffffffff; /* 3: storel */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -2321,15 +2321,15 @@ emulate_mulhsl (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadl */ var32 = *ptr4; - ptr4++; /* 1: loadl */ var33 = *ptr5; - ptr5++; /* 2: mulhsl */ var34.i = ((orc_int64)var32.i * (orc_int64)var33.i) >> 32; /* 3: storel */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -2352,15 +2352,15 @@ emulate_mulhul (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadl */ var32 = *ptr4; - ptr4++; /* 1: loadl */ var33 = *ptr5; - ptr5++; /* 2: mulhul */ var34.i = ((orc_uint64)(orc_uint32)var32.i * (orc_uint64)(orc_uint32)var33.i) >> 32; /* 3: storel */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -2383,15 +2383,15 @@ emulate_orl (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadl */ var32 = *ptr4; - ptr4++; /* 1: loadl */ var33 = *ptr5; - ptr5++; /* 2: orl */ var34.i = var32.i | var33.i; /* 3: storel */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -2412,12 +2412,12 @@ emulate_shll (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadl */ var32 = *ptr4; - ptr4++; /* 1: shll */ var33.i = var32.i << var24; /* 2: storel */ *ptr0 = var33; ptr0++; + ptr4++; } } @@ -2438,12 +2438,12 @@ emulate_shrsl (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadl */ var32 = *ptr4; - ptr4++; /* 1: shrsl */ var33.i = var32.i >> var24; /* 2: storel */ *ptr0 = var33; ptr0++; + ptr4++; } } @@ -2464,12 +2464,12 @@ emulate_shrul (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadl */ var32 = *ptr4; - ptr4++; /* 1: shrul */ var33.i = ((orc_uint32)var32.i) >> var24; /* 2: storel */ *ptr0 = var33; ptr0++; + ptr4++; } } @@ -2489,12 +2489,12 @@ emulate_signl (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadl */ var32 = *ptr4; - ptr4++; /* 1: signl */ var33.i = ORC_CLAMP(var32.i,-1,1); /* 2: storel */ *ptr0 = var33; ptr0++; + ptr4++; } } @@ -2513,10 +2513,10 @@ emulate_storel (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadl */ var32 = *ptr4; - ptr4++; /* 1: storel */ *ptr0 = var32; ptr0++; + ptr4++; } } @@ -2539,15 +2539,15 @@ emulate_subl (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadl */ var32 = *ptr4; - ptr4++; /* 1: loadl */ var33 = *ptr5; - ptr5++; /* 2: subl */ var34.i = var32.i - var33.i; /* 3: storel */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -2570,15 +2570,15 @@ emulate_subssl (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadl */ var32 = *ptr4; - ptr4++; /* 1: loadl */ var33 = *ptr5; - ptr5++; /* 2: subssl */ var34.i = ORC_CLAMP_SL((orc_int64)var32.i - (orc_int64)var33.i); /* 3: storel */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -2601,15 +2601,15 @@ emulate_subusl (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadl */ var32 = *ptr4; - ptr4++; /* 1: loadl */ var33 = *ptr5; - ptr5++; /* 2: subusl */ var34.i = ORC_CLAMP_UL((orc_int64)(orc_uint32)var32.i - (orc_int64)(orc_uint32)var33.i); /* 3: storel */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -2632,15 +2632,15 @@ emulate_xorl (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadl */ var32 = *ptr4; - ptr4++; /* 1: loadl */ var33 = *ptr5; - ptr5++; /* 2: xorl */ var34.i = var32.i ^ var33.i; /* 3: storel */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -2660,12 +2660,12 @@ emulate_convsbw (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadb */ var32 = *ptr4; - ptr4++; /* 1: convsbw */ var33 = var32; /* 2: storew */ *ptr0 = var33; ptr0++; + ptr4++; } } @@ -2685,12 +2685,12 @@ emulate_convubw (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadb */ var32 = *ptr4; - ptr4++; /* 1: convubw */ var33 = (orc_uint8)var32; /* 2: storew */ *ptr0 = var33; ptr0++; + ptr4++; } } @@ -2710,12 +2710,12 @@ emulate_convswl (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadw */ var32 = *ptr4; - ptr4++; /* 1: convswl */ var33.i = var32; /* 2: storel */ *ptr0 = var33; ptr0++; + ptr4++; } } @@ -2735,12 +2735,12 @@ emulate_convuwl (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadw */ var32 = *ptr4; - ptr4++; /* 1: convuwl */ var33.i = (orc_uint16)var32; /* 2: storel */ *ptr0 = var33; ptr0++; + ptr4++; } } @@ -2760,12 +2760,12 @@ emulate_convwb (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadw */ var32 = *ptr4; - ptr4++; /* 1: convwb */ var33 = var32; /* 2: storeb */ *ptr0 = var33; ptr0++; + ptr4++; } } @@ -2785,12 +2785,12 @@ emulate_convssswb (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadw */ var32 = *ptr4; - ptr4++; /* 1: convssswb */ var33 = ORC_CLAMP_SB(var32); /* 2: storeb */ *ptr0 = var33; ptr0++; + ptr4++; } } @@ -2810,12 +2810,12 @@ emulate_convsuswb (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadw */ var32 = *ptr4; - ptr4++; /* 1: convsuswb */ var33 = ORC_CLAMP_UB(var32); /* 2: storeb */ *ptr0 = var33; ptr0++; + ptr4++; } } @@ -2835,12 +2835,12 @@ emulate_convusswb (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadw */ var32 = *ptr4; - ptr4++; /* 1: convusswb */ var33 = ORC_CLAMP_SB((orc_uint16)var32); /* 2: storeb */ *ptr0 = var33; ptr0++; + ptr4++; } } @@ -2860,12 +2860,12 @@ emulate_convuuswb (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadw */ var32 = *ptr4; - ptr4++; /* 1: convuuswb */ var33 = ORC_CLAMP_UB((orc_uint16)var32); /* 2: storeb */ *ptr0 = var33; ptr0++; + ptr4++; } } @@ -2885,12 +2885,12 @@ emulate_convlw (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadl */ var32 = *ptr4; - ptr4++; /* 1: convlw */ var33 = var32.i; /* 2: storew */ *ptr0 = var33; ptr0++; + ptr4++; } } @@ -2910,12 +2910,12 @@ emulate_convssslw (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadl */ var32 = *ptr4; - ptr4++; /* 1: convssslw */ var33 = ORC_CLAMP_SW(var32.i); /* 2: storew */ *ptr0 = var33; ptr0++; + ptr4++; } } @@ -2935,12 +2935,12 @@ emulate_convsuslw (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadl */ var32 = *ptr4; - ptr4++; /* 1: convsuslw */ var33 = ORC_CLAMP_UW(var32.i); /* 2: storew */ *ptr0 = var33; ptr0++; + ptr4++; } } @@ -2960,12 +2960,12 @@ emulate_convusslw (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadl */ var32 = *ptr4; - ptr4++; /* 1: convusslw */ var33 = ORC_CLAMP_SW((orc_uint32)var32.i); /* 2: storew */ *ptr0 = var33; ptr0++; + ptr4++; } } @@ -2985,12 +2985,12 @@ emulate_convuuslw (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadl */ var32 = *ptr4; - ptr4++; /* 1: convuuslw */ var33 = ORC_CLAMP_UW((orc_uint32)var32.i); /* 2: storew */ *ptr0 = var33; ptr0++; + ptr4++; } } @@ -3013,15 +3013,15 @@ emulate_mulsbw (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadb */ var32 = *ptr4; - ptr4++; /* 1: loadb */ var33 = *ptr5; - ptr5++; /* 2: mulsbw */ var34 = var32 * var33; /* 3: storew */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -3044,15 +3044,15 @@ emulate_mulubw (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadb */ var32 = *ptr4; - ptr4++; /* 1: loadb */ var33 = *ptr5; - ptr5++; /* 2: mulubw */ var34 = (orc_uint8)var32 * (orc_uint8)var33; /* 3: storew */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -3075,15 +3075,15 @@ emulate_mulswl (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadw */ var32 = *ptr4; - ptr4++; /* 1: loadw */ var33 = *ptr5; - ptr5++; /* 2: mulswl */ var34.i = var32 * var33; /* 3: storel */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -3106,15 +3106,15 @@ emulate_muluwl (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadw */ var32 = *ptr4; - ptr4++; /* 1: loadw */ var33 = *ptr5; - ptr5++; /* 2: muluwl */ var34.i = (orc_uint16)var32 * (orc_uint16)var33; /* 3: storel */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -3132,9 +3132,9 @@ emulate_accw (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadw */ var32 = *ptr4; - ptr4++; /* 1: accw */ var12 = var12 + var32; + ptr4++; } ((orc_union32 *)ex->dest_ptrs[0])->i = (var12 + ((orc_union32 *)ex->dest_ptrs[0])->i) & 0xffff; @@ -3153,9 +3153,9 @@ emulate_accl (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadl */ var32 = *ptr4; - ptr4++; /* 1: accl */ var12.i = var12.i + var32.i; + ptr4++; } ((orc_union32 *)ex->dest_ptrs[0])->i += var12.i; @@ -3177,12 +3177,12 @@ emulate_accsadubl (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadb */ var32 = *ptr4; - ptr4++; /* 1: loadb */ var33 = *ptr5; - ptr5++; /* 2: accsadubl */ var12.i = var12.i + ORC_ABS((orc_int32)(orc_uint8)var32 - (orc_int32)(orc_uint8)var33); + ptr4++; + ptr5++; } ((orc_union32 *)ex->dest_ptrs[0])->i += var12.i; @@ -3203,12 +3203,12 @@ emulate_swapw (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadw */ var32 = *ptr4; - ptr4++; /* 1: swapw */ var33 = ORC_SWAP_W(var32); /* 2: storew */ *ptr0 = var33; ptr0++; + ptr4++; } } @@ -3228,12 +3228,12 @@ emulate_swapl (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadl */ var32 = *ptr4; - ptr4++; /* 1: swapl */ var33.i = ORC_SWAP_L(var32.i); /* 2: storel */ *ptr0 = var33; ptr0++; + ptr4++; } } @@ -3253,12 +3253,12 @@ emulate_select0wb (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadw */ var32 = *ptr4; - ptr4++; /* 1: select0wb */ var33 = (orc_uint16)var32 & 0xff; /* 2: storeb */ *ptr0 = var33; ptr0++; + ptr4++; } } @@ -3278,12 +3278,12 @@ emulate_select1wb (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadw */ var32 = *ptr4; - ptr4++; /* 1: select1wb */ var33 = ((orc_uint16)var32 >> 8)&0xff; /* 2: storeb */ *ptr0 = var33; ptr0++; + ptr4++; } } @@ -3303,12 +3303,12 @@ emulate_select0lw (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadl */ var32 = *ptr4; - ptr4++; /* 1: select0lw */ var33 = (orc_uint32)var32.i & 0xffff; /* 2: storew */ *ptr0 = var33; ptr0++; + ptr4++; } } @@ -3328,12 +3328,12 @@ emulate_select1lw (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadl */ var32 = *ptr4; - ptr4++; /* 1: select1lw */ var33 = ((orc_uint32)var32.i >> 16)&0xffff; /* 2: storew */ *ptr0 = var33; ptr0++; + ptr4++; } } @@ -3356,15 +3356,15 @@ emulate_mergewl (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadw */ var32 = *ptr4; - ptr4++; /* 1: loadw */ var33 = *ptr5; - ptr5++; /* 2: mergewl */ var34.i = ((orc_uint16)var32) | ((orc_uint16)var33 << 16); /* 3: storel */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -3387,15 +3387,15 @@ emulate_mergebw (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadb */ var32 = *ptr4; - ptr4++; /* 1: loadb */ var33 = *ptr5; - ptr5++; /* 2: mergebw */ var34 = ((orc_uint8)var32) | ((orc_uint8)var33 << 8); /* 3: storew */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -3418,16 +3418,16 @@ emulate_splitlw (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadl */ var32 = *ptr4; - ptr4++; /* 1: splitlw */ var33 = (var32.i >> 16) & 0xffff; var34 = var32.i & 0xffff; /* 2: storew */ *ptr0 = var33; - ptr0++; /* 3: storew */ *ptr1 = var34; + ptr0++; ptr1++; + ptr4++; } } @@ -3450,16 +3450,16 @@ emulate_splitwb (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadw */ var32 = *ptr4; - ptr4++; /* 1: splitwb */ var33 = (var32 >> 8) & 0xff; var34 = var32 & 0xff; /* 2: storeb */ *ptr0 = var33; - ptr0++; /* 3: storeb */ *ptr1 = var34; + ptr0++; ptr1++; + ptr4++; } } @@ -3482,15 +3482,15 @@ emulate_addf (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadl */ var32 = *ptr4; - ptr4++; /* 1: loadl */ var33 = *ptr5; - ptr5++; /* 2: addf */ var34.f = ORC_DENORMAL(ORC_DENORMAL(var32.f) + ORC_DENORMAL(var33.f)); /* 3: storel */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -3513,15 +3513,15 @@ emulate_subf (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadl */ var32 = *ptr4; - ptr4++; /* 1: loadl */ var33 = *ptr5; - ptr5++; /* 2: subf */ var34.f = ORC_DENORMAL(ORC_DENORMAL(var32.f) - ORC_DENORMAL(var33.f)); /* 3: storel */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -3544,15 +3544,15 @@ emulate_mulf (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadl */ var32 = *ptr4; - ptr4++; /* 1: loadl */ var33 = *ptr5; - ptr5++; /* 2: mulf */ var34.f = ORC_DENORMAL(ORC_DENORMAL(var32.f) * ORC_DENORMAL(var33.f)); /* 3: storel */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -3575,15 +3575,15 @@ emulate_divf (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadl */ var32 = *ptr4; - ptr4++; /* 1: loadl */ var33 = *ptr5; - ptr5++; /* 2: divf */ var34.f = ORC_DENORMAL(ORC_DENORMAL(var32.f) / ORC_DENORMAL(var33.f)); /* 3: storel */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -3603,12 +3603,12 @@ emulate_sqrtf (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadl */ var32 = *ptr4; - ptr4++; /* 1: sqrtf */ var33.f = sqrt(ORC_DENORMAL(var32.f)); /* 2: storel */ *ptr0 = var33; ptr0++; + ptr4++; } } @@ -3631,15 +3631,15 @@ emulate_maxf (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadl */ var32 = *ptr4; - ptr4++; /* 1: loadl */ var33 = *ptr5; - ptr5++; /* 2: maxf */ var34.f = ORC_MAXF(ORC_DENORMAL(var32.f),ORC_DENORMAL(var33.f)); /* 3: storel */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -3662,15 +3662,15 @@ emulate_minf (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadl */ var32 = *ptr4; - ptr4++; /* 1: loadl */ var33 = *ptr5; - ptr5++; /* 2: minf */ var34.f = ORC_MINF(ORC_DENORMAL(var32.f),ORC_DENORMAL(var33.f)); /* 3: storel */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -3693,15 +3693,15 @@ emulate_cmpeqf (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadl */ var32 = *ptr4; - ptr4++; /* 1: loadl */ var33 = *ptr5; - ptr5++; /* 2: cmpeqf */ var34.i = (ORC_DENORMAL(var32.f) == ORC_DENORMAL(var33.f)) ? (~0) : 0; /* 3: storel */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -3724,15 +3724,15 @@ emulate_cmpltf (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadl */ var32 = *ptr4; - ptr4++; /* 1: loadl */ var33 = *ptr5; - ptr5++; /* 2: cmpltf */ var34.i = (ORC_DENORMAL(var32.f) < ORC_DENORMAL(var33.f)) ? (~0) : 0; /* 3: storel */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -3755,15 +3755,15 @@ emulate_cmplef (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadl */ var32 = *ptr4; - ptr4++; /* 1: loadl */ var33 = *ptr5; - ptr5++; /* 2: cmplef */ var34.i = (ORC_DENORMAL(var32.f) <= ORC_DENORMAL(var33.f)) ? (~0) : 0; /* 3: storel */ *ptr0 = var34; ptr0++; + ptr4++; + ptr5++; } } @@ -3783,12 +3783,12 @@ emulate_convfl (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadl */ var32 = *ptr4; - ptr4++; /* 1: convfl */ var33.i = (int)var32.f; /* 2: storel */ *ptr0 = var33; ptr0++; + ptr4++; } } @@ -3808,12 +3808,12 @@ emulate_convlf (OrcOpcodeExecutor *ex, int n) for (i = 0; i < n; i++) { /* 0: loadl */ var32 = *ptr4; - ptr4++; /* 1: convlf */ var33.f = var32.i; /* 2: storel */ *ptr0 = var33; ptr0++; + ptr4++; } } diff --git a/orc/orcfunctions.c b/orc/orcfunctions.c index 1c183e7..4332def 100644 --- a/orc/orcfunctions.c +++ b/orc/orcfunctions.c @@ -103,12 +103,12 @@ orc_memcpy (void * d1, const void * s1, int n){ for (i = 0; i < n; i++) { /* 0: loadb */ var32 = *ptr4; - ptr4++; /* 1: copyb */ var33 = var32; /* 2: storeb */ *ptr0 = var33; ptr0++; + ptr4++; } } @@ -130,12 +130,12 @@ _backup_orc_memcpy (OrcExecutor *ex) for (i = 0; i < n; i++) { /* 0: loadb */ var32 = *ptr4; - ptr4++; /* 1: copyb */ var33 = var32; /* 2: storeb */ *ptr0 = var33; ptr0++; + ptr4++; } } diff --git a/orc/orcprogram-c.c b/orc/orcprogram-c.c index dc679b0..530ee09 100644 --- a/orc/orcprogram-c.c +++ b/orc/orcprogram-c.c @@ -226,14 +226,12 @@ orc_compiler_c_assemble (OrcCompiler *compiler) ORC_ASM_CODE(compiler," %s var%d;\n", c_get_type_name(var->size), i); break; case ORC_VAR_TYPE_SRC: - //ORC_ASM_CODE(compiler," %s var%d;\n", c_get_type_name(var->size), i); ORC_ASM_CODE(compiler," const %s *%s ptr%d;\n", c_get_type_name (var->size), (compiler->target_flags & ORC_TARGET_C_C99) ? "restrict " : "", i); break; case ORC_VAR_TYPE_DEST: - //ORC_ASM_CODE(compiler," %s var%d;\n", c_get_type_name(var->size), i); ORC_ASM_CODE(compiler," %s *%s ptr%d;\n", c_get_type_name (var->size), (compiler->target_flags & ORC_TARGET_C_C99) ? "restrict " : "", @@ -371,19 +369,14 @@ orc_compiler_c_assemble (OrcCompiler *compiler) compiler->error = TRUE; } } -#if 0 - /* Store to destination arrays */ + /* update pointers */ for(i=0;ivars + i; - char s[20]; if (var->name == NULL) continue; - c_get_name(s, compiler, i); - if (var->vartype == ORC_VAR_TYPE_DEST) { - ORC_ASM_CODE (compiler, "%*s *ptr%d = %s;\n", prefix, "", i, s); + if (var->vartype == ORC_VAR_TYPE_DEST || var->vartype == ORC_VAR_TYPE_SRC) { ORC_ASM_CODE (compiler, "%*s ptr%d++;\n", prefix, "", i); } } -#endif ORC_ASM_CODE(compiler,"%*s }\n", prefix, ""); if (compiler->program->is_2d) { ORC_ASM_CODE(compiler," }\n"); @@ -665,9 +658,6 @@ c_rule_loadX (OrcCompiler *p, void *user, OrcInstruction *insn) { ORC_ASM_CODE(p," var%d = *ptr%d;\n", insn->dest_args[0], insn->src_args[0]); - if (p->vars[insn->src_args[0]].vartype != ORC_VAR_TYPE_DEST) { - ORC_ASM_CODE(p," ptr%d++;\n", insn->src_args[0]); - } } static void @@ -675,7 +665,6 @@ c_rule_storeX (OrcCompiler *p, void *user, OrcInstruction *insn) { ORC_ASM_CODE(p," *ptr%d = var%d;\n", insn->dest_args[0], insn->src_args[0]); - ORC_ASM_CODE(p," ptr%d++;\n", insn->dest_args[0]); } static void -- 2.7.4