Mercurial > hg > CbC > CbC_gcc
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 |