comparison gcc/config/s390/constraints.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 855418dad1a3
children 04ced10e8804
comparison
equal deleted inserted replaced
52:c156f1bd5cd9 55:77e2b8dfacca
79 79
80 ;; 80 ;;
81 ;; Register constraints. 81 ;; Register constraints.
82 ;; 82 ;;
83 83
84 (define_register_constraint "a" 84 (define_register_constraint "a"
85 "ADDR_REGS" 85 "ADDR_REGS"
86 "Any address register from 1 to 15.") 86 "Any address register from 1 to 15.")
87 87
88 88
89 (define_register_constraint "c" 89 (define_register_constraint "c"
90 "CC_REGS" 90 "CC_REGS"
91 "Condition code register 33") 91 "Condition code register 33")
92 92
93 93
94 (define_register_constraint "d" 94 (define_register_constraint "d"
95 "GENERAL_REGS" 95 "GENERAL_REGS"
96 "Any register from 0 to 15") 96 "Any register from 0 to 15")
97 97
98 98
99 (define_register_constraint "f" 99 (define_register_constraint "f"
100 "FP_REGS" 100 "FP_REGS"
101 "Floating point registers") 101 "Floating point registers")
102 102
103 103
104 (define_register_constraint "t" 104 (define_register_constraint "t"
105 "ACCESS_REGS" 105 "ACCESS_REGS"
106 "@internal 106 "@internal
107 Access registers 36 and 37") 107 Access registers 36 and 37")
108 108
109 109
190 ;; The constraint matches if the specified part of a constant 190 ;; The constraint matches if the specified part of a constant
191 ;; has a value different from its other parts. If the letter x 191 ;; has a value different from its other parts. If the letter x
192 ;; is specified instead of a part number, the constraint matches 192 ;; is specified instead of a part number, the constraint matches
193 ;; if there is any single part with non-default value. 193 ;; if there is any single part with non-default value.
194 ;; 194 ;;
195 ;; The following patterns define only those constraints that are actually 195 ;; The following patterns define only those constraints that are actually
196 ;; used in s390.md. If you need an additional one, simply add it in the 196 ;; used in s390.md. If you need an additional one, simply add it in the
197 ;; obvious way. Function s390_N_constraint_str is ready to handle all 197 ;; obvious way. Function s390_N_constraint_str is ready to handle all
198 ;; combinations. 198 ;; combinations.
199 ;; 199 ;;
200 200
201 201
202 (define_constraint "NxQS0" 202 (define_constraint "NxQS0"
401 "Matches all memory references available on the current architecture 401 "Matches all memory references available on the current architecture
402 level. This constraint will never be used and using it in an inline 402 level. This constraint will never be used and using it in an inline
403 assembly is *always* a bug since there is no instruction accepting all 403 assembly is *always* a bug since there is no instruction accepting all
404 those addresses. It just serves as a placeholder for a generic memory 404 those addresses. It just serves as a placeholder for a generic memory
405 constraint." 405 constraint."
406 (match_test "legitimate_address_p (GET_MODE (op), op, 1)")) 406 (match_test "strict_memory_address_p (GET_MODE (op), op)"))
407 407
408 ; This defines 'm' as normal memory constraint. This is only possible 408 ; This defines 'm' as normal memory constraint. This is only possible
409 ; since the standard memory constraint is re-defined in s390.h using 409 ; since the standard memory constraint is re-defined in s390.h using
410 ; the TARGET_MEM_CONSTRAINT macro. 410 ; the TARGET_MEM_CONSTRAINT macro.
411 (define_memory_constraint "m" 411 (define_memory_constraint "m"
412 "Matches the most general memory address for pre-z10 machines." 412 "Matches the most general memory address for pre-z10 machines."
413 (match_test "s390_mem_constraint (\"R\", op) 413 (match_test "s390_mem_constraint (\"R\", op)
414 || s390_mem_constraint (\"T\", op)")) 414 || s390_mem_constraint (\"T\", op)"))
415 415
416 (define_memory_constraint "AQ" 416 (define_memory_constraint "AQ"
417 "@internal 417 "@internal
418 Offsettable memory reference without index register and with short displacement" 418 Offsettable memory reference without index register and with short displacement"
419 (match_test "s390_mem_constraint (\"AQ\", op)")) 419 (match_test "s390_mem_constraint (\"AQ\", op)"))
420 420
421 421
422 (define_memory_constraint "AR" 422 (define_memory_constraint "AR"
423 "@internal 423 "@internal
424 Offsettable memory reference with index register and short displacement" 424 Offsettable memory reference with index register and short displacement"
425 (match_test "s390_mem_constraint (\"AR\", op)")) 425 (match_test "s390_mem_constraint (\"AR\", op)"))
426 426
427 427
428 (define_memory_constraint "AS" 428 (define_memory_constraint "AS"
429 "@internal 429 "@internal
430 Offsettable memory reference without index register but with long displacement" 430 Offsettable memory reference without index register but with long displacement"
431 (match_test "s390_mem_constraint (\"AS\", op)")) 431 (match_test "s390_mem_constraint (\"AS\", op)"))
432 432
433 433
434 (define_memory_constraint "AT" 434 (define_memory_constraint "AT"
435 "@internal 435 "@internal
436 Offsettable memory reference with index register and long displacement" 436 Offsettable memory reference with index register and long displacement"
437 (match_test "s390_mem_constraint (\"AT\", op)")) 437 (match_test "s390_mem_constraint (\"AT\", op)"))
438 438
439 439
440 440
441 (define_constraint "BQ" 441 (define_constraint "BQ"
442 "@internal 442 "@internal
443 Memory reference without index register and with short 443 Memory reference without index register and with short
444 displacement that does *not* refer to a literal pool entry." 444 displacement that does *not* refer to a literal pool entry."
445 (match_test "s390_mem_constraint (\"BQ\", op)")) 445 (match_test "s390_mem_constraint (\"BQ\", op)"))
446 446
447 447
448 (define_constraint "BR" 448 (define_constraint "BR"
449 "@internal 449 "@internal
450 Memory reference with index register and short displacement that 450 Memory reference with index register and short displacement that
451 does *not* refer to a literal pool entry. " 451 does *not* refer to a literal pool entry. "
452 (match_test "s390_mem_constraint (\"BR\", op)")) 452 (match_test "s390_mem_constraint (\"BR\", op)"))
453 453
454 454
455 (define_constraint "BS" 455 (define_constraint "BS"
456 "@internal 456 "@internal
457 Memory reference without index register but with long displacement 457 Memory reference without index register but with long displacement
458 that does *not* refer to a literal pool entry. " 458 that does *not* refer to a literal pool entry. "
459 (match_test "s390_mem_constraint (\"BS\", op)")) 459 (match_test "s390_mem_constraint (\"BS\", op)"))
460 460
461 461
462 (define_constraint "BT" 462 (define_constraint "BT"
463 "@internal 463 "@internal
464 Memory reference with index register and long displacement that 464 Memory reference with index register and long displacement that
465 does *not* refer to a literal pool entry. " 465 does *not* refer to a literal pool entry. "
466 (match_test "s390_mem_constraint (\"BT\", op)")) 466 (match_test "s390_mem_constraint (\"BT\", op)"))
467 467
468 468