diff options
author | Adrian Straetling <straetling@de.ibm.com> | 2005-05-09 17:07:57 +0000 |
---|---|---|
committer | Ulrich Weigand <uweigand@gcc.gnu.org> | 2005-05-09 17:07:57 +0000 |
commit | 342cf42be3342e39e4e7c9bcee6f2865674f552d (patch) | |
tree | 7f6ab3c34953f7887d9f1d1d385d2d3507a7d854 /gcc | |
parent | 9db2f16da9a677bbc87ccac6f32b739bc2a50a2b (diff) | |
download | gcc-342cf42be3342e39e4e7c9bcee6f2865674f552d.zip gcc-342cf42be3342e39e4e7c9bcee6f2865674f552d.tar.gz gcc-342cf42be3342e39e4e7c9bcee6f2865674f552d.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/s390/s390.md | 53 |
2 files changed, 14 insertions, 44 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b6ed448..abc2104 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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> diff --git a/gcc/config/s390/s390.md b/gcc/config/s390/s390.md index 6008468..5a258e4 100644 --- a/gcc/config/s390/s390.md +++ b/gcc/config/s390/s390.md @@ -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). -; - -(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). +; one_cmpl(di|si|hi|qi)2 instruction pattern(s). ; -(define_expand "one_cmplqi2" +(define_expand "one_cmpl<mode>2" [(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))])] "" "") |