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