This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [s390] macros patch 3/11
- From: Adrian Straetling <straetling at ibm dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Mon, 9 May 2005 17:23:32 +0200
- Subject: Re: [s390] macros patch 3/11
- References: <20050509151411.GA11469@de.ibm.com>
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))])]
""
"")