fix a handfull of p4 -Os failures

Richard Henderson rth@twiddle.net
Sun Mar 16 22:30:00 GMT 2003


Not sure how this has not appeared before; it's been wrong since 1999.


r~


        * config/i386/i386.md (movstrictqi, movstrictqi_1): Check
        optimize_size as well.

Index: config/i386/i386.md
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/i386/i386.md,v
retrieving revision 1.448
diff -c -p -d -r1.448 i386.md
*** config/i386/i386.md	12 Mar 2003 09:21:44 -0000	1.448
--- config/i386/i386.md	16 Mar 2003 22:15:25 -0000
***************
*** 1578,1584 ****
  (define_expand "movstrictqi"
    [(set (strict_low_part (match_operand:QI 0 "nonimmediate_operand" ""))
  	(match_operand:QI 1 "general_operand" ""))]
!   "! TARGET_PARTIAL_REG_STALL"
  {
    /* Don't generate memory->memory moves, go through a register.  */
    if (GET_CODE (operands[0]) == MEM && GET_CODE (operands[1]) == MEM)
--- 1578,1584 ----
  (define_expand "movstrictqi"
    [(set (strict_low_part (match_operand:QI 0 "nonimmediate_operand" ""))
  	(match_operand:QI 1 "general_operand" ""))]
!   "! TARGET_PARTIAL_REG_STALL || optimize_size"
  {
    /* Don't generate memory->memory moves, go through a register.  */
    if (GET_CODE (operands[0]) == MEM && GET_CODE (operands[1]) == MEM)
***************
*** 1588,1594 ****
  (define_insn "*movstrictqi_1"
    [(set (strict_low_part (match_operand:QI 0 "nonimmediate_operand" "+qm,q"))
  	(match_operand:QI 1 "general_operand" "*qn,m"))]
!   "! TARGET_PARTIAL_REG_STALL
     && (GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM)"
    "mov{b}\t{%1, %0|%0, %1}"
    [(set_attr "type" "imov")
--- 1588,1594 ----
  (define_insn "*movstrictqi_1"
    [(set (strict_low_part (match_operand:QI 0 "nonimmediate_operand" "+qm,q"))
  	(match_operand:QI 1 "general_operand" "*qn,m"))]
!   "(! TARGET_PARTIAL_REG_STALL || optimize_size)
     && (GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM)"
    "mov{b}\t{%1, %0|%0, %1}"
    [(set_attr "type" "imov")



More information about the Gcc-patches mailing list