2
0
mirror of git://gcc.gnu.org/git/gcc.git synced 2025-04-10 03:00:27 +08:00

(override_options): Set defaults for -march and -mcpu.

From-SVN: r13099
This commit is contained in:
Stan Cox 1996-11-05 22:41:13 +00:00
parent 5157150146
commit 4f74d15b9d

@ -217,11 +217,8 @@ override_options ()
}
/* Get the architectural level. */
if (ix86_cpu_string == (char *)0 && ix86_arch_string == (char *)0)
{
if (ix86_arch_string == (char *)0)
ix86_arch_string = PROCESSOR_PENTIUM_STRING;
ix86_cpu_string = PROCESSOR_DEFAULT_STRING;
}
for (i = 0; i < ptt_size; i++)
if (! strcmp (ix86_arch_string, processor_target_table[i].name))
@ -235,10 +232,13 @@ override_options ()
if (i == ptt_size)
{
error ("bad value (%s) for -march= switch", ix86_arch_string);
ix86_arch_string = PROCESSOR_DEFAULT_STRING;
ix86_arch_string = PROCESSOR_PENTIUM_STRING;
ix86_arch = PROCESSOR_DEFAULT;
}
if (ix86_cpu_string == (char *)0)
ix86_cpu_string = PROCESSOR_DEFAULT_STRING;
for (j = 0; j < ptt_size; j++)
if (! strcmp (ix86_cpu_string, processor_target_table[j].name))
{
@ -310,7 +310,7 @@ override_options ()
i386_branch_cost);
}
else
i386_branch_cost = TARGET_PENTIUMPRO ? 4 : 1;
i386_branch_cost = 1;
if (TARGET_OMIT_LEAF_FRAME_POINTER) /* keep nonleaf frame pointers */
flag_omit_frame_pointer = 1;
@ -1725,7 +1725,7 @@ asm_output_function_prefix (file, name)
if (pic_label_rtx == 0)
{
pic_label_rtx = (rtx) gen_label_rtx ();
pic_label_rtx = (rtx) gen_label_rtx ();
sprintf (pic_label_name, "LPR%d", pic_label_no++);
LABEL_NAME (pic_label_rtx) = pic_label_name;
}
@ -3604,9 +3604,14 @@ output_float_compare (insn, operands)
int stack_top_dies;
rtx body = XVECEXP (PATTERN (insn), 0, 0);
int unordered_compare = GET_MODE (SET_SRC (body)) == CCFPEQmode;
int target_fcomi = TARGET_CMOVE && STACK_REG_P (operands[1]);
rtx tmp;
if (TARGET_CMOVE && STACK_REG_P (operands[1]))
{
cc_status.flags |= CC_FCOMI;
cc_prev_status.flags &= ~CC_TEST_AX;
}
if (! STACK_TOP_P (operands[0]))
{
tmp = operands[0];
@ -3642,9 +3647,9 @@ output_float_compare (insn, operands)
unordered float compare. */
if (unordered_compare)
strcpy (buf, target_fcomi ? "fucomi" : "fucom");
strcpy (buf, (cc_status.flags & CC_FCOMI) ? "fucomi" : "fucom");
else if (GET_MODE_CLASS (GET_MODE (operands[1])) == MODE_FLOAT)
strcpy (buf, target_fcomi ? "fcomi" : "fcom");
strcpy (buf, (cc_status.flags & CC_FCOMI) ? "fcomi" : "fcom");
else
strcpy (buf, "ficom");
@ -3655,7 +3660,7 @@ output_float_compare (insn, operands)
if (NON_STACK_REG_P (operands[1]))
output_op_from_reg (operands[1], strcat (buf, AS1 (%z0,%1)));
else if (target_fcomi)
else if (cc_status.flags & CC_FCOMI)
{
rtx xops[3];
@ -3740,6 +3745,13 @@ output_fp_cc0_set (insn)
code = GET_CODE (XEXP (SET_SRC (PATTERN (next)), 0));
else code = GET_CODE (SET_SRC (PATTERN (next)));
}
else if (GET_CODE (PATTERN (next)) == PARALLEL
&& GET_CODE (XVECEXP (PATTERN (next), 0, 0)) == SET)
{
if (GET_CODE (SET_SRC (XVECEXP (PATTERN (next), 0, 0))) == IF_THEN_ELSE)
code = GET_CODE (XEXP (SET_SRC (XVECEXP (PATTERN (next), 0, 0)), 0));
else code = GET_CODE (SET_SRC (XVECEXP (PATTERN (next), 0, 0)));
}
else
abort ();