s_intrin.c File Reference

#include "defines.h"
#include "host.m"
#include "host.h"
#include "target.m"
#include "target.h"
#include "globals.m"
#include "tokens.m"
#include "sytb.m"
#include "s_globals.m"
#include "debug.m"
#include "fmath.h"
#include "globals.h"
#include "tokens.h"
#include "sytb.h"
#include "s_globals.h"
Include dependency graph for s_intrin.c:

Go to the source code of this file.

Functions

static void generate_bounds_list (int bd_idx, opnd_type *result_opnd, expr_arg_type *exp_desc)
static int cri_ptr_type (int type_idx)
static void dummydummydummy (void *a, void *b)
static boolean optimize_reshape (opnd_type *result_opnd, expr_arg_type *res_exp_desc)
void conform_check (int check_args, int ir_idx, expr_arg_type *res_exp_desc, int *spec_idx, boolean assumed_size_allowed)
void sin_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void abs_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void atan2_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void aimag_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void int_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void iand_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void mod_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void free_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void malloc_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void null_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void anint_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void nint_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void sign_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void modulo_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void shift_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void num_images_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void leadz_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void not_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void aint_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void ilen_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void dim_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void max_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void ranget_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void ranf_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void real_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void mask_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void conjg_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void dprod_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void length_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void getpos_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void unit_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void cmplx_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void len_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void ichar_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void char_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void index_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void lge_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void loc_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void fcd_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void fetch_and_add_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void numarg_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void readsm_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void memory_barrier_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void remote_write_barrier_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void write_memory_barrier_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void synchronize_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void rtc_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void my_pe_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void cvmgp_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void compare_and_swap_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void csmg_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void mergee_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void adjustl_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void ceiling_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void digits_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void epsilon_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void exponent_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void floor_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void fraction_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void huge_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void ibits_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void btest_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void ibset_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void ishft_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void ishftc_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void mvbits_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void exit_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void system_clock_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void idate_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void random_seed_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void get_ieee_status_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void test_ieee_interrupt_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void set_ieee_exception_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void ieee_real_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void ieee_finite_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void lock_release_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void random_number_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void all_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void tiny_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void spacing_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void cshift_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void eoshift_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void minexponent_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void maxexponent_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void radix_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void range_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void precision_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void kind_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void bit_size_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void lbound_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void ubound_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void size_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void shape_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void present_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void logical_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void len_trim_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void nearest_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void rrspacing_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void scale_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void set_exponent_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void dshiftl_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void minval_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void dsm_numthreads_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void omp_get_max_threads_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void omp_set_lock_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void clock_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void pack_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void unpack_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void trim_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void transpose_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void spread_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void selected_int_kind_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void selected_real_kind_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void repeat_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void dot_product_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void matmul_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void transfer_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void sizeof_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void allocated_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void associated_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void reshape_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void mmx_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void mldmx_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void mld_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void mul_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void mclr_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)
void unknown_intrinsic (opnd_type *result_opnd, expr_arg_type *res_exp_desc, int *spec_idx)

Variables

static char USMID [] = "\n@(#)5.0_pl/sources/s_intrin.c 5.31 10/27/99 16:50:34\n"
boolean has_present_opr

Function Documentation

