Mercurial > hg > CbC > CbC_gcc
comparison gcc/config/ia64/ia64.h @ 145:1830386684a0
gcc-9.2.0
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 11:34:05 +0900 |
parents | 84e7813d76e9 |
children |
comparison
equal
deleted
inserted
replaced
131:84e7813d76e9 | 145:1830386684a0 |
---|---|
1 /* Definitions of target machine GNU compiler. IA-64 version. | 1 /* Definitions of target machine GNU compiler. IA-64 version. |
2 Copyright (C) 1999-2018 Free Software Foundation, Inc. | 2 Copyright (C) 1999-2020 Free Software Foundation, Inc. |
3 Contributed by James E. Wilson <wilson@cygnus.com> and | 3 Contributed by James E. Wilson <wilson@cygnus.com> and |
4 David Mosberger <davidm@hpl.hp.com>. | 4 David Mosberger <davidm@hpl.hp.com>. |
5 | 5 |
6 This file is part of GCC. | 6 This file is part of GCC. |
7 | 7 |
368 /* Branch registers. */ \ | 368 /* Branch registers. */ \ |
369 0, 0, 0, 0, 0, 0, 0, 0, \ | 369 0, 0, 0, 0, 0, 0, 0, 0, \ |
370 /*FP CCV UNAT PFS LC EC */ \ | 370 /*FP CCV UNAT PFS LC EC */ \ |
371 1, 1, 1, 1, 1, 1 \ | 371 1, 1, 1, 1, 1, 1 \ |
372 } | 372 } |
373 | |
374 /* Like `FIXED_REGISTERS' but has 1 for each register that is clobbered | |
375 (in general) by function calls as well as for fixed registers. This | |
376 macro therefore identifies the registers that are not available for | |
377 general allocation of values that must live across function calls. */ | |
378 | |
379 #define CALL_USED_REGISTERS \ | |
380 { /* General registers. */ \ | |
381 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, \ | |
382 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \ | |
383 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ | |
384 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ | |
385 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ | |
386 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ | |
387 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ | |
388 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, \ | |
389 /* Floating-point registers. */ \ | |
390 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \ | |
391 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ | |
392 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \ | |
393 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \ | |
394 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \ | |
395 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \ | |
396 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \ | |
397 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \ | |
398 /* Predicate registers. */ \ | |
399 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \ | |
400 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ | |
401 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ | |
402 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ | |
403 /* Branch registers. */ \ | |
404 1, 0, 0, 0, 0, 0, 1, 1, \ | |
405 /*FP CCV UNAT PFS LC EC */ \ | |
406 1, 1, 1, 1, 1, 1 \ | |
407 } | |
408 | 373 |
409 /* Like `CALL_USED_REGISTERS' but used to overcome a historical | 374 /* Like `CALL_USED_REGISTERS' but used to overcome a historical |
410 problem which makes CALL_USED_REGISTERS *always* include | 375 problem which makes CALL_USED_REGISTERS *always* include |
411 all the FIXED_REGISTERS. Until this problem has been | 376 all the FIXED_REGISTERS. Until this problem has been |
412 resolved this macro can be used to overcome this situation. | 377 resolved this macro can be used to overcome this situation. |
595 /* Specify the modes required to caller save a given hard regno. | 560 /* Specify the modes required to caller save a given hard regno. |
596 We need to ensure floating pt regs are not saved as DImode. */ | 561 We need to ensure floating pt regs are not saved as DImode. */ |
597 | 562 |
598 #define HARD_REGNO_CALLER_SAVE_MODE(REGNO, NREGS, MODE) \ | 563 #define HARD_REGNO_CALLER_SAVE_MODE(REGNO, NREGS, MODE) \ |
599 ((FR_REGNO_P (REGNO) && (NREGS) == 1) ? RFmode \ | 564 ((FR_REGNO_P (REGNO) && (NREGS) == 1) ? RFmode \ |
600 : choose_hard_reg_mode ((REGNO), (NREGS), false)) | 565 : choose_hard_reg_mode ((REGNO), (NREGS), NULL)) |
601 | 566 |
602 /* Handling Leaf Functions */ | 567 /* Handling Leaf Functions */ |
603 | 568 |
604 /* A C initializer for a vector, indexed by hard register number, which | 569 /* A C initializer for a vector, indexed by hard register number, which |
605 contains 1 for a register that is allowable in a candidate for leaf function | 570 contains 1 for a register that is allowable in a candidate for leaf function |