comparison gcc/target-def.h @ 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 b7f97abdc517
comparison
equal deleted inserted replaced
52:c156f1bd5cd9 55:77e2b8dfacca
1 /* Default initializers for a generic GCC target. 1 /* Default initializers for a generic GCC target.
2 Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 2 Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
3 Free Software Foundation, Inc. 3 Free Software Foundation, Inc.
4 4
5 This program is free software; you can redistribute it and/or modify it 5 This program is free software; you can redistribute it and/or modify it
6 under the terms of the GNU General Public License as published by the 6 under the terms of the GNU General Public License as published by the
7 Free Software Foundation; either version 3, or (at your option) any 7 Free Software Foundation; either version 3, or (at your option) any
82 82
83 #ifndef TARGET_ASM_INTERNAL_LABEL 83 #ifndef TARGET_ASM_INTERNAL_LABEL
84 #define TARGET_ASM_INTERNAL_LABEL default_internal_label 84 #define TARGET_ASM_INTERNAL_LABEL default_internal_label
85 #endif 85 #endif
86 86
87 #ifndef TARGET_ARM_TTYPE 87 #ifndef TARGET_ASM_TTYPE
88 #define TARGET_ASM_TTYPE hook_bool_rtx_false 88 #define TARGET_ASM_TTYPE hook_bool_rtx_false
89 #endif 89 #endif
90 90
91 #ifndef TARGET_ASM_ASSEMBLE_VISIBILITY 91 #ifndef TARGET_ASM_ASSEMBLE_VISIBILITY
92 #define TARGET_ASM_ASSEMBLE_VISIBILITY default_assemble_visibility 92 #define TARGET_ASM_ASSEMBLE_VISIBILITY default_assemble_visibility
234 234
235 #ifndef TARGET_ASM_OUTPUT_DWARF_DTPREL 235 #ifndef TARGET_ASM_OUTPUT_DWARF_DTPREL
236 #define TARGET_ASM_OUTPUT_DWARF_DTPREL NULL 236 #define TARGET_ASM_OUTPUT_DWARF_DTPREL NULL
237 #endif 237 #endif
238 238
239 #ifndef TARGET_ASM_FINAL_POSTSCAN_INSN
240 #define TARGET_ASM_FINAL_POSTSCAN_INSN NULL
241 #endif
242
239 #ifndef TARGET_ASM_RECORD_GCC_SWITCHES 243 #ifndef TARGET_ASM_RECORD_GCC_SWITCHES
240 #define TARGET_ASM_RECORD_GCC_SWITCHES NULL 244 #define TARGET_ASM_RECORD_GCC_SWITCHES NULL
241 #endif 245 #endif
242 #ifndef TARGET_ASM_RECORD_GCC_SWITCHES_SECTION 246 #ifndef TARGET_ASM_RECORD_GCC_SWITCHES_SECTION
243 #define TARGET_ASM_RECORD_GCC_SWITCHES_SECTION ".GCC.command.line" 247 #define TARGET_ASM_RECORD_GCC_SWITCHES_SECTION ".GCC.command.line"
244 #endif 248 #endif
249
250 #define TARGET_ASM_TRAMPOLINE_TEMPLATE NULL
245 251
246 #define TARGET_ASM_ALIGNED_INT_OP \ 252 #define TARGET_ASM_ALIGNED_INT_OP \
247 {TARGET_ASM_ALIGNED_HI_OP, \ 253 {TARGET_ASM_ALIGNED_HI_OP, \
248 TARGET_ASM_ALIGNED_SI_OP, \ 254 TARGET_ASM_ALIGNED_SI_OP, \
249 TARGET_ASM_ALIGNED_DI_OP, \ 255 TARGET_ASM_ALIGNED_DI_OP, \
289 TARGET_ASM_EXTERNAL_LIBCALL, \ 295 TARGET_ASM_EXTERNAL_LIBCALL, \
290 TARGET_ASM_MARK_DECL_PRESERVED, \ 296 TARGET_ASM_MARK_DECL_PRESERVED, \
291 TARGET_ASM_RECORD_GCC_SWITCHES, \ 297 TARGET_ASM_RECORD_GCC_SWITCHES, \
292 TARGET_ASM_RECORD_GCC_SWITCHES_SECTION, \ 298 TARGET_ASM_RECORD_GCC_SWITCHES_SECTION, \
293 TARGET_ASM_OUTPUT_ANCHOR, \ 299 TARGET_ASM_OUTPUT_ANCHOR, \
294 TARGET_ASM_OUTPUT_DWARF_DTPREL} 300 TARGET_ASM_OUTPUT_DWARF_DTPREL, \
301 TARGET_ASM_FINAL_POSTSCAN_INSN, \
302 TARGET_ASM_TRAMPOLINE_TEMPLATE }
295 303
296 /* Scheduler hooks. All of these default to null pointers, which 304 /* Scheduler hooks. All of these default to null pointers, which
297 haifa-sched.c looks for and handles. */ 305 haifa-sched.c looks for and handles. */
298 #define TARGET_SCHED_ADJUST_COST 0 306 #define TARGET_SCHED_ADJUST_COST 0
299 #define TARGET_SCHED_ADJUST_PRIORITY 0 307 #define TARGET_SCHED_ADJUST_PRIORITY 0
381 #define TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_ODD 0 389 #define TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_ODD 0
382 #define TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST 0 390 #define TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST 0
383 #define TARGET_VECTOR_ALIGNMENT_REACHABLE \ 391 #define TARGET_VECTOR_ALIGNMENT_REACHABLE \
384 default_builtin_vector_alignment_reachable 392 default_builtin_vector_alignment_reachable
385 #define TARGET_VECTORIZE_BUILTIN_VEC_PERM 0 393 #define TARGET_VECTORIZE_BUILTIN_VEC_PERM 0
394 #define TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK \
395 hook_bool_tree_tree_true
396 #define TARGET_SUPPORT_VECTOR_MISALIGNMENT \
397 default_builtin_support_vector_misalignment
398
386 399
387 #define TARGET_VECTORIZE \ 400 #define TARGET_VECTORIZE \
388 { \ 401 { \
389 TARGET_VECTORIZE_BUILTIN_MASK_FOR_LOAD, \ 402 TARGET_VECTORIZE_BUILTIN_MASK_FOR_LOAD, \
390 TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION, \ 403 TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION, \
391 TARGET_VECTORIZE_BUILTIN_CONVERSION, \ 404 TARGET_VECTORIZE_BUILTIN_CONVERSION, \
392 TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_EVEN, \ 405 TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_EVEN, \
393 TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_ODD, \ 406 TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_ODD, \
394 TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST, \ 407 TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST, \
395 TARGET_VECTOR_ALIGNMENT_REACHABLE, \ 408 TARGET_VECTOR_ALIGNMENT_REACHABLE, \
396 TARGET_VECTORIZE_BUILTIN_VEC_PERM \ 409 TARGET_VECTORIZE_BUILTIN_VEC_PERM, \
410 TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK, \
411 TARGET_SUPPORT_VECTOR_MISALIGNMENT \
397 } 412 }
398 413
399 #define TARGET_DEFAULT_TARGET_FLAGS 0 414 #define TARGET_DEFAULT_TARGET_FLAGS 0
415
416 #define TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE hook_void_void
400 417
401 #define TARGET_HANDLE_OPTION hook_bool_size_t_constcharptr_int_true 418 #define TARGET_HANDLE_OPTION hook_bool_size_t_constcharptr_int_true
402 #define TARGET_HELP NULL 419 #define TARGET_HELP NULL
403 420
404 /* In except.c */ 421 /* In except.c */
416 #define TARGET_MERGE_TYPE_ATTRIBUTES merge_type_attributes 433 #define TARGET_MERGE_TYPE_ATTRIBUTES merge_type_attributes
417 #define TARGET_ATTRIBUTE_TABLE NULL 434 #define TARGET_ATTRIBUTE_TABLE NULL
418 435
419 /* In cse.c. */ 436 /* In cse.c. */
420 #define TARGET_ADDRESS_COST default_address_cost 437 #define TARGET_ADDRESS_COST default_address_cost
438 #define TARGET_CONST_ANCHOR 0
421 439
422 /* In builtins.c. */ 440 /* In builtins.c. */
423 #define TARGET_INIT_BUILTINS hook_void_void 441 #define TARGET_INIT_BUILTINS hook_void_void
424 #define TARGET_EXPAND_BUILTIN default_expand_builtin 442 #define TARGET_EXPAND_BUILTIN default_expand_builtin
425 #define TARGET_RESOLVE_OVERLOADED_BUILTIN NULL 443 #define TARGET_RESOLVE_OVERLOADED_BUILTIN NULL
426 #define TARGET_FOLD_BUILTIN hook_tree_tree_tree_bool_null 444 #define TARGET_FOLD_BUILTIN hook_tree_tree_tree_bool_null
445 #define TARGET_BUILTIN_DECL NULL
427 446
428 /* In tree-ssa-math-opts.c */ 447 /* In tree-ssa-math-opts.c */
429 #define TARGET_BUILTIN_RECIPROCAL default_builtin_reciprocal 448 #define TARGET_BUILTIN_RECIPROCAL default_builtin_reciprocal
430 449
431 /* In varasm.c. */ 450 /* In varasm.c. */
455 474
456 #ifndef TARGET_VALID_POINTER_MODE 475 #ifndef TARGET_VALID_POINTER_MODE
457 #define TARGET_VALID_POINTER_MODE default_valid_pointer_mode 476 #define TARGET_VALID_POINTER_MODE default_valid_pointer_mode
458 #endif 477 #endif
459 478
479 #ifndef TARGET_ADDR_SPACE_POINTER_MODE
480 #define TARGET_ADDR_SPACE_POINTER_MODE default_addr_space_pointer_mode
481 #endif
482
483 #ifndef TARGET_ADDR_SPACE_ADDRESS_MODE
484 #define TARGET_ADDR_SPACE_ADDRESS_MODE default_addr_space_address_mode
485 #endif
486
487 #ifndef TARGET_ADDR_SPACE_VALID_POINTER_MODE
488 #define TARGET_ADDR_SPACE_VALID_POINTER_MODE \
489 default_addr_space_valid_pointer_mode
490 #endif
491
492 #ifndef TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P
493 #define TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P \
494 default_addr_space_legitimate_address_p
495 #endif
496
497 #ifndef TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS
498 #define TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS \
499 default_addr_space_legitimize_address
500 #endif
501
502 #ifndef TARGET_ADDR_SPACE_SUBSET_P
503 #define TARGET_ADDR_SPACE_SUBSET_P default_addr_space_subset_p
504 #endif
505
506 #ifndef TARGET_ADDR_SPACE_CONVERT
507 #define TARGET_ADDR_SPACE_CONVERT default_addr_space_convert
508 #endif
509
510 #define TARGET_ADDR_SPACE_HOOKS \
511 { \
512 TARGET_ADDR_SPACE_POINTER_MODE, \
513 TARGET_ADDR_SPACE_ADDRESS_MODE, \
514 TARGET_ADDR_SPACE_VALID_POINTER_MODE, \
515 TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P, \
516 TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS, \
517 TARGET_ADDR_SPACE_SUBSET_P, \
518 TARGET_ADDR_SPACE_CONVERT, \
519 }
520
460 #ifndef TARGET_SCALAR_MODE_SUPPORTED_P 521 #ifndef TARGET_SCALAR_MODE_SUPPORTED_P
461 #define TARGET_SCALAR_MODE_SUPPORTED_P default_scalar_mode_supported_p 522 #define TARGET_SCALAR_MODE_SUPPORTED_P default_scalar_mode_supported_p
462 #endif 523 #endif
463 524
464 #ifndef TARGET_DECIMAL_FLOAT_SUPPORTED_P 525 #ifndef TARGET_DECIMAL_FLOAT_SUPPORTED_P
471 532
472 #ifndef TARGET_VECTOR_MODE_SUPPORTED_P 533 #ifndef TARGET_VECTOR_MODE_SUPPORTED_P
473 #define TARGET_VECTOR_MODE_SUPPORTED_P hook_bool_mode_false 534 #define TARGET_VECTOR_MODE_SUPPORTED_P hook_bool_mode_false
474 #endif 535 #endif
475 536
476 #ifndef TARGET_VECTOR_OPAQUE_P
477 #define TARGET_VECTOR_OPAQUE_P hook_bool_const_tree_false
478 #endif
479
480 /* In hooks.c. */ 537 /* In hooks.c. */
481 #define TARGET_CANNOT_MODIFY_JUMPS_P hook_bool_void_false 538 #define TARGET_CANNOT_MODIFY_JUMPS_P hook_bool_void_false
482 #define TARGET_BRANCH_TARGET_REGISTER_CLASS hook_int_void_no_regs 539 #define TARGET_BRANCH_TARGET_REGISTER_CLASS \
540 default_branch_target_register_class
483 #define TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED hook_bool_bool_false 541 #define TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED hook_bool_bool_false
542 #define TARGET_HAVE_CONDITIONAL_EXECUTION default_have_conditional_execution
484 #define TARGET_CANNOT_FORCE_CONST_MEM hook_bool_rtx_false 543 #define TARGET_CANNOT_FORCE_CONST_MEM hook_bool_rtx_false
485 #define TARGET_CANNOT_COPY_INSN_P NULL 544 #define TARGET_CANNOT_COPY_INSN_P NULL
486 #define TARGET_COMMUTATIVE_P hook_bool_const_rtx_commutative_p 545 #define TARGET_COMMUTATIVE_P hook_bool_const_rtx_commutative_p
487 #define TARGET_DELEGITIMIZE_ADDRESS hook_rtx_rtx_identity 546 #define TARGET_LEGITIMIZE_ADDRESS default_legitimize_address
547 #define TARGET_DELEGITIMIZE_ADDRESS delegitimize_mem_from_attrs
548 #define TARGET_LEGITIMATE_ADDRESS_P default_legitimate_address_p
488 #define TARGET_USE_BLOCKS_FOR_CONSTANT_P hook_bool_mode_const_rtx_false 549 #define TARGET_USE_BLOCKS_FOR_CONSTANT_P hook_bool_mode_const_rtx_false
489 #define TARGET_MIN_ANCHOR_OFFSET 0 550 #define TARGET_MIN_ANCHOR_OFFSET 0
490 #define TARGET_MAX_ANCHOR_OFFSET 0 551 #define TARGET_MAX_ANCHOR_OFFSET 0
491 #define TARGET_USE_ANCHORS_FOR_SYMBOL_P default_use_anchors_for_symbol_p 552 #define TARGET_USE_ANCHORS_FOR_SYMBOL_P default_use_anchors_for_symbol_p
492 #define TARGET_FUNCTION_OK_FOR_SIBCALL hook_bool_tree_tree_false 553 #define TARGET_FUNCTION_OK_FOR_SIBCALL hook_bool_tree_tree_false
530 #endif 591 #endif
531 592
532 #define TARGET_INVALID_CONVERSION hook_constcharptr_const_tree_const_tree_null 593 #define TARGET_INVALID_CONVERSION hook_constcharptr_const_tree_const_tree_null
533 #define TARGET_INVALID_UNARY_OP hook_constcharptr_int_const_tree_null 594 #define TARGET_INVALID_UNARY_OP hook_constcharptr_int_const_tree_null
534 #define TARGET_INVALID_BINARY_OP hook_constcharptr_int_const_tree_const_tree_null 595 #define TARGET_INVALID_BINARY_OP hook_constcharptr_int_const_tree_const_tree_null
596 #define TARGET_INVALID_PARAMETER_TYPE hook_constcharptr_const_tree_null
597 #define TARGET_INVALID_RETURN_TYPE hook_constcharptr_const_tree_null
598 #define TARGET_PROMOTED_TYPE hook_tree_const_tree_null
599 #define TARGET_CONVERT_TO_TYPE hook_tree_tree_tree_null
535 600
536 #define TARGET_FIXED_CONDITION_CODE_REGS hook_bool_uintp_uintp_false 601 #define TARGET_FIXED_CONDITION_CODE_REGS hook_bool_uintp_uintp_false
537 602
538 #define TARGET_CC_MODES_COMPATIBLE default_cc_modes_compatible 603 #define TARGET_CC_MODES_COMPATIBLE default_cc_modes_compatible
539 604
563 #define TARGET_STACK_PROTECT_GUARD default_stack_protect_guard 628 #define TARGET_STACK_PROTECT_GUARD default_stack_protect_guard
564 #define TARGET_STACK_PROTECT_FAIL default_external_stack_protect_fail 629 #define TARGET_STACK_PROTECT_FAIL default_external_stack_protect_fail
565 630
566 #define TARGET_ARM_EABI_UNWINDER false 631 #define TARGET_ARM_EABI_UNWINDER false
567 632
568 #define TARGET_PROMOTE_FUNCTION_ARGS hook_bool_const_tree_false 633 #define TARGET_PROMOTE_FUNCTION_MODE default_promote_function_mode
569 #define TARGET_PROMOTE_FUNCTION_RETURN hook_bool_const_tree_false
570 #define TARGET_PROMOTE_PROTOTYPES hook_bool_const_tree_false 634 #define TARGET_PROMOTE_PROTOTYPES hook_bool_const_tree_false
571 635
572 #define TARGET_STRUCT_VALUE_RTX hook_rtx_tree_int_null 636 #define TARGET_STRUCT_VALUE_RTX hook_rtx_tree_int_null
573 #define TARGET_RETURN_IN_MEMORY default_return_in_memory 637 #define TARGET_RETURN_IN_MEMORY default_return_in_memory
574 #define TARGET_RETURN_IN_MSB hook_bool_const_tree_false 638 #define TARGET_RETURN_IN_MSB hook_bool_const_tree_false
588 #define TARGET_MUST_PASS_IN_STACK must_pass_in_stack_var_size_or_pad 652 #define TARGET_MUST_PASS_IN_STACK must_pass_in_stack_var_size_or_pad
589 #define TARGET_CALLEE_COPIES hook_bool_CUMULATIVE_ARGS_mode_tree_bool_false 653 #define TARGET_CALLEE_COPIES hook_bool_CUMULATIVE_ARGS_mode_tree_bool_false
590 #define TARGET_ARG_PARTIAL_BYTES hook_int_CUMULATIVE_ARGS_mode_tree_bool_0 654 #define TARGET_ARG_PARTIAL_BYTES hook_int_CUMULATIVE_ARGS_mode_tree_bool_0
591 655
592 #define TARGET_FUNCTION_VALUE default_function_value 656 #define TARGET_FUNCTION_VALUE default_function_value
657 #define TARGET_LIBCALL_VALUE default_libcall_value
593 #define TARGET_INTERNAL_ARG_POINTER default_internal_arg_pointer 658 #define TARGET_INTERNAL_ARG_POINTER default_internal_arg_pointer
594 #define TARGET_UPDATE_STACK_BOUNDARY NULL 659 #define TARGET_UPDATE_STACK_BOUNDARY NULL
595 #define TARGET_GET_DRAP_RTX NULL 660 #define TARGET_GET_DRAP_RTX NULL
596 #define TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS hook_bool_void_true 661 #define TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS hook_bool_void_true
662 #define TARGET_STATIC_CHAIN default_static_chain
663 #define TARGET_TRAMPOLINE_INIT default_trampoline_init
664 #define TARGET_TRAMPOLINE_ADJUST_ADDRESS NULL
597 665
598 #define TARGET_CALLS { \ 666 #define TARGET_CALLS { \
599 TARGET_PROMOTE_FUNCTION_ARGS, \ 667 TARGET_PROMOTE_FUNCTION_MODE, \
600 TARGET_PROMOTE_FUNCTION_RETURN, \
601 TARGET_PROMOTE_PROTOTYPES, \ 668 TARGET_PROMOTE_PROTOTYPES, \
602 TARGET_STRUCT_VALUE_RTX, \ 669 TARGET_STRUCT_VALUE_RTX, \
603 TARGET_RETURN_IN_MEMORY, \ 670 TARGET_RETURN_IN_MEMORY, \
604 TARGET_RETURN_IN_MSB, \ 671 TARGET_RETURN_IN_MSB, \
605 TARGET_PASS_BY_REFERENCE, \ 672 TARGET_PASS_BY_REFERENCE, \
611 TARGET_MUST_PASS_IN_STACK, \ 678 TARGET_MUST_PASS_IN_STACK, \
612 TARGET_CALLEE_COPIES, \ 679 TARGET_CALLEE_COPIES, \
613 TARGET_ARG_PARTIAL_BYTES, \ 680 TARGET_ARG_PARTIAL_BYTES, \
614 TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN, \ 681 TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN, \
615 TARGET_FUNCTION_VALUE, \ 682 TARGET_FUNCTION_VALUE, \
683 TARGET_LIBCALL_VALUE, \
616 TARGET_INTERNAL_ARG_POINTER, \ 684 TARGET_INTERNAL_ARG_POINTER, \
617 TARGET_UPDATE_STACK_BOUNDARY, \ 685 TARGET_UPDATE_STACK_BOUNDARY, \
618 TARGET_GET_DRAP_RTX, \ 686 TARGET_GET_DRAP_RTX, \
619 TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS \ 687 TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS, \
688 TARGET_STATIC_CHAIN, \
689 TARGET_TRAMPOLINE_INIT, \
690 TARGET_TRAMPOLINE_ADJUST_ADDRESS \
620 } 691 }
621 692
622 #ifndef TARGET_UNWIND_TABLES_DEFAULT 693 #ifndef TARGET_UNWIND_TABLES_DEFAULT
623 #define TARGET_UNWIND_TABLES_DEFAULT false 694 #define TARGET_UNWIND_TABLES_DEFAULT false
624 #endif
625
626 #ifndef TARGET_HANDLE_PRAGMA_REDEFINE_EXTNAME
627 #define TARGET_HANDLE_PRAGMA_REDEFINE_EXTNAME 0
628 #endif 695 #endif
629 696
630 #ifndef TARGET_HANDLE_PRAGMA_EXTERN_PREFIX 697 #ifndef TARGET_HANDLE_PRAGMA_EXTERN_PREFIX
631 #define TARGET_HANDLE_PRAGMA_EXTERN_PREFIX 0 698 #define TARGET_HANDLE_PRAGMA_EXTERN_PREFIX 0
632 #endif 699 #endif
649 #define TARGET_INSTANTIATE_DECLS hook_void_void 716 #define TARGET_INSTANTIATE_DECLS hook_void_void
650 #endif 717 #endif
651 718
652 #ifndef TARGET_HARD_REGNO_SCRATCH_OK 719 #ifndef TARGET_HARD_REGNO_SCRATCH_OK
653 #define TARGET_HARD_REGNO_SCRATCH_OK default_hard_regno_scratch_ok 720 #define TARGET_HARD_REGNO_SCRATCH_OK default_hard_regno_scratch_ok
721 #endif
722
723 #ifndef TARGET_CASE_VALUES_THRESHOLD
724 #define TARGET_CASE_VALUES_THRESHOLD default_case_values_threshold
725 #endif
726
727 #ifndef TARGET_FRAME_POINTER_REQUIRED
728 #define TARGET_FRAME_POINTER_REQUIRED hook_bool_void_false
729 #endif
730
731 #ifndef TARGET_CAN_ELIMINATE
732 #define TARGET_CAN_ELIMINATE hook_bool_const_int_const_int_true
654 #endif 733 #endif
655 734
656 /* C specific. */ 735 /* C specific. */
657 #ifndef TARGET_C_MODE_FOR_SUFFIX 736 #ifndef TARGET_C_MODE_FOR_SUFFIX
658 #define TARGET_C_MODE_FOR_SUFFIX default_mode_for_suffix 737 #define TARGET_C_MODE_FOR_SUFFIX default_mode_for_suffix
808 887
809 #ifndef TARGET_OPTION_PRAGMA_PARSE 888 #ifndef TARGET_OPTION_PRAGMA_PARSE
810 #define TARGET_OPTION_PRAGMA_PARSE default_target_option_pragma_parse 889 #define TARGET_OPTION_PRAGMA_PARSE default_target_option_pragma_parse
811 #endif 890 #endif
812 891
813 #ifndef TARGET_OPTION_CAN_INLINE_P 892 #ifndef TARGET_CAN_INLINE_P
814 #define TARGET_OPTION_CAN_INLINE_P default_target_option_can_inline_p 893 #define TARGET_CAN_INLINE_P default_target_can_inline_p
815 #endif 894 #endif
816 895
817 #define TARGET_OPTION_HOOKS \ 896 #define TARGET_OPTION_HOOKS \
818 { \ 897 { \
819 TARGET_OPTION_VALID_ATTRIBUTE_P, \ 898 TARGET_OPTION_VALID_ATTRIBUTE_P, \
820 TARGET_OPTION_SAVE, \ 899 TARGET_OPTION_SAVE, \
821 TARGET_OPTION_RESTORE, \ 900 TARGET_OPTION_RESTORE, \
822 TARGET_OPTION_PRINT, \ 901 TARGET_OPTION_PRINT, \
823 TARGET_OPTION_PRAGMA_PARSE, \ 902 TARGET_OPTION_PRAGMA_PARSE, \
824 TARGET_OPTION_CAN_INLINE_P, \ 903 TARGET_CAN_INLINE_P, \
825 } 904 }
826 905
827 /* The whole shebang. */ 906 /* The whole shebang. */
828 #define TARGET_INITIALIZER \ 907 #define TARGET_INITIALIZER \
829 { \ 908 { \
830 TARGET_ASM_OUT, \ 909 TARGET_ASM_OUT, \
831 TARGET_SCHED, \ 910 TARGET_SCHED, \
832 TARGET_VECTORIZE, \ 911 TARGET_VECTORIZE, \
833 TARGET_DEFAULT_TARGET_FLAGS, \ 912 TARGET_DEFAULT_TARGET_FLAGS, \
913 TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE, \
834 TARGET_HANDLE_OPTION, \ 914 TARGET_HANDLE_OPTION, \
835 TARGET_HELP, \ 915 TARGET_HELP, \
836 TARGET_EH_RETURN_FILTER_MODE, \ 916 TARGET_EH_RETURN_FILTER_MODE, \
837 TARGET_LIBGCC_CMP_RETURN_MODE, \ 917 TARGET_LIBGCC_CMP_RETURN_MODE, \
838 TARGET_LIBGCC_SHIFT_COUNT_MODE, \ 918 TARGET_LIBGCC_SHIFT_COUNT_MODE, \
848 TARGET_DECIMAL_FLOAT_SUPPORTED_P, \ 928 TARGET_DECIMAL_FLOAT_SUPPORTED_P, \
849 TARGET_FIXED_POINT_SUPPORTED_P, \ 929 TARGET_FIXED_POINT_SUPPORTED_P, \
850 TARGET_ALIGN_ANON_BITFIELD, \ 930 TARGET_ALIGN_ANON_BITFIELD, \
851 TARGET_NARROW_VOLATILE_BITFIELD, \ 931 TARGET_NARROW_VOLATILE_BITFIELD, \
852 TARGET_INIT_BUILTINS, \ 932 TARGET_INIT_BUILTINS, \
933 TARGET_BUILTIN_DECL, \
853 TARGET_EXPAND_BUILTIN, \ 934 TARGET_EXPAND_BUILTIN, \
854 TARGET_RESOLVE_OVERLOADED_BUILTIN, \ 935 TARGET_RESOLVE_OVERLOADED_BUILTIN, \
855 TARGET_FOLD_BUILTIN, \ 936 TARGET_FOLD_BUILTIN, \
856 TARGET_BUILTIN_RECIPROCAL, \ 937 TARGET_BUILTIN_RECIPROCAL, \
857 TARGET_MANGLE_TYPE, \ 938 TARGET_MANGLE_TYPE, \
858 TARGET_INIT_LIBFUNCS, \ 939 TARGET_INIT_LIBFUNCS, \
859 TARGET_SECTION_TYPE_FLAGS, \ 940 TARGET_SECTION_TYPE_FLAGS, \
860 TARGET_CANNOT_MODIFY_JUMPS_P, \ 941 TARGET_CANNOT_MODIFY_JUMPS_P, \
861 TARGET_BRANCH_TARGET_REGISTER_CLASS, \ 942 TARGET_BRANCH_TARGET_REGISTER_CLASS, \
862 TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED, \ 943 TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED, \
944 TARGET_HAVE_CONDITIONAL_EXECUTION, \
863 TARGET_CANNOT_FORCE_CONST_MEM, \ 945 TARGET_CANNOT_FORCE_CONST_MEM, \
864 TARGET_CANNOT_COPY_INSN_P, \ 946 TARGET_CANNOT_COPY_INSN_P, \
865 TARGET_COMMUTATIVE_P, \ 947 TARGET_COMMUTATIVE_P, \
948 TARGET_LEGITIMIZE_ADDRESS, \
866 TARGET_DELEGITIMIZE_ADDRESS, \ 949 TARGET_DELEGITIMIZE_ADDRESS, \
950 TARGET_LEGITIMATE_ADDRESS_P, \
867 TARGET_USE_BLOCKS_FOR_CONSTANT_P, \ 951 TARGET_USE_BLOCKS_FOR_CONSTANT_P, \
868 TARGET_MIN_ANCHOR_OFFSET, \ 952 TARGET_MIN_ANCHOR_OFFSET, \
869 TARGET_MAX_ANCHOR_OFFSET, \ 953 TARGET_MAX_ANCHOR_OFFSET, \
870 TARGET_USE_ANCHORS_FOR_SYMBOL_P, \ 954 TARGET_USE_ANCHORS_FOR_SYMBOL_P, \
871 TARGET_FUNCTION_OK_FOR_SIBCALL, \ 955 TARGET_FUNCTION_OK_FOR_SIBCALL, \
877 TARGET_STRIP_NAME_ENCODING, \ 961 TARGET_STRIP_NAME_ENCODING, \
878 TARGET_SHIFT_TRUNCATION_MASK, \ 962 TARGET_SHIFT_TRUNCATION_MASK, \
879 TARGET_MIN_DIVISIONS_FOR_RECIP_MUL, \ 963 TARGET_MIN_DIVISIONS_FOR_RECIP_MUL, \
880 TARGET_MODE_REP_EXTENDED, \ 964 TARGET_MODE_REP_EXTENDED, \
881 TARGET_VALID_POINTER_MODE, \ 965 TARGET_VALID_POINTER_MODE, \
966 TARGET_ADDR_SPACE_HOOKS, \
882 TARGET_SCALAR_MODE_SUPPORTED_P, \ 967 TARGET_SCALAR_MODE_SUPPORTED_P, \
883 TARGET_VECTOR_MODE_SUPPORTED_P, \ 968 TARGET_VECTOR_MODE_SUPPORTED_P, \
884 TARGET_VECTOR_OPAQUE_P, \
885 TARGET_RTX_COSTS, \ 969 TARGET_RTX_COSTS, \
886 TARGET_ADDRESS_COST, \ 970 TARGET_ADDRESS_COST, \
887 TARGET_ALLOCATE_INITIAL_VALUE, \ 971 TARGET_ALLOCATE_INITIAL_VALUE, \
888 TARGET_UNSPEC_MAY_TRAP_P, \ 972 TARGET_UNSPEC_MAY_TRAP_P, \
889 TARGET_DWARF_REGISTER_SPAN, \ 973 TARGET_DWARF_REGISTER_SPAN, \
907 TARGET_STDARG_OPTIMIZE_HOOK, \ 991 TARGET_STDARG_OPTIMIZE_HOOK, \
908 TARGET_STACK_PROTECT_GUARD, \ 992 TARGET_STACK_PROTECT_GUARD, \
909 TARGET_STACK_PROTECT_FAIL, \ 993 TARGET_STACK_PROTECT_FAIL, \
910 TARGET_INVALID_WITHIN_DOLOOP, \ 994 TARGET_INVALID_WITHIN_DOLOOP, \
911 TARGET_VALID_DLLIMPORT_ATTRIBUTE_P, \ 995 TARGET_VALID_DLLIMPORT_ATTRIBUTE_P, \
996 TARGET_CONST_ANCHOR, \
912 TARGET_CALLS, \ 997 TARGET_CALLS, \
913 TARGET_INVALID_CONVERSION, \ 998 TARGET_INVALID_CONVERSION, \
914 TARGET_INVALID_UNARY_OP, \ 999 TARGET_INVALID_UNARY_OP, \
915 TARGET_INVALID_BINARY_OP, \ 1000 TARGET_INVALID_BINARY_OP, \
1001 TARGET_INVALID_PARAMETER_TYPE, \
1002 TARGET_INVALID_RETURN_TYPE, \
1003 TARGET_PROMOTED_TYPE, \
1004 TARGET_CONVERT_TO_TYPE, \
916 TARGET_IRA_COVER_CLASSES, \ 1005 TARGET_IRA_COVER_CLASSES, \
917 TARGET_SECONDARY_RELOAD, \ 1006 TARGET_SECONDARY_RELOAD, \
918 TARGET_EXPAND_TO_RTL_HOOK, \ 1007 TARGET_EXPAND_TO_RTL_HOOK, \
919 TARGET_INSTANTIATE_DECLS, \ 1008 TARGET_INSTANTIATE_DECLS, \
920 TARGET_HARD_REGNO_SCRATCH_OK, \ 1009 TARGET_HARD_REGNO_SCRATCH_OK, \
1010 TARGET_CASE_VALUES_THRESHOLD, \
1011 TARGET_FRAME_POINTER_REQUIRED, \
1012 TARGET_CAN_ELIMINATE, \
921 TARGET_C, \ 1013 TARGET_C, \
922 TARGET_CXX, \ 1014 TARGET_CXX, \
923 TARGET_EMUTLS, \ 1015 TARGET_EMUTLS, \
924 TARGET_OPTION_HOOKS, \ 1016 TARGET_OPTION_HOOKS, \
925 TARGET_EXTRA_LIVE_ON_ENTRY, \ 1017 TARGET_EXTRA_LIVE_ON_ENTRY, \
930 TARGET_HAVE_TLS, \ 1022 TARGET_HAVE_TLS, \
931 TARGET_HAVE_SRODATA_SECTION, \ 1023 TARGET_HAVE_SRODATA_SECTION, \
932 TARGET_TERMINATE_DW2_EH_FRAME_INFO, \ 1024 TARGET_TERMINATE_DW2_EH_FRAME_INFO, \
933 TARGET_ASM_FILE_START_APP_OFF, \ 1025 TARGET_ASM_FILE_START_APP_OFF, \
934 TARGET_ASM_FILE_START_FILE_DIRECTIVE, \ 1026 TARGET_ASM_FILE_START_FILE_DIRECTIVE, \
935 TARGET_HANDLE_PRAGMA_REDEFINE_EXTNAME, \
936 TARGET_HANDLE_PRAGMA_EXTERN_PREFIX, \ 1027 TARGET_HANDLE_PRAGMA_EXTERN_PREFIX, \
937 TARGET_RELAXED_ORDERING, \ 1028 TARGET_RELAXED_ORDERING, \
938 TARGET_ARM_EABI_UNWINDER \ 1029 TARGET_ARM_EABI_UNWINDER \
939 } 1030 }
940 1031