i386.c (print_operand_address, case REG): Do not use ESI addressing mode for the K6.
* i386.c (print_operand_address, case REG): Do not use ESI addressing mode for the K6. * i386.c (print_operand_address, case MULT): Use more efficient encoding (mult (reg) (const_int 2)). From-SVN: r26116
This commit is contained in:
parent
57b1ca433d
commit
69a8af4360
|
@ -1,3 +1,11 @@
|
|||
Fri Apr 2 11:36:12 1999 Jan Hubicka (hubicka@paru.cas.cz)
|
||||
|
||||
* i386.c (print_operand_address, case REG): Do not use ESI addressing
|
||||
mode for the K6.
|
||||
|
||||
* i386.c (print_operand_address, case MULT): Use more efficient
|
||||
encoding (mult (reg) (const_int 2)).
|
||||
|
||||
Thu Apr 1 17:01:50 1999 Richard Henderson <rth@cygnus.com>
|
||||
|
||||
Move over patch from Bernd Schmidt from GC branch:
|
||||
|
|
|
@ -3772,6 +3772,11 @@ print_operand_address (file, addr)
|
|||
switch (GET_CODE (addr))
|
||||
{
|
||||
case REG:
|
||||
/* ESI addressing makes instruction vector decoded on the K6. We can
|
||||
avoid this by ESI+0 addressing. */
|
||||
if (REGNO_REG_CLASS (REGNO (addr)) == SIREG
|
||||
&& ix86_cpu == PROCESSOR_K6 && !optimize_size)
|
||||
output_addr_const (file, const0_rtx);
|
||||
ADDR_BEG (file);
|
||||
fprintf (file, "%se", RP);
|
||||
fputs (hi_reg_name[REGNO (addr)], file);
|
||||
|
@ -3887,8 +3892,16 @@ print_operand_address (file, addr)
|
|||
ireg = XEXP (addr, 0);
|
||||
}
|
||||
|
||||
output_addr_const (file, const0_rtx);
|
||||
PRINT_B_I_S (NULL_RTX, ireg, scale, file);
|
||||
/* (reg,reg,) is shorter than (,reg,2). */
|
||||
if(scale == 2)
|
||||
{
|
||||
PRINT_B_I_S (ireg, ireg, 1, file);
|
||||
}
|
||||
else
|
||||
{
|
||||
output_addr_const (file, const0_rtx);
|
||||
PRINT_B_I_S (NULL_RTX, ireg, scale, file);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
Loading…
Reference in New Issue