/orc/orcemulateopcodes.c
C | 5373 lines | 3733 code | 976 blank | 664 comment | 233 complexity | d23d91d76d868703577aa8aacaa2e9f6 MD5 | raw file
Possible License(s): BSD-3-Clause
Large files files are truncated, but you can click here to view the full file
- /* autogenerated by generate-emulation */
- #ifdef HAVE_CONFIG_H
- #include "config.h"
- #endif
- #include <math.h>
- #include <orc/orc.h>
- /* begin Orc C target preamble */
- #define ORC_CLAMP(x,a,b) ((x)<(a) ? (a) : ((x)>(b) ? (b) : (x)))
- #define ORC_ABS(a) ((a)<0 ? -(a) : (a))
- #define ORC_MIN(a,b) ((a)<(b) ? (a) : (b))
- #define ORC_MAX(a,b) ((a)>(b) ? (a) : (b))
- #define ORC_SB_MAX 127
- #define ORC_SB_MIN (-1-ORC_SB_MAX)
- #define ORC_UB_MAX 255
- #define ORC_UB_MIN 0
- #define ORC_SW_MAX 32767
- #define ORC_SW_MIN (-1-ORC_SW_MAX)
- #define ORC_UW_MAX 65535
- #define ORC_UW_MIN 0
- #define ORC_SL_MAX 2147483647
- #define ORC_SL_MIN (-1-ORC_SL_MAX)
- #define ORC_UL_MAX 4294967295U
- #define ORC_UL_MIN 0
- #define ORC_CLAMP_SB(x) ORC_CLAMP(x,ORC_SB_MIN,ORC_SB_MAX)
- #define ORC_CLAMP_UB(x) ORC_CLAMP(x,ORC_UB_MIN,ORC_UB_MAX)
- #define ORC_CLAMP_SW(x) ORC_CLAMP(x,ORC_SW_MIN,ORC_SW_MAX)
- #define ORC_CLAMP_UW(x) ORC_CLAMP(x,ORC_UW_MIN,ORC_UW_MAX)
- #define ORC_CLAMP_SL(x) ORC_CLAMP(x,ORC_SL_MIN,ORC_SL_MAX)
- #define ORC_CLAMP_UL(x) ORC_CLAMP(x,ORC_UL_MIN,ORC_UL_MAX)
- #define ORC_SWAP_W(x) ((((x)&0xff)<<8) | (((x)&0xff00)>>8))
- #define ORC_SWAP_L(x) ((((x)&0xff)<<24) | (((x)&0xff00)<<8) | (((x)&0xff0000)>>8) | (((x)&0xff000000)>>24))
- #define ORC_SWAP_Q(x) ((((x)&ORC_UINT64_C(0xff))<<56) | (((x)&ORC_UINT64_C(0xff00))<<40) | (((x)&ORC_UINT64_C(0xff0000))<<24) | (((x)&ORC_UINT64_C(0xff000000))<<8) | (((x)&ORC_UINT64_C(0xff00000000))>>8) | (((x)&ORC_UINT64_C(0xff0000000000))>>24) | (((x)&ORC_UINT64_C(0xff000000000000))>>40) | (((x)&ORC_UINT64_C(0xff00000000000000))>>56))
- #define ORC_PTR_OFFSET(ptr,offset) ((void *)(((unsigned char *)(ptr)) + (offset)))
- #define ORC_DENORMAL(x) ((x) & ((((x)&0x7f800000) == 0) ? 0xff800000 : 0xffffffff))
- #define ORC_ISNAN(x) ((((x)&0x7f800000) == 0x7f800000) && (((x)&0x007fffff) != 0))
- #define ORC_DENORMAL_DOUBLE(x) ((x) & ((((x)&ORC_UINT64_C(0x7ff0000000000000)) == 0) ? ORC_UINT64_C(0xfff0000000000000) : ORC_UINT64_C(0xffffffffffffffff)))
- #define ORC_ISNAN_DOUBLE(x) ((((x)&ORC_UINT64_C(0x7ff0000000000000)) == ORC_UINT64_C(0x7ff0000000000000)) && (((x)&ORC_UINT64_C(0x000fffffffffffff)) != 0))
- #ifndef ORC_RESTRICT
- #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
- #define ORC_RESTRICT restrict
- #elif defined(__GNUC__) && __GNUC__ >= 4
- #define ORC_RESTRICT __restrict__
- #else
- #define ORC_RESTRICT
- #endif
- #endif
- /* end Orc C target preamble */
- void
- emulate_absb (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_int8 * ORC_RESTRICT ptr0;
- const orc_int8 * ORC_RESTRICT ptr4;
- orc_int8 var32;
- orc_int8 var33;
- ptr0 = (orc_int8 *)ex->dest_ptrs[0];
- ptr4 = (orc_int8 *)ex->src_ptrs[0];
- for (i = 0; i < n; i++) {
- /* 0: loadb */
- var32 = ptr4[i];
- /* 1: absb */
- var33 = ORC_ABS(var32);
- /* 2: storeb */
- ptr0[i] = var33;
- }
- }
- void
- emulate_addb (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_int8 * ORC_RESTRICT ptr0;
- const orc_int8 * ORC_RESTRICT ptr4;
- const orc_int8 * ORC_RESTRICT ptr5;
- orc_int8 var32;
- orc_int8 var33;
- orc_int8 var34;
- ptr0 = (orc_int8 *)ex->dest_ptrs[0];
- ptr4 = (orc_int8 *)ex->src_ptrs[0];
- ptr5 = (orc_int8 *)ex->src_ptrs[1];
- for (i = 0; i < n; i++) {
- /* 0: loadb */
- var32 = ptr4[i];
- /* 1: loadb */
- var33 = ptr5[i];
- /* 2: addb */
- var34 = var32 + var33;
- /* 3: storeb */
- ptr0[i] = var34;
- }
- }
- void
- emulate_addssb (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_int8 * ORC_RESTRICT ptr0;
- const orc_int8 * ORC_RESTRICT ptr4;
- const orc_int8 * ORC_RESTRICT ptr5;
- orc_int8 var32;
- orc_int8 var33;
- orc_int8 var34;
- ptr0 = (orc_int8 *)ex->dest_ptrs[0];
- ptr4 = (orc_int8 *)ex->src_ptrs[0];
- ptr5 = (orc_int8 *)ex->src_ptrs[1];
- for (i = 0; i < n; i++) {
- /* 0: loadb */
- var32 = ptr4[i];
- /* 1: loadb */
- var33 = ptr5[i];
- /* 2: addssb */
- var34 = ORC_CLAMP_SB(var32 + var33);
- /* 3: storeb */
- ptr0[i] = var34;
- }
- }
- void
- emulate_addusb (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_int8 * ORC_RESTRICT ptr0;
- const orc_int8 * ORC_RESTRICT ptr4;
- const orc_int8 * ORC_RESTRICT ptr5;
- orc_int8 var32;
- orc_int8 var33;
- orc_int8 var34;
- ptr0 = (orc_int8 *)ex->dest_ptrs[0];
- ptr4 = (orc_int8 *)ex->src_ptrs[0];
- ptr5 = (orc_int8 *)ex->src_ptrs[1];
- for (i = 0; i < n; i++) {
- /* 0: loadb */
- var32 = ptr4[i];
- /* 1: loadb */
- var33 = ptr5[i];
- /* 2: addusb */
- var34 = ORC_CLAMP_UB((orc_uint8)var32 + (orc_uint8)var33);
- /* 3: storeb */
- ptr0[i] = var34;
- }
- }
- void
- emulate_andb (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_int8 * ORC_RESTRICT ptr0;
- const orc_int8 * ORC_RESTRICT ptr4;
- const orc_int8 * ORC_RESTRICT ptr5;
- orc_int8 var32;
- orc_int8 var33;
- orc_int8 var34;
- ptr0 = (orc_int8 *)ex->dest_ptrs[0];
- ptr4 = (orc_int8 *)ex->src_ptrs[0];
- ptr5 = (orc_int8 *)ex->src_ptrs[1];
- for (i = 0; i < n; i++) {
- /* 0: loadb */
- var32 = ptr4[i];
- /* 1: loadb */
- var33 = ptr5[i];
- /* 2: andb */
- var34 = var32 & var33;
- /* 3: storeb */
- ptr0[i] = var34;
- }
- }
- void
- emulate_andnb (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_int8 * ORC_RESTRICT ptr0;
- const orc_int8 * ORC_RESTRICT ptr4;
- const orc_int8 * ORC_RESTRICT ptr5;
- orc_int8 var32;
- orc_int8 var33;
- orc_int8 var34;
- ptr0 = (orc_int8 *)ex->dest_ptrs[0];
- ptr4 = (orc_int8 *)ex->src_ptrs[0];
- ptr5 = (orc_int8 *)ex->src_ptrs[1];
- for (i = 0; i < n; i++) {
- /* 0: loadb */
- var32 = ptr4[i];
- /* 1: loadb */
- var33 = ptr5[i];
- /* 2: andnb */
- var34 = (~var32) & var33;
- /* 3: storeb */
- ptr0[i] = var34;
- }
- }
- void
- emulate_avgsb (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_int8 * ORC_RESTRICT ptr0;
- const orc_int8 * ORC_RESTRICT ptr4;
- const orc_int8 * ORC_RESTRICT ptr5;
- orc_int8 var32;
- orc_int8 var33;
- orc_int8 var34;
- ptr0 = (orc_int8 *)ex->dest_ptrs[0];
- ptr4 = (orc_int8 *)ex->src_ptrs[0];
- ptr5 = (orc_int8 *)ex->src_ptrs[1];
- for (i = 0; i < n; i++) {
- /* 0: loadb */
- var32 = ptr4[i];
- /* 1: loadb */
- var33 = ptr5[i];
- /* 2: avgsb */
- var34 = (var32 + var33 + 1)>>1;
- /* 3: storeb */
- ptr0[i] = var34;
- }
- }
- void
- emulate_avgub (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_int8 * ORC_RESTRICT ptr0;
- const orc_int8 * ORC_RESTRICT ptr4;
- const orc_int8 * ORC_RESTRICT ptr5;
- orc_int8 var32;
- orc_int8 var33;
- orc_int8 var34;
- ptr0 = (orc_int8 *)ex->dest_ptrs[0];
- ptr4 = (orc_int8 *)ex->src_ptrs[0];
- ptr5 = (orc_int8 *)ex->src_ptrs[1];
- for (i = 0; i < n; i++) {
- /* 0: loadb */
- var32 = ptr4[i];
- /* 1: loadb */
- var33 = ptr5[i];
- /* 2: avgub */
- var34 = ((orc_uint8)var32 + (orc_uint8)var33 + 1)>>1;
- /* 3: storeb */
- ptr0[i] = var34;
- }
- }
- void
- emulate_cmpeqb (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_int8 * ORC_RESTRICT ptr0;
- const orc_int8 * ORC_RESTRICT ptr4;
- const orc_int8 * ORC_RESTRICT ptr5;
- orc_int8 var32;
- orc_int8 var33;
- orc_int8 var34;
- ptr0 = (orc_int8 *)ex->dest_ptrs[0];
- ptr4 = (orc_int8 *)ex->src_ptrs[0];
- ptr5 = (orc_int8 *)ex->src_ptrs[1];
- for (i = 0; i < n; i++) {
- /* 0: loadb */
- var32 = ptr4[i];
- /* 1: loadb */
- var33 = ptr5[i];
- /* 2: cmpeqb */
- var34 = (var32 == var33) ? (~0) : 0;
- /* 3: storeb */
- ptr0[i] = var34;
- }
- }
- void
- emulate_cmpgtsb (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_int8 * ORC_RESTRICT ptr0;
- const orc_int8 * ORC_RESTRICT ptr4;
- const orc_int8 * ORC_RESTRICT ptr5;
- orc_int8 var32;
- orc_int8 var33;
- orc_int8 var34;
- ptr0 = (orc_int8 *)ex->dest_ptrs[0];
- ptr4 = (orc_int8 *)ex->src_ptrs[0];
- ptr5 = (orc_int8 *)ex->src_ptrs[1];
- for (i = 0; i < n; i++) {
- /* 0: loadb */
- var32 = ptr4[i];
- /* 1: loadb */
- var33 = ptr5[i];
- /* 2: cmpgtsb */
- var34 = (var32 > var33) ? (~0) : 0;
- /* 3: storeb */
- ptr0[i] = var34;
- }
- }
- void
- emulate_copyb (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_int8 * ORC_RESTRICT ptr0;
- const orc_int8 * ORC_RESTRICT ptr4;
- orc_int8 var32;
- orc_int8 var33;
- ptr0 = (orc_int8 *)ex->dest_ptrs[0];
- ptr4 = (orc_int8 *)ex->src_ptrs[0];
- for (i = 0; i < n; i++) {
- /* 0: loadb */
- var32 = ptr4[i];
- /* 1: copyb */
- var33 = var32;
- /* 2: storeb */
- ptr0[i] = var33;
- }
- }
- void
- emulate_loadb (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_int8 * ORC_RESTRICT ptr0;
- const orc_int8 * ORC_RESTRICT ptr4;
- orc_int8 var32;
- ptr0 = (orc_int8 *)ex->dest_ptrs[0];
- ptr4 = (orc_int8 *)ex->src_ptrs[0];
- for (i = 0; i < n; i++) {
- /* 0: loadb */
- var32 = ptr4[offset + i];
- /* 1: storeb */
- ptr0[i] = var32;
- }
- }
- void
- emulate_loadoffb (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_int8 * ORC_RESTRICT ptr0;
- const orc_int8 * ORC_RESTRICT ptr4;
- orc_int8 var32;
- ptr0 = (orc_int8 *)ex->dest_ptrs[0];
- ptr4 = (orc_int8 *)ex->src_ptrs[0];
- for (i = 0; i < n; i++) {
- /* 0: loadoffb */
- var32 = ptr4[offset + i + ((orc_union64 *)(ex->src_ptrs[1]))->i];
- /* 1: storeb */
- ptr0[i] = var32;
- }
- }
- void
- emulate_loadupdb (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_int8 * ORC_RESTRICT ptr0;
- const orc_int8 * ORC_RESTRICT ptr4;
- orc_int8 var32;
- ptr0 = (orc_int8 *)ex->dest_ptrs[0];
- ptr4 = (orc_int8 *)ex->src_ptrs[0];
- for (i = 0; i < n; i++) {
- /* 0: loadupdb */
- var32 = ptr4[(offset + i)>>1];
- /* 1: storeb */
- ptr0[i] = var32;
- }
- }
- void
- emulate_loadupib (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_int8 * ORC_RESTRICT ptr0;
- const orc_int8 * ORC_RESTRICT ptr4;
- orc_int8 var32;
- ptr0 = (orc_int8 *)ex->dest_ptrs[0];
- ptr4 = (orc_int8 *)ex->src_ptrs[0];
- for (i = 0; i < n; i++) {
- /* 0: loadupib */
- 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;
- }
- }
- void
- emulate_loadpb (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_int8 * ORC_RESTRICT ptr0;
- orc_int8 var32;
- ptr0 = (orc_int8 *)ex->dest_ptrs[0];
- /* 0: loadpb */
- var32 = ((orc_union64 *)(ex->src_ptrs[0]))->i;
- for (i = 0; i < n; i++) {
- /* 1: storeb */
- ptr0[i] = var32;
- }
- }
- void
- emulate_ldresnearb (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_int8 * ORC_RESTRICT ptr0;
- const orc_int8 * ORC_RESTRICT ptr4;
- orc_int8 var32;
- ptr0 = (orc_int8 *)ex->dest_ptrs[0];
- ptr4 = (orc_int8 *)ex->src_ptrs[0];
- for (i = 0; i < n; i++) {
- /* 0: ldresnearb */
- var32 = ptr4[(((orc_union64 *)(ex->src_ptrs[1]))->i + (offset + i)*((orc_union64 *)(ex->src_ptrs[2]))->i)>>16];
- /* 1: storeb */
- ptr0[i] = var32;
- }
- }
- void
- emulate_ldresnearl (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_union32 * ORC_RESTRICT ptr0;
- const orc_union32 * ORC_RESTRICT ptr4;
- orc_union32 var32;
- ptr0 = (orc_union32 *)ex->dest_ptrs[0];
- ptr4 = (orc_union32 *)ex->src_ptrs[0];
- for (i = 0; i < n; i++) {
- /* 0: ldresnearl */
- var32 = ptr4[(((orc_union64 *)(ex->src_ptrs[1]))->i + (offset + i)*((orc_union64 *)(ex->src_ptrs[2]))->i)>>16];
- /* 1: storel */
- ptr0[i] = var32;
- }
- }
- void
- emulate_ldreslinb (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_int8 * ORC_RESTRICT ptr0;
- const orc_int8 * ORC_RESTRICT ptr4;
- orc_int8 var32;
- ptr0 = (orc_int8 *)ex->dest_ptrs[0];
- ptr4 = (orc_int8 *)ex->src_ptrs[0];
- for (i = 0; i < n; i++) {
- /* 0: ldreslinb */
- {
- int tmp = ((orc_union64 *)(ex->src_ptrs[1]))->i + (offset + i) * ((orc_union64 *)(ex->src_ptrs[2]))->i;
- var32 = ((orc_uint8)ptr4[tmp>>16] * (256-((tmp>>8)&0xff)) + (orc_uint8)ptr4[(tmp>>16)+1] * ((tmp>>8)&0xff))>>8;
- }
- /* 1: storeb */
- ptr0[i] = var32;
- }
- }
- void
- emulate_ldreslinl (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_union32 * ORC_RESTRICT ptr0;
- const orc_union32 * ORC_RESTRICT ptr4;
- orc_union32 var32;
- ptr0 = (orc_union32 *)ex->dest_ptrs[0];
- ptr4 = (orc_union32 *)ex->src_ptrs[0];
- for (i = 0; i < n; i++) {
- /* 0: ldreslinl */
- {
- int tmp = ((orc_union64 *)(ex->src_ptrs[1]))->i + (offset + i) * ((orc_union64 *)(ex->src_ptrs[2]))->i;
- orc_union32 a = ptr4[tmp>>16];
- orc_union32 b = ptr4[(tmp>>16)+1];
- var32.x4[0] = ((orc_uint8)a.x4[0] * (256-((tmp>>8)&0xff)) + (orc_uint8)b.x4[0] * ((tmp>>8)&0xff))>>8;
- var32.x4[1] = ((orc_uint8)a.x4[1] * (256-((tmp>>8)&0xff)) + (orc_uint8)b.x4[1] * ((tmp>>8)&0xff))>>8;
- var32.x4[2] = ((orc_uint8)a.x4[2] * (256-((tmp>>8)&0xff)) + (orc_uint8)b.x4[2] * ((tmp>>8)&0xff))>>8;
- var32.x4[3] = ((orc_uint8)a.x4[3] * (256-((tmp>>8)&0xff)) + (orc_uint8)b.x4[3] * ((tmp>>8)&0xff))>>8;
- }
- /* 1: storel */
- ptr0[i] = var32;
- }
- }
- void
- emulate_maxsb (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_int8 * ORC_RESTRICT ptr0;
- const orc_int8 * ORC_RESTRICT ptr4;
- const orc_int8 * ORC_RESTRICT ptr5;
- orc_int8 var32;
- orc_int8 var33;
- orc_int8 var34;
- ptr0 = (orc_int8 *)ex->dest_ptrs[0];
- ptr4 = (orc_int8 *)ex->src_ptrs[0];
- ptr5 = (orc_int8 *)ex->src_ptrs[1];
- for (i = 0; i < n; i++) {
- /* 0: loadb */
- var32 = ptr4[i];
- /* 1: loadb */
- var33 = ptr5[i];
- /* 2: maxsb */
- var34 = ORC_MAX(var32, var33);
- /* 3: storeb */
- ptr0[i] = var34;
- }
- }
- void
- emulate_maxub (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_int8 * ORC_RESTRICT ptr0;
- const orc_int8 * ORC_RESTRICT ptr4;
- const orc_int8 * ORC_RESTRICT ptr5;
- orc_int8 var32;
- orc_int8 var33;
- orc_int8 var34;
- ptr0 = (orc_int8 *)ex->dest_ptrs[0];
- ptr4 = (orc_int8 *)ex->src_ptrs[0];
- ptr5 = (orc_int8 *)ex->src_ptrs[1];
- for (i = 0; i < n; i++) {
- /* 0: loadb */
- var32 = ptr4[i];
- /* 1: loadb */
- var33 = ptr5[i];
- /* 2: maxub */
- var34 = ORC_MAX((orc_uint8)var32, (orc_uint8)var33);
- /* 3: storeb */
- ptr0[i] = var34;
- }
- }
- void
- emulate_minsb (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_int8 * ORC_RESTRICT ptr0;
- const orc_int8 * ORC_RESTRICT ptr4;
- const orc_int8 * ORC_RESTRICT ptr5;
- orc_int8 var32;
- orc_int8 var33;
- orc_int8 var34;
- ptr0 = (orc_int8 *)ex->dest_ptrs[0];
- ptr4 = (orc_int8 *)ex->src_ptrs[0];
- ptr5 = (orc_int8 *)ex->src_ptrs[1];
- for (i = 0; i < n; i++) {
- /* 0: loadb */
- var32 = ptr4[i];
- /* 1: loadb */
- var33 = ptr5[i];
- /* 2: minsb */
- var34 = ORC_MIN(var32, var33);
- /* 3: storeb */
- ptr0[i] = var34;
- }
- }
- void
- emulate_minub (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_int8 * ORC_RESTRICT ptr0;
- const orc_int8 * ORC_RESTRICT ptr4;
- const orc_int8 * ORC_RESTRICT ptr5;
- orc_int8 var32;
- orc_int8 var33;
- orc_int8 var34;
- ptr0 = (orc_int8 *)ex->dest_ptrs[0];
- ptr4 = (orc_int8 *)ex->src_ptrs[0];
- ptr5 = (orc_int8 *)ex->src_ptrs[1];
- for (i = 0; i < n; i++) {
- /* 0: loadb */
- var32 = ptr4[i];
- /* 1: loadb */
- var33 = ptr5[i];
- /* 2: minub */
- var34 = ORC_MIN((orc_uint8)var32, (orc_uint8)var33);
- /* 3: storeb */
- ptr0[i] = var34;
- }
- }
- void
- emulate_mullb (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_int8 * ORC_RESTRICT ptr0;
- const orc_int8 * ORC_RESTRICT ptr4;
- const orc_int8 * ORC_RESTRICT ptr5;
- orc_int8 var32;
- orc_int8 var33;
- orc_int8 var34;
- ptr0 = (orc_int8 *)ex->dest_ptrs[0];
- ptr4 = (orc_int8 *)ex->src_ptrs[0];
- ptr5 = (orc_int8 *)ex->src_ptrs[1];
- for (i = 0; i < n; i++) {
- /* 0: loadb */
- var32 = ptr4[i];
- /* 1: loadb */
- var33 = ptr5[i];
- /* 2: mullb */
- var34 = (var32 * var33) & 0xff;
- /* 3: storeb */
- ptr0[i] = var34;
- }
- }
- void
- emulate_mulhsb (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_int8 * ORC_RESTRICT ptr0;
- const orc_int8 * ORC_RESTRICT ptr4;
- const orc_int8 * ORC_RESTRICT ptr5;
- orc_int8 var32;
- orc_int8 var33;
- orc_int8 var34;
- ptr0 = (orc_int8 *)ex->dest_ptrs[0];
- ptr4 = (orc_int8 *)ex->src_ptrs[0];
- ptr5 = (orc_int8 *)ex->src_ptrs[1];
- for (i = 0; i < n; i++) {
- /* 0: loadb */
- var32 = ptr4[i];
- /* 1: loadb */
- var33 = ptr5[i];
- /* 2: mulhsb */
- var34 = (var32 * var33) >> 8;
- /* 3: storeb */
- ptr0[i] = var34;
- }
- }
- void
- emulate_mulhub (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_int8 * ORC_RESTRICT ptr0;
- const orc_int8 * ORC_RESTRICT ptr4;
- const orc_int8 * ORC_RESTRICT ptr5;
- orc_int8 var32;
- orc_int8 var33;
- orc_int8 var34;
- ptr0 = (orc_int8 *)ex->dest_ptrs[0];
- ptr4 = (orc_int8 *)ex->src_ptrs[0];
- ptr5 = (orc_int8 *)ex->src_ptrs[1];
- for (i = 0; i < n; i++) {
- /* 0: loadb */
- var32 = ptr4[i];
- /* 1: loadb */
- var33 = ptr5[i];
- /* 2: mulhub */
- var34 = ((orc_uint32)(orc_uint8)var32 * (orc_uint32)(orc_uint8)var33) >> 8;
- /* 3: storeb */
- ptr0[i] = var34;
- }
- }
- void
- emulate_orb (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_int8 * ORC_RESTRICT ptr0;
- const orc_int8 * ORC_RESTRICT ptr4;
- const orc_int8 * ORC_RESTRICT ptr5;
- orc_int8 var32;
- orc_int8 var33;
- orc_int8 var34;
- ptr0 = (orc_int8 *)ex->dest_ptrs[0];
- ptr4 = (orc_int8 *)ex->src_ptrs[0];
- ptr5 = (orc_int8 *)ex->src_ptrs[1];
- for (i = 0; i < n; i++) {
- /* 0: loadb */
- var32 = ptr4[i];
- /* 1: loadb */
- var33 = ptr5[i];
- /* 2: orb */
- var34 = var32 | var33;
- /* 3: storeb */
- ptr0[i] = var34;
- }
- }
- void
- emulate_shlb (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_int8 * ORC_RESTRICT ptr0;
- const orc_int8 * ORC_RESTRICT ptr4;
- orc_int8 var32;
- orc_int8 var33;
- ptr0 = (orc_int8 *)ex->dest_ptrs[0];
- ptr4 = (orc_int8 *)ex->src_ptrs[0];
- for (i = 0; i < n; i++) {
- /* 0: loadb */
- var32 = ptr4[i];
- /* 1: shlb */
- var33 = var32 << ((orc_union64 *)(ex->src_ptrs[1]))->i;
- /* 2: storeb */
- ptr0[i] = var33;
- }
- }
- void
- emulate_shrsb (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_int8 * ORC_RESTRICT ptr0;
- const orc_int8 * ORC_RESTRICT ptr4;
- orc_int8 var32;
- orc_int8 var33;
- ptr0 = (orc_int8 *)ex->dest_ptrs[0];
- ptr4 = (orc_int8 *)ex->src_ptrs[0];
- for (i = 0; i < n; i++) {
- /* 0: loadb */
- var32 = ptr4[i];
- /* 1: shrsb */
- var33 = var32 >> ((orc_union64 *)(ex->src_ptrs[1]))->i;
- /* 2: storeb */
- ptr0[i] = var33;
- }
- }
- void
- emulate_shrub (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_int8 * ORC_RESTRICT ptr0;
- const orc_int8 * ORC_RESTRICT ptr4;
- orc_int8 var32;
- orc_int8 var33;
- ptr0 = (orc_int8 *)ex->dest_ptrs[0];
- ptr4 = (orc_int8 *)ex->src_ptrs[0];
- for (i = 0; i < n; i++) {
- /* 0: loadb */
- var32 = ptr4[i];
- /* 1: shrub */
- var33 = ((orc_uint8)var32) >> ((orc_union64 *)(ex->src_ptrs[1]))->i;
- /* 2: storeb */
- ptr0[i] = var33;
- }
- }
- void
- emulate_signb (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_int8 * ORC_RESTRICT ptr0;
- const orc_int8 * ORC_RESTRICT ptr4;
- orc_int8 var32;
- orc_int8 var33;
- ptr0 = (orc_int8 *)ex->dest_ptrs[0];
- ptr4 = (orc_int8 *)ex->src_ptrs[0];
- for (i = 0; i < n; i++) {
- /* 0: loadb */
- var32 = ptr4[i];
- /* 1: signb */
- var33 = ORC_CLAMP(var32,-1,1);
- /* 2: storeb */
- ptr0[i] = var33;
- }
- }
- void
- emulate_storeb (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_int8 * ORC_RESTRICT ptr0;
- const orc_int8 * ORC_RESTRICT ptr4;
- orc_int8 var32;
- ptr0 = (orc_int8 *)ex->dest_ptrs[0];
- ptr4 = (orc_int8 *)ex->src_ptrs[0];
- for (i = 0; i < n; i++) {
- /* 0: loadb */
- var32 = ptr4[i];
- /* 1: storeb */
- ptr0[offset + i] = var32;
- }
- }
- void
- emulate_subb (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_int8 * ORC_RESTRICT ptr0;
- const orc_int8 * ORC_RESTRICT ptr4;
- const orc_int8 * ORC_RESTRICT ptr5;
- orc_int8 var32;
- orc_int8 var33;
- orc_int8 var34;
- ptr0 = (orc_int8 *)ex->dest_ptrs[0];
- ptr4 = (orc_int8 *)ex->src_ptrs[0];
- ptr5 = (orc_int8 *)ex->src_ptrs[1];
- for (i = 0; i < n; i++) {
- /* 0: loadb */
- var32 = ptr4[i];
- /* 1: loadb */
- var33 = ptr5[i];
- /* 2: subb */
- var34 = var32 - var33;
- /* 3: storeb */
- ptr0[i] = var34;
- }
- }
- void
- emulate_subssb (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_int8 * ORC_RESTRICT ptr0;
- const orc_int8 * ORC_RESTRICT ptr4;
- const orc_int8 * ORC_RESTRICT ptr5;
- orc_int8 var32;
- orc_int8 var33;
- orc_int8 var34;
- ptr0 = (orc_int8 *)ex->dest_ptrs[0];
- ptr4 = (orc_int8 *)ex->src_ptrs[0];
- ptr5 = (orc_int8 *)ex->src_ptrs[1];
- for (i = 0; i < n; i++) {
- /* 0: loadb */
- var32 = ptr4[i];
- /* 1: loadb */
- var33 = ptr5[i];
- /* 2: subssb */
- var34 = ORC_CLAMP_SB(var32 - var33);
- /* 3: storeb */
- ptr0[i] = var34;
- }
- }
- void
- emulate_subusb (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_int8 * ORC_RESTRICT ptr0;
- const orc_int8 * ORC_RESTRICT ptr4;
- const orc_int8 * ORC_RESTRICT ptr5;
- orc_int8 var32;
- orc_int8 var33;
- orc_int8 var34;
- ptr0 = (orc_int8 *)ex->dest_ptrs[0];
- ptr4 = (orc_int8 *)ex->src_ptrs[0];
- ptr5 = (orc_int8 *)ex->src_ptrs[1];
- for (i = 0; i < n; i++) {
- /* 0: loadb */
- var32 = ptr4[i];
- /* 1: loadb */
- var33 = ptr5[i];
- /* 2: subusb */
- var34 = ORC_CLAMP_UB((orc_uint8)var32 - (orc_uint8)var33);
- /* 3: storeb */
- ptr0[i] = var34;
- }
- }
- void
- emulate_xorb (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_int8 * ORC_RESTRICT ptr0;
- const orc_int8 * ORC_RESTRICT ptr4;
- const orc_int8 * ORC_RESTRICT ptr5;
- orc_int8 var32;
- orc_int8 var33;
- orc_int8 var34;
- ptr0 = (orc_int8 *)ex->dest_ptrs[0];
- ptr4 = (orc_int8 *)ex->src_ptrs[0];
- ptr5 = (orc_int8 *)ex->src_ptrs[1];
- for (i = 0; i < n; i++) {
- /* 0: loadb */
- var32 = ptr4[i];
- /* 1: loadb */
- var33 = ptr5[i];
- /* 2: xorb */
- var34 = var32 ^ var33;
- /* 3: storeb */
- ptr0[i] = var34;
- }
- }
- void
- emulate_absw (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_union16 * ORC_RESTRICT ptr0;
- const orc_union16 * ORC_RESTRICT ptr4;
- orc_union16 var32;
- orc_union16 var33;
- ptr0 = (orc_union16 *)ex->dest_ptrs[0];
- ptr4 = (orc_union16 *)ex->src_ptrs[0];
- for (i = 0; i < n; i++) {
- /* 0: loadw */
- var32 = ptr4[i];
- /* 1: absw */
- var33.i = ORC_ABS(var32.i);
- /* 2: storew */
- ptr0[i] = var33;
- }
- }
- void
- emulate_addw (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_union16 * ORC_RESTRICT ptr0;
- const orc_union16 * ORC_RESTRICT ptr4;
- const orc_union16 * ORC_RESTRICT ptr5;
- orc_union16 var32;
- orc_union16 var33;
- orc_union16 var34;
- ptr0 = (orc_union16 *)ex->dest_ptrs[0];
- ptr4 = (orc_union16 *)ex->src_ptrs[0];
- ptr5 = (orc_union16 *)ex->src_ptrs[1];
- for (i = 0; i < n; i++) {
- /* 0: loadw */
- var32 = ptr4[i];
- /* 1: loadw */
- var33 = ptr5[i];
- /* 2: addw */
- var34.i = var32.i + var33.i;
- /* 3: storew */
- ptr0[i] = var34;
- }
- }
- void
- emulate_addssw (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_union16 * ORC_RESTRICT ptr0;
- const orc_union16 * ORC_RESTRICT ptr4;
- const orc_union16 * ORC_RESTRICT ptr5;
- orc_union16 var32;
- orc_union16 var33;
- orc_union16 var34;
- ptr0 = (orc_union16 *)ex->dest_ptrs[0];
- ptr4 = (orc_union16 *)ex->src_ptrs[0];
- ptr5 = (orc_union16 *)ex->src_ptrs[1];
- for (i = 0; i < n; i++) {
- /* 0: loadw */
- var32 = ptr4[i];
- /* 1: loadw */
- var33 = ptr5[i];
- /* 2: addssw */
- var34.i = ORC_CLAMP_SW(var32.i + var33.i);
- /* 3: storew */
- ptr0[i] = var34;
- }
- }
- void
- emulate_addusw (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_union16 * ORC_RESTRICT ptr0;
- const orc_union16 * ORC_RESTRICT ptr4;
- const orc_union16 * ORC_RESTRICT ptr5;
- orc_union16 var32;
- orc_union16 var33;
- orc_union16 var34;
- ptr0 = (orc_union16 *)ex->dest_ptrs[0];
- ptr4 = (orc_union16 *)ex->src_ptrs[0];
- ptr5 = (orc_union16 *)ex->src_ptrs[1];
- for (i = 0; i < n; i++) {
- /* 0: loadw */
- var32 = ptr4[i];
- /* 1: loadw */
- var33 = ptr5[i];
- /* 2: addusw */
- var34.i = ORC_CLAMP_UW((orc_uint16)var32.i + (orc_uint16)var33.i);
- /* 3: storew */
- ptr0[i] = var34;
- }
- }
- void
- emulate_andw (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_union16 * ORC_RESTRICT ptr0;
- const orc_union16 * ORC_RESTRICT ptr4;
- const orc_union16 * ORC_RESTRICT ptr5;
- orc_union16 var32;
- orc_union16 var33;
- orc_union16 var34;
- ptr0 = (orc_union16 *)ex->dest_ptrs[0];
- ptr4 = (orc_union16 *)ex->src_ptrs[0];
- ptr5 = (orc_union16 *)ex->src_ptrs[1];
- for (i = 0; i < n; i++) {
- /* 0: loadw */
- var32 = ptr4[i];
- /* 1: loadw */
- var33 = ptr5[i];
- /* 2: andw */
- var34.i = var32.i & var33.i;
- /* 3: storew */
- ptr0[i] = var34;
- }
- }
- void
- emulate_andnw (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_union16 * ORC_RESTRICT ptr0;
- const orc_union16 * ORC_RESTRICT ptr4;
- const orc_union16 * ORC_RESTRICT ptr5;
- orc_union16 var32;
- orc_union16 var33;
- orc_union16 var34;
- ptr0 = (orc_union16 *)ex->dest_ptrs[0];
- ptr4 = (orc_union16 *)ex->src_ptrs[0];
- ptr5 = (orc_union16 *)ex->src_ptrs[1];
- for (i = 0; i < n; i++) {
- /* 0: loadw */
- var32 = ptr4[i];
- /* 1: loadw */
- var33 = ptr5[i];
- /* 2: andnw */
- var34.i = (~var32.i) & var33.i;
- /* 3: storew */
- ptr0[i] = var34;
- }
- }
- void
- emulate_avgsw (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_union16 * ORC_RESTRICT ptr0;
- const orc_union16 * ORC_RESTRICT ptr4;
- const orc_union16 * ORC_RESTRICT ptr5;
- orc_union16 var32;
- orc_union16 var33;
- orc_union16 var34;
- ptr0 = (orc_union16 *)ex->dest_ptrs[0];
- ptr4 = (orc_union16 *)ex->src_ptrs[0];
- ptr5 = (orc_union16 *)ex->src_ptrs[1];
- for (i = 0; i < n; i++) {
- /* 0: loadw */
- var32 = ptr4[i];
- /* 1: loadw */
- var33 = ptr5[i];
- /* 2: avgsw */
- var34.i = (var32.i + var33.i + 1)>>1;
- /* 3: storew */
- ptr0[i] = var34;
- }
- }
- void
- emulate_avguw (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_union16 * ORC_RESTRICT ptr0;
- const orc_union16 * ORC_RESTRICT ptr4;
- const orc_union16 * ORC_RESTRICT ptr5;
- orc_union16 var32;
- orc_union16 var33;
- orc_union16 var34;
- ptr0 = (orc_union16 *)ex->dest_ptrs[0];
- ptr4 = (orc_union16 *)ex->src_ptrs[0];
- ptr5 = (orc_union16 *)ex->src_ptrs[1];
- for (i = 0; i < n; i++) {
- /* 0: loadw */
- var32 = ptr4[i];
- /* 1: loadw */
- var33 = ptr5[i];
- /* 2: avguw */
- var34.i = ((orc_uint16)var32.i + (orc_uint16)var33.i + 1)>>1;
- /* 3: storew */
- ptr0[i] = var34;
- }
- }
- void
- emulate_cmpeqw (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_union16 * ORC_RESTRICT ptr0;
- const orc_union16 * ORC_RESTRICT ptr4;
- const orc_union16 * ORC_RESTRICT ptr5;
- orc_union16 var32;
- orc_union16 var33;
- orc_union16 var34;
- ptr0 = (orc_union16 *)ex->dest_ptrs[0];
- ptr4 = (orc_union16 *)ex->src_ptrs[0];
- ptr5 = (orc_union16 *)ex->src_ptrs[1];
- for (i = 0; i < n; i++) {
- /* 0: loadw */
- var32 = ptr4[i];
- /* 1: loadw */
- var33 = ptr5[i];
- /* 2: cmpeqw */
- var34.i = (var32.i == var33.i) ? (~0) : 0;
- /* 3: storew */
- ptr0[i] = var34;
- }
- }
- void
- emulate_cmpgtsw (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_union16 * ORC_RESTRICT ptr0;
- const orc_union16 * ORC_RESTRICT ptr4;
- const orc_union16 * ORC_RESTRICT ptr5;
- orc_union16 var32;
- orc_union16 var33;
- orc_union16 var34;
- ptr0 = (orc_union16 *)ex->dest_ptrs[0];
- ptr4 = (orc_union16 *)ex->src_ptrs[0];
- ptr5 = (orc_union16 *)ex->src_ptrs[1];
- for (i = 0; i < n; i++) {
- /* 0: loadw */
- var32 = ptr4[i];
- /* 1: loadw */
- var33 = ptr5[i];
- /* 2: cmpgtsw */
- var34.i = (var32.i > var33.i) ? (~0) : 0;
- /* 3: storew */
- ptr0[i] = var34;
- }
- }
- void
- emulate_copyw (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_union16 * ORC_RESTRICT ptr0;
- const orc_union16 * ORC_RESTRICT ptr4;
- orc_union16 var32;
- orc_union16 var33;
- ptr0 = (orc_union16 *)ex->dest_ptrs[0];
- ptr4 = (orc_union16 *)ex->src_ptrs[0];
- for (i = 0; i < n; i++) {
- /* 0: loadw */
- var32 = ptr4[i];
- /* 1: copyw */
- var33.i = var32.i;
- /* 2: storew */
- ptr0[i] = var33;
- }
- }
- void
- emulate_div255w (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_union16 * ORC_RESTRICT ptr0;
- const orc_union16 * ORC_RESTRICT ptr4;
- orc_union16 var32;
- orc_union16 var33;
- ptr0 = (orc_union16 *)ex->dest_ptrs[0];
- ptr4 = (orc_union16 *)ex->src_ptrs[0];
- for (i = 0; i < n; i++) {
- /* 0: loadw */
- var32 = ptr4[i];
- /* 1: div255w */
- var33.i = ((orc_uint16)(((orc_uint16)(var32.i+128)) + (((orc_uint16)(var32.i+128))>>8)))>>8;
- /* 2: storew */
- ptr0[i] = var33;
- }
- }
- void
- emulate_divluw (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_union16 * ORC_RESTRICT ptr0;
- const orc_union16 * ORC_RESTRICT ptr4;
- const orc_union16 * ORC_RESTRICT ptr5;
- orc_union16 var32;
- orc_union16 var33;
- orc_union16 var34;
- ptr0 = (orc_union16 *)ex->dest_ptrs[0];
- ptr4 = (orc_union16 *)ex->src_ptrs[0];
- ptr5 = (orc_union16 *)ex->src_ptrs[1];
- for (i = 0; i < n; i++) {
- /* 0: loadw */
- var32 = ptr4[i];
- /* 1: loadw */
- var33 = ptr5[i];
- /* 2: divluw */
- var34.i = ((var33.i&0xff) == 0) ? 255 : ORC_CLAMP_UB(((orc_uint16)var32.i)/((orc_uint16)var33.i&0xff));
- /* 3: storew */
- ptr0[i] = var34;
- }
- }
- void
- emulate_loadw (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_union16 * ORC_RESTRICT ptr0;
- const orc_union16 * ORC_RESTRICT ptr4;
- orc_union16 var32;
- ptr0 = (orc_union16 *)ex->dest_ptrs[0];
- ptr4 = (orc_union16 *)ex->src_ptrs[0];
- for (i = 0; i < n; i++) {
- /* 0: loadw */
- var32 = ptr4[offset + i];
- /* 1: storew */
- ptr0[i] = var32;
- }
- }
- void
- emulate_loadoffw (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_union16 * ORC_RESTRICT ptr0;
- const orc_union16 * ORC_RESTRICT ptr4;
- orc_union16 var32;
- ptr0 = (orc_union16 *)ex->dest_ptrs[0];
- ptr4 = (orc_union16 *)ex->src_ptrs[0];
- for (i = 0; i < n; i++) {
- /* 0: loadoffw */
- var32 = ptr4[offset + i + ((orc_union64 *)(ex->src_ptrs[1]))->i];
- /* 1: storew */
- ptr0[i] = var32;
- }
- }
- void
- emulate_loadpw (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_union16 * ORC_RESTRICT ptr0;
- orc_union16 var32;
- ptr0 = (orc_union16 *)ex->dest_ptrs[0];
- /* 0: loadpw */
- var32.i = ((orc_union64 *)(ex->src_ptrs[0]))->i;
- for (i = 0; i < n; i++) {
- /* 1: storew */
- ptr0[i] = var32;
- }
- }
- void
- emulate_maxsw (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_union16 * ORC_RESTRICT ptr0;
- const orc_union16 * ORC_RESTRICT ptr4;
- const orc_union16 * ORC_RESTRICT ptr5;
- orc_union16 var32;
- orc_union16 var33;
- orc_union16 var34;
- ptr0 = (orc_union16 *)ex->dest_ptrs[0];
- ptr4 = (orc_union16 *)ex->src_ptrs[0];
- ptr5 = (orc_union16 *)ex->src_ptrs[1];
- for (i = 0; i < n; i++) {
- /* 0: loadw */
- var32 = ptr4[i];
- /* 1: loadw */
- var33 = ptr5[i];
- /* 2: maxsw */
- var34.i = ORC_MAX(var32.i, var33.i);
- /* 3: storew */
- ptr0[i] = var34;
- }
- }
- void
- emulate_maxuw (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_union16 * ORC_RESTRICT ptr0;
- const orc_union16 * ORC_RESTRICT ptr4;
- const orc_union16 * ORC_RESTRICT ptr5;
- orc_union16 var32;
- orc_union16 var33;
- orc_union16 var34;
- ptr0 = (orc_union16 *)ex->dest_ptrs[0];
- ptr4 = (orc_union16 *)ex->src_ptrs[0];
- ptr5 = (orc_union16 *)ex->src_ptrs[1];
- for (i = 0; i < n; i++) {
- /* 0: loadw */
- var32 = ptr4[i];
- /* 1: loadw */
- var33 = ptr5[i];
- /* 2: maxuw */
- var34.i = ORC_MAX((orc_uint16)var32.i, (orc_uint16)var33.i);
- /* 3: storew */
- ptr0[i] = var34;
- }
- }
- void
- emulate_minsw (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_union16 * ORC_RESTRICT ptr0;
- const orc_union16 * ORC_RESTRICT ptr4;
- const orc_union16 * ORC_RESTRICT ptr5;
- orc_union16 var32;
- orc_union16 var33;
- orc_union16 var34;
- ptr0 = (orc_union16 *)ex->dest_ptrs[0];
- ptr4 = (orc_union16 *)ex->src_ptrs[0];
- ptr5 = (orc_union16 *)ex->src_ptrs[1];
- for (i = 0; i < n; i++) {
- /* 0: loadw */
- var32 = ptr4[i];
- /* 1: loadw */
- var33 = ptr5[i];
- /* 2: minsw */
- var34.i = ORC_MIN(var32.i, var33.i);
- /* 3: storew */
- ptr0[i] = var34;
- }
- }
- void
- emulate_minuw (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_union16 * ORC_RESTRICT ptr0;
- const orc_union16 * ORC_RESTRICT ptr4;
- const orc_union16 * ORC_RESTRICT ptr5;
- orc_union16 var32;
- orc_union16 var33;
- orc_union16 var34;
- ptr0 = (orc_union16 *)ex->dest_ptrs[0];
- ptr4 = (orc_union16 *)ex->src_ptrs[0];
- ptr5 = (orc_union16 *)ex->src_ptrs[1];
- for (i = 0; i < n; i++) {
- /* 0: loadw */
- var32 = ptr4[i];
- /* 1: loadw */
- var33 = ptr5[i];
- /* 2: minuw */
- var34.i = ORC_MIN((orc_uint16)var32.i, (orc_uint16)var33.i);
- /* 3: storew */
- ptr0[i] = var34;
- }
- }
- void
- emulate_mullw (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_union16 * ORC_RESTRICT ptr0;
- const orc_union16 * ORC_RESTRICT ptr4;
- const orc_union16 * ORC_RESTRICT ptr5;
- orc_union16 var32;
- orc_union16 var33;
- orc_union16 var34;
- ptr0 = (orc_union16 *)ex->dest_ptrs[0];
- ptr4 = (orc_union16 *)ex->src_ptrs[0];
- ptr5 = (orc_union16 *)ex->src_ptrs[1];
- for (i = 0; i < n; i++) {
- /* 0: loadw */
- var32 = ptr4[i];
- /* 1: loadw */
- var33 = ptr5[i];
- /* 2: mullw */
- var34.i = (var32.i * var33.i) & 0xffff;
- /* 3: storew */
- ptr0[i] = var34;
- }
- }
- void
- emulate_mulhsw (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_union16 * ORC_RESTRICT ptr0;
- const orc_union16 * ORC_RESTRICT ptr4;
- const orc_union16 * ORC_RESTRICT ptr5;
- orc_union16 var32;
- orc_union16 var33;
- orc_union16 var34;
- ptr0 = (orc_union16 *)ex->dest_ptrs[0];
- ptr4 = (orc_union16 *)ex->src_ptrs[0];
- ptr5 = (orc_union16 *)ex->src_ptrs[1];
- for (i = 0; i < n; i++) {
- /* 0: loadw */
- var32 = ptr4[i];
- /* 1: loadw */
- var33 = ptr5[i];
- /* 2: mulhsw */
- var34.i = (var32.i * var33.i) >> 16;
- /* 3: storew */
- ptr0[i] = var34;
- }
- }
- void
- emulate_mulhuw (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_union16 * ORC_RESTRICT ptr0;
- const orc_union16 * ORC_RESTRICT ptr4;
- const orc_union16 * ORC_RESTRICT ptr5;
- orc_union16 var32;
- orc_union16 var33;
- orc_union16 var34;
- ptr0 = (orc_union16 *)ex->dest_ptrs[0];
- ptr4 = (orc_union16 *)ex->src_ptrs[0];
- ptr5 = (orc_union16 *)ex->src_ptrs[1];
- for (i = 0; i < n; i++) {
- /* 0: loadw */
- var32 = ptr4[i];
- /* 1: loadw */
- var33 = ptr5[i];
- /* 2: mulhuw */
- var34.i = ((orc_uint32)((orc_uint16)var32.i) * (orc_uint32)((orc_uint16)var33.i)) >> 16;
- /* 3: storew */
- ptr0[i] = var34;
- }
- }
- void
- emulate_orw (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_union16 * ORC_RESTRICT ptr0;
- const orc_union16 * ORC_RESTRICT ptr4;
- const orc_union16 * ORC_RESTRICT ptr5;
- orc_union16 var32;
- orc_union16 var33;
- orc_union16 var34;
- ptr0 = (orc_union16 *)ex->dest_ptrs[0];
- ptr4 = (orc_union16 *)ex->src_ptrs[0];
- ptr5 = (orc_union16 *)ex->src_ptrs[1];
- for (i = 0; i < n; i++) {
- /* 0: loadw */
- var32 = ptr4[i];
- /* 1: loadw */
- var33 = ptr5[i];
- /* 2: orw */
- var34.i = var32.i | var33.i;
- /* 3: storew */
- ptr0[i] = var34;
- }
- }
- void
- emulate_shlw (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_union16 * ORC_RESTRICT ptr0;
- const orc_union16 * ORC_RESTRICT ptr4;
- orc_union16 var32;
- orc_union16 var33;
- ptr0 = (orc_union16 *)ex->dest_ptrs[0];
- ptr4 = (orc_union16 *)ex->src_ptrs[0];
- for (i = 0; i < n; i++) {
- /* 0: loadw */
- var32 = ptr4[i];
- /* 1: shlw */
- var33.i = var32.i << ((orc_union64 *)(ex->src_ptrs[1]))->i;
- /* 2: storew */
- ptr0[i] = var33;
- }
- }
- void
- emulate_shrsw (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_union16 * ORC_RESTRICT ptr0;
- const orc_union16 * ORC_RESTRICT ptr4;
- orc_union16 var32;
- orc_union16 var33;
- ptr0 = (orc_union16 *)ex->dest_ptrs[0];
- ptr4 = (orc_union16 *)ex->src_ptrs[0];
- for (i = 0; i < n; i++) {
- /* 0: loadw */
- var32 = ptr4[i];
- /* 1: shrsw */
- var33.i = var32.i >> ((orc_union64 *)(ex->src_ptrs[1]))->i;
- /* 2: storew */
- ptr0[i] = var33;
- }
- }
- void
- emulate_shruw (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_union16 * ORC_RESTRICT ptr0;
- const orc_union16 * ORC_RESTRICT ptr4;
- orc_union16 var32;
- orc_union16 var33;
- ptr0 = (orc_union16 *)ex->dest_ptrs[0];
- ptr4 = (orc_union16 *)ex->src_ptrs[0];
- for (i = 0; i < n; i++) {
- /* 0: loadw */
- var32 = ptr4[i];
- /* 1: shruw */
- var33.i = ((orc_uint16)var32.i) >> ((orc_union64 *)(ex->src_ptrs[1]))->i;
- /* 2: storew */
- ptr0[i] = var33;
- }
- }
- void
- emulate_signw (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_union16 * ORC_RESTRICT ptr0;
- const orc_union16 * ORC_RESTRICT ptr4;
- orc_union16 var32;
- orc_union16 var33;
- ptr0 = (orc_union16 *)ex->dest_ptrs[0];
- ptr4 = (orc_union16 *)ex->src_ptrs[0];
- for (i = 0; i < n; i++) {
- /* 0: loadw */
- var32 = ptr4[i];
- /* 1: signw */
- var33.i = ORC_CLAMP(var32.i,-1,1);
- /* 2: storew */
- ptr0[i] = var33;
- }
- }
- void
- emulate_storew (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_union16 * ORC_RESTRICT ptr0;
- const orc_union16 * ORC_RESTRICT ptr4;
- orc_union16 var32;
- ptr0 = (orc_union16 *)ex->dest_ptrs[0];
- ptr4 = (orc_union16 *)ex->src_ptrs[0];
- for (i = 0; i < n; i++) {
- /* 0: loadw */
- var32 = ptr4[i];
- /* 1: storew */
- ptr0[offset + i] = var32;
- }
- }
- void
- emulate_subw (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_union16 * ORC_RESTRICT ptr0;
- const orc_union16 * ORC_RESTRICT ptr4;
- const orc_union16 * ORC_RESTRICT ptr5;
- orc_union16 var32;
- orc_union16 var33;
- orc_union16 var34;
- ptr0 = (orc_union16 *)ex->dest_ptrs[0];
- ptr4 = (orc_union16 *)ex->src_ptrs[0];
- ptr5 = (orc_union16 *)ex->src_ptrs[1];
- for (i = 0; i < n; i++) {
- /* 0: loadw */
- var32 = ptr4[i];
- /* 1: loadw */
- var33 = ptr5[i];
- /* 2: subw */
- var34.i = var32.i - var33.i;
- /* 3: storew */
- ptr0[i] = var34;
- }
- }
- void
- emulate_subssw (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_union16 * ORC_RESTRICT ptr0;
- const orc_union16 * ORC_RESTRICT ptr4;
- const orc_union16 * ORC_RESTRICT ptr5;
- orc_union16 var32;
- orc_union16 var33;
- orc_union16 var34;
- ptr0 = (orc_union16 *)ex->dest_ptrs[0];
- ptr4 = (orc_union16 *)ex->src_ptrs[0];
- ptr5 = (orc_union16 *)ex->src_ptrs[1];
- for (i = 0; i < n; i++) {
- /* 0: loadw */
- var32 = ptr4[i];
- /* 1: loadw */
- var33 = ptr5[i];
- /* 2: subssw */
- var34.i = ORC_CLAMP_SW(var32.i - var33.i);
- /* 3: storew */
- ptr0[i] = var34;
- }
- }
- void
- emulate_subusw (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_union16 * ORC_RESTRICT ptr0;
- const orc_union16 * ORC_RESTRICT ptr4;
- const orc_union16 * ORC_RESTRICT ptr5;
- orc_union16 var32;
- orc_union16 var33;
- orc_union16 var34;
- ptr0 = (orc_union16 *)ex->dest_ptrs[0];
- ptr4 = (orc_union16 *)ex->src_ptrs[0];
- ptr5 = (orc_union16 *)ex->src_ptrs[1];
- for (i = 0; i < n; i++) {
- /* 0: loadw */
- var32 = ptr4[i];
- /* 1: loadw */
- var33 = ptr5[i];
- /* 2: subusw */
- var34.i = ORC_CLAMP_UW((orc_uint16)var32.i - (orc_uint16)var33.i);
- /* 3: storew */
- ptr0[i] = var34;
- }
- }
- void
- emulate_xorw (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_union16 * ORC_RESTRICT ptr0;
- const orc_union16 * ORC_RESTRICT ptr4;
- const orc_union16 * ORC_RESTRICT ptr5;
- orc_union16 var32;
- orc_union16 var33;
- orc_union16 var34;
- ptr0 = (orc_union16 *)ex->dest_ptrs[0];
- ptr4 = (orc_union16 *)ex->src_ptrs[0];
- ptr5 = (orc_union16 *)ex->src_ptrs[1];
- for (i = 0; i < n; i++) {
- /* 0: loadw */
- var32 = ptr4[i];
- /* 1: loadw */
- var33 = ptr5[i];
- /* 2: xorw */
- var34.i = var32.i ^ var33.i;
- /* 3: storew */
- ptr0[i] = var34;
- }
- }
- void
- emulate_absl (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_union32 * ORC_RESTRICT ptr0;
- const orc_union32 * ORC_RESTRICT ptr4;
- orc_union32 var32;
- orc_union32 var33;
- ptr0 = (orc_union32 *)ex->dest_ptrs[0];
- ptr4 = (orc_union32 *)ex->src_ptrs[0];
- for (i = 0; i < n; i++) {
- /* 0: loadl */
- var32 = ptr4[i];
- /* 1: absl */
- var33.i = ORC_ABS(var32.i);
- /* 2: storel */
- ptr0[i] = var33;
- }
- }
- void
- emulate_addl (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_union32 * ORC_RESTRICT ptr0;
- const orc_union32 * ORC_RESTRICT ptr4;
- const orc_union32 * ORC_RESTRICT ptr5;
- orc_union32 var32;
- orc_union32 var33;
- orc_union32 var34;
- ptr0 = (orc_union32 *)ex->dest_ptrs[0];
- ptr4 = (orc_union32 *)ex->src_ptrs[0];
- ptr5 = (orc_union32 *)ex->src_ptrs[1];
- for (i = 0; i < n; i++) {
- /* 0: loadl */
- var32 = ptr4[i];
- /* 1: loadl */
- var33 = ptr5[i];
- /* 2: addl */
- var34.i = var32.i + var33.i;
- /* 3: storel */
- ptr0[i] = var34;
- }
- }
- void
- emulate_addssl (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_union32 * ORC_RESTRICT ptr0;
- const orc_union32 * ORC_RESTRICT ptr4;
- const orc_union32 * ORC_RESTRICT ptr5;
- orc_union32 var32;
- orc_union32 var33;
- orc_union32 var34;
- ptr0 = (orc_union32 *)ex->dest_ptrs[0];
- ptr4 = (orc_union32 *)ex->src_ptrs[0];
- ptr5 = (orc_union32 *)ex->src_ptrs[1];
- for (i = 0; i < n; i++) {
- /* 0: loadl */
- var32 = ptr4[i];
- /* 1: loadl */
- var33 = ptr5[i];
- /* 2: addssl */
- var34.i = ORC_CLAMP_SL((orc_int64)var32.i + (orc_int64)var33.i);
- /* 3: storel */
- ptr0[i] = var34;
- }
- }
- void
- emulate_addusl (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_union32 * ORC_RESTRICT ptr0;
- const orc_union32 * ORC_RESTRICT ptr4;
- const orc_union32 * ORC_RESTRICT ptr5;
- orc_union32 var32;
- orc_union32 var33;
- orc_union32 var34;
- ptr0 = (orc_union32 *)ex->dest_ptrs[0];
- ptr4 = (orc_union32 *)ex->src_ptrs[0];
- ptr5 = (orc_union32 *)ex->src_ptrs[1];
- for (i = 0; i < n; i++) {
- /* 0: loadl */
- var32 = ptr4[i];
- /* 1: loadl */
- var33 = ptr5[i];
- /* 2: addusl */
- var34.i = ORC_CLAMP_UL((orc_int64)(orc_uint32)var32.i + (orc_int64)(orc_uint32)var33.i);
- /* 3: storel */
- ptr0[i] = var34;
- }
- }
- void
- emulate_andl (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_union32 * ORC_RESTRICT ptr0;
- const orc_union32 * ORC_RESTRICT ptr4;
- const orc_union32 * ORC_RESTRICT ptr5;
- orc_union32 var32;
- orc_union32 var33;
- orc_union32 var34;
- ptr0 = (orc_union32 *)ex->dest_ptrs[0];
- ptr4 = (orc_union32 *)ex->src_ptrs[0];
- ptr5 = (orc_union32 *)ex->src_ptrs[1];
- for (i = 0; i < n; i++) {
- /* 0: loadl */
- var32 = ptr4[i];
- /* 1: loadl */
- var33 = ptr5[i];
- /* 2: andl */
- var34.i = var32.i & var33.i;
- /* 3: storel */
- ptr0[i] = var34;
- }
- }
- void
- emulate_andnl (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_union32 * ORC_RESTRICT ptr0;
- const orc_union32 * ORC_RESTRICT ptr4;
- const orc_union32 * ORC_RESTRICT ptr5;
- orc_union32 var32;
- orc_union32 var33;
- orc_union32 var34;
- ptr0 = (orc_union32 *)ex->dest_ptrs[0];
- ptr4 = (orc_union32 *)ex->src_ptrs[0];
- ptr5 = (orc_union32 *)ex->src_ptrs[1];
- for (i = 0; i < n; i++) {
- /* 0: loadl */
- var32 = ptr4[i];
- /* 1: loadl */
- var33 = ptr5[i];
- /* 2: andnl */
- var34.i = (~var32.i) & var33.i;
- /* 3: storel */
- ptr0[i] = var34;
- }
- }
- void
- emulate_avgsl (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_union32 * ORC_RESTRICT ptr0;
- const orc_union32 * ORC_RESTRICT ptr4;
- const orc_union32 * ORC_RESTRICT ptr5;
- orc_union32 var32;
- orc_union32 var33;
- orc_union32 var34;
- ptr0 = (orc_union32 *)ex->dest_ptrs[0];
- ptr4 = (orc_union32 *)ex->src_ptrs[0];
- ptr5 = (orc_union32 *)ex->src_ptrs[1];
- for (i = 0; i < n; i++) {
- /* 0: loadl */
- var32 = ptr4[i];
- /* 1: loadl */
- var33 = ptr5[i];
- /* 2: avgsl */
- var34.i = ((orc_int64)var32.i + (orc_int64)var33.i + 1)>>1;
- /* 3: storel */
- ptr0[i] = var34;
- }
- }
- void
- emulate_avgul (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_union32 * ORC_RESTRICT ptr0;
- const orc_union32 * ORC_RESTRICT ptr4;
- const orc_union32 * ORC_RESTRICT ptr5;
- orc_union32 var32;
- orc_union32 var33;
- orc_union32 var34;
- ptr0 = (orc_union32 *)ex->dest_ptrs[0];
- ptr4 = (orc_union32 *)ex->src_ptrs[0];
- ptr5 = (orc_union32 *)ex->src_ptrs[1];
- for (i = 0; i < n; i++) {
- /* 0: loadl */
- var32 = ptr4[i];
- /* 1: loadl */
- var33 = ptr5[i];
- /* 2: avgul */
- var34.i = ((orc_uint64)(orc_uint32)var32.i + (orc_uint64)(orc_uint32)var33.i + 1)>>1;
- /* 3: storel */
- ptr0[i] = var34;
- }
- }
- void
- emulate_cmpeql (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_union32 * ORC_RESTRICT ptr0;
- const orc_union32 * ORC_RESTRICT ptr4;
- const orc_union32 * ORC_RESTRICT ptr5;
- orc_union32 var32;
- orc_union32 var33;
- orc_union32 var34;
- ptr0 = (orc_union32 *)ex->dest_ptrs[0];
- ptr4 = (orc_union32 *)ex->src_ptrs[0];
- ptr5 = (orc_union32 *)ex->src_ptrs[1];
- for (i = 0; i < n; i++) {
- /* 0: loadl */
- var32 = ptr4[i];
- /* 1: loadl */
- var33 = ptr5[i];
- /* 2: cmpeql */
- var34.i = (var32.i == var33.i) ? (~0) : 0;
- /* 3: storel */
- ptr0[i] = var34;
- }
- }
- void
- emulate_cmpgtsl (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_union32 * ORC_RESTRICT ptr0;
- const orc_union32 * ORC_RESTRICT ptr4;
- const orc_union32 * ORC_RESTRICT ptr5;
- orc_union32 var32;
- orc_union32 var33;
- orc_union32 var34;
- ptr0 = (orc_union32 *)ex->dest_ptrs[0];
- ptr4 = (orc_union32 *)ex->src_ptrs[0];
- ptr5 = (orc_union32 *)ex->src_ptrs[1];
- for (i = 0; i < n; i++) {
- /* 0: loadl */
- var32 = ptr4[i];
- /* 1: loadl */
- var33 = ptr5[i];
- /* 2: cmpgtsl */
- var34.i = (var32.i > var33.i) ? (~0) : 0;
- /* 3: storel */
- ptr0[i] = var34;
- }
- }
- void
- emulate_copyl (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_union32 * ORC_RESTRICT ptr0;
- const orc_union32 * ORC_RESTRICT ptr4;
- orc_union32 var32;
- orc_union32 var33;
- ptr0 = (orc_union32 *)ex->dest_ptrs[0];
- ptr4 = (orc_union32 *)ex->src_ptrs[0];
- for (i = 0; i < n; i++) {
- /* 0: loadl */
- var32 = ptr4[i];
- /* 1: copyl */
- var33.i = var32.i;
- /* 2: storel */
- ptr0[i] = var33;
- }
- }
- void
- emulate_loadl (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_union32 * ORC_RESTRICT ptr0;
- const orc_union32 * ORC_RESTRICT ptr4;
- orc_union32 var32;
- ptr0 = (orc_union32 *)ex->dest_ptrs[0];
- ptr4 = (orc_union32 *)ex->src_ptrs[0];
- for (i = 0; i < n; i++) {
- /* 0: loadl */
- var32 = ptr4[offset + i];
- /* 1: storel */
- ptr0[i] = var32;
- }
- }
- void
- emulate_loadoffl (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_union32 * ORC_RESTRICT ptr0;
- const orc_union32 * ORC_RESTRICT ptr4;
- orc_union32 var32;
- ptr0 = (orc_union32 *)ex->dest_ptrs[0];
- ptr4 = (orc_union32 *)ex->src_ptrs[0];
- for (i = 0; i < n; i++) {
- /* 0: loadoffl */
- var32 = ptr4[offset + i + ((orc_union64 *)(ex->src_ptrs[1]))->i];
- /* 1: storel */
- ptr0[i] = var32;
- }
- }
- void
- emulate_loadpl (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_union32 * ORC_RESTRICT ptr0;
- orc_union32 var32;
- ptr0 = (orc_union32 *)ex->dest_ptrs[0];
- /* 0: loadpl */
- var32.i = ((orc_union64 *)(ex->src_ptrs[0]))->i;
- for (i = 0; i < n; i++) {
- /* 1: storel */
- ptr0[i] = var32;
- }
- }
- void
- emulate_maxsl (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_union32 * ORC_RESTRICT ptr0;
- const orc_union32 * ORC_RESTRICT ptr4;
- const orc_union32 * ORC_RESTRICT ptr5;
- orc_union32 var32;
- orc_union32 var33;
- orc_union32 var34;
- ptr0 = (orc_union32 *)ex->dest_ptrs[0];
- ptr4 = (orc_union32 *)ex->src_ptrs[0];
- ptr5 = (orc_union32 *)ex->src_ptrs[1];
- for (i = 0; i < n; i++) {
- /* 0: loadl */
- var32 = ptr4[i];
- /* 1: loadl */
- var33 = ptr5[i];
- /* 2: maxsl */
- var34.i = ORC_MAX(var32.i, var33.i);
- /* 3: storel */
- ptr0[i] = var34;
- }
- }
- void
- emulate_maxul (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_union32 * ORC_RESTRICT ptr0;
- const orc_union32 * ORC_RESTRICT ptr4;
- const orc_union32 * ORC_RESTRICT ptr5;
- orc_union32 var32;
- orc_union32 var33;
- orc_union32 var34;
- ptr0 = (orc_union32 *)ex->dest_ptrs[0];
- ptr4 = (orc_union32 *)ex->src_ptrs[0];
- ptr5 = (orc_union32 *)ex->src_ptrs[1];
- for (i = 0; i < n; i++) {
- /* 0: loadl */
- var32 = ptr4[i];
- /* 1: loadl */
- var33 = ptr5[i];
- /* 2: maxul */
- var34.i = ORC_MAX((orc_uint32)var32.i, (orc_uint32)var33.i);
- /* 3: storel */
- ptr0[i] = var34;
- }
- }
- void
- emulate_minsl (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_union32 * ORC_RESTRICT ptr0;
- const orc_union32 * ORC_RESTRICT ptr4;
- const orc_union32 * ORC_RESTRICT ptr5;
- orc_union32 var32;
- orc_union32 var33;
- orc_union32 var34;
- ptr0 = (orc_union32 *)ex->dest_ptrs[0];
- ptr4 = (orc_union32 *)ex->src_ptrs[0];
- ptr5 = (orc_union32 *)ex->src_ptrs[1];
- for (i = 0; i < n; i++) {
- /* 0: loadl */
- var32 = ptr4[i];
- /* 1: loadl */
- var33 = ptr5[i];
- /* 2: minsl */
- var34.i = ORC_MIN(var32.i, var33.i);
- /* 3: storel */
- ptr0[i] = var34;
- }
- }
- void
- emulate_minul (OrcOpcodeExecutor *ex, int offset, int n)
- {
- int i;
- orc_union32 * ORC_RESTRICT ptr0;
- const orc_union32 * ORC_RESTRICT ptr4;
- const orc_union32 * ORC_RESTRICT ptr5;
- orc_union32 var32;
- orc_union32 var33;
- orc_union32 var34;
- ptr0 = (orc_union32 *)ex->dest_ptrs[0];
- ptr4 = (orc_union32 *)ex->src_ptrs[0];
- ptr5 = (orc_union32 *)ex->src_ptrs[1];
- for (i = 0; i < n; i++) {
- /* 0: loadl */
- var32 = ptr4[i];
- /* 1: loadl */
- var33 = ptr5[i];
- /* 2: minul */
- var34.i = ORC_MIN((orc_uint32)var32.i, (orc_uint32)var33.i);
- /* 3: storel */
- ptr0[i] = var34;
- }
- }
- void
- emulate_mulll …
Large files files are truncated, but you can click here to view the full file