2009年8月29日 星期六

gcc note for modify number of register

in machine.h

FIRST_PSEUDO_REGISTER

FIXED_REGISTERS

CALL_USED_REGISTERS

REG_ALLOC_ORDER

REG_CLASS_NAMES



for arm

arm.c
arm_compute_save_reg0_reg12_mask


arm.h
*_REG_OK_FOR_*

THUMB
HI_REG

arm_dbx_register_number

struct machine_function
rtx call_via[14]; <---

2009年8月25日 星期二

ARM Output template note : Condition code

%?
condition code, output by arm_print_condition

%.

/* The current condition code for a condition code setting instruction.
Preceded by 's' in unified syntax, otherwise followed by 's'. */
if (TARGET_UNIFIED_ASM)
{
fputc('s', stream);
arm_print_condition (stream);
}
else
{
arm_print_condition (stream);
fputc('s', stream);
}

%!
/* If the instruction is conditionally executed then print
the current condition code, otherwise print 's'. */
gcc_assert (TARGET_THUMB2 && TARGET_UNIFIED_ASM);
if (current_insn_predicate)
arm_print_condition (stream);
else
fputc('s', stream);

complete information in (arm.c : Line13341 : arm_print_operand : , gcc 4.4.0)