s390.md: ("INT"): New mode macro.

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.

From-SVN: r99451
This commit is contained in:
Adrian Straetling 2005-05-09 17:07:57 +00:00 committed by Ulrich Weigand
parent 9db2f16da9
commit 342cf42be3
2 changed files with 14 additions and 44 deletions

View File

@ -1,3 +1,8 @@
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.
2005-05-09 Adrian Straetling <straetling@de.ibm.com>

View File

@ -247,6 +247,10 @@
;; 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,53 +6586,14 @@
;;
;
; one_cmpldi2 instruction pattern(s).
; one_cmpl(di|si|hi|qi)2 instruction pattern(s).
;
(define_expand "one_cmpldi2"
(define_expand "one_cmpl<mode>2"
[(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)))
[(set (match_operand:INT 0 "register_operand" "")
(xor:INT (match_operand:INT 1 "register_operand" "")
(const_int -1)))
(clobber (reg:CC 33))])]
""
"")