void abs_intrinsic ( opnd_type result_opnd,
expr_arg_type res_exp_desc,
int *  spec_idx 
)
void adjustl_intrinsic ( opnd_type result_opnd,
expr_arg_type res_exp_desc,
int *  spec_idx 
)
void aimag_intrinsic ( opnd_type result_opnd,
expr_arg_type res_exp_desc,
int *  spec_idx 
)
void aint_intrinsic ( opnd_type result_opnd,
expr_arg_type res_exp_desc,
int *  spec_idx 
)
void all_intrinsic ( opnd_type result_opnd,
expr_arg_type res_exp_desc,
int *  spec_idx 
)
void allocated_intrinsic ( opnd_type result_opnd,
expr_arg_type res_exp_desc,
int *  spec_idx 
)
void anint_intrinsic ( opnd_type result_opnd,
expr_arg_type res_exp_desc,
int *  spec_idx 
)
void associated_intrinsic ( opnd_type result_opnd,
expr_arg_type res_exp_desc,
int *  spec_idx 
)
void atan2_intrinsic ( opnd_type result_opnd,
expr_arg_type res_exp_desc,
int *  spec_idx 
)
void bit_size_intrinsic ( opnd_type result_opnd,
expr_arg_type res_exp_desc,
int *  spec_idx 
)
void btest_intrinsic ( opnd_type result_opnd,
expr_arg_type res_exp_desc,
int *  spec_idx 
)
void ceiling_intrinsic ( opnd_type result_opnd,
expr_arg_type res_exp_desc,
int *  spec_idx 
)
void char_intrinsic ( opnd_type result_opnd,
expr_arg_type res_exp_desc,
int *  spec_idx 
)
void clock_intrinsic ( opnd_type result_opnd,
expr_arg_type res_exp_desc,
int *  spec_idx 
)
void cmplx_intrinsic ( opnd_type result_opnd,
expr_arg_type res_exp_desc,
int *  spec_idx 
)
void compare_and_swap_intrinsic ( opnd_type result_opnd,
expr_arg_type res_exp_desc,
int *  spec_idx 
)
void conform_check ( int  check_args,
int  ir_idx,
expr_arg_type res_exp_desc,
int *  spec_idx,
boolean  assumed_size_allowed 
)

Definition at line 543 of file s_intrin.c.

References arg_info_list, AT_ELEMENTAL_INTRIN, AT_OPTIONAL, AT_Tbl_Idx, ATD_TYPE_IDX, ATP_INTRIN_ENUM, ATP_PGM_UNIT, ATP_RSLT_IDX, COPY_SHAPE, arg_strct::ed, Error, FALSE, find_base_attr(), expr_semantics_args::foldable, Func_Entry, Func_Exit, IL_ARG_DESC_IDX, IL_FLD, IL_IDX, IL_NEXT_LIST_IDX, IL_OPND, IR_FLD_L, IR_IDX_R, IR_LIST_CNT_R, IR_OPR, IR_Tbl_Idx, expr_semantics_args::linear_type, NO_Tbl_Idx, NULL, NULL_IDX, Present_Intrinsic, PRINTMSG(), expr_semantics_args::rank, Section_Subscript_Opr, expr_semantics_args::shape, Subroutine, TRACE, TRUE, TYP_LINEAR, TYP_TYPE, expr_semantics_args::type, expr_semantics_args::type_idx, Whole_Subscript_Opr, Whole_Substring_Opr, and expr_semantics_args::will_fold_later.

