target.m
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039 # if defined(_HOST_OS_UNICOS) || defined(_HOST_OS_MAX)
00040 # define RESTRICT restrict
00041 # else
00042 # define RESTRICT
00043 # endif
00044
00045 # if defined(_TARGET64)
00046
00047 # define TARGET_CHARS_PER_WORD 8
00048 # define TARGET_BITS_PER_WORD 64
00049 # define TARGET_BYTES_PER_WORD 8
00050
00051 # define TARGET_BYTES_TO_WORDS(BYTE_SIZE) (((BYTE_SIZE)+7) >> 3)
00052 # define TARGET_BITS_TO_WORDS(BIT_SIZE) (((BIT_SIZE)+63) >> 6)
00053 # define WORD_ALIGNED_BIT_LENGTH(BIT_SIZE) ((((BIT_SIZE) + 63) >> 6) << 6)
00054
00055 # define MAX_WORDS_FOR_INTEGER 1
00056 # define MAX_WORDS_FOR_NUMERIC 4
00057 # define MAX_SHORT_TYPELESS_BITS 256
00058 # define MAX_CHARS_IN_TYPELESS 32
00059
00060 # define WORD_ALIGN Align_64
00061
00062 # elif defined(_TARGET32)
00063
00064 # define TARGET_CHARS_PER_WORD 4
00065 # define TARGET_BITS_PER_WORD 32
00066 # define TARGET_BYTES_PER_WORD 4
00067
00068 # define TARGET_BYTES_TO_WORDS(BYTE_SIZE) (((BYTE_SIZE)+3) >> 2)
00069 # define TARGET_BITS_TO_WORDS(BIT_SIZE) (((BIT_SIZE)+31) >> 5)
00070 # define WORD_ALIGNED_BIT_LENGTH(BIT_SIZE) ((((BIT_SIZE) + 31) >> 5) << 5)
00071
00072 # define MAX_WORDS_FOR_INTEGER 2
00073 # define MAX_WORDS_FOR_NUMERIC 8
00074 # define MAX_SHORT_TYPELESS_BITS 256
00075 # define MAX_CHARS_IN_TYPELESS 32
00076
00077 # define WORD_ALIGN Align_32
00078
00079 # endif
00080
00081 # if defined(_TARGET64)
00082 # define MAX_DV_EL_LEN 4611686018427387904
00083 # elif defined(_TARGET32)
00084 # define MAX_DV_EL_LEN 1073741823
00085 # endif
00086
00087 # if (defined(_TARGET_OS_IRIX) || defined(_TARGET_OS_LINUX))
00088 # define UNNAMED_PROGRAM_NAME "MAIN__"
00089 # define UNNAMED_PROGRAM_NAME_LEN 6
00090 # define BLANK_COMMON_NAME "_BLNK__"
00091 # define BLANK_COMMON_NAME_LEN 7
00092 # else
00093 # define UNNAMED_PROGRAM_NAME "$MAIN"
00094 # define UNNAMED_PROGRAM_NAME_LEN 5
00095 # define BLANK_COMMON_NAME "//"
00096 # define BLANK_COMMON_NAME_LEN 2
00097 # endif
00098
00099 # if 0
00100
00101 # endif
00102
00103 # if defined(_TARGET_OS_UNICOS) || defined(_TARGET_OS_MAX)
00104 # define UNIQUE_PROC_CONNECTOR "_in_"
00105 # define UNIQUE_PROC_LEN 4
00106 # else
00107 # define UNIQUE_PROC_CONNECTOR "_in_"
00108 # define UNIQUE_PROC_LEN 4
00109 # endif
00110
00111 # if 0
00112
00113
00114
00115
00116
00117
00118
00119
00120
00121
00122
00123
00124
00125 # endif
00126
00127 # if (defined(_HOST_OS_IRIX) || defined(_HOST_OS_LINUX))
00128 # define MODULE_USE_SYSTEM_PATH_VAR "FTN_SYSTEM_MODULES"
00129 # else
00130 # define MODULE_USE_SYSTEM_PATH_VAR "CRAYLIBS"
00131 # define MODULE_USE_SYSTEM_FILE "libmodules.a"
00132 # endif
00133
00134 # define SYSTEM_MODULE_USE_VAR "FORTRAN_SYSTEM_MODULES"
00135
00136
00137 # if defined(_HOST_OS_MAX) || defined(_HOST_OS_UNICOS)
00138 # define MAX_FILE_NAME_SIZE PATH_MAX+1
00139 # define MAX_PATH_NAME_SIZE PATH_MAX+1
00140 # define MACHINENAMELEN 65
00141
00142 # elif (defined(_HOST_OS_IRIX) || defined(_HOST_OS_LINUX)) || defined(_HOST_OS_SOLARIS)
00143
00144 # define MAX_FILE_NAME_SIZE 1025
00145 # define MAX_PATH_NAME_SIZE 1025
00146 # define MACHINENAMELEN 65
00147
00148 # else
00149
00150
00151
00152
00153 # define MAX_FILE_NAME_SIZE 256
00154 # define MAX_PATH_NAME_SIZE 256
00155 # define MACHINENAMELEN 65
00156 # endif
00157
00158
00159 # if defined(_HOST32) && defined(_TARGET64)
00160 # define LEX_STRTOL strtoll
00161
00162 # else
00163 # define LEX_STRTOL strtol
00164 # endif
00165
00166 # if 0
00167
00168 # endif
00169
00170 # if defined(_TARGET_SV2)
00171 # define OUR_LONG_MAX 2147483647
00172 # else
00173 # define OUR_LONG_MAX LONG_MAX
00174 # endif
00175
00176
00177 # if 0
00178
00179 # endif
00180
00181 # if defined(_HOST_LITTLE_ENDIAN)
00182
00183
00184
00185
00186 # ifdef _HOST64
00187 # define LARGE_WORD_FOR_TBL_SRCH \
00188 ( (LONG_MAX & 0xffUL) << 56) \
00189 |( (LONG_MAX & 0xff00UL) << 40) \
00190 |( (LONG_MAX & 0xff0000UL) << 24) \
00191 |( (LONG_MAX & 0xff000000UL) << 8) \
00192 |( (LONG_MAX >> 8) & 0xff000000UL) \
00193 |( (LONG_MAX >> 24) & 0x00ff0000UL) \
00194 |( (LONG_MAX >> 40) & 0x0000ff00UL) \
00195 |( (LONG_MAX >> 56) & 0x000000ffUL)
00196 # else
00197 # define LARGE_WORD_FOR_TBL_SRCH \
00198 ( (LONG_MAX & 0xffUL) << 24) \
00199 |( (LONG_MAX & 0xff00UL) << 8) \
00200 |( (LONG_MAX >> 8) & 0xff00UL) \
00201 |( (LONG_MAX >> 24) & 0x00ffUL)
00202 # endif
00203
00204 # else
00205 # define LARGE_WORD_FOR_TBL_SRCH OUR_LONG_MAX
00206 # endif
00207
00208 # if 0
00209
00210
00211 # endif
00212
00213 # define LARGEST_INTEGER_TYPE Integer_8
00214
00215 # if defined(_TARGET32) || defined(_WHIRL_HOST64_TARGET64)
00216 # define CG_LOGICAL_DEFAULT_TYPE Logical_4
00217 # elif defined(_TARGET64)
00218 # define CG_LOGICAL_DEFAULT_TYPE Logical_8
00219 # endif
00220
00221 # if (defined(_TARGET_OS_IRIX) || defined(_TARGET_OS_LINUX))
00222
00223 # define SA_INTEGER_DEFAULT_TYPE ((cmd_line_flags.s_pointer8) ? \
00224 Integer_8 : Integer_4)
00225 # elif defined(_TARGET_OS_MAX)
00226 # define SA_INTEGER_DEFAULT_TYPE CG_INTEGER_DEFAULT_TYPE
00227 # else
00228 # define SA_INTEGER_DEFAULT_TYPE INTEGER_DEFAULT_TYPE
00229 # endif
00230
00231 # define TARGET_MAX_HALF_WORD_STORAGE_TYPE(type_idx) \
00232 ((TYP_LINEAR(type_idx) == Real_4) || \
00233 (TYP_LINEAR(type_idx) == Integer_1) || \
00234 (TYP_LINEAR(type_idx) == Integer_2) || \
00235 (TYP_LINEAR(type_idx) == Integer_4) || \
00236 (TYP_LINEAR(type_idx) == Logical_1) || \
00237 (TYP_LINEAR(type_idx) == Logical_2) || \
00238 (TYP_LINEAR(type_idx) == Logical_4))
00239
00240 # define TARGET_32BIT_DOUBLE_WORD_STORAGE_TYPE(type_idx) \
00241 ((TYP_LINEAR(type_idx) == Real_8) || \
00242 (TYP_LINEAR(type_idx) == Real_16) || \
00243 (TYP_LINEAR(type_idx) == Complex_8) || \
00244 (TYP_LINEAR(type_idx) == Complex_16) || \
00245 (TYP_LINEAR(type_idx) == Integer_8) || \
00246 (TYP_LINEAR(type_idx) == Logical_8))
00247
00248 # ifdef _TARGET_OS_UNICOS
00249 # define TRUE_VALUE true_value
00250 # define FALSE_VALUE 0
00251 # else
00252 # define TRUE_VALUE 1
00253 # define FALSE_VALUE 0
00254 # endif
00255
00256
00257
00258
00259 # ifdef _TARGET_OS_UNICOS
00260
00261 # ifdef _HOST_OS_UNICOS
00262 # define MAX_STORAGE_SIZE_IN_WORDS target_machine.fld.mcmsz
00263 # else
00264 # define MAX_STORAGE_SIZE_IN_WORDS 8388608
00265 # endif
00266
00267 # elif (defined(_TARGET_OS_IRIX) || defined(_TARGET_OS_LINUX))
00268 # undef MAX_STORAGE_SIZE_IN_WORDS
00269
00270 # elif defined(_TARGET_OS_MAX)
00271 # define MAX_STORAGE_SIZE_IN_WORDS target_machine.fld.mcmsz
00272 # elif defined(_TARGET32)
00273 # define MAX_STORAGE_SIZE_IN_WORDS 67108864-1
00274 # else
00275 # define MAX_STORAGE_SIZE_IN_WORDS 8388608
00276 # endif
00277
00278 # if (defined(_TARGET_OS_IRIX) || defined(_TARGET_OS_LINUX))
00279 # define ISSUE_STORAGE_SIZE_EXCEEDED_MSG(ATTR_IDX, ERR_LVL) \
00280 PRINTMSG(AT_DEF_LINE(ATTR_IDX), 1435, ERR_LVL, \
00281 AT_DEF_COLUMN(ATTR_IDX), \
00282 AT_OBJ_NAME_PTR(ATTR_IDX), \
00283 (cmd_line_flags.s_pointer8) ? \
00284 "9,007,199,254,740,992" : "536,870,912");
00285
00286
00287 # define ISSUE_EXPR_SIZE_EXCEEDED_MSG(LINE, COLUMN, ERR_LVL) \
00288 PRINTMSG(LINE, 1434, ERR_LVL, COLUMN, \
00289 (cmd_line_flags.s_pointer8) ? \
00290 "9,007,199,254,740,992" : "536,870,912");
00291 # else
00292 # define ISSUE_STORAGE_SIZE_EXCEEDED_MSG(ATTR_IDX, ERR_LVL) \
00293 PRINTMSG(AT_DEF_LINE(ATTR_IDX), 614, ERR_LVL, \
00294 AT_DEF_COLUMN(ATTR_IDX), \
00295 AT_OBJ_NAME_PTR(ATTR_IDX), \
00296 MAX_STORAGE_SIZE_IN_WORDS);
00297
00298 # define ISSUE_EXPR_SIZE_EXCEEDED_MSG(LINE, COLUMN, ERR_LVL) \
00299 PRINTMSG(LINE, 615, ERR_LVL, COLUMN, \
00300 MAX_STORAGE_SIZE_IN_WORDS);
00301 # endif
00302
00303
00304
00305 # if defined(_TARGET_OS_UNICOS) || defined(_TARGET_OS_MAX)
00306 # define MAX_NUM_CILIST_WORDS 7
00307 # else
00308 # define MAX_NUM_CILIST_WORDS 8
00309 # endif
00310
00311
00312
00313 # if (defined(_TARGET_OS_IRIX) || defined(_TARGET_OS_LINUX))
00314 # define MAKE_EXTERNAL_NAME(ATTR_IDX, NAME_IDX, NAME_LEN) \
00315 make_external_name(ATTR_IDX, NAME_IDX, NAME_LEN);
00316 # else
00317 # define MAKE_EXTERNAL_NAME(ATTR_IDX, NAME_IDX, NAME_LEN) \
00318 ATP_EXT_NAME_IDX(ATTR_IDX) = NAME_IDX; \
00319 ATP_EXT_NAME_LEN(ATTR_IDX) = NAME_LEN;
00320 # endif
00321
00322
00323
00324
00325
00326
00327
00328
00329
00330
00331
00332
00333 # if defined(_TARGET_SV2)
00334 # define _INLINE_INTRINSICS TRUE
00335
00336 # undef _ACCEPT_BL
00337 # define _ACCEPT_FLOW TRUE
00338 # define _ACCEPT_INLINE TRUE
00339 # define _ACCEPT_MIC_SEND TRUE
00340 # define _ACCEPT_MIC_WAIT TRUE
00341 # define _ACCEPT_PATTERN TRUE
00342 # undef _ACCEPT_SHORTCIRCUIT
00343 # undef _ACCEPT_SPLIT
00344 # define _ACCEPT_STREAM TRUE
00345 # undef _ACCEPT_TASK
00346 # define _ACCEPT_VECTOR TRUE
00347 # define _ACCEPT_VSEARCH TRUE
00348
00349 # undef _ACCEPT_CMD_align
00350 # undef _ACCEPT_CMD_a_static_threadprivate
00351 # undef _ACCEPT_CMD_a_dalign
00352 # undef _ACCEPT_CMD_a_pad
00353 # undef _ACCEPT_CMD_k
00354 # undef _ACCEPT_CMD_Gd
00355 # define _ACCEPT_CMD_J TRUE
00356 # undef _ACCEPT_CMD_P
00357 # define _ACCEPT_CMD_s_cf77types TRUE
00358 # undef _ACCEPT_CMD_s_32
00359 # define _ACCEPT_CMD_s_64 TRUE
00360 # undef _ACCEPT_CMD_X
00361
00362 # define _ACCEPT_CMD_ed_g TRUE
00363
00364 # if defined(_INTEGER_1_AND_2)
00365 # define _ACCEPT_CMD_ed_h TRUE
00366 # else
00367 # undef _ACCEPT_CMD_ed_h
00368 # endif
00369 # define _ACCEPT_CMD_ed_i TRUE
00370 # define _ACCEPT_CMD_ed_j TRUE
00371 # define _ACCEPT_CMD_ed_r TRUE
00372 # undef _ACCEPT_CMD_ed_z
00373 # undef _ACCEPT_CMD_ed_A
00374 # undef _ACCEPT_CMD_ed_C
00375 # define _ACCEPT_CMD_ed_D TRUE
00376 # undef _ACCEPT_CMD_ed_U
00377 # define _ACCEPT_CMD_ed_X TRUE
00378 # define _ACCEPT_CMD_ed_0 TRUE
00379
00380 # define _ACCEPT_CMD_O_FASTINT TRUE
00381 # define _ACCEPT_CMD_O_FUSION TRUE
00382 # define _ACCEPT_CMD_O_JUMP TRUE
00383 # define _ACCEPT_CMD_O_LOOPALIGN TRUE
00384 # undef _ACCEPT_CMD_O_MATMUL_INLINE
00385 # define _ACCEPT_CMD_O_OPT_INFO TRUE
00386 # undef _ACCEPT_CMD_O_PIPELINE
00387 # undef _ACCEPT_CMD_O_RESHAPE
00388 # undef _ACCEPT_CMD_O_UNROLL
00389 # define _ACCEPT_CMD_O_ZEROINC TRUE
00390
00391 # undef _ACCEPT_DIR_SHORTLOOP128
00392
00393 # elif defined(_TARGET_OS_UNICOS)
00394 # define _INLINE_INTRINSICS TRUE
00395
00396 # define _ACCEPT_BL TRUE
00397 # define _ACCEPT_FLOW TRUE
00398 # define _ACCEPT_INLINE TRUE
00399 # define _ACCEPT_MIC_SEND TRUE
00400 # define _ACCEPT_MIC_WAIT TRUE
00401 # define _ACCEPT_PATTERN TRUE
00402 # undef _ACCEPT_SHORTCIRCUIT
00403 # undef _ACCEPT_SPLIT
00404 # define _ACCEPT_STREAM TRUE
00405 # define _ACCEPT_TASK TRUE
00406 # define _ACCEPT_VECTOR TRUE
00407 # define _ACCEPT_VSEARCH TRUE
00408
00409 # undef _ACCEPT_CMD_align
00410 # undef _ACCEPT_CMD_a_static_threadprivate
00411 # undef _ACCEPT_CMD_a_dalign
00412 # undef _ACCEPT_CMD_a_pad
00413 # undef _ACCEPT_CMD_k
00414 # undef _ACCEPT_CMD_Gd
00415 # define _ACCEPT_CMD_J TRUE
00416 # undef _ACCEPT_CMD_P
00417 # define _ACCEPT_CMD_s_cf77types TRUE
00418 # undef _ACCEPT_CMD_s_32
00419 # undef _ACCEPT_CMD_s_64
00420 # undef _ACCEPT_CMD_X
00421
00422 # define _ACCEPT_CMD_ed_g TRUE
00423
00424 # if defined(_INTEGER_1_AND_2)
00425 # define _ACCEPT_CMD_ed_h TRUE
00426 # else
00427 # undef _ACCEPT_CMD_ed_h
00428 # endif
00429 # define _ACCEPT_CMD_ed_i TRUE
00430 # define _ACCEPT_CMD_ed_j TRUE
00431 # define _ACCEPT_CMD_ed_r TRUE
00432 # undef _ACCEPT_CMD_ed_z
00433 # undef _ACCEPT_CMD_ed_A
00434 # undef _ACCEPT_CMD_ed_C
00435 # define _ACCEPT_CMD_ed_D TRUE
00436 # undef _ACCEPT_CMD_ed_U
00437 # define _ACCEPT_CMD_ed_X TRUE
00438 # define _ACCEPT_CMD_ed_0 TRUE
00439
00440 # define _ACCEPT_CMD_O_FASTINT TRUE
00441 # undef _ACCEPT_CMD_O_FUSION
00442 # undef _ACCEPT_CMD_O_JUMP
00443 # define _ACCEPT_CMD_O_LOOPALIGN TRUE
00444 # undef _ACCEPT_CMD_O_MATMUL_INLINE
00445 # define _ACCEPT_CMD_O_OPT_INFO TRUE
00446 # undef _ACCEPT_CMD_O_PIPELINE
00447 # undef _ACCEPT_CMD_O_RESHAPE
00448 # undef _ACCEPT_CMD_O_UNROLL
00449 # define _ACCEPT_CMD_O_ZEROINC TRUE
00450
00451 # define _ACCEPT_DIR_SHORTLOOP128 TRUE
00452
00453 # elif defined(_TARGET_OS_MAX)
00454 # define _INLINE_INTRINSICS TRUE
00455
00456 # define _ACCEPT_BL TRUE
00457 # undef _ACCEPT_FLOW
00458 # define _ACCEPT_INLINE TRUE
00459 # undef _ACCEPT_MIC_SEND
00460 # undef _ACCEPT_MIC_WAIT
00461 # define _ACCEPT_PATTERN TRUE
00462 # define _ACCEPT_SPLIT TRUE
00463 # undef _ACCEPT_SHORTCIRCUIT
00464 # undef _ACCEPT_STREAM
00465 # undef _ACCEPT_TASK
00466 # define _ACCEPT_VECTOR TRUE
00467 # undef _ACCEPT_VSEARCH
00468
00469 # undef _ACCEPT_CMD_align
00470 # undef _ACCEPT_CMD_a_dalign
00471 # undef _ACCEPT_CMD_a_static_threadprivate
00472 # define _ACCEPT_CMD_a_pad TRUE
00473 # undef _ACCEPT_CMD_k
00474 # define _ACCEPT_CMD_s_cf77types TRUE
00475 # define _ACCEPT_CMD_s_32 TRUE
00476 # undef _ACCEPT_CMD_s_64
00477 # undef _ACCEPT_CMD_Gd
00478 # define _ACCEPT_CMD_J TRUE
00479 # undef _ACCEPT_CMD_P
00480 # define _ACCEPT_CMD_X TRUE
00481
00482 # undef _ACCEPT_CMD_ed_g
00483 # undef _ACCEPT_CMD_ed_h
00484 # define _ACCEPT_CMD_ed_i TRUE
00485 # undef _ACCEPT_CMD_ed_j
00486 # undef _ACCEPT_CMD_ed_r
00487 # undef _ACCEPT_CMD_ed_z
00488 # define _ACCEPT_CMD_ed_A TRUE
00489 # define _ACCEPT_CMD_ed_C TRUE
00490 # define _ACCEPT_CMD_ed_D TRUE
00491 # undef _ACCEPT_CMD_ed_U
00492 # undef _ACCEPT_CMD_ed_X
00493 # define _ACCEPT_CMD_ed_0 TRUE
00494
00495 # undef _ACCEPT_CMD_O_FASTINT
00496 # define _ACCEPT_CMD_O_FUSION TRUE
00497 # define _ACCEPT_CMD_O_JUMP TRUE
00498 # undef _ACCEPT_CMD_O_LOOPALIGN
00499 # undef _ACCEPT_CMD_O_MATMUL_INLINE
00500 # define _ACCEPT_CMD_O_PIPELINE TRUE
00501 # define _ACCEPT_CMD_O_RESHAPE TRUE
00502 # define _ACCEPT_CMD_O_OPT_INFO TRUE
00503 # define _ACCEPT_CMD_O_UNROLL TRUE
00504 # define _ACCEPT_CMD_O_ZEROINC TRUE
00505
00506 # undef _ACCEPT_DIR_SHORTLOOP128
00507
00508 # elif (defined(_TARGET_OS_IRIX) || defined(_TARGET_OS_LINUX))
00509 # define _INLINE_INTRINSICS TRUE
00510
00511 # undef _ACCEPT_BL
00512 # undef _ACCEPT_FLOW
00513 # define _ACCEPT_INLINE TRUE
00514 # undef _ACCEPT_MIC_SEND
00515 # undef _ACCEPT_MIC_WAIT
00516 # undef _ACCEPT_PATTERN
00517 # undef _ACCEPT_SPLIT
00518 # define _ACCEPT_SHORTCIRCUIT TRUE
00519 # undef _ACCEPT_STREAM
00520 # define _ACCEPT_TASK TRUE
00521 # undef _ACCEPT_VECTOR
00522 # undef _ACCEPT_VSEARCH
00523
00524 # define _ACCEPT_CMD_align TRUE
00525 # define _ACCEPT_CMD_a_dalign TRUE
00526 # define _ACCEPT_CMD_a_static_threadprivate TRUE
00527 # undef _ACCEPT_CMD_a_pad
00528 # define _ACCEPT_CMD_k TRUE
00529 # undef _ACCEPT_CMD_s_cf77types
00530 # undef _ACCEPT_CMD_s_32
00531 # define _ACCEPT_CMD_s_64 TRUE
00532 # define _ACCEPT_CMD_Gd TRUE
00533 # undef _ACCEPT_CMD_J
00534 # define _ACCEPT_CMD_P TRUE
00535 # undef _ACCEPT_CMD_X
00536
00537 # define _ACCEPT_CMD_ed_g TRUE
00538 # undef _ACCEPT_CMD_ed_h
00539 # undef _ACCEPT_CMD_ed_i
00540 # define _ACCEPT_CMD_ed_j TRUE
00541 # undef _ACCEPT_CMD_ed_r
00542 # define _ACCEPT_CMD_ed_z TRUE
00543 # undef _ACCEPT_CMD_ed_A
00544 # undef _ACCEPT_CMD_ed_C
00545 # undef _ACCEPT_CMD_ed_D
00546 # define _ACCEPT_CMD_ed_U TRUE
00547 # define _ACCEPT_CMD_ed_X TRUE
00548 # undef _ACCEPT_CMD_ed_0
00549
00550 # undef _ACCEPT_CMD_O_FASTINT
00551 # undef _ACCEPT_CMD_O_FUSION
00552 # undef _ACCEPT_CMD_O_JUMP
00553 # undef _ACCEPT_CMD_O_LOOPALIGN
00554 # define _ACCEPT_CMD_O_MATMUL_INLINE TRUE
00555 # undef _ACCEPT_CMD_O_OPT_INFO
00556 # undef _ACCEPT_CMD_O_PIPELINE
00557 # undef _ACCEPT_CMD_O_RESHAPE
00558 # define _ACCEPT_CMD_O_UNROLL TRUE
00559 # define _ACCEPT_CMD_O_ZEROINC TRUE
00560
00561 # undef _ACCEPT_DIR_SHORTLOOP128
00562
00563 # elif defined(_TARGET_OS_SOLARIS)
00564 # define _INLINE_INTRINSICS TRUE
00565
00566 # undef _ACCEPT_BL
00567 # undef _ACCEPT_FLOW
00568 # undef _ACCEPT_INLINE
00569 # undef _ACCEPT_MIC_SEND
00570 # undef _ACCEPT_MIC_WAIT
00571 # define _ACCEPT_PATTERN TRUE
00572 # undef _ACCEPT_SPLIT
00573 # undef _ACCEPT_SHORTCIRCUIT
00574 # undef _ACCEPT_STREAM
00575 # define _ACCEPT_TASK TRUE
00576 # undef _ACCEPT_VECTOR
00577 # undef _ACCEPT_VSEARCH
00578
00579 # undef _ACCEPT_CMD_align
00580 # define _ACCEPT_CMD_a_dalign TRUE
00581 # undef _ACCEPT_CMD_a_static_threadprivate
00582 # undef _ACCEPT_CMD_a_pad
00583 # define _ACCEPT_CMD_k TRUE
00584 # undef _ACCEPT_CMD_s_cf77types
00585 # undef _ACCEPT_CMD_s_32
00586 # define _ACCEPT_CMD_s_64 TRUE
00587 # undef _ACCEPT_CMD_Gd
00588 # undef _ACCEPT_CMD_J
00589 # define _ACCEPT_CMD_P TRUE
00590 # undef _ACCEPT_CMD_X
00591
00592 # define _ACCEPT_CMD_ed_g TRUE
00593 # undef _ACCEPT_CMD_ed_h
00594 # undef _ACCEPT_CMD_ed_i
00595 # define _ACCEPT_CMD_ed_j TRUE
00596 # undef _ACCEPT_CMD_ed_r
00597 # undef _ACCEPT_CMD_ed_z
00598 # undef _ACCEPT_CMD_ed_A
00599 # undef _ACCEPT_CMD_ed_C
00600 # undef _ACCEPT_CMD_ed_D
00601 # define _ACCEPT_CMD_ed_U TRUE
00602 # define _ACCEPT_CMD_ed_X TRUE
00603 # undef _ACCEPT_CMD_ed_0
00604
00605 # undef _ACCEPT_CMD_O_FASTINT
00606 # undef _ACCEPT_CMD_O_FUSION
00607 # undef _ACCEPT_CMD_O_JUMP
00608 # undef _ACCEPT_CMD_O_LOOPALIGN
00609 # undef _ACCEPT_CMD_O_MATMUL_INLINE
00610 # undef _ACCEPT_CMD_O_OPT_INFO
00611 # undef _ACCEPT_CMD_O_PIPELINE
00612 # undef _ACCEPT_CMD_O_RESHAPE
00613 # define _ACCEPT_CMD_O_UNROLL TRUE
00614 # define _ACCEPT_CMD_O_ZEROINC TRUE
00615
00616 # undef _ACCEPT_DIR_SHORTLOOP128
00617
00618 # else
00619 # undef _INLINE_INTRINSICS
00620
00621 # undef _ACCEPT_BL
00622 # undef _ACCEPT_FLOW
00623 # undef _ACCEPT_INLINE
00624 # undef _ACCEPT_MIC_SEND
00625 # undef _ACCEPT_MIC_WAIT
00626 # undef _ACCEPT_PATTERN
00627 # undef _ACCEPT_TASK
00628 # undef _ACCEPT_STREAM
00629 # undef _ACCEPT_VECTOR
00630 # undef _ACCEPT_VSEARCH
00631
00632 # undef _ACCEPT_CMD_align
00633 # undef _ACCEPT_CMD_a_dalign
00634 # undef _ACCEPT_CMD_a_static_threadprivate
00635 # undef _ACCEPT_CMD_a_pad
00636 # undef _ACCEPT_CMD_k
00637 # undef _ACCEPT_CMD_s_32
00638 # undef _ACCEPT_CMD_s_64
00639 # undef _ACCEPT_CMD_Gd
00640 # undef _ACCEPT_CMD_J
00641 # undef _ACCEPT_CMD_P
00642 # undef _ACCEPT_CMD_X
00643
00644 # define _ACCEPT_CMD_ed_g TRUE
00645 # undef _ACCEPT_CMD_ed_h
00646 # define _ACCEPT_CMD_ed_i TRUE
00647 # define _ACCEPT_CMD_ed_j TRUE
00648 # define _ACCEPT_CMD_ed_r TRUE
00649 # undef _ACCEPT_CMD_ed_z
00650 # undef _ACCEPT_CMD_ed_A
00651 # undef _ACCEPT_CMD_ed_C
00652 # define _ACCEPT_CMD_ed_X TRUE
00653 # undef _ACCEPT_CMD_ed_0
00654
00655 # undef _ACCEPT_CMD_O_FASTINT
00656 # undef _ACCEPT_CMD_O_FUSION
00657 # undef _ACCEPT_CMD_O_JUMP
00658 # undef _ACCEPT_CMD_O_LOOPALIGN
00659 # undef _ACCEPT_CMD_O_MATMUL_INLINE
00660 # undef _ACCEPT_CMD_O_OPT_INFO
00661 # undef _ACCEPT_CMD_O_PIPELINE
00662 # undef _ACCEPT_CMD_O_RESHAPE
00663 # undef _ACCEPT_CMD_O_UNROLL
00664 # define _ACCEPT_CMD_O_ZEROINC TRUE
00665
00666 # undef _ACCEPT_DIR_SHORTLOOP128
00667
00668 # endif
00669
00670
00671
00672
00673
00674 # if defined(_ACCEPT_BL)
00675 # define CDIR_BL TRUE
00676 # else
00677 # define CDIR_BL FALSE
00678 # endif
00679
00680 # if defined(_ACCEPT_FLOW)
00681 # define CDIR_FLOW TRUE
00682 # else
00683 # define CDIR_FLOW FALSE
00684 # endif
00685
00686 # if defined(_ACCEPT_INLINE)
00687 # define CDIR_INLINE TRUE
00688 # else
00689 # define CDIR_INLINE FALSE
00690 # endif
00691
00692 # if defined(_ACCEPT_STREAM)
00693 # define CDIR_STREAM TRUE
00694 # else
00695 # define CDIR_STREAM FALSE
00696 # endif
00697
00698 # if defined(_ACCEPT_PATTERN)
00699 # define CDIR_PATTERN TRUE
00700 # else
00701 # define CDIR_PATTERN FALSE
00702 # endif
00703
00704 # if defined(_ACCEPT_SPLIT)
00705 # define CDIR_SPLIT TRUE
00706 # else
00707 # define CDIR_SPLIT FALSE
00708 # endif
00709
00710 # if defined(_ACCEPT_TASK)
00711 # define CDIR_TASK TRUE
00712 # else
00713 # define CDIR_TASK FALSE
00714 # endif
00715
00716 # if defined(_ACCEPT_VECTOR)
00717 # define CDIR_VECTOR TRUE
00718 # else
00719 # define CDIR_VECTOR FALSE
00720 # endif
00721
00722 # if defined(_ACCEPT_VSEARCH)
00723 # define CDIR_VSEARCH TRUE
00724 # else
00725 # define CDIR_VSEARCH FALSE
00726 # endif
00727
00728 # if defined(_TASK_COMMON_EXTENSION)
00729 # define CDIR_TASKCOMMON TRUE
00730 # else
00731 # define CDIR_TASKCOMMON FALSE
00732 # endif
00733
00734
00735
00736
00737 # if defined(_TARGET_SV2)
00738
00739 # define CDIR_ALIGN FALSE
00740 # define CDIR_AUXILIARY FALSE
00741 # define CDIR_BLOCKABLE TRUE
00742 # define CDIR_CACHE_ALIGN FALSE
00743 # define CDIR_CACHE_BLOCK TRUE
00744 # define CDIR_CACHE_BYPASS FALSE
00745 # define CDIR_CACHE_NOALLOCATE TRUE
00746 # define CDIR_CONCURRENT TRUE
00747 # define CDIR_COPY_ASSUMED_SHAPE TRUE
00748 # define CDIR_INTERCHANGE TRUE
00749 # define CDIR_IVDEP TRUE
00750 # define CDIR_NOSIDEEFFECTS TRUE
00751 # define CDIR_PREFERTASK TRUE
00752 # define CDIR_PREFERVECTOR TRUE
00753 # define CDIR_RECURRENCE TRUE
00754 # define CDIR_SHORTLOOP TRUE
00755 # define CDIR_STACK TRUE
00756 # define CDIR_SUPPRESS TRUE
00757 # define CDIR_SYMMETRIC FALSE
00758 # define CDIR_UNROLL TRUE
00759 # define CDIR_USES_EREGS FALSE
00760 # define CDIR_VFUNCTION TRUE
00761
00762 # elif defined(_TARGET_OS_UNICOS)
00763
00764 # define CDIR_ALIGN TRUE
00765 # define CDIR_AUXILIARY TRUE
00766 # define CDIR_BLOCKABLE TRUE
00767 # define CDIR_CACHE_ALIGN FALSE
00768 # define CDIR_CACHE_BLOCK TRUE
00769 # define CDIR_CACHE_BYPASS FALSE
00770 # define CDIR_CACHE_NOALLOCATE FALSE
00771 # define CDIR_CONCURRENT TRUE
00772 # define CDIR_COPY_ASSUMED_SHAPE TRUE
00773 # define CDIR_INTERCHANGE TRUE
00774 # define CDIR_IVDEP TRUE
00775 # define CDIR_NOSIDEEFFECTS TRUE
00776 # define CDIR_PREFERTASK TRUE
00777 # define CDIR_PREFERVECTOR TRUE
00778 # define CDIR_RECURRENCE TRUE
00779 # define CDIR_SHORTLOOP TRUE
00780 # define CDIR_STACK TRUE
00781 # define CDIR_SUPPRESS TRUE
00782 # define CDIR_SYMMETRIC FALSE
00783 # define CDIR_UNROLL TRUE
00784 # define CDIR_USES_EREGS FALSE
00785 # define CDIR_VFUNCTION TRUE
00786
00787 # elif defined(_TARGET_OS_MAX)
00788
00789 # define CDIR_ALIGN FALSE
00790 # define CDIR_AUXILIARY FALSE
00791 # define CDIR_BLOCKABLE TRUE
00792 # define CDIR_CACHE_ALIGN TRUE
00793 # define CDIR_CACHE_BLOCK TRUE
00794 # define CDIR_CACHE_BYPASS TRUE
00795 # define CDIR_CACHE_NOALLOCATE FALSE
00796 # define CDIR_CONCURRENT TRUE
00797 # define CDIR_COPY_ASSUMED_SHAPE TRUE
00798 # define CDIR_INTERCHANGE TRUE
00799 # define CDIR_IVDEP TRUE
00800 # define CDIR_NOSIDEEFFECTS FALSE
00801 # define CDIR_PREFERTASK FALSE
00802 # define CDIR_PREFERVECTOR FALSE
00803 # define CDIR_RECURRENCE TRUE
00804 # define CDIR_SHORTLOOP TRUE
00805 # define CDIR_STACK TRUE
00806 # define CDIR_SUPPRESS TRUE
00807 # define CDIR_SYMMETRIC TRUE
00808 # define CDIR_UNROLL TRUE
00809 # define CDIR_USES_EREGS TRUE
00810 # define CDIR_VFUNCTION FALSE
00811
00812 # elif (defined(_TARGET_OS_IRIX) || defined(_TARGET_OS_LINUX))
00813 # define CDIR_ALIGN FALSE
00814 # define CDIR_AUXILIARY FALSE
00815 # define CDIR_BLOCKABLE FALSE
00816 # define CDIR_CACHE_ALIGN FALSE
00817 # define CDIR_CACHE_BLOCK FALSE
00818 # define CDIR_CACHE_BYPASS FALSE
00819 # define CDIR_CACHE_NOALLOCATE FALSE
00820 # define CDIR_CONCURRENT FALSE
00821 # define CDIR_COPY_ASSUMED_SHAPE FALSE
00822 # define CDIR_INTERCHANGE FALSE
00823 # define CDIR_IVDEP TRUE
00824 # define CDIR_NOSIDEEFFECTS TRUE
00825 # define CDIR_PREFERTASK TRUE
00826 # define CDIR_PREFERVECTOR FALSE
00827 # define CDIR_RECURRENCE FALSE
00828 # define CDIR_SHORTLOOP FALSE
00829 # define CDIR_STACK FALSE
00830 # define CDIR_SUPPRESS FALSE
00831 # define CDIR_SYMMETRIC FALSE
00832 # define CDIR_UNROLL TRUE
00833 # define CDIR_USES_EREGS FALSE
00834 # define CDIR_VFUNCTION FALSE
00835
00836 # elif defined(_TARGET_OS_SOLARIS)
00837
00838 # define CDIR_ALIGN FALSE
00839 # define CDIR_AUXILIARY FALSE
00840 # define CDIR_BLOCKABLE FALSE
00841 # define CDIR_CACHE_ALIGN FALSE
00842 # define CDIR_CACHE_BLOCK FALSE
00843 # define CDIR_CACHE_BYPASS FALSE
00844 # define CDIR_CACHE_NOALLOCATE FALSE
00845 # define CDIR_CONCURRENT FALSE
00846 # define CDIR_COPY_ASSUMED_SHAPE FALSE
00847 # define CDIR_INTERCHANGE FALSE
00848 # define CDIR_IVDEP FALSE
00849 # define CDIR_NOSIDEEFFECTS FALSE
00850 # define CDIR_PREFERTASK TRUE
00851 # define CDIR_PREFERVECTOR FALSE
00852 # define CDIR_RECURRENCE TRUE
00853 # define CDIR_SHORTLOOP FALSE
00854 # define CDIR_STACK TRUE
00855 # define CDIR_SUPPRESS TRUE
00856 # define CDIR_SYMMETRIC FALSE
00857 # define CDIR_UNROLL TRUE
00858 # define CDIR_USES_EREGS FALSE
00859 # define CDIR_VFUNCTION FALSE
00860
00861 # endif
00862
00863 #define _ACCEPT_CMD_J TRUE