This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

S/390: Add missing CC clobbers (3.4 regression)


Hello,

this fixes a 3.4 regression introduced by new patterns that
erroneously didn't clobber the CC register.

Bootstrapped/regtested on s390-ibm-linux and s390x-ibm-linux
on 3.4 and mainline, applied to both.

Bye,
Ulrich

ChangeLog:

	* config/s390/s390.md ("*extendqidi2_short_displ"): Add CC clobber.
	("*extendqisi2_short_displ"): Likewise.

Index: gcc/config/s390/s390.md
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/s390/s390.md,v
retrieving revision 1.90.4.7
diff -c -p -r1.90.4.7 s390.md
*** gcc/config/s390/s390.md	19 Feb 2004 17:39:05 -0000	1.90.4.7
--- gcc/config/s390/s390.md	8 Mar 2004 16:42:45 -0000
***************
*** 2541,2547 ****
  
  (define_insn_and_split "*extendqidi2_short_displ"
    [(set (match_operand:DI 0 "register_operand" "=d")
!         (sign_extend:DI (match_operand:QI 1 "s_operand" "Q")))]
    "TARGET_64BIT && !TARGET_LONG_DISPLACEMENT"
    "#"
    "&& reload_completed"
--- 2544,2551 ----
  
  (define_insn_and_split "*extendqidi2_short_displ"
    [(set (match_operand:DI 0 "register_operand" "=d")
!         (sign_extend:DI (match_operand:QI 1 "s_operand" "Q")))
!    (clobber (reg:CC 33))]
    "TARGET_64BIT && !TARGET_LONG_DISPLACEMENT"
    "#"
    "&& reload_completed"
***************
*** 2605,2611 ****
  
  (define_insn_and_split "*extendsiqi2_short_displ"
    [(set (match_operand:SI 0 "register_operand" "=d")
!         (sign_extend:SI (match_operand:QI 1 "s_operand" "Q")))]
    "!TARGET_LONG_DISPLACEMENT"
    "#"
    "&& reload_completed"
--- 2609,2616 ----
  
  (define_insn_and_split "*extendsiqi2_short_displ"
    [(set (match_operand:SI 0 "register_operand" "=d")
!         (sign_extend:SI (match_operand:QI 1 "s_operand" "Q")))
!    (clobber (reg:CC 33))]
    "!TARGET_LONG_DISPLACEMENT"
    "#"
    "&& reload_completed"
-- 
  Dr. Ulrich Weigand
  weigand@informatik.uni-erlangen.de


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]