Referenced by abs_intrinsic(), adjustl_intrinsic(), aimag_intrinsic(), aint_intrinsic(), all_intrinsic(), allocated_intrinsic(), anint_intrinsic(), associated_intrinsic(), atan2_intrinsic(), bit_size_intrinsic(), btest_intrinsic(), ceiling_intrinsic(), char_intrinsic(), cmplx_intrinsic(), compare_and_swap_intrinsic(), conjg_intrinsic(), cshift_intrinsic(), csmg_intrinsic(), cvmgp_intrinsic(), digits_intrinsic(), dim_intrinsic(), dot_product_intrinsic(), dprod_intrinsic(), dshiftl_intrinsic(), dsm_numthreads_intrinsic(), eoshift_intrinsic(), epsilon_intrinsic(), exponent_intrinsic(), fcd_intrinsic(), fetch_and_add_intrinsic(), floor_intrinsic(), fraction_intrinsic(), free_intrinsic(), get_ieee_status_intrinsic(), getpos_intrinsic(), huge_intrinsic(), iand_intrinsic(), ibits_intrinsic(), ibset_intrinsic(), ichar_intrinsic(), ieee_finite_intrinsic(), ieee_real_intrinsic(), ilen_intrinsic(), index_intrinsic(), int_intrinsic(), ishft_intrinsic(), ishftc_intrinsic(), kind_intrinsic(), lbound_intrinsic(), leadz_intrinsic(), len_intrinsic(), len_trim_intrinsic(), length_intrinsic(), lge_intrinsic(), loc_intrinsic(), logical_intrinsic(), malloc_intrinsic(), mask_intrinsic(), matmul_intrinsic(), max_intrinsic(), maxexponent_intrinsic(), mclr_intrinsic(), memory_barrier_intrinsic(), mergee_intrinsic(), minexponent_intrinsic(), minval_intrinsic(), mld_intrinsic(), mldmx_intrinsic(), mmx_intrinsic(), mod_intrinsic(), modulo_intrinsic(), mul_intrinsic(), mvbits_intrinsic(), my_pe_intrinsic(), nearest_intrinsic(), nint_intrinsic(), not_intrinsic(), null_intrinsic(), num_images_intrinsic(), numarg_intrinsic(), omp_get_max_threads_intrinsic(), omp_set_lock_intrinsic(), pack_intrinsic(), precision_intrinsic(), present_intrinsic(), radix_intrinsic(), ranf_intrinsic(), range_intrinsic(), ranget_intrinsic(), readsm_intrinsic(), real_intrinsic(), remote_write_barrier_intrinsic(), repeat_intrinsic(), reshape_intrinsic(), rrspacing_intrinsic(), rtc_intrinsic(), scale_intrinsic(), selected_int_kind_intrinsic(), selected_real_kind_intrinsic(), set_exponent_intrinsic(), set_ieee_exception_intrinsic(), shape_intrinsic(), shift_intrinsic(), sign_intrinsic(), sin_intrinsic(), size_intrinsic(), sizeof_intrinsic(), spacing_intrinsic(), spread_intrinsic(), synchronize_intrinsic(), test_ieee_interrupt_intrinsic(), tiny_intrinsic(), transfer_intrinsic(), transpose_intrinsic(), trim_intrinsic(), ubound_intrinsic(), unit_intrinsic(), unpack_intrinsic(), and write_memory_barrier_intrinsic().

Here is the call graph for this function:

void conjg_intrinsic ( opnd_type result_opnd,
expr_arg_type res_exp_desc,
int *  spec_idx 
)
static int cri_ptr_type ( int  type_idx  )  [static]
void cshift_intrinsic ( opnd_type result_opnd,
expr_arg_type res_exp_desc,
int *  spec_idx 
)
void csmg_intrinsic ( opnd_type result_opnd,
expr_arg_type res_exp_desc,
int *  spec_idx 
)
void cvmgp_intrinsic ( opnd_type result_opnd,
expr_arg_type res_exp_desc,
int *  spec_idx 
)
void digits_intrinsic ( opnd_type result_opnd,
expr_arg_type res_exp_desc,
int *  spec_idx 
)
void dim_intrinsic ( opnd_type result_opnd,
expr_arg_type res_exp_desc,
int *  spec_idx 
)
void dot_product_intrinsic ( opnd_type result_opnd,
expr_arg_type res_exp_desc,
int *  spec_idx 
)
void dprod_intrinsic ( opnd_type result_opnd,
expr_arg_type res_exp_desc,
int *  spec_idx 
)
void dshiftl_intrinsic ( opnd_type result_opnd,
expr_arg_type res_exp_desc,
int *  spec_idx 
)
void dsm_numthreads_intrinsic ( opnd_type result_opnd,
expr_arg_type res_exp_desc,
int *  spec_idx 
)
static void dummydummydummy ( void *  a,
void *  b 
) [static]

Definition at line 254 of file s_intrin.c.

Referenced by optimize_reshape().

