comparison gcc/config/s390/predicates.md @ 55:77e2b8dfacca gcc-4.4.5

update it from 4.4.3 to 4.5.0
author ryoma <e075725@ie.u-ryukyu.ac.jp>
date Fri, 12 Feb 2010 23:39:51 +0900
parents a06113de4d67
children 04ced10e8804
comparison
equal deleted inserted replaced
52:c156f1bd5cd9 55:77e2b8dfacca
170 return false; 170 return false;
171 171
172 return (s390_branch_condition_mask (op) >= 0); 172 return (s390_branch_condition_mask (op) >= 0);
173 }) 173 })
174 174
175 ;; Return true if op is the cc register.
176 (define_predicate "cc_reg_operand"
177 (and (match_code "reg")
178 (match_test "REGNO (op) == CC_REGNUM")))
179
175 (define_predicate "s390_signed_integer_comparison" 180 (define_predicate "s390_signed_integer_comparison"
176 (match_code "eq, ne, lt, gt, le, ge") 181 (match_code "eq, ne, lt, gt, le, ge")
177 { 182 {
178 return (s390_compare_and_branch_condition_mask (op) >= 0); 183 return (s390_compare_and_branch_condition_mask (op) >= 0);
179 }) 184 })
181 (define_predicate "s390_unsigned_integer_comparison" 186 (define_predicate "s390_unsigned_integer_comparison"
182 (match_code "eq, ne, ltu, gtu, leu, geu") 187 (match_code "eq, ne, ltu, gtu, leu, geu")
183 { 188 {
184 return (s390_compare_and_branch_condition_mask (op) >= 0); 189 return (s390_compare_and_branch_condition_mask (op) >= 0);
185 }) 190 })
191
192 ;; Return nonzero if OP is a valid comparison operator for the
193 ;; cstore expanders -- respectively cstorecc4 and integer cstore.
194 (define_predicate "s390_eqne_operator"
195 (match_code "eq, ne"))
196
197 (define_predicate "s390_scond_operator"
198 (match_code "ltu, gtu, leu, geu"))
199
200 (define_predicate "s390_brx_operator"
201 (match_code "le, gt"))
186 202
187 ;; Return nonzero if OP is a valid comparison operator 203 ;; Return nonzero if OP is a valid comparison operator
188 ;; for an ALC condition. 204 ;; for an ALC condition.
189 205
190 (define_predicate "s390_alc_comparison" 206 (define_predicate "s390_alc_comparison"