Open64 (mfef90, whirl2f, and IR tools)  TAG: version-openad; SVN changeset: 916
f90_macros.h File Reference

Go to the source code of this file.

Defines

#define BITS_PER_INT   ( sizeof ( int ) * 8 )
#define LOG2(num)   ( BITS_PER_INT - _leadz(num) - 1 )
#define EXTENT_CHK(array)
#define SETUP_EXTENTS()
#define SETUP_BLKCNTS()
#define INIT_SDD()
#define INIT_LOC_SDD()
#define USE_IT   1L
#define DONT_USE_IT   0L
#define FALSE_MASK   -1L
#define CHECK_MASK(sdd_ptr, flag)
#define USE_IT   1L
#define FALSE_MASK   -1L
#define CHECK_STOP(sdd_ptr, flag)
#define DIM_CHK(dim)
#define INIT_DIM_COUNT()
#define INIT_SHFT_SDD()
#define INIT_SHIFT_COUNT()
#define INIT_BOUND_1WORD()
#define INIT_BOUND_2WORD()
#define SETUP_PRE_BLKCNTS()

Define Documentation

#define BITS_PER_INT   ( sizeof ( int ) * 8 )

Definition at line 52 of file f90_macros.h.

#define CHECK_MASK (   sdd_ptr,
  flag 
)
Value:
flag = DONT_USE_IT;                                             \
        if (mask) {                                                     \
            if (mask->n_dim > 0) {                                      \
                sdd_ptr = mask->base_addr.a.ptr;                        \
                flag = USE_IT;                                          \
            } else {                                                    \
                if (_ltob((int *)mask->base_addr.a.ptr) == 0) {         \
                    flag = FALSE_MASK;                                  \
                }                                                       \
            }                                                           \
        } else {                                                        \
            sdd_ptr = 0;                                                \
        }

Definition at line 219 of file f90_macros.h.

#define CHECK_STOP (   sdd_ptr,
  flag 
)
Value:
if (stop->n_dim > 0) {                                          \
            sdd_ptr = stop->base_addr.a.ptr;                            \
            flag = USE_IT;                                              \
        } else {                                                        \
            if (_ltob((int *)stop->base_addr.a.ptr) == 0) {             \
                flag = FALSE_MASK;                                      \
            }                                                           \
        }

Definition at line 257 of file f90_macros.h.

#define DIM_CHK (   dim)
Value:
if ((*dim < 1) || (*dim > RANK)) {                              \
            _lerror(_LELVL_ABORT, FESCIDIM);                            \
        }

Definition at line 278 of file f90_macros.h.

#define DONT_USE_IT   0L

Definition at line 216 of file f90_macros.h.

#define EXTENT_CHK (   array)
Value:
_Pragma("shortloop");                                                   \
        for (i=0; i < array->n_dim; i++) {                              \
            if (array->dimension[i].extent == 0) {                      \
                result->ptr_alloc = 1;                                  \
                result->assoc = 1;                                      \
                result->n_dim = 0;                                      \
                result->dimension[0].extent = 0;                        \
                result->dimension[0].stride_mult = 1;                   \
                return;                                                 \
            }                                                           \
        }

Definition at line 68 of file f90_macros.h.

#define FALSE_MASK   -1L

Definition at line 255 of file f90_macros.h.

#define FALSE_MASK   -1L

Definition at line 255 of file f90_macros.h.

#define INIT_BOUND_1WORD ( )
Value:
if (boundary) {                                                 \
            if (boundary->n_dim == 0) {                                 \
                bndflag = 1;                                            \
                i = (int) boundary->base_addr.a.ptr;                    \
                if (i > 0)                                              \
                    vptr = (void *) boundary->base_addr.a.ptr;          \
                else                                                    \
                    vptr = _sdd_read_base(boundary->base_addr.a.ptr);   \
                ptr = (int *) vptr;                                     \
                bndval = ptr[0];                                        \
            } else {                                                    \
                bndflag = 0;                                            \
            }                                                           \
        } else {                                                        \
            bndflag = 1;                                                \
            if (source->type_lens.type == DVTYPE_INTEGER)               \
                bndval = 0;                                             \
            else if (source->type_lens.type == DVTYPE_REAL)             \
                bndval = *(int *) &defaultr;                            \
            else                                                        \
                bndval = _btol (0);                                     \
        }

Definition at line 367 of file f90_macros.h.

#define INIT_BOUND_2WORD ( )
Value:
if (boundary) {                                                 \
            if (boundary->n_dim == 0) {                                 \
                bndflag = 1;                                            \
                i = (int) boundary->base_addr.a.ptr;                    \
                if (i > 0)                                              \
                    vptr = (void *) boundary->base_addr.a.ptr;          \
                else                                                    \
                    vptr = _sdd_read_base(boundary->base_addr.a.ptr);   \
                ptr = (_f_comp *) vptr;                                 \
                bndval = ptr[0];                                        \
            } else {                                                    \
                bndflag = 0;                                            \
            }                                                           \
        } else {                                                        \
            bndflag = 1;                                                \
            bndval = 0.0 + 0.0i;                                        \
        }

Definition at line 391 of file f90_macros.h.

#define INIT_DIM_COUNT ( )
Value:
if (dim == NULL) {                                              \
            dim_val = 1;                                                \
        } else if ((*dim < 1) || (*dim > RANK)) {                       \
            _lerror(_LELVL_ABORT, FESCIDIM);                            \
        } else {                                                        \
            dim_val = *dim;                                             \
        }