void eoshift_intrinsic ( opnd_type result_opnd,
expr_arg_type res_exp_desc,
int *  spec_idx 
)
void epsilon_intrinsic ( opnd_type result_opnd,
expr_arg_type res_exp_desc,
int *  spec_idx 
)
void exit_intrinsic ( opnd_type result_opnd,
expr_arg_type res_exp_desc,
int *  spec_idx 
)
void exponent_intrinsic ( opnd_type result_opnd,
expr_arg_type res_exp_desc,
int *  spec_idx 
)
void fcd_intrinsic ( opnd_type result_opnd,
expr_arg_type res_exp_desc,
int *  spec_idx 
)
void fetch_and_add_intrinsic ( opnd_type result_opnd,
expr_arg_type res_exp_desc,
int *  spec_idx 
)
void floor_intrinsic ( opnd_type result_opnd,
expr_arg_type res_exp_desc,
int *  spec_idx 
)
void fraction_intrinsic ( opnd_type result_opnd,
expr_arg_type res_exp_desc,
int *  spec_idx 
)
void free_intrinsic ( opnd_type result_opnd,
expr_arg_type res_exp_desc,
int *  spec_idx 
)
static void generate_bounds_list ( int  bd_idx,
opnd_type result_opnd,
expr_arg_type exp_desc 
) [static]
void get_ieee_status_intrinsic ( opnd_type result_opnd,
expr_arg_type res_exp_desc,
int *  spec_idx 
)
void getpos_intrinsic ( opnd_type result_opnd,
expr_arg_type res_exp_desc,
int *  spec_idx 
)
void huge_intrinsic ( opnd_type result_opnd,
expr_arg_type res_exp_desc,
int *  spec_idx 
)
void iand_intrinsic ( opnd_type result_opnd,
expr_arg_type res_exp_desc,
int *  spec_idx 
)

Definition at line 1433 of file s_intrin.c.

References And_Intrinsic, And_Opr, Ansi, arg_info_list, ATD_TYPE_IDX, ATP_INTRIN_ENUM, ATP_RSLT_IDX, Band_Opr, Beqv_Opr, BITSIZE_INT1_F90, BITSIZE_INT2_F90, BITSIZE_INT4_F90, BITSIZE_INT8_F90, Bneqv_Opr, Bor_Opr, C_INT_TO_CN, cast_typeless_constant(), CG_INTEGER_DEFAULT_TYPE, Character, CN_Tbl_Idx, conform_check(), COPY_OPND, Cvrt_Opr, arg_strct::ed, Eqv_Intrinsic, Eqv_Opr, Error, FALSE, find_opnd_line_and_column(), fold_aggragate_expression(), expr_semantics_args::foldable, Func_Entry, Func_Exit, gen_ir(), Iand_Intrinsic, Ieor_Intrinsic, Iiand_Intrinsic, Iieor_Intrinsic, Iior_Intrinsic, IL_ARG_DESC_IDX, IL_FLD, IL_IDX, IL_NEXT_LIST_IDX, IL_OPND, IL_Tbl_Idx, Integer, Integer_1, Integer_2, Integer_4, Integer_8, INTEGER_DEFAULT_TYPE, Internal, Ior_Intrinsic, IR_COL_NUM, IR_COL_NUM_L, IR_FLD_L, IR_FLD_R, IR_IDX_L, IR_IDX_R, IR_LINE_NUM, IR_LINE_NUM_L, IR_OPND_L, IR_OPND_R, IR_OPR, IR_RANK, IR_Tbl_Idx, IR_TYPE_IDX, Jiand_Intrinsic, Jieor_Intrinsic, Jior_Intrinsic, Kiand_Intrinsic, Kieor_Intrinsic, Kior_Intrinsic, expr_semantics_args::linear_type, Logical, LOGICAL_DEFAULT_TYPE, Minus_Opr, Neqv_Intrinsic, Neqv_Opr, NO_Tbl_Idx, NTR_IR_LIST_TBL, NULL, NULL_IDX, null_opnd, OPND_IDX, Or_Intrinsic, Or_Opr, PRINTMSG(), expr_semantics_args::rank, Real_4, Real_8, Shifta_Opr, Shiftl_Opr, Shiftr_Opr, Short_Char_Const, Short_Typeless_Const, storage_bit_size_tbl, TRACE, TRUE, TYP_LINEAR, TYP_TYPE, expr_semantics_args::type, expr_semantics_args::type_idx, Typeless, Typeless_4, Typeless_8, TYPELESS_DEFAULT_TYPE, expr_semantics_args::will_fold_later, and Xor_Intrinsic.

