Open64 (mfef90, whirl2f, and IR tools)
TAG: version-openad; SVN changeset: 916
|
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <errno.h>
#include <sys/types.h>
#include <unistd.h>
#include <ar.h>
#include "arith.internal.h"
#include "int64.h"
Go to the source code of this file.
Classes | |
union | i64_union |
Defines | |
#define | AR_HDR_SIZE sizeof(struct ar_hdr) |
#define | IEEE_FLOAT_32 (UNROUNDED_TYPE(AR_Float_IEEE_NR_32)) |
#define | IEEE_FLOAT_64 (UNROUNDED_TYPE(AR_Float_IEEE_NR_64)) |
#define | IEEE_FLOAT_128 (UNROUNDED_TYPE(AR_Float_IEEE_NR_128)) |
#define | IEEE_COMPLEX_32 (UNROUNDED_TYPE(AR_Complex_IEEE_NR_32)) |
#define | IEEE_COMPLEX_64 (UNROUNDED_TYPE(AR_Complex_IEEE_NR_64)) |
#define | IEEE_COMPLEX_128 (UNROUNDED_TYPE(AR_Complex_IEEE_NR_128)) |
#define | T3D 10 /* T3D primary machine type */ |
#define | T3E 12 /* T3E primary machine type */ |
#define | NOINTRIN 1 /* Unknown/unsupported intrinsic name */ |
#define | ARITHERR 2 /* Arithmetic error detected by intrinsic */ |
#define | EXTERROR 3 /* Unsupported external called by intrinsic */ |
#define | SETERRNO 4 /* Set errno = ERANGE */ |
#define | IFACEERR 5 /* Unsupported simulation interface */ |
#define | HOSTEXT 6 /* Call host system external */ |
#define | BADINSTR 7 /* Unsupported instructions in intrinsic */ |
#define | MPP_STACK_SIZE 2048 /* # words to allocate for stack/heap space */ |
#define | MPP_DSIB_SIZE 6 /* # words to allocate for DSIB space */ |
#define | MPP_MAX_ARGS 8 /* Max number args allowed to any routine */ |
#define | DISASM0(fmt) |
#define | DISASM1(fmt, x) |
#define | DISASM2(fmt, x, y) |
#define | DISASM3(fmt, x, y, z) |
#define | DISASM4(fmt, x, y, z, v) |
#define | DISASM5(fmt, x, y, z, v, w) |
#define | v0 0 |
#define | t1 2 |
#define | s0 9 |
#define | fp 15 |
#define | a0 16 |
#define | a1 17 |
#define | a2 18 |
#define | a3 19 |
#define | a4 20 |
#define | a5 21 |
#define | ci 25 |
#define | ret 26 |
#define | sp 30 |
#define | zero 31 |
#define | fv0 0 |
#define | fv1 1 |
#define | fa0 16 |
#define | fzero 31 |
#define | MAX_EXT_ADDRS 16 /* Max # of EXT addresses passed */ |
#define | T3E_DSIB_LOC (MPP_STACK_SIZE + (MPP_MAX_ARGS * 5)) |
#define | T3D_AHDR_SIZE 174*8 /* # bytes in T3D a.out file headers */ |
#define | CLD_T3E_AHDR_SIZE 512*8 /* # bytes in T3E a.out file headers */ |
Enumerations | |
enum | SegTypes { SEGT_DATA = 0, SEGT_TEXT = 1, SEGT_REGISTERS = 2, SEGT_STACK = 3, SEGT_EREGISTERS = 4, SEGT_BESUS = 5 } |
Functions | |
static int | call_host_external (char *func) |
static void | open_intrinsics_file (void) |
static void | load_mpp_word (AR_INT_64 *result, long segment, long offset) |
static void | store_mpp_word (long segment, long offset, AR_INT_64 *result) |
int | ar_clear_sim_state (AR_TYPE resulttype) |
int | ar_ext_address (AR_INT_64 *intaddr, const char *extaddr, int length) |
int | ar_pass_arg_address (const ar_data *arg, const AR_TYPE *argtype) |
int | ar_pass_ext_address (AR_INT_64 *extdesc, const char *addr, int nwords) |
int | ar_pass_fcd_address (const char *str, long lenstr) |
int | ar_pass_arg_value (const ar_data *arg, const AR_TYPE *argtype) |
int | ar_put_real_address (AR_INT_64 *extdesc) |
int | ar_get_function_value (ar_data *result, AR_TYPE *resulttype) |
int | ar_sim (char *intrinsic) |
Variables | |
int | ar_rounding_modes = 1<<AR_ROUND_NEAREST |
int | ar_underflow_modes = 1<<AR_UNDERFLOW_TO_PLUS_ZERO |
char | AR_libmv2 [] |
char | AR_version [] |
static int | ar_sim_version = 0 |
static int | ar_mach_type = T3D |
static AR_TYPE | integer_64 = AR_Int_64_S |
static AR_TYPE | ieee_float_32 = (AR_TYPE) IEEE_FLOAT_32 |
static AR_TYPE | ieee_float_64 = (AR_TYPE) IEEE_FLOAT_64 |
static unsigned char * | mpp_intrin = NULL |
static unsigned char * | code = NULL |
static unsigned char * | data = NULL |
static unsigned char * | stack = NULL |
static int | D_roundmode = -1 |
static AR_TYPE | D_float_32 |
static AR_TYPE | D_float_64 |
static AR_TYPE | D_float_128 |
static AR_TYPE | D_complex_64 |
static AR_TYPE | D_complex_128 |
static AR_INT_64 | R [32] |
static AR_INT_64 | F [32] |
static AR_HOST_SINT64 | numargs = 0 |
static int | n_external_addresses = 1 |
static unsigned | code_segment_id |
static unsigned | data_segment_id |
static unsigned | stack_segment_id |
static char * | external_address [MAX_EXT_ADDRS] |
static long | external_length [MAX_EXT_ADDRS] |
static int | idf_fd |
static long | idf_size |
static long | text_size |
static long | data_offset |
static char | USMID [] = "\n%Z%%M% %I% %G% %U%\n" |
static char | rcsid [] = "$Id: mpp_sim.c,v 1.1.1.1 2002-05-22 20:06:19 dsystem Exp $" |
#define a0 16 |
Definition at line 213 of file mpp_sim.c.
Referenced by ar_pass_arg_address(), ar_pass_arg_value(), ar_pass_ext_address(), ar_pass_fcd_address(), and call_host_external().
#define a2 18 |
Definition at line 215 of file mpp_sim.c.
Referenced by ar_c1frecip(), and main().
#define AR_HDR_SIZE sizeof(struct ar_hdr) |
Definition at line 48 of file mpp_sim.c.
Referenced by open_intrinsics_file().
#define BADINSTR 7 /* Unsupported instructions in intrinsic */ |
#define ci 25 |
Definition at line 219 of file mpp_sim.c.
Referenced by ar_clear_sim_state(), ar_pass_arg_address(), ar_pass_arg_value(), ar_pass_ext_address(), ar_pass_fcd_address(), and ar_sim().
#define CLD_T3E_AHDR_SIZE 512*8 /* # bytes in T3E a.out file headers */ |
Definition at line 2673 of file mpp_sim.c.
Referenced by open_intrinsics_file().
#define DISASM5 | ( | fmt, | |
x, | |||
y, | |||
z, | |||
v, | |||
w | |||
) |
#define EXTERROR 3 /* Unsupported external called by intrinsic */ |
#define fa0 16 |
Definition at line 226 of file mpp_sim.c.
Referenced by ar_pass_arg_value().
#define fp 15 |
Definition at line 212 of file mpp_sim.c.
Referenced by ar_sim(), cal_rch(), Cif_Getfiledir(), convtest128a(), convtest128b(), convtest128c(), convtest64(), craytest128_1(), craytest128_1t(), craytest128_2t(), craytest128_64(), craytest128_i(), craytest64_1(), craytest64_1t(), craytest64_2(), craytest64_2t(), craytest64_c(), craytest64_i(), craytest64_i2(), cwh_stab_emit_commons_and_equivalences(), cwh_stab_emit_list(), dotest128_1(), dotest128_2(), dotest128_i(), dotest128_r(), dotest32_1s(), dotest32_2(), dotest32_2c(), dotest64_1(), dotest64_1s(), dotest64_2(), dotest64_2c(), dotest64_c(), dotest64_i(), dotest64_i2(), FB_EDGE_TYPE_fprintf(), fdump_wn(), fdump_wn_no_st(), ieeetest32_1t(), ieeetest32_2c(), ieeetest32_2cmp(), ieeetest32_2t(), ieeetest64_1t(), ieeetest64_2c(), ieeetest64_2cmp(), ieeetest64_2t(), SCALAR_INFO::Print(), and set_arg_arr().
#define fv0 0 |
Definition at line 224 of file mpp_sim.c.
Referenced by ar_get_function_value().
#define HOSTEXT 6 /* Call host system external */ |
#define IEEE_COMPLEX_128 (UNROUNDED_TYPE(AR_Complex_IEEE_NR_128)) |
Definition at line 71 of file mpp_sim.c.
Referenced by ar_clear_sim_state(), ar_get_function_value(), ar_pass_arg_address(), and ar_pass_arg_value().
#define IEEE_COMPLEX_32 (UNROUNDED_TYPE(AR_Complex_IEEE_NR_32)) |
Definition at line 69 of file mpp_sim.c.
Referenced by ar_get_function_value(), ar_pass_arg_address(), and ar_pass_arg_value().
#define IEEE_COMPLEX_64 (UNROUNDED_TYPE(AR_Complex_IEEE_NR_64)) |
Definition at line 70 of file mpp_sim.c.
Referenced by ar_clear_sim_state(), ar_get_function_value(), ar_pass_arg_address(), and ar_pass_arg_value().
#define IEEE_FLOAT_128 (UNROUNDED_TYPE(AR_Float_IEEE_NR_128)) |
Definition at line 68 of file mpp_sim.c.
Referenced by ar_clear_sim_state(), ar_get_function_value(), ar_pass_arg_address(), and ar_pass_arg_value().
#define IEEE_FLOAT_32 (UNROUNDED_TYPE(AR_Float_IEEE_NR_32)) |
Definition at line 66 of file mpp_sim.c.
Referenced by ar_clear_sim_state(), ar_get_function_value(), ar_pass_arg_address(), and ar_pass_arg_value().
#define IEEE_FLOAT_64 (UNROUNDED_TYPE(AR_Float_IEEE_NR_64)) |
Definition at line 67 of file mpp_sim.c.
Referenced by ar_clear_sim_state(), ar_get_function_value(), ar_pass_arg_address(), and ar_pass_arg_value().
#define MAX_EXT_ADDRS 16 /* Max # of EXT addresses passed */ |
Definition at line 229 of file mpp_sim.c.
Referenced by ar_ext_address().
#define MPP_DSIB_SIZE 6 /* # words to allocate for DSIB space */ |
#define MPP_MAX_ARGS 8 /* Max number args allowed to any routine */ |
Definition at line 93 of file mpp_sim.c.
Referenced by ar_pass_arg_address(), ar_pass_arg_value(), ar_pass_ext_address(), ar_pass_fcd_address(), load_mpp_word(), open_intrinsics_file(), and store_mpp_word().
#define MPP_STACK_SIZE 2048 /* # words to allocate for stack/heap space */ |
Definition at line 91 of file mpp_sim.c.
Referenced by ar_pass_arg_address(), ar_pass_arg_value(), ar_pass_ext_address(), ar_pass_fcd_address(), ar_sim(), load_mpp_word(), open_intrinsics_file(), and store_mpp_word().
#define s0 9 |
Definition at line 211 of file mpp_sim.c.
Referenced by ar_pass_arg_address(), ar_pass_ext_address(), ar_pass_fcd_address(), ar_sim(), and memwcpy().
#define sp 30 |
Definition at line 221 of file mpp_sim.c.
Referenced by _ft_stclose(), _ft_stopen(), _gather_data(), _scatter_data(), ar_sim(), get_srcfid(), DaVinci::Parse_Node_Ids(), remap_symbols(), set_arg_arr(), write_header(), and write_unit().
#define t1 2 |
Definition at line 210 of file mpp_sim.c.
Referenced by ar_c1frecip(), ar_cfdiv128(), ar_sim(), c_qtenscale(), compare_names(), complex_divide(), cwh_get_highest_type(), cwh_stmt_insert_conformance_check(), Equivalent_Types(), fei_mvbits(), get_base_and_offset(), Select_Best_Fld_Path(), and Targ_WhirlOp().
Definition at line 73 of file mpp_sim.c.
Referenced by ar_pass_fcd_address(), ar_sim(), and open_intrinsics_file().
#define T3D_AHDR_SIZE 174*8 /* # bytes in T3D a.out file headers */ |
Definition at line 2672 of file mpp_sim.c.
Referenced by open_intrinsics_file().
Definition at line 74 of file mpp_sim.c.
Referenced by open_intrinsics_file().
#define T3E_DSIB_LOC (MPP_STACK_SIZE + (MPP_MAX_ARGS * 5)) |
Referenced by ar_sim().
#define v0 0 |
Definition at line 209 of file mpp_sim.c.
Referenced by ar_get_function_value(), ar_sim(), and call_host_external().
#define zero 31 |
Definition at line 222 of file mpp_sim.c.
Referenced by _beautify(), _FWU(), _g_complx(), _g_number(), _get_value(), _ld_write(), _MERGE(), _s_scan_extensions(), _WUF(), ar_i64toc128(), ar_itoc128(), ar_itoc64(), ar_sim(), ar_subtract_integer(), create_constructor_constant(), fei_pos_diff(), final_attr_semantics(), final_equivalence_semantics(), fixed_classify_line(), fold_aggragate_expression(), free_classify_line(), ia64_abi(), main(), and writ_rep().
enum SegTypes |
int ar_clear_sim_state | ( | AR_TYPE | resulttype | ) |
Definition at line 273 of file mpp_sim.c.
References AR_CLASS, AR_CLASS_FLOAT, AR_FLOAT_CRAY, AR_FLOAT_FORMAT, ar_float_ieee_round_nearest, ar_internal_error(), AR_STAT_OK, ci, D_complex_128, D_complex_64, D_float_128, D_float_32, D_float_64, D_roundmode, getenv(), IEEE_COMPLEX_128, IEEE_COMPLEX_64, IEEE_FLOAT_128, IEEE_FLOAT_32, IEEE_FLOAT_64, mpp_intrin, n_external_addresses, NULL, numargs, open_intrinsics_file(), and ZERO64.
int ar_ext_address | ( | AR_INT_64 * | intaddr, |
const char * | extaddr, | ||
int | length | ||
) |
Definition at line 304 of file mpp_sim.c.
References AR_STAT_OK, AR_STAT_UNDEFINED, code_segment_id, data_segment_id, external_address, external_length, MAX_EXT_ADDRS, n_external_addresses, NULL, AR_INT_64::part1, AR_INT_64::part2, AR_INT_64::part3, AR_INT_64::part4, and stack_segment_id.
int ar_get_function_value | ( | ar_data * | result, |
AR_TYPE * | resulttype | ||
) |
Definition at line 808 of file mpp_sim.c.
References AR_CLASS, AR_CLASS_FLOAT, AR_CLASS_INT, ar_convert_to_complex(), ar_convert_to_float(), ar_convert_to_integral(), AR_ERROR_STATUS, AR_STAT_INVALID_TYPE, D_complex_128, D_complex_64, D_float_128, D_float_64, fv0, IEEE_COMPLEX_128, IEEE_COMPLEX_32, IEEE_COMPLEX_64, IEEE_FLOAT_128, IEEE_FLOAT_32, IEEE_FLOAT_64, integer_64, UNROUNDED_TYPE, and v0.
int ar_pass_arg_address | ( | const ar_data * | arg, |
const AR_TYPE * | argtype | ||
) |
Definition at line 328 of file mpp_sim.c.
References a0, AR_CLASS, AR_CLASS_FLOAT, AR_const_false, AR_const_true, ar_data::ar_i64, AR_Int_32_S, AR_Int_46_S, AR_Int_64_S, ar_internal_error(), AR_Logical, AR_STAT_INVALID_TYPE, AR_STAT_OK, ci, CRAY_COMPLEX_128, CRAY_COMPLEX_64, CRAY_FLOAT_128, CRAY_FLOAT_64, D_complex_128, D_complex_64, D_float_128, D_float_32, D_float_64, D_roundmode, IEEE_COMPLEX_128, IEEE_COMPLEX_32, IEEE_COMPLEX_64, IEEE_FLOAT_128, IEEE_FLOAT_32, IEEE_FLOAT_64, MAX_ARGS, MPP_MAX_ARGS, MPP_STACK_SIZE, NULL, numargs, numargwds, AR_INT_64::part1, AR_INT_64::part2, AR_INT_64::part3, AR_INT_64::part4, ROUND_MODE, S, s0, STACK, stack, stack_segment_id, STACK_SIZE, store_mpp_word(), store_pvp_word(), UNROUNDED_TYPE, and ZERO64.
int ar_pass_arg_value | ( | const ar_data * | arg, |
const AR_TYPE * | argtype | ||
) |
Definition at line 573 of file mpp_sim.c.
References a0, AR_CLASS, AR_CLASS_FLOAT, AR_const_false, AR_const_true, ar_convert_to_float(), ar_convert_to_integral(), ar_data::ar_cplx_ieee32, ar_data::ar_i64, AR_Int_32_S, AR_Int_46_S, AR_Int_64_S, ar_internal_error(), AR_Logical, AR_STAT_INVALID_TYPE, AR_STAT_OK, AR_STAT_UNDEFINED, ci, AR_IEEE_32::coeff0, AR_IEEE_32::coeff1, CRAY_COMPLEX_128, CRAY_COMPLEX_64, CRAY_FLOAT_128, CRAY_FLOAT_64, D_complex_128, D_complex_64, D_float_128, D_float_32, D_float_64, D_roundmode, AR_IEEE_32::expo, fa0, AR_CPLX_IEEE_32::icoeff0, AR_CPLX_IEEE_32::icoeff1, IEEE_COMPLEX_128, IEEE_COMPLEX_32, IEEE_COMPLEX_64, IEEE_FLOAT_128, IEEE_FLOAT_32, ieee_float_32, IEEE_FLOAT_64, ieee_float_64, AR_CPLX_IEEE_32::iexpo, integer_64, AR_CPLX_IEEE_32::isign, MAX_ARGS, MPP_MAX_ARGS, MPP_STACK_SIZE, NULL, numargs, numargwds, AR_INT_64::part1, AR_INT_64::part2, AR_INT_64::part3, AR_INT_64::part4, AR_CPLX_IEEE_32::rcoeff0, AR_CPLX_IEEE_32::rcoeff1, AR_CPLX_IEEE_32::rexpo, ROUND_MODE, AR_CPLX_IEEE_32::rsign, S, AR_IEEE_32::sign, stack, and UNROUNDED_TYPE.
int ar_pass_ext_address | ( | AR_INT_64 * | extdesc, |
const char * | addr, | ||
int | nwords | ||
) |
Definition at line 450 of file mpp_sim.c.
References a0, ar_ext_address(), ar_internal_error(), AR_STAT_OK, ci, IS_ERROR_STATUS, MPP_MAX_ARGS, MPP_STACK_SIZE, NULL, numargs, AR_INT_64::part4, s0, stack_segment_id, store_mpp_word(), and ZERO64.
int ar_pass_fcd_address | ( | const char * | str, |
long | lenstr | ||
) |
Definition at line 506 of file mpp_sim.c.
References a0, ar_ext_address(), ar_internal_error(), ar_mach_type, AR_STAT_OK, AR_STAT_UNDEFINED, ci, IS_ERROR_STATUS, MAX_ARGS, MPP_MAX_ARGS, MPP_STACK_SIZE, NULL, numargs, numargwds, AR_INT_64::part1, AR_INT_64::part2, AR_INT_64::part3, AR_INT_64::part4, S, s0, STACK, stack_segment_id, STACK_SIZE, store_mpp_word(), store_pvp_word(), T3D, and T90.
int ar_put_real_address | ( | AR_INT_64 * | extdesc | ) |
Definition at line 784 of file mpp_sim.c.
References AR_STAT_OK, AR_STAT_UNDEFINED, external_address, n_external_addresses, AR_INT_64::part1, AR_INT_64::part2, AR_INT_64::part3, and AR_INT_64::part4.
int ar_sim | ( | char * | intrinsic | ) |
Definition at line 887 of file mpp_sim.c.
References A, ADD64, AMASK, ar_c1frecip(), ar_cfadd64(), ar_cfmul64(), ar_cfsub64(), ar_check_status(), AR_compare(), AR_Compare_EQ, AR_Compare_GT, AR_Compare_LT, AR_Compare_Unord, ar_convert_to_float(), AR_CRAY_FLOATING_POINT, AR_ERROR_STATUS, ar_ext_address(), ar_state_info::ar_float_format, AR_Float_IEEE_NR_32, AR_Float_IEEE_ZE_32, AR_IEEE_FLOATING_POINT, ar_ifadd64(), ar_ifcmp64(), ar_ifdiv64(), ar_ifix64(), ar_iflt64(), ar_ifmul64(), ar_ifsub64(), ar_imul64u(), ar_internal_error(), ar_isqrt64(), ar_mach_type, AR_RECIPROCAL_ITERATION, AR_ROUND_NEAREST, AR_ROUND_ZERO, AR_ROUNDED, ar_state_info::ar_rounding_mode, ar_sim_version, ar_sqrt(), AR_STAT_NEGATIVE, AR_STAT_OK, AR_STAT_OVERFLOW, AR_STAT_UNDEFINED, AR_STAT_ZERO, ar_state_register, ar_state_info::ar_truncate_bits, AR_UNROUNDED, i64_union::ari64, ARITHERR, ASB, B, BADINSTR, call_host_external(), ci, code, COPY64, D_float_32, D_roundmode, DISASM0, DISASM1, DISASM2, DISASM3, DISASM4, DISASM5, DISASMB, DISASMT, DISASMV, errno, EXTERROR, fp, fzero, getp1, HOSTEXT, ieee_float_32, ieee_float_64, IFACEERR, Internal, INTERRUPT_DIV, INTERRUPT_INP, INTERRUPT_INV, INTERRUPT_INX, INTERRUPT_OVF, INTERRUPT_UNF, IS_ERROR_STATUS, JSZP, i64_union::l64, load_mpp_word(), load_pvp_word(), MPP_DSIB_SIZE, MPP_STACK_SIZE, name, NEG64, NOINTRIN, NOT64, numargs, numargwds, one, p1, p2, AR_INT_64::part1, AR_INT_64::part2, AR_INT_64::part3, AR_INT_64::part4, prefix_check, PRINTMSG(), ret, RMMASK, S, s0, SETERRNO, SHLEFT64, SHLEFT64N, SHRIGHT64, SHRIGHT64N, sp, SR0, STACK, stack_segment_id, STACK_SIZE, store_mpp_word(), store_pvp_word(), T, t1, T3D, T3E_DSIB_LOC, T90, UNIMPL_INST, UNIMPL_PRFX, V, v0, VL, VM, VM1, VSZ, zero, and ZERO64.
static int call_host_external | ( | char * | func | ) | [static] |
Definition at line 870 of file mpp_sim.c.
References a0, ar_ext_address(), AR_STAT_UNDEFINED, AR_INT_64::part3, and v0.
Referenced by ar_sim().
static void load_mpp_word | ( | AR_INT_64 * | result, |
long | segment, | ||
long | offset | ||
) | [static] |
Definition at line 2996 of file mpp_sim.c.
References ar_internal_error(), data, data_segment_id, external_address, external_length, MPP_MAX_ARGS, MPP_STACK_SIZE, n_external_addresses, NULL, stack, and stack_segment_id.
Referenced by ar_sim().
static void open_intrinsics_file | ( | void | ) | [static] |
Definition at line 2687 of file mpp_sim.c.
References AR_128BIT_EXTENDED_DOUBLE, ar_state_info::ar_128bit_format, ar_state_info::ar_float_format, AR_HDR_SIZE, AR_IEEE_FLOATING_POINT, ar_internal_error(), AR_libmv2, ar_mach_type, AR_ROUND_NEAREST, ar_state_info::ar_rounding_mode, ar_sim_version, ar_state_register, ar_state_info::ar_underflow_mode, AR_UNDERFLOW_TO_PLUS_ZERO, buf, CLD_T3E_AHDR_SIZE, close, code, code_segment_id, data, data_segment_id, fd, getenv(), idf_fd, idf_size, lseek, mpp_intrin, MPP_MAX_ARGS, MPP_STACK_SIZE, NULL, open, PRINTMSG(), read, SEGT_DATA, SEGT_STACK, SEGT_TEXT, stack, stack_segment_id, strcpy, strnstrn(), T3D, T3D_AHDR_SIZE, T3E, text_size, and Warning.
Referenced by ar_clear_sim_state().
static void store_mpp_word | ( | long | segment, |
long | offset, | ||
AR_INT_64 * | result | ||
) | [static] |
Definition at line 3035 of file mpp_sim.c.
References ar_internal_error(), data, data_segment_id, external_address, external_length, MPP_MAX_ARGS, MPP_STACK_SIZE, n_external_addresses, NULL, AR_INT_64::part1, AR_INT_64::part2, AR_INT_64::part3, AR_INT_64::part4, stack, and stack_segment_id.
Referenced by ar_pass_arg_address(), ar_pass_ext_address(), ar_pass_fcd_address(), and ar_sim().
int ar_mach_type = T3D [static] |
int ar_rounding_modes = 1<<AR_ROUND_NEAREST |
int ar_sim_version = 0 [static] |
Definition at line 76 of file mpp_sim.c.
Referenced by ar_sim(), and open_intrinsics_file().
char AR_version[] |
Definition at line 96 of file mpp_sim.c.
Referenced by ar_sim(), and open_intrinsics_file().
unsigned code_segment_id [static] |
Definition at line 238 of file mpp_sim.c.
Referenced by ar_ext_address(), and open_intrinsics_file().
AR_TYPE D_complex_128 [static] |
Definition at line 106 of file mpp_sim.c.
Referenced by ar_clear_sim_state(), ar_get_function_value(), ar_pass_arg_address(), and ar_pass_arg_value().
AR_TYPE D_complex_64 [static] |
Definition at line 105 of file mpp_sim.c.
Referenced by ar_clear_sim_state(), ar_get_function_value(), ar_pass_arg_address(), and ar_pass_arg_value().
AR_TYPE D_float_128 [static] |
Definition at line 104 of file mpp_sim.c.
Referenced by ar_clear_sim_state(), ar_get_function_value(), ar_pass_arg_address(), and ar_pass_arg_value().
AR_TYPE D_float_32 [static] |
Definition at line 102 of file mpp_sim.c.
Referenced by ar_clear_sim_state(), ar_pass_arg_address(), ar_pass_arg_value(), and ar_sim().
AR_TYPE D_float_64 [static] |
Definition at line 103 of file mpp_sim.c.
Referenced by ar_clear_sim_state(), ar_get_function_value(), ar_pass_arg_address(), and ar_pass_arg_value().
int D_roundmode = -1 [static] |
Definition at line 100 of file mpp_sim.c.
Referenced by ar_clear_sim_state(), ar_pass_arg_address(), ar_pass_arg_value(), and ar_sim().
Definition at line 97 of file mpp_sim.c.
Referenced by BINARY_TREE_NODE< BINARY_NODE >::BINARY_TREE_NODE(), Hazard_Data(), load_mpp_word(), open_intrinsics_file(), and store_mpp_word().
long data_offset [static] |
unsigned data_segment_id [static] |
Definition at line 239 of file mpp_sim.c.
Referenced by ar_ext_address(), load_mpp_word(), open_intrinsics_file(), and store_mpp_word().
char* external_address[MAX_EXT_ADDRS] [static] |
Definition at line 254 of file mpp_sim.c.
Referenced by ar_ext_address(), ar_put_real_address(), load_mpp_word(), and store_mpp_word().
long external_length[MAX_EXT_ADDRS] [static] |
Definition at line 255 of file mpp_sim.c.
Referenced by ar_ext_address(), load_mpp_word(), and store_mpp_word().
int idf_fd [static] |
Definition at line 2681 of file mpp_sim.c.
Referenced by open_intrinsics_file().
long idf_size [static] |
Definition at line 2682 of file mpp_sim.c.
Referenced by open_intrinsics_file().
AR_TYPE ieee_float_32 = (AR_TYPE) IEEE_FLOAT_32 [static] |
Definition at line 80 of file mpp_sim.c.
Referenced by ar_pass_arg_value(), and ar_sim().
AR_TYPE ieee_float_64 = (AR_TYPE) IEEE_FLOAT_64 [static] |
Definition at line 81 of file mpp_sim.c.
Referenced by ar_pass_arg_value(), and ar_sim().
AR_TYPE integer_64 = AR_Int_64_S [static] |
Definition at line 79 of file mpp_sim.c.
Referenced by ar_get_function_value(), and ar_pass_arg_value().
unsigned char* mpp_intrin = NULL [static] |
Definition at line 95 of file mpp_sim.c.
Referenced by ar_clear_sim_state(), and open_intrinsics_file().
int n_external_addresses = 1 [static] |
Definition at line 233 of file mpp_sim.c.
Referenced by ar_clear_sim_state(), ar_ext_address(), ar_put_real_address(), load_mpp_word(), and store_mpp_word().
AR_HOST_SINT64 numargs = 0 [static] |
Definition at line 231 of file mpp_sim.c.
Referenced by ar_clear_sim_state(), ar_pass_arg_address(), ar_pass_arg_value(), ar_pass_ext_address(), ar_pass_fcd_address(), and ar_sim().
Definition at line 98 of file mpp_sim.c.
Referenced by ar_pass_arg_address(), ar_pass_arg_value(), load_mpp_word(), open_intrinsics_file(), and store_mpp_word().
unsigned stack_segment_id [static] |
Definition at line 240 of file mpp_sim.c.
Referenced by ar_ext_address(), ar_pass_arg_address(), ar_pass_ext_address(), ar_pass_fcd_address(), ar_sim(), load_mpp_word(), open_intrinsics_file(), and store_mpp_word().
long text_size [static] |
Definition at line 2683 of file mpp_sim.c.
Referenced by open_intrinsics_file().