Mercurial > hg > CbC > CbC_gcc
comparison gcc/config/ia64/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 | f6334be47118 |
comparison
equal
deleted
inserted
replaced
52:c156f1bd5cd9 | 55:77e2b8dfacca |
---|---|
279 (and (match_operand 0 "nonimmediate_operand") | 279 (and (match_operand 0 "nonimmediate_operand") |
280 (match_test "GET_CODE (op) != MEM | 280 (match_test "GET_CODE (op) != MEM |
281 || GET_CODE (XEXP (op, 0)) != POST_MODIFY | 281 || GET_CODE (XEXP (op, 0)) != POST_MODIFY |
282 || GET_CODE (XEXP (XEXP (XEXP (op, 0), 1), 1)) != REG"))) | 282 || GET_CODE (XEXP (XEXP (XEXP (op, 0), 1), 1)) != REG"))) |
283 | 283 |
284 ;; Like destination_operand, but don't allow any post-increments. | |
285 (define_predicate "not_postinc_destination_operand" | |
286 (and (match_operand 0 "nonimmediate_operand") | |
287 (match_test "GET_CODE (op) != MEM | |
288 || GET_RTX_CLASS (GET_CODE (XEXP (op, 0))) != RTX_AUTOINC"))) | |
289 | |
284 ;; Like memory_operand, but don't allow post-increments. | 290 ;; Like memory_operand, but don't allow post-increments. |
285 (define_predicate "not_postinc_memory_operand" | 291 (define_predicate "not_postinc_memory_operand" |
286 (and (match_operand 0 "memory_operand") | 292 (and (match_operand 0 "memory_operand") |
287 (match_test "GET_RTX_CLASS (GET_CODE (XEXP (op, 0))) != RTX_AUTOINC"))) | 293 (match_test "GET_RTX_CLASS (GET_CODE (XEXP (op, 0))) != RTX_AUTOINC"))) |
288 | 294 |
329 | 335 |
330 default: | 336 default: |
331 return true; | 337 return true; |
332 } | 338 } |
333 }) | 339 }) |
340 | |
341 ;; Like move_operand but don't allow post-increments. | |
342 (define_predicate "not_postinc_move_operand" | |
343 (and (match_operand 0 "move_operand") | |
344 (match_test "GET_CODE (op) != MEM | |
345 || GET_RTX_CLASS (GET_CODE (XEXP (op, 0))) != RTX_AUTOINC"))) | |
334 | 346 |
335 ;; True if OP is a register operand that is (or could be) a GR reg. | 347 ;; True if OP is a register operand that is (or could be) a GR reg. |
336 (define_predicate "gr_register_operand" | 348 (define_predicate "gr_register_operand" |
337 (match_operand 0 "register_operand") | 349 (match_operand 0 "register_operand") |
338 { | 350 { |
534 (define_predicate "fr_reg_or_0_operand" | 546 (define_predicate "fr_reg_or_0_operand" |
535 (ior (match_operand 0 "fr_register_operand") | 547 (ior (match_operand 0 "fr_register_operand") |
536 (and (match_code "const_double,const_vector") | 548 (and (match_code "const_double,const_vector") |
537 (match_test "op == CONST0_RTX (GET_MODE (op))")))) | 549 (match_test "op == CONST0_RTX (GET_MODE (op))")))) |
538 | 550 |
551 ;; Return 1 if OP is a valid comparison operator for "cbranch" instructions. | |
552 (define_predicate "ia64_cbranch_operator" | |
553 (ior (match_operand 0 "ordered_comparison_operator") | |
554 (match_code "ordered,unordered"))) | |
555 | |
539 ;; True if this is a comparison operator, which accepts a normal 8-bit | 556 ;; True if this is a comparison operator, which accepts a normal 8-bit |
540 ;; signed immediate operand. | 557 ;; signed immediate operand. |
541 (define_predicate "normal_comparison_operator" | 558 (define_predicate "normal_comparison_operator" |
542 (match_code "eq,ne,gt,le,gtu,leu")) | 559 (match_code "eq,ne,gt,le,gtu,leu")) |
543 | 560 |