Here is the call graph for this function:

void ibits_intrinsic ( opnd_type result_opnd,
expr_arg_type res_exp_desc,
int *  spec_idx 
)
void ibset_intrinsic ( opnd_type result_opnd,
expr_arg_type res_exp_desc,
int *  spec_idx 
)
void ichar_intrinsic ( opnd_type result_opnd,
expr_arg_type res_exp_desc,
int *  spec_idx 
)
void idate_intrinsic ( opnd_type result_opnd,
expr_arg_type res_exp_desc,
int *  spec_idx 
)
void ieee_finite_intrinsic ( opnd_type result_opnd,
expr_arg_type res_exp_desc,
int *  spec_idx 
)
void ieee_real_intrinsic ( opnd_type result_opnd,
expr_arg_type res_exp_desc,
int *  spec_idx 
)
void ilen_intrinsic ( opnd_type result_opnd,
expr_arg_type res_exp_desc,
int *  spec_idx 
)
void index_intrinsic ( opnd_type result_opnd,
expr_arg_type res_exp_desc,
int *  spec_idx 
)
void int_intrinsic ( opnd_type result_opnd,
expr_arg_type res_exp_desc,
int *  spec_idx 
)
void ishft_intrinsic ( opnd_type result_opnd,
expr_arg_type res_exp_desc,
int *  spec_idx 
)
void ishftc_intrinsic ( opnd_type result_opnd,
expr_arg_type res_exp_desc,
int *  spec_idx 
)

Definition at line 8747 of file s_intrin.c.

References Abs_Opr, Ansi, arg_info_list, arg_info_list_base, arg_info_list_size, arg_info_list_top, ATD_TYPE_IDX, ATP_INTRIN_ENUM, ATP_RSLT_IDX, Band_Opr, BITSIZE_INT1_F90, BITSIZE_INT2_F90, BITSIZE_INT4_F90, BITSIZE_INT8_F90, Bor_Opr, C_INT_TO_CN, cast_opnd_to_type_idx(), cast_to_type_idx(), CG_INTEGER_DEFAULT_TYPE, CN_Tbl_Idx, arg_strct::col, compare_cn_and_value(), conform_check(), COPY_OPND, copy_subtree(), Csmg_Opr, Cvrt_Opr, arg_strct::ed, enlarge_info_list_table(), Error, FALSE, fold_aggragate_expression(), expr_semantics_args::foldable, Func_Entry, Func_Exit, gen_ir(), Gt_Opr, Iishc_Intrinsic, IL_ARG_DESC_IDX, IL_ARG_DESC_VARIANT, IL_COL_NUM, IL_FLD, IL_IDX, IL_LINE_NUM, IL_NEXT_LIST_IDX, IL_OPND, IL_Tbl_Idx, init_arg_info, Integer, Integer_1, Integer_2, Integer_4, Integer_8, INTEGER_DEFAULT_TYPE, IR_COL_NUM, IR_COL_NUM_L, IR_FLD_L, IR_IDX_L, IR_IDX_R, IR_LINE_NUM, IR_LINE_NUM_L, IR_LIST_CNT_R, IR_OPND_L, IR_OPND_R, IR_OPR, IR_RANK, IR_Tbl_Idx, IR_TYPE_IDX, Ishc_Intrinsic, Ishftc_Opr, Jishc_Intrinsic, Kishc_Intrinsic, arg_strct::line, expr_semantics_args::linear_type, Mask_Opr, Minus_Opr, NO_Tbl_Idx, NTR_IR_LIST_TBL, NULL, NULL_IDX, null_opnd, OPND_FLD, OPND_IDX, Plus_Opr, PRINTMSG(), expr_semantics_args::rank, Shift_Opr, Shifta_Opr, Shiftl_Opr, Sign_Opr, storage_bit_size_tbl, TRACE, TRUE, TYP_LINEAR, expr_semantics_args::type, expr_semantics_args::type_idx, Typeless, Typeless_4, Typeless_8, TYPELESS_DEFAULT_TYPE, Uminus_Opr, and expr_semantics_args::will_fold_later.