Definition at line 295 of file f90_macros.h.

#define INIT_LOC_SDD ( )
Value:
\
        /*                                                              \
         * Set the base address field in the sdd to the base pointer.   \
         */                                                             \
                                                                        \
        _sdd_write_base(result->base_addr.a.ptr,result_base_ptr);       \
                                                                        \
        /*                                                              \
         * Calculate cyc_ebp and pe_bcnt for the 1st dimension as       \
         * log2(_N_PES). blk_ebp for the first dimension is always 0.   \
         */                                                             \
                                                                        \
        dim1_tmp = LOG2(_N_PES);                                        \
        _sdd_write_cyc_ebp(result->base_addr.a.ptr,1,dim1_tmp);         \
        _sdd_write_pe_bcnt(result->base_addr.a.ptr,1,dim1_tmp);         \
        _sdd_write_blk_ebp(result->base_addr.a.ptr,1,0);

Definition at line 180 of file f90_macros.h.

#define INIT_SDD ( )
Value:
for (i=0; i < result->n_dim; i++) {                             \
            blknums[i] = result->dimension[i].extent;                   \
            weights[i] = 2;                                             \
        }                                                               \
        _init_sdd(result->base_addr.a.ptr, result_base_ptr,             \
                result->n_dim, weights, blknums, res_extents);

Definition at line 155 of file f90_macros.h.

#define INIT_SHFT_SDD ( )
Value:
\
/*                                                                      \
 *      Set the base address field in the sdd to the base pointer.      \
 */                                                                     \
                                                                        \
        _sdd_write_base(result_sdd_ptr, result->base_addr.a.ptr);       \
                                                                        \
/*                                                                      \
 *      Copy the block fields from the source sdd to the result sdd     \
 */                                                                     \
                                                                        \
_Pragma ("shortloop"); \
        for (i = 0; i < RANK; i++) {                                    \
            tmp = _sdd_read_cyc_ebp (source->base_addr.a.ptr, i);       \
            _sdd_write_cyc_ebp (result->base_addr.a.ptr, i, tmp);       \
            tmp = _sdd_read_pe_bcnt (source->base_addr.a.ptr, i);       \
            _sdd_write_pe_bcnt (result->base_addr.a.ptr, i, tmp);       \
            tmp = _sdd_read_blk_ebp (source->base_addr.a.ptr, i);       \
            _sdd_write_blk_ebp (result->base_addr.a.ptr, i, tmp);       \
            tmp = _sdd_read_canon (source->base_addr.a.ptr);            \
            _sdd_write_canon (result->base_addr.a.ptr, tmp);            \
            tmp = _sdd_read_offset (source->base_addr.a.ptr);           \
            _sdd_write_offset (result->base_addr.a.ptr, tmp);           \
        }                                                               \

Definition at line 311 of file f90_macros.h.

#define INIT_SHIFT_COUNT ( )
Value:
if (shift->n_dim == 0) {                                        \
            shflag = _btol (1);                                         \
            i = (int) shift->base_addr.a.ptr;                           \
            if (i > 0)                                                  \
                shptr = (int *) shift->base_addr.a.ptr;                 \
            else {                                                      \
                shptr = (int *) _sdd_read_base(shift->base_addr.a.ptr); \
            }                                                           \
            shftval = shptr[0];                                         \
        } else {                                                        \
            shflag = _btol (0);                                         \
        }                                                               \

Definition at line 342 of file f90_macros.h.

#define LOG2 (   num)    ( BITS_PER_INT - _leadz(num) - 1 )

Definition at line 53 of file f90_macros.h.

#define SETUP_BLKCNTS ( )
Value:
if (_in_parallel()) {                                           \
            long *sdd_ptr;                                              \
            sdd_ptr = source->base_addr.a.ptr;                          \
            for (i=0; i < RANK; i++) {                                  \
                blkcnts[i] = _blkct(sdd_ptr,i+1,_MY_PE());              \
            }                                                           \
            for (i=0; i < *dim-1; i++) {                                \
                dim_bcnt[i] = blkcnts[i];                               \
            }                                                           \
            for (i = *dim-1;  i < RANK-1; i++) {                        \
                dim_bcnt[i] = blkcnts[i+1];                             \
            }                                                           \
        }

Definition at line 122 of file f90_macros.h.

#define SETUP_EXTENTS ( )
Value:
for (i=0; i < RANK; i++) {                                      \
            src_extents[i] = source->dimension[i].extent;               \
        }                                                               \
_Pragma("shortloop");                                                   \
        for (i=0; i < *dim-1; i++) {                                    \
            res_extents[i] =  src_extents[i];                           \
        }                                                               \
        for (i=*dim-1; i < RANK-1; i++) {                               \
            res_extents[i] = src_extents[i+1];                          \
        }

Definition at line 98 of file f90_macros.h.

#define SETUP_PRE_BLKCNTS ( )
Value:
if (_in_parallel()) {                                           \
            long *sdd_ptr;                                              \
            sdd_ptr = source->base_addr.a.ptr;                          \
            for (i=0; i < RANK; i++) {                                  \
                blkcnts[i] = _blkct(sdd_ptr,i+1,_MY_PE());              \
            }                                                           \
        }

Definition at line 421 of file f90_macros.h.

#define USE_IT   1L

Definition at line 254 of file f90_macros.h.

#define USE_IT   1L

Definition at line 254 of file f90_macros.h.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines