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]

Re: [s390] macros patch 3/11


Hi,

Here is the third patch dealing with one_cmpl.


2005-05-09  Adrian Straetling  <straetling@de.ibm.com>

	* config/s390/s390.md: ("INT"): New mode macro.
	("one_cmpldi2", "one_cmplsi2", "one_cmplhi2", "one_cmplqi2"):
	Merge.


Index: gcc/config/s390/s390.md
===================================================================
*** gcc/config/s390/s390.md.orig	2005-05-04 16:08:10.000000000 +0200
--- gcc/config/s390/s390.md	2005-05-04 18:14:46.371486453 +0200
***************
*** 247,252 ****
--- 247,256 ----
  ;; the same template.
  (define_mode_macro HQI [HI QI])
  
+ ;; This mode macro allows the integer patterns to be defined from the
+ ;; same template
+ (define_mode_macro INT [(DI "TARGET_64BIT") SI HI QI])
+ 
  
  ;; ICM mask required to load MODE value into the highest subreg
  ;; of a SImode register.
***************
*** 6582,6634 ****
  ;;
  
  ;
! ; one_cmpldi2 instruction pattern(s).
! ;
! 
! (define_expand "one_cmpldi2"
!   [(parallel
!     [(set (match_operand:DI 0 "register_operand" "")
!           (xor:DI (match_operand:DI 1 "register_operand" "")
!                   (const_int -1)))
!      (clobber (reg:CC 33))])]
!   "TARGET_64BIT"
!   "")
! 
! ;
! ; one_cmplsi2 instruction pattern(s).
! ;
! 
! (define_expand "one_cmplsi2"
!   [(parallel
!     [(set (match_operand:SI 0 "register_operand" "")
!           (xor:SI (match_operand:SI 1 "register_operand" "")
!                   (const_int -1)))
!      (clobber (reg:CC 33))])]
!   ""
!   "")
! 
! ;
! ; one_cmplhi2 instruction pattern(s).
! ;
! 
! (define_expand "one_cmplhi2"
!   [(parallel
!     [(set (match_operand:HI 0 "register_operand" "")
!           (xor:HI (match_operand:HI 1 "register_operand" "")
!                   (const_int -1)))
!      (clobber (reg:CC 33))])]
!   ""
!   "")
! 
! ;
! ; one_cmplqi2 instruction pattern(s).
  ;
  
! (define_expand "one_cmplqi2"
    [(parallel
!     [(set (match_operand:QI 0 "register_operand" "")
!           (xor:QI (match_operand:QI 1 "register_operand" "")
!                   (const_int -1)))
       (clobber (reg:CC 33))])]
    ""
    "")
--- 6586,6599 ----
  ;;
  
  ;
! ; one_cmpl(di|si|hi|qi)2 instruction pattern(s).
  ;
  
! (define_expand "one_cmpl<mode>2"
    [(parallel
!     [(set (match_operand:INT 0 "register_operand" "")
!           (xor:INT (match_operand:INT 1 "register_operand" "")
! 		   (const_int -1)))
       (clobber (reg:CC 33))])]
    ""
    "")


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