Here is the call graph for this function:

void kind_intrinsic ( opnd_type result_opnd,
expr_arg_type res_exp_desc,
int *  spec_idx 
)
void lbound_intrinsic ( opnd_type result_opnd,
expr_arg_type res_exp_desc,
int *  spec_idx 
)

Definition at line 12196 of file s_intrin.c.

References arg_info_list, Asg_Opr, Assignment_Stmt, AT_DEFINED, AT_OPTIONAL, AT_REFERENCED, AT_SEMANTICS_DONE, AT_Tbl_Idx, ATD_ARRAY_IDX, ATD_DATA_INIT, ATD_FLD, ATD_SAVED, ATD_STOR_BLK_IDX, ATD_TMP_IDX, ATD_TMP_INIT_NOT_DONE, ATD_TYPE_IDX, ATP_EXTERNAL_INTRIN, ATP_RSLT_IDX, BD_LB_FLD, BD_LB_IDX, BD_RANK, BD_XT_FLD, BD_XT_IDX, Before, C_INT_TO_CN, Call_Opr, cast_opnd_to_type_idx(), cast_to_cg_default(), CG_INTEGER_DEFAULT_TYPE, CLEAR_TBL_NTRY, CN_INT_TO_C, CN_INTEGER_ONE_IDX, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, compare_cn_and_value(), conform_check(), expr_semantics_args::constant, COPY_OPND, create_bd_ntry_for_const(), curr_scp_idx, curr_stmt_sh_idx, Cvmgt_Opr, arg_strct::ed, Eq_Opr, Error, EXIT, FALSE, find_base_attr(), find_opnd_line_and_column(), opnd_entry::fld, fold_aggragate_expression(), expr_semantics_args::foldable, Func_Entry, Func_Exit, gen_compiler_tmp(), gen_ir(), gen_sh(), gen_whole_subscript(), Gt_Opr, opnd_entry::idx, idx, IL_ARG_DESC_IDX, IL_ARG_DESC_VARIANT, IL_COL_NUM, IL_FLD, IL_IDX, IL_INTRIN_PLACE_HOLDER, IL_LINE_NUM, IL_NEXT_LIST_IDX, IL_OPND, IL_Tbl_Idx, Integer, Integer_8, INTEGER_DEFAULT_TYPE, io_item_must_flatten, IR_COL_NUM, IR_COL_NUM_L, IR_COL_NUM_R, IR_FLD_L, IR_FLD_R, IR_IDX_L, IR_IDX_R, IR_LINE_NUM, IR_LINE_NUM_L, IR_LINE_NUM_R, IR_LIST_CNT_L, IR_LIST_CNT_R, IR_OPND_R, IR_OPR, IR_RANK, IR_Tbl_Idx, IR_TYPE_IDX, Le_Opr, expr_semantics_args::linear_type, LOGICAL_DEFAULT_TYPE, Lt_Opr, MAX_NUM_DIMS, NO_Tbl_Idx, ntr_const_tbl(), NTR_IR_LIST_TBL, NTR_IR_TBL, ntr_type_tbl(), NULL, NULL_IDX, null_opnd, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPN