Open64 (mfef90, whirl2f, and IR tools)
TAG: version-openad; SVN changeset: 916
|
#include <limits.h>
#include <fp_class.h>
#include "defs.h"
#include "config.h"
#include "config_asm.h"
#include "erglob.h"
#include "tracing.h"
#include "mempool.h"
#include "mtypes.h"
#include "strtab.h"
#include "opcode.h"
#include "wintrinsic.h"
#include "wn_core.h"
#include "stab.h"
#include "targ_const.h"
#include "const.h"
#include "quad.h"
#include "quadsim.h"
#include "ir_a2b_util.h"
#include <math.h>
#include "x_math.h"
#include "targ_const_private.h"
Go to the source code of this file.
#define APPEND_TO_DBUF | ( | a, | |
b | |||
) | a = Targ_Append_To_Dbuf(a,b) |
Definition at line 4071 of file targ_const.cxx.
#define BOTH_OPNDS | ( | op0, | |
op1, | |||
type | |||
) |
Definition at line 555 of file targ_const.cxx.
Referenced by Targ_WhirlOp().
#define DEG_TO_RAD (M_PI/180.0) |
Referenced by Targ_IntrinsicOp().
#define DEXPMASK 0x800fffffffffffffll |
Definition at line 133 of file targ_const.cxx.
Referenced by fp_class_d().
#define DEXPWIDTH 11 |
Definition at line 131 of file targ_const.cxx.
Referenced by fp_class_d().
#define DMANTWIDTH 52 |
Definition at line 130 of file targ_const.cxx.
Referenced by c_q_add(), c_q_div(), c_q_mul(), c_q_sqrt(), c_q_sub(), and fp_class_d().
#define DQNANBITMASK 0xfff7ffffffffffffll |
Definition at line 134 of file targ_const.cxx.
Referenced by fp_class_d().
#define DSIGNMASK 0x7fffffffffffffffll |
Definition at line 132 of file targ_const.cxx.
Referenced by fp_class_d().
#define DUMP_STR 1 |
Definition at line 4069 of file targ_const.cxx.
#define EXPMASK 0x807fffff |
Definition at line 139 of file targ_const.cxx.
Referenced by fp_class_f().
#define EXPWIDTH 8 |
Definition at line 137 of file targ_const.cxx.
Referenced by fp_class_f().
#define FROM_TO | ( | type_from, | |
type_to | |||
) | (type_from)*(MTYPE_LAST+1)+(type_to) |
Referenced by Targ_Conv().
#define LOGICAL_MTYPE MTYPE_U4 |
Definition at line 152 of file targ_const.cxx.
Referenced by Targ_IntrinsicOp(), and Targ_WhirlOp().
#define M_PI 3.14159265358979323846 |
Definition at line 144 of file targ_const.cxx.
#define MANTWIDTH 23 |
Definition at line 136 of file targ_const.cxx.
Referenced by fp_class_f().
#define MIN_INT_I2 (1<<(sizeof(mINT16)*8 - 1)) |
Definition at line 149 of file targ_const.cxx.
#define MIN_INT_I4 (1<<(sizeof(mINT32)*8 - 1)) |
Definition at line 148 of file targ_const.cxx.
Referenced by Targ_WhirlOp().
#define MIN_INT_I8 (((mINT64)1)<<(sizeof(mINT64)*8 - 1)) |
Definition at line 147 of file targ_const.cxx.
Referenced by Targ_WhirlOp().
#define QNANBITMASK 0xffbfffff |
Definition at line 140 of file targ_const.cxx.
Referenced by fp_class_f().
#define RAD_TO_DEG (180.0/M_PI) |
Referenced by Targ_IntrinsicOp().
#define SIGNMASK 0x7fffffff |
Definition at line 138 of file targ_const.cxx.
Referenced by fp_class_f().
#define TCONFLAGS_ToStrTblENTRY | ( | flg | ) | FlagToStr_t(flg, #flg) |
Definition at line 2892 of file targ_const.cxx.
#define TPB_SIZE 8 |
#define USE_STANDARD_TYPES 1 |
Definition at line 77 of file targ_const.cxx.
typedef union QUAD_REPRESENTATION Quad_Representation |
void Check_TCON | ( | TCON * | tc | ) |
Definition at line 238 of file targ_const.cxx.
References EC_Ill_Quad_Const, ErrMsg(), QUAD::hi, Is_True, QUAD::lo, MTYPE_F4, MTYPE_F8, MTYPE_FQ, MTYPE_I1, MTYPE_I2, MTYPE_I4, MTYPE_I8, Mtype_Name(), MTYPE_U1, MTYPE_U2, MTYPE_U4, MTYPE_U8, R16_To_RQ(), TCON_R16, TCON_ty, TCON_u0, TCON_u1, TCON_u2, TCON_u3, TCON_v1, TCON_v2, and TCON_v3.
Referenced by Make_Const(), and Targ_WhirlOp().
static TCON complex_divide | ( | TCON | c0, |
TCON | c1 | ||
) | [static] |
Definition at line 365 of file targ_const.cxx.
References __c_q_add(), __c_q_div(), __c_q_ext(), __c_q_lt(), __c_q_mul(), __c_q_neg(), __c_q_sub(), EC_Inv_Mtype, ErrMsg(), fabs(), MTYPE_C4, MTYPE_C8, MTYPE_CQ, Mtype_Name(), q0, R16_To_RQ(), RQ_To_R16(), t1, TCON_clear, TCON_IR16, TCON_IR4, TCON_IR8, TCON_R16, TCON_R4, TCON_R8, and TCON_ty.
Referenced by Targ_WhirlOp().
static TCON complex_sqrt | ( | TCON | c0 | ) | [static] |
Definition at line 284 of file targ_const.cxx.
References __c_q_add(), __c_q_div(), __c_q_eq(), __c_q_ext(), __c_q_gt(), __c_q_lt(), __c_q_mul(), __c_q_neg(), __c_q_sqrt(), __c_q_sub(), c_hypot(), c_hypotf(), EC_Inv_Mtype, ErrMsg(), MTYPE_C4, MTYPE_C8, MTYPE_CQ, Mtype_Name(), q0, R16_To_RQ(), RQ_To_R16(), sqrt(), sqrtf(), TCON_clear, TCON_IR16, TCON_IR4, TCON_IR8, TCON_R16, TCON_R4, TCON_R8, and TCON_ty.
Referenced by Targ_WhirlOp().
TCON Extract_Complex_Imag | ( | TCON | complex | ) |
Definition at line 3413 of file targ_const.cxx.
References c, EC_Inv_Mtype, ErrMsg(), MTYPE_C4, MTYPE_C8, MTYPE_CQ, MTYPE_F4, MTYPE_F8, MTYPE_FQ, Mtype_Name(), Set_TCON_R16, Set_TCON_R4, Set_TCON_R8, TCON_clear, TCON_IR16, TCON_IR4, TCON_IR8, and TCON_ty.
Referenced by TCON2C_translate(), TCON2F_translate(), WN2C_const(), and WN2C_lda().
TCON Extract_Complex_Real | ( | TCON | complex | ) |
Definition at line 3384 of file targ_const.cxx.
References c, EC_Inv_Mtype, ErrMsg(), MTYPE_C4, MTYPE_C8, MTYPE_CQ, MTYPE_F4, MTYPE_F8, MTYPE_FQ, Mtype_Name(), Set_TCON_R16, Set_TCON_R4, Set_TCON_R8, TCON_clear, TCON_R16, TCON_R4, TCON_R8, and TCON_ty.
Referenced by TCON2C_translate(), TCON2F_translate(), WN2C_const(), and WN2C_lda().
TCON Extract_Quad_Hi | ( | TCON | v | ) |
Definition at line 3442 of file targ_const.cxx.
References c, EC_Inv_Mtype, ErrMsg(), QUAD::hi, MTYPE_F4, MTYPE_F8, MTYPE_FQ, Mtype_Name(), R16_To_RQ(), Set_TCON_R8, TCON_clear, TCON_R16, and TCON_ty.
TCON Extract_Quad_Lo | ( | TCON | v | ) |
Definition at line 3475 of file targ_const.cxx.
References c, EC_Inv_Mtype, ErrMsg(), QUAD::lo, MTYPE_F4, MTYPE_F8, MTYPE_FQ, Mtype_Name(), R16_To_RQ(), Set_TCON_R8, TCON_clear, TCON_R16, and TCON_ty.
INT fp_class_d | ( | double | x | ) |
Definition at line 3614 of file targ_const.cxx.
Referenced by c_fp_class_q(), and Targ_fp_class().
INT fp_class_f | ( | float | x | ) |
Definition at line 3645 of file targ_const.cxx.
References EXPMASK, EXPWIDTH, FP_NEG_DENORM, FP_NEG_INF, FP_NEG_NORM, FP_NEG_ZERO, FP_POS_DENORM, FP_POS_INF, FP_POS_NORM, FP_POS_ZERO, FP_QNAN, FP_SNAN, MANTWIDTH, QNANBITMASK, and SIGNMASK.
Referenced by Targ_fp_class().
Definition at line 4840 of file targ_const.cxx.
References EC_Inv_Mtype, ErrMsg(), fprintf(), Get_Trace(), Index_to_char_array(), MTYPE_B, MTYPE_C4, MTYPE_C8, MTYPE_CQ, MTYPE_F4, MTYPE_F8, MTYPE_FQ, MTYPE_I1, MTYPE_I2, MTYPE_I4, MTYPE_I8, MTYPE_LAST, Mtype_Name(), MTYPE_STRING, MTYPE_U1, MTYPE_U2, MTYPE_U4, MTYPE_U8, s, TCON_cp, TCON_iv0, TCON_iv1, TCON_iv2, TCON_iv3, TCON_len, TCON_ty, TCON_v0, TCON_v1, TCON_v2, TCON_v3, TFile, and TP_MISC.
TCON Host_To_Targ | ( | TYPE_ID | ty, |
INT64 | v | ||
) |
Definition at line 3197 of file targ_const.cxx.
References c, EC_Inv_Mtype, ErrMsg(), MTYPE_B, MTYPE_I1, MTYPE_I2, MTYPE_I4, MTYPE_I8, Mtype_Name(), MTYPE_U1, MTYPE_U2, MTYPE_U4, MTYPE_U8, TCON_clear, TCON_I8, and TCON_ty.
Referenced by cwh_stab_const_ST(), fei_addr_con(), INIT2F_Implied_DoLoop(), INITV_Init_Integer(), Irb_Init_Integer_Of_Type(), Set_Tcon_Value(), simp_cvtl(), SIMPNODE_ConstantFold1(), SIMPNODE_ConstantFold2(), SIMPNODE_SimplifyIntrinsic(), ST_is_const_initialized_scalar(), Targ_Convert_Length(), TCON_For_Initv(), TCON_from_stack(), TY2C_array(), TY2C_prepend_filler_field(), TY2F_Append_ARB(), WN2C_append_addr_plus_const(), WN2C_append_addr_plus_expr(), WN2C_compgoto(), WN2C_compose_bits(), WN2C_extract_bits(), WN2C_infix_op(), WN2C_intconst(), WN2C_mstore(), WN2C_switch(), WN2F_casegoto(), WN2F_Expr_Plus_Literal(), WN2F_intconst(), WN2F_triplet(), and WN_Zerocon().
TCON Host_To_Targ_Complex | ( | TYPE_ID | ty, |
double | real, | ||
double | imag | ||
) |
Definition at line 3700 of file targ_const.cxx.
References c, EC_Inv_Mtype, ErrMsg(), MTYPE_C4, MTYPE_C8, Mtype_Name(), TCON_clear, TCON_IR4, TCON_IR8, TCON_R4, TCON_R8, and TCON_ty.
Referenced by fei_arith_con(), and Set_Tcon_Value().
TCON Host_To_Targ_Complex_4 | ( | TYPE_ID | ty, |
float | real, | ||
float | imag | ||
) |
Definition at line 3732 of file targ_const.cxx.
References c, EC_Inv_Mtype, ErrMsg(), MTYPE_C4, MTYPE_C8, Mtype_Name(), TCON_clear, TCON_IR4, TCON_IR8, TCON_R4, TCON_R8, and TCON_ty.
Referenced by fei_arith_con(), and Set_Tcon_Value().
TCON Host_To_Targ_Complex_Quad | ( | QUAD_TYPE | real, |
QUAD_TYPE | imag | ||
) |
Definition at line 3518 of file targ_const.cxx.
References c, MTYPE_CQ, TCON_IR16, TCON_R16, and TCON_ty.
Referenced by fei_arith_con(), and Set_Tcon_Value().
TCON Host_To_Targ_Float | ( | TYPE_ID | ty, |
double | v | ||
) |
Definition at line 3227 of file targ_const.cxx.
References c, EC_Inv_Mtype, ErrMsg(), Host_To_Targ_Float(), MTYPE_C4, MTYPE_C8, MTYPE_CQ, MTYPE_F4, MTYPE_F8, MTYPE_FQ, Mtype_Name(), Set_TCON_R4, Targ_Conv(), TCON_clear, TCON_R8, and TCON_ty.
Referenced by fei_arith_con(), Host_To_Targ_Float(), Host_To_Targ_Float_4(), INITV_Init_Float(), is_floating_equal(), Make_Reduction_Identity(), Set_Tcon_Value(), simp_div(), ST_is_const_initialized_scalar(), Targ_WhirlOp(), WN_ConstPowerOf2(), and WN_Floatconst().
TCON Host_To_Targ_Float_4 | ( | TYPE_ID | ty, |
float | v | ||
) |
Definition at line 3264 of file targ_const.cxx.
References c, EC_Inv_Mtype, ErrMsg(), Host_To_Targ_Float(), MTYPE_C4, MTYPE_C8, MTYPE_CQ, MTYPE_F4, MTYPE_F8, MTYPE_FQ, Mtype_Name(), Set_TCON_R4, Targ_Conv(), TCON_clear, TCON_R8, and TCON_ty.
Referenced by fei_arith_con().
Definition at line 3508 of file targ_const.cxx.
References c, MTYPE_FQ, TCON_R16, and TCON_ty.
Referenced by fei_arith_con(), and Set_Tcon_Value().
TCON Host_To_Targ_String | ( | TYPE_ID | ty, |
char * | v, | ||
UINT32 | l | ||
) |
Definition at line 3766 of file targ_const.cxx.
References c, FALSE, Index_to_char_array(), Is_True, Mtype_Name(), MTYPE_STRING, Save_StrN(), TCON_clear, TCON_cp, TCON_len, TCON_ty, and TRUE.
Referenced by cwh_create_str_st(), DRA_EC_Array_Portion_Parms(), fei_pattern_con(), INITV_Init_String(), Irb_Init_String(), MemCtr_Add_Common(), MemCtr_Add_Global(), MemCtr_Add_Local(), and WN_LdaString().
TCON Host_To_Targ_UV | ( | TYPE_ID | ty | ) |
Definition at line 3300 of file targ_const.cxx.
References c, EC_Inv_Mtype, ErrMsg(), MTYPE_C4, MTYPE_C8, MTYPE_CQ, MTYPE_F4, MTYPE_F8, MTYPE_FQ, Mtype_Name(), TCON_clear, TCON_iv0, TCON_iv1, TCON_iv2, TCON_iv3, TCON_ty, TCON_v0, TCON_v1, TCON_v2, and TCON_v3.
Referenced by WN_UVConst().
TCON Make_Complex | ( | TYPE_ID | ctype, |
TCON | real, | ||
TCON | imag | ||
) |
Definition at line 3353 of file targ_const.cxx.
References c, EC_Inv_Mtype, ErrMsg(), MTYPE_C4, MTYPE_C8, MTYPE_CQ, Mtype_Name(), Set_TCON_IR16, Set_TCON_IR4, Set_TCON_IR8, Set_TCON_R16, Set_TCON_R4, Set_TCON_R8, TCON_clear, TCON_R16, TCON_R4, TCON_R8, and TCON_ty.
Definition at line 199 of file targ_const.cxx.
References QUAD_REPRESENTATION::a_quad, and QUAD_REPRESENTATION::a_quadtype.
Referenced by Check_TCON(), complex_divide(), complex_sqrt(), Extract_Quad_Hi(), Extract_Quad_Lo(), Targ_Conv(), Targ_fp_class(), Targ_Is_Integral(), Targ_Is_Zero(), Targ_Print(), and Targ_WhirlOp().
Definition at line 208 of file targ_const.cxx.
References QUAD_REPRESENTATION::a_quad, and QUAD_REPRESENTATION::a_quadtype.
Referenced by complex_divide(), complex_sqrt(), Targ_Conv(), Targ_Ipower(), and Targ_WhirlOp().
UINT64 Str_To_TCONFlags | ( | const char * | str | ) |
Definition at line 2912 of file targ_const.cxx.
References ir_a2b::MapStrToFlags(), and TCONFLAGS_ToStrTbl.
char* Targ_Append_To_Dbuf | ( | char * | str, |
char | ch | ||
) |
Definition at line 4041 of file targ_const.cxx.
Referenced by Targ_Print().
Definition at line 2132 of file targ_const.cxx.
References __c_dble_q(), __c_ji_qint(), __c_ji_quint(), __c_ki_qint(), __c_ki_quint(), __c_q_ext(), __c_q_extd(), __c_q_flotj(), __c_q_flotju(), __c_q_flotk(), __c_q_flotku(), __c_sngl_q(), c, FALSE, FROM_TO, Is_True, MTYPE_B, MTYPE_C4, MTYPE_C8, MTYPE_CQ, MTYPE_F4, MTYPE_F8, MTYPE_FQ, MTYPE_I1, MTYPE_I2, MTYPE_I4, MTYPE_I8, MTYPE_LAST, Mtype_Name(), MTYPE_size_min, MTYPE_U1, MTYPE_U2, MTYPE_U4, MTYPE_U8, MTYPE_UNKNOWN, R16_To_RQ(), RQ_To_R16(), Set_TCON_IR4, Set_TCON_R4, TCON_I8, TCON_IR16, TCON_IR4, TCON_IR8, TCON_iv0, TCON_iv1, TCON_iv2, TCON_iv3, TCON_R16, TCON_R4, TCON_R8, TCON_ty, TCON_u0, TCON_U8, TCON_v0, TCON_v1, TCON_v2, TCON_v3, and Zero_I8_Tcon.
Referenced by Host_To_Targ_Float(), Host_To_Targ_Float_4(), Targ_IntrinsicOp(), Targ_To_Host_ComplexImag(), Targ_To_Host_ComplexReal(), Targ_To_Host_Float(), Targ_To_Host_Quad(), Targ_WhirlOp(), and WN_Zerocon().
Definition at line 470 of file targ_const.cxx.
References EC_Unimplemented, ErrMsg(), Host_To_Targ(), one, and Targ_To_Host().
Referenced by Targ_WhirlOp().
INT32 Targ_fp_class | ( | TCON | fvalue | ) |
Definition at line 3677 of file targ_const.cxx.
References __c_fp_class_q(), EC_Inv_Mtype, ErrMsg(), fp_class_d(), fp_class_f(), FP_QNAN, MTYPE_F4, MTYPE_F8, MTYPE_FQ, Mtype_Name(), R16_To_RQ(), TCON_R16, TCON_R4, TCON_R8, and TCON_ty.
Definition at line 2836 of file targ_const.cxx.
References c, EC_Inv_Mtype, ErrMsg(), MTYPE_F4, MTYPE_F8, MTYPE_FQ, Mtype_Name(), NULL, TCON_ty, TCON_u0, TCON_u1, TCON_u2, and TCON_u3.
TCON Targ_IntrinsicOp | ( | UINT32 | intrinsic, |
TCON | c[], | ||
BOOL * | folded | ||
) |
Definition at line 4930 of file targ_const.cxx.
References acosf(), asinf(), atan2f(), atanf(), cosf(), cosh(), coshf(), DEG_TO_RAD, expf(), FALSE, INTRN_I1LEADZ, INTRN_I1POPCNT, INTRN_I2LEADZ, INTRN_I2POPCNT, INTRN_I4DIVCEIL, INTRN_I4DIVFLOOR, INTRN_I4LEADZ, INTRN_I4POPCNT, INTRN_I8DIVCEIL, INTRN_I8DIVFLOOR, INTRN_I8LEADZ, INTRN_I8POPCNT, INTRN_U4DIVCEIL, INTRN_U4DIVFLOOR, INTRN_U8DIVCEIL, INTRN_U8DIVFLOOR, log10f(), logf(), LOGICAL_MTYPE, MTYPE_C4, MTYPE_C8, MTYPE_CQ, MTYPE_F4, MTYPE_F8, MTYPE_FQ, MTYPE_I2, MTYPE_I4, MTYPE_I8, one, OPC_F4ABS, OPC_F8ABS, OPC_FQABS, OPC_FQNEG, OPC_FQSUB, OPC_I4F4RND, OPC_I4F8RND, OPC_I4FQLT, OPC_I4FQRND, OPC_I8F4RND, OPC_I8F8RND, OPC_I8FQRND, Quad_Zero_Tcon, RAD_TO_DEG, sinf(), sinh(), sinhf(), size, tanf(), tanh(), tanhf(), Targ_Conv(), Targ_IntrinsicOp(), Targ_Power(), Targ_WhirlOp(), TCON_I4, TCON_I8, TCON_IR16, TCON_IR4, TCON_IR8, TCON_R16, TCON_R4, TCON_R8, TCON_ty, TCON_U4, TCON_U8, TCON_v1, TRUE, U, and val.
Referenced by SIMPNODE_SimplifyIntrinsic(), and Targ_IntrinsicOp().
static TCON Targ_Ipower | ( | TCON | base, |
UINT64 | exp, | ||
BOOL | neg_exp, | ||
BOOL * | folded, | ||
TYPE_ID | btype | ||
) | [static] |
Definition at line 3805 of file targ_const.cxx.
References __c_q_ext(), div_op, FALSE, MTYPE_C4, MTYPE_C8, MTYPE_CQ, MTYPE_F4, MTYPE_F8, MTYPE_FQ, MTYPE_I4, MTYPE_I8, MTYPE_U4, MTYPE_U8, NULL, OPC_C4MPY, OPC_C4RECIP, OPC_C8MPY, OPC_C8RECIP, OPC_CQMPY, OPC_CQRECIP, OPC_F4MPY, OPC_F4RECIP, OPC_F8MPY, OPC_F8RECIP, OPC_FQMPY, OPC_FQRECIP, OPC_I4MPY, OPC_I8MPY, OPC_U4MPY, OPC_U8MPY, OPCODE_UNKNOWN, RQ_To_R16(), Targ_WhirlOp(), TCON_clear, TCON_I4, TCON_I8, TCON_R16, TCON_R4, TCON_R8, TCON_ty, TCON_U4, TCON_U8, and TRUE.
Referenced by Targ_Power().
BOOL Targ_Is_Integral | ( | TCON | tc, |
INT64 * | iv | ||
) |
Definition at line 4508 of file targ_const.cxx.
References __c_ji_qint(), __c_q_eq(), __c_q_flotj(), EC_Inv_Mtype, ErrMsg(), FALSE, MTYPE_B, MTYPE_C4, MTYPE_C8, MTYPE_CQ, MTYPE_F4, MTYPE_F8, MTYPE_FQ, MTYPE_I1, MTYPE_I2, MTYPE_I4, MTYPE_I8, Mtype_Name(), MTYPE_STR, MTYPE_U1, MTYPE_U2, MTYPE_U4, MTYPE_U8, R16_To_RQ(), s, TCON_I8, TCON_R16, TCON_R4, TCON_R8, TCON_ty, TCON_u0, TCON_v0, and TRUE.
Referenced by Access_vector_is_too_messy(), and Targ_Is_Power_Of_Two().
BOOL Targ_Is_Power_Of_Two | ( | TCON | t | ) |
Definition at line 4721 of file targ_const.cxx.
References FALSE, MTYPE_F4, MTYPE_F8, MTYPE_FQ, Targ_Is_Integral(), TCON_ty, TCON_v0, TCON_v1, TCON_v2, TCON_v3, and TRUE.
Referenced by simp_div().
BOOL Targ_Is_Zero | ( | TCON | t | ) |
Definition at line 4662 of file targ_const.cxx.
References __c_q_eq(), __c_q_extd(), EC_Inv_Mtype, ErrMsg(), FALSE, MTYPE_B, MTYPE_C4, MTYPE_C8, MTYPE_CQ, MTYPE_F4, MTYPE_F8, MTYPE_FQ, MTYPE_I1, MTYPE_I2, MTYPE_I4, MTYPE_I8, Mtype_Name(), MTYPE_STR, MTYPE_U1, MTYPE_U2, MTYPE_U4, MTYPE_U8, R16_To_RQ(), TCON_R16, TCON_R4, TCON_R8, TCON_ty, TCON_v0, and TCON_v1.
Definition at line 3930 of file targ_const.cxx.
References FALSE, MTYPE_F4, MTYPE_F8, MTYPE_I4, MTYPE_I8, MTYPE_U4, MTYPE_U8, Targ_Ipower(), TCON_clear, TCON_I4, TCON_I8, TCON_R4, TCON_R8, TCON_ty, TCON_U4, TCON_U8, and TRUE.
Referenced by Targ_IntrinsicOp().
char* Targ_Print | ( | const char * | fmt, |
TCON | c | ||
) |
Definition at line 2934 of file targ_const.cxx.
References __c_q_to_a(), buf, EC_Ill_Quad_Const, EC_Inv_Mtype, ErrMsg(), FALSE, QUAD::hi, Index_to_char_array(), QUAD::lo, MTYPE_B, MTYPE_C4, MTYPE_C8, MTYPE_CQ, MTYPE_F4, MTYPE_F8, MTYPE_FQ, MTYPE_I1, MTYPE_I2, MTYPE_I4, MTYPE_I8, Mtype_Name(), MTYPE_STRING, MTYPE_U1, MTYPE_U2, MTYPE_U4, MTYPE_U8, NULL, R16_To_RQ(), s, Targ_Append_To_Dbuf(), TCON_cp, TCON_I8, TCON_IR16, TCON_IR4, TCON_IR8, TCON_len, TCON_R16, TCON_R4, TCON_R8, TCON_ty, TCON_u0, TCON_u1, TCON_u2, TCON_u3, TCON_v0, and TRUE.
Referenced by Allocate_Space(), Append_ST_String(), ir_put_st(), print_op< T >::operator()(), ST::Print(), Print_INITV(), TCON2C_translate(), TCON2F_translate(), W2F_Outfile_Translate_Pu(), and WN2F_process_pragma().
char* Targ_String_Address | ( | TCON | c | ) |
Definition at line 3787 of file targ_const.cxx.
References Index_to_char_array(), Is_True, Mtype_Name(), MTYPE_STRING, TCON_cp, and TCON_ty.
Referenced by ANL_PRAGMA_CONSTRUCT::_Write_Pragma_Directives(), fei_start_ioblock(), INITVKIND_val(), ir_put_parm_keyword(), ST2F_output_keyword(), TCON2C_translate(), TCON2F_hollerith(), TCON2F_translate(), TCON_Verify(), and WN2F_io_control().
Definition at line 3796 of file targ_const.cxx.
References Is_True, Mtype_Name(), MTYPE_STRING, TCON_len, and TCON_ty.
Referenced by get_TCON_size(), INIT2F_Get_Array_Segment(), INIT2F_is_string_initv(), INIT2F_substring(), INIT2F_Translate_Array_Ref(), INITV2C_block_array(), INITVKIND_ty(), INITVKIND_val(), ir_put_parm_keyword(), ST2F_output_keyword(), ST_size(), TCON2C_translate(), TCON2F_hollerith(), and TCON2F_translate().
INT64 Targ_To_Host | ( | TCON | c | ) |
Definition at line 3127 of file targ_const.cxx.
References EC_Inv_Mtype, ErrMsg(), MTYPE_B, MTYPE_I1, MTYPE_I2, MTYPE_I4, MTYPE_I8, Mtype_Name(), MTYPE_U1, MTYPE_U2, MTYPE_U4, MTYPE_U8, TCON_I4, TCON_I8, TCON_ty, TCON_U4, and TCON_U8.
Referenced by INITV2C_val(), is_floating_equal(), LINEX::Map_access_vector(), simp_cvtl(), SIMPNODE_ConstantFold1(), SIMPNODE_ConstantFold2(), SIMPNODE_SimplifyIntrinsic(), Targ_Convert_Length(), TCON2F_translate(), and WN2F_Expr_Plus_Literal().
double Targ_To_Host_ComplexImag | ( | TCON | fvalue | ) |
Definition at line 3572 of file targ_const.cxx.
References EC_Inv_Mtype, ErrMsg(), MTYPE_C4, MTYPE_C8, MTYPE_CQ, Mtype_Name(), Targ_Conv(), Targ_To_Host_Float(), TCON_IR4, TCON_IR8, and TCON_ty.
double Targ_To_Host_ComplexReal | ( | TCON | fvalue | ) |
Definition at line 3551 of file targ_const.cxx.
References EC_Inv_Mtype, ErrMsg(), MTYPE_C4, MTYPE_C8, MTYPE_CQ, Mtype_Name(), Targ_Conv(), Targ_To_Host_Float(), TCON_R4, TCON_R8, and TCON_ty.
double Targ_To_Host_Float | ( | TCON | fvalue | ) |
Definition at line 3530 of file targ_const.cxx.
References EC_Inv_Mtype, ErrMsg(), MTYPE_F4, MTYPE_F8, MTYPE_FQ, Mtype_Name(), Targ_Conv(), Targ_To_Host_Float(), TCON_R4, TCON_R8, and TCON_ty.
Referenced by is_floating_equal(), Targ_To_Host_ComplexImag(), Targ_To_Host_ComplexReal(), and Targ_To_Host_Float().
QUAD_TYPE Targ_To_Host_Quad | ( | TCON | fvalue | ) |
Definition at line 3593 of file targ_const.cxx.
References EC_Inv_Mtype, ErrMsg(), MTYPE_F4, MTYPE_F8, MTYPE_FQ, Mtype_Name(), Targ_Conv(), Targ_To_Host_Quad(), TCON_R16, and TCON_ty.
Referenced by Targ_To_Host_Quad().
Definition at line 579 of file targ_const.cxx.
References __c_q_add(), __c_q_div(), __c_q_eq(), __c_q_ext(), __c_q_flotj(), __c_q_ge(), __c_q_gt(), __c_q_le(), __c_q_lt(), __c_q_mul(), __c_q_ne(), __c_q_neg(), __c_q_sqrt(), __c_q_sub(), BOTH_OPNDS, c, Check_TCON(), complex_divide(), complex_sqrt(), d, FALSE, FmtAssert, Host_To_Targ_Float(), Is_True, LOGICAL_MTYPE, MIN_INT_I4, MIN_INT_I8, MTYPE_C4, MTYPE_C8, MTYPE_CQ, MTYPE_F4, MTYPE_F8, MTYPE_FQ, MTYPE_I4, MTYPE_I8, MTYPE_is_integral, Mtype_Name(), MTYPE_U4, MTYPE_U8, OPC_BCAND, OPC_BCIOR, OPC_BLAND, OPC_BLIOR, OPC_BLNOT, OPC_C4ADD, OPC_C4COMPLEX, OPC_C4DIV, OPC_C4MPY, OPC_C4NEG, OPC_C4PAREN, OPC_C4RECIP, OPC_C4RSQRT, OPC_C4SQRT, OPC_C4SUB, OPC_C4TAS, OPC_C8ADD, OPC_C8COMPLEX, OPC_C8DIV, OPC_C8MPY, OPC_C8NEG, OPC_C8PAREN, OPC_C8RECIP, OPC_C8RSQRT, OPC_C8SQRT, OPC_C8SUB, OPC_C8TAS, OPC_CQADD, OPC_CQCOMPLEX, OPC_CQDIV, OPC_CQMPY, OPC_CQNEG, OPC_CQPAREN, OPC_CQRECIP, OPC_CQRSQRT, OPC_CQSQRT, OPC_CQSUB, OPC_CQTAS, OPC_F4ABS, OPC_F4ADD, OPC_F4DIV, OPC_F4F8CVT, OPC_F4FQCVT, OPC_F4I4CVT, OPC_F4I8CVT, OPC_F4IMAGPART, OPC_F4MAX, OPC_F4MIN, OPC_F4MPY, OPC_F4NEG, OPC_F4PAREN, OPC_F4REALPART, OPC_F4RECIP, OPC_F4RSQRT, OPC_F4SQRT, OPC_F4SUB, OPC_F4TAS, OPC_F4U4CVT, OPC_F4U8CVT, OPC_F8ABS, OPC_F8ADD, OPC_F8DIV, OPC_F8F4CVT, OPC_F8FQCVT, OPC_F8I4CVT, OPC_F8I8CVT, OPC_F8IMAGPART, OPC_F8MAX, OPC_F8MIN, OPC_F8MPY, OPC_F8NEG, OPC_F8PAREN, OPC_F8REALPART, OPC_F8RECIP, OPC_F8RSQRT, OPC_F8SQRT, OPC_F8SUB, OPC_F8TAS, OPC_F8U4CVT, OPC_F8U8CVT, OPC_FQABS, OPC_FQADD, OPC_FQDIV, OPC_FQF4CVT, OPC_FQF8CVT, OPC_FQI4CVT, OPC_FQI8CVT, OPC_FQIMAGPART, OPC_FQMAX, OPC_FQMIN, OPC_FQMPY, OPC_FQNEG, OPC_FQPAREN, OPC_FQREALPART, OPC_FQRECIP, OPC_FQRSQRT, OPC_FQSQRT, OPC_FQSUB, OPC_FQTAS, OPC_FQU4CVT, OPC_FQU8CVT, OPC_I1TAS, OPC_I2TAS, OPC_I4ABS, OPC_I4ADD, OPC_I4ASHR, OPC_I4BAND, OPC_I4BCVT, OPC_I4BIOR, OPC_I4BNOR, OPC_I4BNOT, OPC_I4BXOR, OPC_I4CAND, OPC_I4CIOR, OPC_I4CVTL, OPC_I4DIV, OPC_I4F4CEIL, OPC_I4F4CVT, OPC_I4F4FLOOR, OPC_I4F4RND, OPC_I4F4TRUNC, OPC_I4F8CEIL, OPC_I4F8CVT, OPC_I4F8FLOOR, OPC_I4F8RND, OPC_I4F8TRUNC, OPC_I4FQCEIL, OPC_I4FQCVT, OPC_I4FQFLOOR, OPC_I4FQRND, OPC_I4FQTRUNC, OPC_I4I8CVT, OPC_I4LAND, OPC_I4LIOR, OPC_I4LNOT, OPC_I4LSHR, OPC_I4MAX, OPC_I4MIN, OPC_I4MOD, OPC_I4MPY, OPC_I4NEG, OPC_I4REM, OPC_I4SHL, OPC_I4SUB, OPC_I4TAS, OPC_I4U8CVT, OPC_I8ABS, OPC_I8ADD, OPC_I8ASHR, OPC_I8BAND, OPC_I8BCVT, OPC_I8BIOR, OPC_I8BNOR, OPC_I8BNOT, OPC_I8BXOR, OPC_I8CVTL, OPC_I8DIV, OPC_I8F4CEIL, OPC_I8F4CVT, OPC_I8F4FLOOR, OPC_I8F4RND, OPC_I8F4TRUNC, OPC_I8F8CEIL, OPC_I8F8CVT, OPC_I8F8FLOOR, OPC_I8F8RND, OPC_I8F8TRUNC, OPC_I8FQCEIL, OPC_I8FQCVT, OPC_I8FQFLOOR, OPC_I8FQRND, OPC_I8FQTRUNC, OPC_I8I4CVT, OPC_I8LSHR, OPC_I8MAX, OPC_I8MIN, OPC_I8MOD, OPC_I8MPY, OPC_I8NEG, OPC_I8REM, OPC_I8SHL, OPC_I8SUB, OPC_I8TAS, OPC_I8U4CVT, OPC_U1TAS, OPC_U2TAS, OPC_U4ADD, OPC_U4ASHR, OPC_U4BAND, OPC_U4BCVT, OPC_U4BIOR, OPC_U4BNOR, OPC_U4BNOT, OPC_U4BXOR, OPC_U4CVTL, OPC_U4DIV, OPC_U4F4CEIL, OPC_U4F4CVT, OPC_U4F4FLOOR, OPC_U4F4RND, OPC_U4F4TRUNC, OPC_U4F8CEIL, OPC_U4F8CVT, OPC_U4F8FLOOR, OPC_U4F8RND, OPC_U4F8TRUNC, OPC_U4FQCEIL, OPC_U4FQCVT, OPC_U4FQFLOOR, OPC_U4FQRND, OPC_U4FQTRUNC, OPC_U4I8CVT, OPC_U4LSHR, OPC_U4MAX, OPC_U4MIN, OPC_U4MOD, OPC_U4MPY, OPC_U4NEG, OPC_U4REM, OPC_U4SHL, OPC_U4SUB, OPC_U4TAS, OPC_U4U8CVT, OPC_U8ADD, OPC_U8ASHR, OPC_U8BAND, OPC_U8BCVT, OPC_U8BIOR, OPC_U8BNOR, OPC_U8BNOT, OPC_U8BXOR, OPC_U8CVTL, OPC_U8DIV, OPC_U8F4CEIL, OPC_U8F4CVT, OPC_U8F4FLOOR, OPC_U8F4RND, OPC_U8F4TRUNC, OPC_U8F8CEIL, OPC_U8F8CVT, OPC_U8F8FLOOR, OPC_U8F8RND, OPC_U8F8TRUNC, OPC_U8FQCEIL, OPC_U8FQCVT, OPC_U8FQFLOOR, OPC_U8FQRND, OPC_U8FQTRUNC, OPC_U8I4CVT, OPC_U8LSHR, OPC_U8MAX, OPC_U8MIN, OPC_U8MOD, OPC_U8MPY, OPC_U8NEG, OPC_U8REM, OPC_U8SHL, OPC_U8SUB, OPC_U8TAS, OPC_U8U4CVT, OPCODE_desc(), OPCODE_name(), OPCODE_operator(), OPCODE_rtype(), OPERATOR_is_compare(), OPR_EQ, OPR_GE, OPR_GT, OPR_LE, OPR_LT, OPR_NE, q0, q1, R16_To_RQ(), RQ_To_R16(), sqrt(), sqrtf(), t1, Targ_Conv(), Targ_Convert_Length(), TCON_I4, TCON_I8, TCON_I8U8I4U4, TCON_IR16, TCON_IR4, TCON_IR8, TCON_R16, TCON_R4, TCON_R8, TCON_ty, TCON_U4, TCON_U8, TCON_v0, TCON_v1, TCON_v2, TCON_v3, and TRUE.
Referenced by is_floating_equal(), simp_cvtl(), simp_div(), SIMPNODE_ConstantFold1(), SIMPNODE_ConstantFold2(), Targ_IntrinsicOp(), Targ_Ipower(), and WN2C_infix_op().
const char* TCONFlags_To_Str | ( | UINT64 | flags | ) |
Definition at line 2904 of file targ_const.cxx.
References ir_a2b::MapFlagsToStr(), and TCONFLAGS_ToStrTbl.
TCON Quad_Zero_Tcon = { MTYPE_FQ } |
Definition at line 169 of file targ_const.cxx.
Referenced by Targ_IntrinsicOp().
Definition at line 2895 of file targ_const.cxx.
Referenced by Str_To_TCONFlags(), and TCONFlags_To_Str().
(sizeof(TCONFLAGS_ToStrTbl) / sizeof(FlagToStr_t))
Definition at line 2899 of file targ_const.cxx.
TCON Zero_I4_Tcon = { MTYPE_I4 } |
Definition at line 167 of file targ_const.cxx.
TCON Zero_I8_Tcon = { MTYPE_I8 } |
Definition at line 168 of file targ_const.cxx.
Referenced by Targ_Conv().