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