Go to the source code of this file.
| #define ADDL_REGNO_P | ( | REGNO | ) | ((unsigned HOST_WIDE_INT) (REGNO) <= 3) |
| #define ADDR_VEC_ALIGN | ( | ADDR_VEC | ) | 3 |
| #define AR_ARG_FIRST OUT_REG (0) |
| #define AR_CCV_REGNUM 330 |
Definition at line 460 of file ia64.h.
Referenced by ar_ccv_reg_operand(), ia64_expand_atomic_op(), ia64_expand_compare_and_swap(), ia64_expand_fetch_and_op(), and ia64_expand_op_and_fetch().
| #define AR_EC_REGNUM 334 |
| #define AR_I_REGNO_P | ( | REGNO | ) |
Value:
((REGNO) >= AR_PFS_REGNUM \ && (REGNO) < FIRST_PSEUDO_REGISTER)
| #define AR_LC_REGNUM 333 |
Definition at line 463 of file ia64.h.
Referenced by ar_lc_reg_operand(), gen_doloop_end(), ia64_compute_frame_size(), ia64_expand_epilogue(), ia64_expand_prologue(), and process_set().
| #define AR_M_REGNO_P | ( | REGNO | ) |
Value:
((REGNO) == AR_CCV_REGNUM \ || (REGNO) == AR_UNAT_REGNUM)
| #define AR_PFS_REGNUM 332 |
Definition at line 462 of file ia64.h.
Referenced by ar_pfs_reg_operand(), ia64_compute_frame_size(), ia64_epilogue_uses(), ia64_expand_call(), ia64_expand_epilogue(), ia64_expand_prologue(), process_set(), rtx_needs_barrier(), and rws_access_regno().
| #define AR_REGNO_P | ( | REGNO | ) |
Value:
((REGNO) >= AR_CCV_REGNUM \ && (REGNO) < FIRST_PSEUDO_REGISTER)
| #define AR_UNAT_REGNUM 331 |
Definition at line 461 of file ia64.h.
Referenced by gen_gr_restore(), gen_gr_spill(), ia64_compute_frame_size(), ia64_expand_epilogue(), ia64_expand_prologue(), process_set(), and rtx_needs_barrier().
| #define ASM_FORMAT_PRIVATE_NAME | ( | OUTVAR, | |||
| NAME, | |||||
| NUMBER | ) |
| #define ASM_GENERATE_INTERNAL_LABEL | ( | LABEL, | |||
| PREFIX, | |||||
| NUM | ) |
Value:
do { \ const char *reltag = NULL; \ if (((ENCODING) & 0xF0) == DW_EH_PE_textrel) \ reltag = "@segrel("; \ else if (((ENCODING) & 0xF0) == DW_EH_PE_datarel) \ reltag = "@gprel("; \ if (reltag) \ { \ fputs (integer_asm_op (SIZE, FALSE), FILE); \ fputs (reltag, FILE); \ assemble_name (FILE, XSTR (ADDR, 0)); \ fputc (')', FILE); \ goto DONE; \ } \ } while (0)
| #define ASM_OUTPUT_ADDR_DIFF_ELT | ( | STREAM, | |||
| BODY, | |||||
| VALUE, | |||||
| REL | ) |
| #define ASM_OUTPUT_DEF | ( | STREAM, | |||
| NAME, | |||||
| VALUE | ) |
Value:
do { \ assemble_name (STREAM, NAME); \ fputs (" = ", STREAM); \ assemble_name (STREAM, VALUE); \ fputc ('\n', STREAM); \ } while (0)
| #define ASM_OUTPUT_FDESC | ( | FILE, | |||
| DECL, | |||||
| PART | ) |
Value:
do { \ if ((PART) == 0) \ { \ if (TARGET_ILP32) \ fputs ("\tdata8.ua @iplt(", FILE); \ else \ fputs ("\tdata16.ua @iplt(", FILE); \ assemble_name (FILE, XSTR (XEXP (DECL_RTL (DECL), 0), 0)); \ fputs (")\n", FILE); \ if (TARGET_ILP32) \ fputs ("\tdata8.ua 0\n", FILE); \ } \ } while (0)
Definition at line 1447 of file ia64.h.
Referenced by output_constant().
| #define ASM_OUTPUT_LABEL | ( | STREAM, | |||
| NAME | ) |
Value:
do { \ ia64_asm_output_label = 1; \ assemble_name (STREAM, NAME); \ fputs (":\n", STREAM); \ ia64_asm_output_label = 0; \ } while (0)
| #define ASM_PREFERRED_EH_DATA_FORMAT | ( | CODE, | |||
| GLOBAL | ) |
Value:
(((CODE) == 1 ? DW_EH_PE_textrel : DW_EH_PE_datarel) \ | ((GLOBAL) ? DW_EH_PE_indirect : 0) \ | (TARGET_ILP32 ? DW_EH_PE_udata4 : DW_EH_PE_udata8))
| #define BR_REG | ( | REGNO | ) | ((REGNO) + 320) |
Definition at line 455 of file ia64.h.
Referenced by ia64_compute_frame_size(), ia64_expand_epilogue(), ia64_expand_prologue(), ia64_profile_hook(), ia64_split_return_addr_rtx(), and process_set().
| #define BR_REGNO_P | ( | REGNO | ) | ((REGNO) >= 320 && (REGNO) <= 327) |
| #define CALL_REALLY_USED_REGISTERS |
Value:
{ /* General registers. */ \
1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, \
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, \
/* Floating-point registers. */ \
1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \
/* Predicate registers. */ \
1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
/* Branch registers. */ \
1, 0, 0, 0, 0, 0, 1, 1, \
/*FP RA CCV UNAT PFS LC EC */ \
0, 0, 1, 0, 1, 0, 0 \
}
Definition at line 574 of file ia64.h.
Referenced by init_reg_sets_1().
| #define CALL_USED_REGISTERS |
Value:
{ /* General registers. */ \
1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, \
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, \
/* Floating-point registers. */ \
1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \
/* Predicate registers. */ \
1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
/* Branch registers. */ \
1, 0, 0, 0, 0, 0, 1, 1, \
/*FP RA CCV UNAT PFS LC EC */ \
1, 1, 1, 1, 1, 0, 1 \
}
| #define CAN_ELIMINATE | ( | FROM, | |||
| TO | ) | (TO == BR_REG (0) ? current_function_is_leaf : 1) |
| #define CANNOT_CHANGE_MODE_CLASS | ( | FROM, | |||
| TO, | |||||
| CLASS | ) |
Value:
(GET_MODE_CLASS (FROM) != GET_MODE_CLASS (TO) \ ? reg_classes_intersect_p (CLASS, FR_REGS) : 0)
| #define CLASS_MAX_NREGS | ( | CLASS, | |||
| MODE | ) |
Value:
((MODE) == BImode && (CLASS) == PR_REGS ? 2 \ : ((CLASS) == FR_REGS && (MODE) == TFmode) ? 1 \ : (GET_MODE_SIZE (MODE) + UNITS_PER_WORD - 1) / UNITS_PER_WORD)
| #define CONST_COSTS | ( | X, | |||
| CODE, | |||||
| OUTER_CODE | ) |
Value:
case CONST_INT: \ if ((X) == const0_rtx) \ return 0; \ switch (OUTER_CODE) \ { \ case SET: \ return CONST_OK_FOR_J (INTVAL (X)) ? 0 : COSTS_N_INSNS (1); \ case PLUS: \ if (CONST_OK_FOR_I (INTVAL (X))) \ return 0; \ if (CONST_OK_FOR_J (INTVAL (X))) \ return 1; \ return COSTS_N_INSNS (1); \ default: \ if (CONST_OK_FOR_K (INTVAL (X)) || CONST_OK_FOR_L (INTVAL (X))) \ return 0; \ return COSTS_N_INSNS (1); \ } \ case CONST_DOUBLE: \ return COSTS_N_INSNS (1); \ case CONST: \ case SYMBOL_REF: \ case LABEL_REF: \ return COSTS_N_INSNS (3);
| #define CONST_DOUBLE_OK_FOR_G | ( | VALUE | ) |
Value:
((VALUE) == CONST0_RTX (GET_MODE (VALUE)) \ || (VALUE) == CONST1_RTX (GET_MODE (VALUE)))
Definition at line 1060 of file ia64.h.
Referenced by fr_reg_or_fp01_operand(), ia64_const_double_ok_for_letter_p(), ia64_legitimate_constant_p(), ia64_move_ok(), output_move_double(), and reg_or_0_operand().
| #define CONST_OK_FOR_LETTER_P | ( | VALUE, | |||
| C | ) |
Value:
((C) == 'I' ? CONST_OK_FOR_I (VALUE) \ : (C) == 'J' ? CONST_OK_FOR_J (VALUE) \ : (C) == 'K' ? CONST_OK_FOR_K (VALUE) \ : (C) == 'L' ? CONST_OK_FOR_L (VALUE) \ : (C) == 'M' ? CONST_OK_FOR_M (VALUE) \ : (C) == 'N' ? CONST_OK_FOR_N (VALUE) \ : (C) == 'O' ? CONST_OK_FOR_O (VALUE) \ : (C) == 'P' ? CONST_OK_FOR_P (VALUE) \ : 0)
| #define CONSTANT_ALIGNMENT | ( | EXP, | |||
| ALIGN | ) |
Value:
(TREE_CODE (EXP) == STRING_CST \ && (ALIGN) < BITS_PER_WORD ? BITS_PER_WORD : (ALIGN))
| #define CONSTRAINT_OK_FOR_S | ( | VALUE | ) |
Value:
(GET_CODE (VALUE) == MEM \ && GET_RTX_CLASS (GET_CODE (XEXP ((VALUE), 0))) != 'a' \ && (reload_in_progress || memory_operand ((VALUE), VOIDmode)))
| #define EH_RETURN_DATA_REGNO | ( | N | ) | ((N) < 4 ? (N) + 15 : INVALID_REGNUM) |
| #define EH_USES | ( | REGNO | ) | ia64_eh_uses (REGNO) |
Definition at line 1438 of file ia64.h.
Referenced by calculate_global_regs_live(), df_bb_refs_record(), and df_record_entry_block_defs().
| #define ELIMINABLE_REGS |
Value:
| #define ENCODE_SECTION_INFO_CHAR '@' |
Definition at line 1766 of file ia64.h.
Referenced by ia64_encode_section_info(), ia64_strip_name_encoding(), sdata_symbolic_operand(), and tls_symbolic_operand().
| #define EXTRA_CONSTRAINT | ( | VALUE, | |||
| C | ) |
Value:
((C) == 'Q' ? CONSTRAINT_OK_FOR_Q (VALUE) \ : (C) == 'R' ? CONSTRAINT_OK_FOR_R (VALUE) \ : (C) == 'S' ? CONSTRAINT_OK_FOR_S (VALUE) \ : 0)
| #define FIXED_REGISTERS |
Value:
{ /* General registers. */ \
1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, \
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
/* Floating-point registers. */ \
1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
/* Predicate registers. */ \
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
/* Branch registers. */ \
0, 0, 0, 0, 0, 0, 0, 0, \
/*FP RA CCV UNAT PFS LC EC */ \
1, 1, 1, 1, 1, 0, 1 \
}
| #define FR_ARG_FIRST FR_REG (8) |
Definition at line 1259 of file ia64.h.
Referenced by ia64_function_arg(), and ia64_function_value().
| #define FR_REG | ( | REGNO | ) | ((REGNO) + 128) |
Definition at line 453 of file ia64.h.
Referenced by ia64_compute_frame_size(), ia64_expand_epilogue(), ia64_expand_prologue(), ia64_print_operand(), and process_set().
| #define FR_REGNO_P | ( | REGNO | ) | ((REGNO) >= 128 && (REGNO) <= 255) |
Definition at line 444 of file ia64.h.
Referenced by fr_nonimmediate_operand(), fr_register_operand(), grfr_nonimmediate_operand(), grfr_register_operand(), and ia64_secondary_reload_class().
| #define FUNCTION_ARG_BOUNDARY | ( | MODE, | |||
| TYPE | ) |
Value:
(((TYPE) ? (TYPE_ALIGN (TYPE) > 8 * BITS_PER_UNIT) \ : (((((MODE) == BLKmode \ ? int_size_in_bytes (TYPE) : GET_MODE_SIZE (MODE)) \ + UNITS_PER_WORD - 1) / UNITS_PER_WORD) > 1)) \ ? 128 : PARM_BOUNDARY)
| #define FUNCTION_ARG_REGNO_P | ( | REGNO | ) |
Value:
(((REGNO) >= GR_ARG_FIRST && (REGNO) < (GR_ARG_FIRST + MAX_ARGUMENT_SLOTS)) \ || ((REGNO) >= FR_ARG_FIRST && (REGNO) < (FR_ARG_FIRST + MAX_ARGUMENT_SLOTS)))
| #define FUNCTION_OK_FOR_SIBCALL | ( | DECL | ) | ia64_function_ok_for_sibcall (DECL) |
| #define FUNCTION_PROFILER | ( | FILE, | |||
| LABELNO | ) |
Value:
do { \ char buf[20]; \ ASM_GENERATE_INTERNAL_LABEL (buf, "LP", LABELNO); \ fputs ("\talloc out0 = ar.pfs, 8, 0, 4, 0\n", FILE); \ if (TARGET_AUTO_PIC) \ fputs ("\tmovl out3 = @gprel(", FILE); \ else \ fputs ("\taddl out3 = @ltoff(", FILE); \ assemble_name (FILE, buf); \ if (TARGET_AUTO_PIC) \ fputs (");;\n", FILE); \ else \ fputs ("), r1;;\n", FILE); \ fputs ("\tmov out1 = r1\n", FILE); \ fputs ("\tmov out2 = b0\n", FILE); \ fputs ("\tbr.call.sptk.many b0 = _mcount;;\n", FILE); \ } while (0)
| #define FUNCTION_VALUE | ( | VALTYPE, | |||
| FUNC | ) | ia64_function_value (VALTYPE, FUNC) |
| #define FUNCTION_VALUE_REGNO_P | ( | REGNO | ) |
Value:
(((REGNO) >= GR_RET_FIRST && (REGNO) <= GR_RET_LAST) \ || ((REGNO) >= FR_RET_FIRST && (REGNO) <= FR_RET_LAST))
| #define GENERAL_REGNO_P | ( | REGNO | ) |
Value:
(GR_REGNO_P (REGNO) \ || (REGNO) == FRAME_POINTER_REGNUM \ || (REGNO) == RETURN_ADDRESS_POINTER_REGNUM)
Value:
do { \ if (LEGITIMATE_ADDRESS_REG (X)) \ goto LABEL; \ else if ((GET_CODE (X) == POST_INC || GET_CODE (X) == POST_DEC) \ && LEGITIMATE_ADDRESS_REG (XEXP (X, 0)) \ && XEXP (X, 0) != arg_pointer_rtx) \ goto LABEL; \ else if (GET_CODE (X) == POST_MODIFY \ && LEGITIMATE_ADDRESS_REG (XEXP (X, 0)) \ && XEXP (X, 0) != arg_pointer_rtx \ && LEGITIMATE_ADDRESS_DISP (XEXP (X, 0), XEXP (X, 1))) \ goto LABEL; \ } while (0)
| #define GR_ARG_FIRST IN_REG (0) |
Definition at line 1256 of file ia64.h.
Referenced by ia64_expand_prologue(), and ia64_function_arg().
| #define GR_REG | ( | REGNO | ) | ((REGNO) + 0) |
Definition at line 452 of file ia64.h.
Referenced by find_gr_spill(), ia64_compute_frame_size(), ia64_expand_epilogue(), ia64_expand_prologue(), ia64_split_return_addr_rtx(), ia64_struct_value_rtx(), and process_set().
| #define GR_REGNO_P | ( | REGNO | ) | ((unsigned HOST_WIDE_INT) (REGNO) <= 127) |
Definition at line 443 of file ia64.h.
Referenced by gen_movtf(), ia64_expand_movxf_movrf(), ia64_speculate_insn(), ia64_split_call(), and split_1().
| #define GR_RET_FIRST GR_REG (8) |
| #define HARD_REGNO_MODE_OK | ( | REGNO, | |||
| MODE | ) |
Value:
(FR_REGNO_P (REGNO) ? \ GET_MODE_CLASS (MODE) != MODE_CC && \ (MODE) != TImode && \ (MODE) != BImode && \ ((MODE) != TFmode || INTEL_EXTENDED_IEEE_FORMAT) \ : PR_REGNO_P (REGNO) ? \ (MODE) == BImode || GET_MODE_CLASS (MODE) == MODE_CC \ : GR_REGNO_P (REGNO) ? (MODE) != CCImode && (MODE) != TFmode \ : AR_REGNO_P (REGNO) ? (MODE) == DImode \ : BR_REGNO_P (REGNO) ? (MODE) == DImode \ : 0)
| #define HARD_REGNO_NREGS | ( | REGNO, | |||
| MODE | ) |
Value:
((REGNO) == PR_REG (0) && (MODE) == DImode ? 64 \ : PR_REGNO_P (REGNO) && (MODE) == BImode ? 2 \ : PR_REGNO_P (REGNO) && (MODE) == CCImode ? 1 \ : FR_REGNO_P (REGNO) && (MODE) == TFmode && INTEL_EXTENDED_IEEE_FORMAT ? 1 \ : (GET_MODE_SIZE (MODE) + UNITS_PER_WORD - 1) / UNITS_PER_WORD)
| #define HARD_REGNO_RENAME_OK | ( | REGNO1, | |||
| REGNO2 | ) | ia64_hard_regno_rename_ok((REGNO1), (REGNO2)) |
| #define HAVE_AS_LTOFFX_LDXMOV_RELOCS 0 |
Definition at line 144 of file ia64.h.
Referenced by output_11(), output_12(), output_428(), output_429(), output_430(), and output_431().
| #define IA64_DEFAULT_GVALUE 8 |
| #define IN_REG | ( | REGNO | ) | ((REGNO) + 112) |
Definition at line 457 of file ia64.h.
Referenced by ia64_compute_frame_size(), ia64_dbx_register_number(), ia64_epilogue_uses(), ia64_expand_prologue(), ia64_output_function_epilogue(), and ia64_output_mi_thunk().
| #define IN_REGNO_P | ( | REGNO | ) | ((REGNO) >= IN_REG (0) && (REGNO) <= IN_REG (7)) |
| #define INCOMING_REGNO | ( | OUT | ) | ((unsigned) ((OUT) - OUT_REG (0)) < 8 ? IN_REG ((OUT) - OUT_REG (0)) : (OUT)) |
| #define INCOMING_RETURN_ADDR_RTX gen_rtx_REG (VOIDmode, BR_REG (0)) |
| #define INIT_CUMULATIVE_ARGS | ( | CUM, | |||
| FNTYPE, | |||||
| LIBNAME, | |||||
| INDIRECT | ) |
Value:
do { \ (CUM).words = 0; \ (CUM).int_regs = 0; \ (CUM).fp_regs = 0; \ (CUM).prototype = ((FNTYPE) && TYPE_ARG_TYPES (FNTYPE)) || (LIBNAME); \ } while (0)
| #define INIT_CUMULATIVE_INCOMING_ARGS | ( | CUM, | |||
| FNTYPE, | |||||
| LIBNAME | ) |
| #define INIT_EXPANDERS |
Value:
do { \ if (cfun && cfun->emit->regno_pointer_align) \ REGNO_POINTER_ALIGN (ARG_POINTER_REGNUM) = 64; \ } while (0)
| #define LEGITIMATE_ADDRESS_REG | ( | X | ) |
| #define LEGITIMATE_CONSTANT_P | ( | X | ) |
| #define LIBCALL_VALUE | ( | MODE | ) |
Value:
gen_rtx_REG (MODE, \ (((GET_MODE_CLASS (MODE) == MODE_FLOAT \ || GET_MODE_CLASS (MODE) == MODE_COMPLEX_FLOAT) && \ ((MODE) != TFmode || INTEL_EXTENDED_IEEE_FORMAT)) \ ? FR_RET_FIRST : GR_RET_FIRST))
| #define LOC_REG | ( | REGNO | ) | ((REGNO) + 32) |
Definition at line 458 of file ia64.h.
Referenced by find_gr_spill(), ia64_compute_frame_size(), ia64_dbx_register_number(), ia64_expand_prologue(), and ia64_output_function_epilogue().
| #define LOC_REGNO_P | ( | REGNO | ) | ((REGNO) >= LOC_REG (0) && (REGNO) <= LOC_REG (79)) |
| #define LOCAL_REGNO | ( | REGNO | ) | (IN_REGNO_P (REGNO) || LOC_REGNO_P (REGNO)) |
Definition at line 625 of file ia64.h.
Referenced by df_record_entry_block_defs(), df_record_exit_block_uses(), mark_regs_live_at_end(), and reload().
| #define MASK_CONST_GP 0x00000200 |
| #define MASK_INLINE_FLOAT_DIV_LAT 0x00000800 |
| #define MASK_INLINE_FLOAT_DIV_THR 0x00001000 |
| #define MASK_INLINE_INT_DIV_LAT 0x00000800 |
| #define MASK_INLINE_INT_DIV_THR 0x00001000 |
| #define MAX_ARGUMENT_SLOTS 8 |
Definition at line 1254 of file ia64.h.
Referenced by ia64_arg_partial_bytes(), ia64_function_arg(), ia64_function_arg_advance(), ia64_function_arg_partial_nregs(), ia64_return_in_memory(), and ia64_setup_incoming_varargs().
| #define MAX_INT_RETURN_SLOTS 4 |
| #define MEMORY_MOVE_COST | ( | MODE, | |||
| CLASS, | |||||
| IN | ) |
Value:
((CLASS) == GENERAL_REGS || (CLASS) == FR_REGS \ || (CLASS) == GR_AND_FR_REGS ? 4 : 10)
| #define MODES_TIEABLE_P | ( | MODE1, | |||
| MODE2 | ) |
Value:
(GET_MODE_CLASS (MODE1) == GET_MODE_CLASS (MODE2) \ && (((MODE1) == TFmode) == ((MODE2) == TFmode)) \ && (((MODE1) == BImode) == ((MODE2) == BImode)))
| #define OUT_REG | ( | REGNO | ) | ((REGNO) + 120) |
Definition at line 456 of file ia64.h.
Referenced by ia64_compute_frame_size(), ia64_dbx_register_number(), ia64_expand_prologue(), ia64_hard_regno_rename_ok(), and ia64_output_function_epilogue().
| #define OUT_REGNO_P | ( | REGNO | ) | ((REGNO) >= OUT_REG (0) && (REGNO) <= OUT_REG (7)) |
Definition at line 468 of file ia64.h.
Referenced by ia64_dbx_register_number(), and ia64_hard_regno_rename_ok().
| #define OUTGOING_REGNO | ( | IN | ) | ((unsigned) ((IN) - IN_REG (0)) < 8 ? OUT_REG ((IN) - IN_REG (0)) : (IN)) |
| #define PIC_OFFSET_TABLE_REG_CALL_CLOBBERED |
| #define PR_REG | ( | REGNO | ) | ((REGNO) + 256) |
Definition at line 454 of file ia64.h.
Referenced by arith_reg_operand(), calc_live_regs(), emit_predicate_relation_info(), emit_safe_across_calls(), ia64_adjust_cost(), ia64_compute_frame_size(), ia64_expand_epilogue(), ia64_expand_prologue(), initial_elimination_offset(), process_set(), push_regs(), sh_allocate_initial_value(), sh_expand_epilogue(), sh_expand_prologue(), sh_get_pr_initial_val(), sh_pr_n_sets(), sh_set_return_address(), and system_reg_operand().
| #define PR_REGNO_P | ( | REGNO | ) | ((REGNO) >= 256 && (REGNO) <= 319) |
Definition at line 445 of file ia64.h.
Referenced by errata_emit_nops(), ia64_hard_regno_rename_ok(), ia64_secondary_reload_class(), rws_access_regno(), split_1(), and split_2().
| #define PREFERRED_RELOAD_CLASS | ( | X, | |||
| CLASS | ) |
| #define PRINT_OPERAND_PUNCT_VALID_P | ( | CODE | ) | ((CODE) == '+' || (CODE) == ',') |
| #define PROMOTE_MODE | ( | MODE, | |||
| UNSIGNEDP, | |||||
| TYPE | ) |
Value:
do \ { \ if (GET_MODE_CLASS (MODE) == MODE_INT \ && GET_MODE_SIZE (MODE) < 4) \ (MODE) = SImode; \ } \ while (0)
| #define REG_CLASS_FROM_LETTER | ( | CHAR | ) |
| #define REG_CLASS_NAMES |
| #define REGISTER_NAMES |
| #define REGNO_OK_FOR_BASE_P | ( | REGNO | ) | (GENERAL_REGNO_P (REGNO) || GENERAL_REGNO_P (reg_renumber[REGNO])) |
| #define REGNO_OK_FOR_INDEX_P | ( | NUM | ) | REGNO_OK_FOR_BASE_P (NUM) |
| #define REGNO_REG_CLASS | ( | REGNO | ) |
Value:
(ADDL_REGNO_P (REGNO) ? ADDL_REGS \ : GENERAL_REGNO_P (REGNO) ? GR_REGS \ : FR_REGNO_P (REGNO) ? FR_REGS \ : PR_REGNO_P (REGNO) ? PR_REGS \ : BR_REGNO_P (REGNO) ? BR_REGS \ : AR_M_REGNO_P (REGNO) ? AR_M_REGS \ : AR_I_REGNO_P (REGNO) ? AR_I_REGS \ : NO_REGS)
| #define RTX_COSTS | ( | X, | |||
| CODE, | |||||
| OUTER_CODE | ) |
Value:
case MULT: \ /* For multiplies wider than HImode, we have to go to the FPU, \ which normally involves copies. Plus there's the latency \ of the multiply itself, and the latency of the instructions to \ transfer integer regs to FP regs. */ \ if (GET_MODE_SIZE (GET_MODE (X)) > 2) \ return COSTS_N_INSNS (10); \ return COSTS_N_INSNS (2); \ case PLUS: \ case MINUS: \ case ASHIFT: \ case ASHIFTRT: \ case LSHIFTRT: \ return COSTS_N_INSNS (1); \ case DIV: \ case UDIV: \ case MOD: \ case UMOD: \ /* We make divide expensive, so that divide-by-constant will be \ optimized to a multiply. */ \ return COSTS_N_INSNS (60);
| #define STACK_SAVEAREA_MODE | ( | LEVEL | ) | ((LEVEL) == SAVE_NONLOCAL ? OImode : Pmode) |
Definition at line 1507 of file ia64.h.
Referenced by emit_stack_save(), expand_builtin_longjmp(), expand_builtin_nonlocal_goto(), expand_builtin_setjmp_setup(), expand_builtin_update_setjmp_buf(), get_nl_goto_field(), and init_eh().
| #define TARGET_64BIT 1 |
| #define TARGET_AUTO_PIC (target_flags & MASK_AUTO_PIC) |
Definition at line 118 of file ia64.h.
Referenced by got_symbolic_operand(), ia64_assemble_integer(), ia64_epilogue_uses(), ia64_expand_call(), ia64_expand_load_address(), ia64_output_function_profiler(), and ia64_override_options().
| #define TARGET_B_STEP (target_flags & MASK_B_STEP) |
| #define TARGET_BIG_ENDIAN (target_flags & MASK_BIG_ENDIAN) |
| #define TARGET_CONST_GP (target_flags & MASK_CONST_GP) |
| #define TARGET_CPU_CPP_BUILTINS | ( | ) |
Value:
do { \ builtin_assert("cpu=ia64"); \ builtin_assert("machine=ia64"); \ builtin_define("__ia64"); \ builtin_define("__ia64__"); \ builtin_define("__itanium__"); \ builtin_define("__ELF__"); \ if (!TARGET_ILP32) \ { \ builtin_define("_LP64"); \ builtin_define("__LP64__"); \ } \ if (TARGET_BIG_ENDIAN) \ builtin_define("__BIG_ENDIAN__"); \ } while (0)
| #define TARGET_DWARF2_ASM (target_flags & MASK_DWARF2_ASM) |
| #define TARGET_GNU_AS (target_flags & MASK_GNU_AS) |
Definition at line 100 of file ia64.h.
Referenced by ia64_asm_output_external(), ia64_initialize_trampoline(), ia64_output_function_profiler(), ia64_output_function_prologue(), and ia64_print_operand().
| #define TARGET_GNU_LD (target_flags & MASK_GNU_LD) |
| #define TARGET_ILP32 (target_flags & MASK_ILP32) |
Definition at line 108 of file ia64.h.
Referenced by ia64_assemble_integer(), ia64_function_arg_boundary(), and ia64_output_mi_thunk().
| #define TARGET_INLINE_FLOAT_DIV (target_flags & (MASK_INLINE_FLOAT_DIV_LAT | MASK_INLINE_FLOAT_DIV_THR)) |
| #define TARGET_INLINE_FLOAT_DIV_LAT (target_flags & MASK_INLINE_FLOAT_DIV_LAT) |
Definition at line 120 of file ia64.h.
Referenced by gen_divdf3(), gen_divsf3(), gen_divtf3(), ia64_override_options(), recog_3(), recog_4(), recog_6(), and split_2().
| #define TARGET_INLINE_FLOAT_DIV_THR (target_flags & MASK_INLINE_FLOAT_DIV_THR) |
| #define TARGET_INLINE_INT_DIV (target_flags & (MASK_INLINE_INT_DIV_LAT | MASK_INLINE_INT_DIV_THR)) |
| #define TARGET_INLINE_INT_DIV_LAT (target_flags & MASK_INLINE_INT_DIV_LAT) |
Definition at line 124 of file ia64.h.
Referenced by gen_divdi3(), gen_udivdi3(), ia64_override_options(), recog_4(), recog_6(), and split_2().
| #define TARGET_INLINE_INT_DIV_THR (target_flags & MASK_INLINE_INT_DIV_THR) |
| #define TARGET_NO_PIC (target_flags & MASK_NO_PIC) |
Definition at line 104 of file ia64.h.
Referenced by got_symbolic_operand(), ia64_assemble_integer(), ia64_epilogue_uses(), ia64_expand_call(), ia64_expand_load_address(), ia64_expand_move(), ia64_output_function_profiler(), move_operand(), output_424(), output_426(), output_7(), and split_1().
| #define TARGET_NO_SDATA (target_flags & MASK_NO_SDATA) |
Definition at line 114 of file ia64.h.
Referenced by ia64_in_small_data_p(), and ia64_select_rtx_section().
| #define TARGET_OPTIONS |
Value:
{ \
{ "fixed-range=", &ia64_fixed_range_string, \
N_("Specify range of registers to make fixed")}, \
{ "tls-size=", &ia64_tls_size_string, \
N_("Specify bit size of immediate TLS offsets")}, \
}
| #define TARGET_REG_NAMES (target_flags & MASK_REG_NAMES) |
Definition at line 112 of file ia64.h.
Referenced by ia64_expand_prologue(), ia64_output_function_epilogue(), and ia64_output_mi_thunk().
| #define TARGET_TLS14 (ia64_tls_size == 14) |
| #define TARGET_TLS22 (ia64_tls_size == 22) |
| #define TARGET_TLS64 (ia64_tls_size == 64) |
Definition at line 139 of file ia64.h.
Referenced by ia64_expand_move(), ia64_expand_tls_address(), recog_2(), and recog_7().
| #define TARGET_VOL_ASM_STOP (target_flags & MASK_VOL_ASM_STOP) |
| #define TARGET_VTABLE_DATA_ENTRY_DISTANCE (TARGET_ILP32 ? 2 : 1) |
Definition at line 383 of file ia64.h.
Referenced by add_vcall_offset(), build_headof(), build_vbase_offset_vtbl_entries(), build_vtbl_initializer(), get_tinfo_decl_dynamic(), GTY(), and tinfo_base_init().
| #define TARGET_VTABLE_ENTRY_ALIGN 64 |
| #define TARGET_VTABLE_USES_DESCRIPTORS (TARGET_ILP32 ? 4 : 2) |
Definition at line 374 of file ia64.h.
Referenced by build_dtable_decl(), build_invokevirtual(), build_vfn_ref(), build_vtbl_initializer(), cp_fold_obj_type_ref(), finish_struct_1(), get_dispatch_table(), get_member_function_from_ptrfunc(), and GTY().
| typedef struct ia64_args CUMULATIVE_ARGS |
| enum fetchop_code |
| enum ia64_builtins |
| enum reg_class |
| struct machine_function GTY | ( | () | ) | [read, write] |
| const char* ia64_fixed_range_string |
| int ia64_tls_size |
| const char* ia64_tls_size_string |
| int target_flags |
Definition at line 35 of file gensupport.c.
1.5.6