On 10/18/24 3:57 AM, Konstantinos Eleftheriou wrote:
From: kelefth <konstantinos.elefther...@vrull.eu>

This pass detects cases of expensive store forwarding and tries to avoid them
by reordering the stores and using suitable bit insertion sequences.
For example it can transform this:

      strb    w2, [x1, 1]
      ldr     x0, [x1]      # Expensive store forwarding to larger load.

To:

      ldr     x0, [x1]
      strb    w2, [x1]
      bfi     x0, x2, 0, 8

Assembly like this can appear with bitfields or type punning / unions.
On stress-ng when running the cpu-union microbenchmark the following speedups
have been observed.

   Neoverse-N1:      +29.4%
   Intel Coffeelake: +13.1%
   AMD 5950X:        +17.5%
So just fired this up on the crosses after enabling it by default. It's still got several hours to go, but there's a pretty clear goof in here that's showing up on multiple targets.

Just taking mcore-elf as an example, we're mis-compiling muldi3 from libgcc.

We have this in the .asmcons dump:

(insn 37 36 40 4 (set (mem/j/c:SI (reg/f:SI 8 r8) [1 MEM[(union  *)_61].s.low+0 
S4 A64])
        (reg:SI 77 [ _10 ])) "/home/jlaw/test/gcc/libgcc/libgcc2.c":532:649 
discrim 3 65 {*mcore.md:1196}
     (expr_list:REG_DEAD (reg:SI 77 [ _10 ])
        (nil)))
[ ... ]

(insn 44 43 45 4 (set (mem/j/c:SI (plus:SI (reg/f:SI 8 r8)
                (const_int 4 [0x4])) [1 MEM[(union  *)_61].s.high+0 S4 A32])
        (reg:SI 81 [ _18 ])) "/home/jlaw/test/gcc/libgcc/libgcc2.c":534:12 65 
{*mcore.md:1196}
     (expr_list:REG_DEAD (reg:SI 81 [ _18 ])
        (nil)))
(note 45 44 49 4 NOTE_INSN_DELETED)
(insn 49 45 50 4 (set (reg/i:DI 2 r2)
        (mem/j/c:DI (reg/f:SI 8 r8) [1 MEM[(union  *)_61].ll+0 S8 A64])) 
"/home/jlaw/test/gcc/libgcc/libgcc2.c":538:1 68 {movdi_i}
     (nil))

So we've got two SImode stores which are then loaded in DImode a bit later to set the return value for the function. A very clear opportunity to do store forwarding.


In the store-forwarding dump we have:
(insn 70 36 40 4 (set (reg:SI 95)
        (reg:SI 77 [ _10 ])) "/home/jlaw/test/gcc/libgcc/libgcc2.c":532:649 
discrim 3 65 {*mcore.md:1196}
     (nil))
[ ... ]
(insn 67 43 45 4 (set (reg:SI 94)
        (reg:SI 81 [ _18 ])) "/home/jlaw/test/gcc/libgcc/libgcc2.c":534:12 65 
{*mcore.md:1196}
     (nil))
(note 45 67 71 4 NOTE_INSN_DELETED)
(insn 71 45 69 4 (set (mem/j/c:SI (reg/f:SI 8 r8) [1 MEM[(union  *)_61].s.low+0 
S4 A64])
        (reg:SI 95)) "/home/jlaw/test/gcc/libgcc/libgcc2.c":538:1 65 
{*mcore.md:1196}
     (nil))
(insn 69 71 68 4 (set (reg:DI 93)
        (subreg:DI (reg:SI 95) 0)) "/home/jlaw/test/gcc/libgcc/libgcc2.c":538:1 
68 {movdi_i}
     (nil))
(insn 68 69 66 4 (set (mem/j/c:SI (plus:SI (reg/f:SI 8 r8)
                (const_int 4 [0x4])) [1 MEM[(union  *)_61].s.high+0 S4 A32])
        (reg:SI 94)) "/home/jlaw/test/gcc/libgcc/libgcc2.c":538:1 65 
{*mcore.md:1196}
     (nil))
(insn 66 68 50 4 (set (subreg:SI (reg:DI 93) 4)
        (reg:SI 94)) "/home/jlaw/test/gcc/libgcc/libgcc2.c":538:1 65 
{*mcore.md:1196}
     (nil))

Note that we never put a value into (reg:DI 2), so the return value from this routine is garbage, naturally leading to testsuite failures.

It looks like we're missing a copy from (reg:DI 93) to (reg:DI 2) to me.

You should be able to see this with a cross compiler and don't need binutils/gas, newlib, etc.

Compile the attached testcase with an mcore-elf configured compiler with -O3 -favoid-store-forwarding


Related, but obviously not a requirement to go forward. After the SFB elimination, the two stores at insns 71, 68 are dead and could be removed. In theory DSE should have eliminated them, but isn't for reasons I haven't investigated.

Jeff

# 0 "j.c"
# 0 "<built-in>"
# 0 "<command-line>"
# 1 "j.c"
# 0 "/home/jlaw/test/gcc/libgcc/libgcc2.c"
# 1 "/home/jlaw/test/obj/mcore/gcc/mcore-elf/libgcc//"
# 0 "<built-in>"
# 0 "<command-line>"
# 1 "/home/jlaw/test/gcc/libgcc/libgcc2.c"
# 26 "/home/jlaw/test/gcc/libgcc/libgcc2.c"
# 1 "../.././gcc/tconfig.h" 1





# 1 "../.././gcc/auto-host.h" 1
# 7 "../.././gcc/tconfig.h" 2

# 1 "/home/jlaw/test/gcc/libgcc/../include/ansidecl.h" 1
# 9 "../.././gcc/tconfig.h" 2
# 27 "/home/jlaw/test/gcc/libgcc/libgcc2.c" 2
# 1 "/home/jlaw/test/gcc/libgcc/../gcc/tsystem.h" 1
# 44 "/home/jlaw/test/gcc/libgcc/../gcc/tsystem.h"
# 1 "/home/jlaw/test/obj/mcore/gcc/gcc/include/stddef.h" 1 3 4
# 145 "/home/jlaw/test/obj/mcore/gcc/gcc/include/stddef.h" 3 4
# 145 "/home/jlaw/test/obj/mcore/gcc/gcc/include/stddef.h" 3 4

# 145 "/home/jlaw/test/obj/mcore/gcc/gcc/include/stddef.h" 3 4
typedef int ptrdiff_t;
# 214 "/home/jlaw/test/obj/mcore/gcc/gcc/include/stddef.h" 3 4
typedef unsigned int size_t;
# 329 "/home/jlaw/test/obj/mcore/gcc/gcc/include/stddef.h" 3 4
typedef long int wchar_t;
# 425 "/home/jlaw/test/obj/mcore/gcc/gcc/include/stddef.h" 3 4
typedef struct {
  long long __max_align_ll __attribute__((__aligned__(__alignof__(long long))));
  long double __max_align_ld __attribute__((__aligned__(__alignof__(long 
double))));
# 436 "/home/jlaw/test/obj/mcore/gcc/gcc/include/stddef.h" 3 4
} max_align_t;
# 45 "/home/jlaw/test/gcc/libgcc/../gcc/tsystem.h" 2
# 1 "/home/jlaw/test/obj/mcore/gcc/gcc/include/float.h" 1 3 4
# 46 "/home/jlaw/test/gcc/libgcc/../gcc/tsystem.h" 2
# 50 "/home/jlaw/test/gcc/libgcc/../gcc/tsystem.h"

# 50 "/home/jlaw/test/gcc/libgcc/../gcc/tsystem.h"
extern void *malloc (size_t);



extern void *calloc(size_t, size_t);



extern void *realloc(void *, size_t);



extern void free (void *);



extern int atexit (void (*)(void));







extern size_t strlen (const char *);



extern void *memcpy (void *, const void *, size_t);



extern void *memset (void *, int, size_t);
# 143 "/home/jlaw/test/gcc/libgcc/../gcc/tsystem.h"
# 1 "/home/jlaw/test/gcc/libgcc/../include/filenames.h" 1
# 29 "/home/jlaw/test/gcc/libgcc/../include/filenames.h"
# 1 "/home/jlaw/test/gcc/libgcc/../include/hashtab.h" 1
# 39 "/home/jlaw/test/gcc/libgcc/../include/hashtab.h"
# 1 "/home/jlaw/test/gcc/libgcc/../include/ansidecl.h" 1
# 40 "/home/jlaw/test/gcc/libgcc/../include/hashtab.h" 2


typedef unsigned int hashval_t;




typedef hashval_t (*htab_hash) (const void *);






typedef int (*htab_eq) (const void *, const void *);



typedef void (*htab_del) (void *);





typedef int (*htab_trav) (void **, void *);





typedef void *(*htab_alloc) (size_t, size_t);


typedef void (*htab_free) (void *);



typedef void *(*htab_alloc_with_arg) (void *, size_t, size_t);
typedef void (*htab_free_with_arg) (void *, void *);
# 95 "/home/jlaw/test/gcc/libgcc/../include/hashtab.h"
struct htab {

  htab_hash hash_f;


  htab_eq eq_f;


  htab_del del_f;


  void **entries;


  size_t size;


  size_t n_elements;


  size_t n_deleted;



  unsigned int searches;



  unsigned int collisions;


  htab_alloc alloc_f;
  htab_free free_f;


  void *alloc_arg;
  htab_alloc_with_arg alloc_with_arg_f;
  htab_free_with_arg free_with_arg_f;



  unsigned int size_prime_index;
};

typedef struct htab *htab_t;


enum insert_option {NO_INSERT, INSERT};



extern htab_t htab_create_alloc (size_t, htab_hash,
                                    htab_eq, htab_del,
                                    htab_alloc, htab_free);

extern htab_t htab_create_alloc_ex (size_t, htab_hash,
                                      htab_eq, htab_del,
                                      void *, htab_alloc_with_arg,
                                      htab_free_with_arg);

extern htab_t htab_create_typed_alloc (size_t, htab_hash, htab_eq, htab_del,
     htab_alloc, htab_alloc, htab_free);


extern htab_t htab_create (size_t, htab_hash, htab_eq, htab_del);
extern htab_t htab_try_create (size_t, htab_hash, htab_eq, htab_del);

extern void htab_set_functions_ex (htab_t, htab_hash,
                                       htab_eq, htab_del,
                                       void *, htab_alloc_with_arg,
                                       htab_free_with_arg);

extern void htab_delete (htab_t);
extern void htab_empty (htab_t);

extern void * htab_find (htab_t, const void *);
extern void ** htab_find_slot (htab_t, const void *, enum insert_option);
extern void * htab_find_with_hash (htab_t, const void *, hashval_t);
extern void ** htab_find_slot_with_hash (htab_t, const void *,
       hashval_t, enum insert_option);
extern void htab_clear_slot (htab_t, void **);
extern void htab_remove_elt (htab_t, const void *);
extern void htab_remove_elt_with_hash (htab_t, const void *, hashval_t);

extern void htab_traverse (htab_t, htab_trav, void *);
extern void htab_traverse_noresize (htab_t, htab_trav, void *);

extern size_t htab_size (htab_t);
extern size_t htab_elements (htab_t);
extern double htab_collisions (htab_t);


extern htab_hash htab_hash_pointer;


extern htab_eq htab_eq_pointer;


extern hashval_t htab_hash_string (const void *);


extern int htab_eq_string (const void *, const void *);


extern hashval_t iterative_hash (const void *, size_t, hashval_t);
# 30 "/home/jlaw/test/gcc/libgcc/../include/filenames.h" 2
# 84 "/home/jlaw/test/gcc/libgcc/../include/filenames.h"
extern int filename_cmp (const char *s1, const char *s2);


extern int filename_ncmp (const char *s1, const char *s2,
     size_t n);

extern hashval_t filename_hash (const void *s);

extern int filename_eq (const void *s1, const void *s2);

extern int canonical_filename_eq (const char *a, const char *b);
# 144 "/home/jlaw/test/gcc/libgcc/../gcc/tsystem.h" 2
# 28 "/home/jlaw/test/gcc/libgcc/libgcc2.c" 2
# 1 "/home/jlaw/test/gcc/libgcc/../gcc/coretypes.h" 1
# 397 "/home/jlaw/test/gcc/libgcc/../gcc/coretypes.h"
struct _dont_use_rtx_here_;
struct _dont_use_rtvec_here_;
struct _dont_use_rtx_insn_here_;
union _dont_use_tree_here_;
# 409 "/home/jlaw/test/gcc/libgcc/../gcc/coretypes.h"
typedef struct scalar_mode scalar_mode;
typedef struct scalar_int_mode scalar_int_mode;
typedef struct scalar_float_mode scalar_float_mode;
typedef struct complex_mode complex_mode;





enum function_class {
  function_c94,
  function_c99_misc,
  function_c99_math_complex,
  function_sincos,
  function_c11_misc,
  function_c23_misc
};



enum symbol_visibility
{
  VISIBILITY_DEFAULT,
  VISIBILITY_PROTECTED,
  VISIBILITY_HIDDEN,
  VISIBILITY_INTERNAL
};



enum flt_eval_method
{
  FLT_EVAL_METHOD_UNPREDICTABLE = -1,
  FLT_EVAL_METHOD_PROMOTE_TO_FLOAT = 0,
  FLT_EVAL_METHOD_PROMOTE_TO_DOUBLE = 1,
  FLT_EVAL_METHOD_PROMOTE_TO_LONG_DOUBLE = 2,
  FLT_EVAL_METHOD_PROMOTE_TO_FLOAT16 = 16
};

enum excess_precision_type
{
  EXCESS_PRECISION_TYPE_IMPLICIT,
  EXCESS_PRECISION_TYPE_STANDARD,
  EXCESS_PRECISION_TYPE_FAST,
  EXCESS_PRECISION_TYPE_FLOAT16
};



enum optimize_size_level
{

  OPTIMIZE_SIZE_NO,

  OPTIMIZE_SIZE_BALANCED,

  OPTIMIZE_SIZE_MAX
};





typedef void (*gt_pointer_operator) (void *, void *, void *);


typedef unsigned char uchar;
# 29 "/home/jlaw/test/gcc/libgcc/libgcc2.c" 2
# 1 "../.././gcc/tm.h" 1
# 19 "../.././gcc/tm.h"
# 1 "../.././gcc/options.h" 1





# 1 "/home/jlaw/test/gcc/libgcc/../gcc/flag-types.h" 1
# 7 "../.././gcc/options.h" 2
# 9348 "../.././gcc/options.h"
enum opt_code
{
  OPT____ = 0,
# 9359 "../.././gcc/options.h"
  OPT__completion_ = 9,
# 9370 "../.././gcc/options.h"
  OPT__embed_dir_ = 20,
# 9382 "../.././gcc/options.h"
  OPT__help = 32,
  OPT__help_ = 33,
# 9410 "../.././gcc/options.h"
  OPT__no_sysroot_suffix = 60,



  OPT__output_pch = 64,

  OPT__param_align_loop_iterations_ = 66,
  OPT__param_align_threshold_ = 67,
  OPT__param_analyzer_bb_explosion_factor_ = 68,
  OPT__param_analyzer_max_constraints_ = 69,
  OPT__param_analyzer_max_enodes_for_full_dump_ = 70,
  OPT__param_analyzer_max_enodes_per_program_point_ = 71,
  OPT__param_analyzer_max_infeasible_edges_ = 72,
  OPT__param_analyzer_max_recursion_depth_ = 73,
  OPT__param_analyzer_max_svalue_depth_ = 74,
  OPT__param_analyzer_min_snodes_for_call_summary_ = 75,
  OPT__param_analyzer_text_art_ideal_canvas_width_ = 76,
  OPT__param_analyzer_text_art_string_ellipsis_head_len_ = 77,
  OPT__param_analyzer_text_art_string_ellipsis_tail_len_ = 78,
  OPT__param_analyzer_text_art_string_ellipsis_threshold_ = 79,
  OPT__param_asan_globals_ = 80,
  OPT__param_asan_instrument_allocas_ = 81,
  OPT__param_asan_instrument_reads_ = 82,
  OPT__param_asan_instrument_writes_ = 83,
  OPT__param_asan_instrumentation_with_call_threshold_ = 84,
  OPT__param_asan_kernel_mem_intrinsic_prefix_ = 85,
  OPT__param_asan_memintrin_ = 86,
  OPT__param_asan_stack_ = 87,
  OPT__param_asan_use_after_return_ = 88,
  OPT__param_avg_loop_niter_ = 89,
  OPT__param_avoid_fma_max_bits_ = 90,
  OPT__param_builtin_expect_probability_ = 91,
  OPT__param_builtin_string_cmp_inline_length_ = 92,
  OPT__param_case_values_threshold_ = 93,
  OPT__param_comdat_sharing_probability_ = 94,
  OPT__param_constructive_interference_size_ = 95,
  OPT__param_cxx_max_namespaces_for_diagnostic_help_ = 96,
  OPT__param_destructive_interference_size_ = 97,
  OPT__param_dse_max_alias_queries_per_store_ = 98,
  OPT__param_dse_max_object_size_ = 99,
  OPT__param_early_inlining_insns_ = 100,
  OPT__param_fsm_scale_path_stmts_ = 101,
  OPT__param_fully_pipelined_fma_ = 102,
  OPT__param_gcse_after_reload_critical_fraction_ = 103,
  OPT__param_gcse_after_reload_partial_fraction_ = 104,
  OPT__param_gcse_cost_distance_ratio_ = 105,
  OPT__param_gcse_unrestricted_cost_ = 106,
  OPT__param_ggc_min_expand_ = 107,
  OPT__param_ggc_min_heapsize_ = 108,
  OPT__param_gimple_fe_computed_hot_bb_threshold_ = 109,
  OPT__param_graphite_allow_codegen_errors_ = 110,
  OPT__param_graphite_max_arrays_per_scop_ = 111,
  OPT__param_graphite_max_nb_scop_params_ = 112,
  OPT__param_hardcfr_max_blocks_ = 113,
  OPT__param_hardcfr_max_inline_blocks_ = 114,
  OPT__param_hash_table_verification_limit_ = 115,
  OPT__param_hot_bb_count_fraction_ = 116,
  OPT__param_hot_bb_count_ws_permille_ = 117,
  OPT__param_hot_bb_frequency_fraction_ = 118,
  OPT__param_hwasan_instrument_allocas_ = 119,
  OPT__param_hwasan_instrument_mem_intrinsics_ = 120,
  OPT__param_hwasan_instrument_reads_ = 121,
  OPT__param_hwasan_instrument_stack_ = 122,
  OPT__param_hwasan_instrument_writes_ = 123,
  OPT__param_hwasan_random_frame_tag_ = 124,
  OPT__param_inline_heuristics_hint_percent_ = 125,
  OPT__param_inline_min_speedup_ = 126,
  OPT__param_inline_unit_growth_ = 127,
  OPT__param_integer_share_limit_ = 128,
  OPT__param_ipa_cp_eval_threshold_ = 129,
  OPT__param_ipa_cp_large_unit_insns_ = 130,
  OPT__param_ipa_cp_loop_hint_bonus_ = 131,
  OPT__param_ipa_cp_max_recursive_depth_ = 132,
  OPT__param_ipa_cp_min_recursive_probability_ = 133,
  OPT__param_ipa_cp_profile_count_base_ = 134,
  OPT__param_ipa_cp_recursion_penalty_ = 135,
  OPT__param_ipa_cp_recursive_freq_factor_ = 136,
  OPT__param_ipa_cp_single_call_penalty_ = 137,
  OPT__param_ipa_cp_unit_growth_ = 138,
  OPT__param_ipa_cp_value_list_size_ = 139,
  OPT__param_ipa_jump_function_lookups_ = 140,
  OPT__param_ipa_max_aa_steps_ = 141,
  OPT__param_ipa_max_agg_items_ = 142,
  OPT__param_ipa_max_loop_predicates_ = 143,
  OPT__param_ipa_max_param_expr_ops_ = 144,
  OPT__param_ipa_max_switch_predicate_bounds_ = 145,
  OPT__param_ipa_sra_deref_prob_threshold_ = 146,
  OPT__param_ipa_sra_max_replacements_ = 147,
  OPT__param_ipa_sra_ptr_growth_factor_ = 148,
  OPT__param_ipa_sra_ptrwrap_growth_factor_ = 149,
  OPT__param_ira_consider_dup_in_all_alts_ = 150,
  OPT__param_ira_loop_reserved_regs_ = 151,
  OPT__param_ira_max_conflict_table_size_ = 152,
  OPT__param_ira_max_loops_num_ = 153,
  OPT__param_ira_simple_lra_insn_threshold_ = 154,
  OPT__param_iv_always_prune_cand_set_bound_ = 155,
  OPT__param_iv_consider_all_candidates_bound_ = 156,
  OPT__param_iv_max_considered_uses_ = 157,
  OPT__param_jump_table_max_growth_ratio_for_size_ = 158,
  OPT__param_jump_table_max_growth_ratio_for_speed_ = 159,
  OPT__param_l1_cache_line_size_ = 160,
  OPT__param_l1_cache_size_ = 161,
  OPT__param_l2_cache_size_ = 162,
  OPT__param_large_function_growth_ = 163,
  OPT__param_large_function_insns_ = 164,
  OPT__param_large_stack_frame_growth_ = 165,
  OPT__param_large_stack_frame_ = 166,
  OPT__param_large_unit_insns_ = 167,
  OPT__param_lazy_modules_ = 168,
  OPT__param_lim_expensive_ = 169,
  OPT__param_logical_op_non_short_circuit_ = 170,
  OPT__param_loop_block_tile_size_ = 171,
  OPT__param_loop_interchange_max_num_stmts_ = 172,
  OPT__param_loop_interchange_stride_ratio_ = 173,
  OPT__param_loop_invariant_max_bbs_in_loop_ = 174,
  OPT__param_loop_max_datarefs_for_datadeps_ = 175,
  OPT__param_loop_versioning_max_inner_insns_ = 176,
  OPT__param_loop_versioning_max_outer_insns_ = 177,
  OPT__param_lra_inheritance_ebb_probability_cutoff_ = 178,
  OPT__param_lra_max_considered_reload_pseudos_ = 179,
  OPT__param_lto_max_partition_ = 180,
  OPT__param_lto_max_streaming_parallelism_ = 181,
  OPT__param_lto_min_partition_ = 182,
  OPT__param_lto_partitions_ = 183,
  OPT__param_max_average_unrolled_insns_ = 184,
  OPT__param_max_combine_insns_ = 185,
  OPT__param_max_completely_peel_loop_nest_depth_ = 186,
  OPT__param_max_completely_peel_times_ = 187,
  OPT__param_max_completely_peeled_insns_ = 188,
  OPT__param_max_crossjump_edges_ = 189,
  OPT__param_max_cse_insns_ = 190,
  OPT__param_max_cse_path_length_ = 191,
  OPT__param_max_cselib_memory_locations_ = 192,
  OPT__param_max_debug_marker_count_ = 193,
  OPT__param_max_delay_slot_insn_search_ = 194,
  OPT__param_max_delay_slot_live_search_ = 195,
  OPT__param_max_dse_active_local_stores_ = 196,
  OPT__param_max_early_inliner_iterations_ = 197,
  OPT__param_max_fields_for_field_sensitive_ = 198,
  OPT__param_max_find_base_term_values_ = 199,
  OPT__param_max_fsm_thread_path_insns_ = 200,
  OPT__param_max_gcse_insertion_ratio_ = 201,
  OPT__param_max_gcse_memory_ = 202,
  OPT__param_max_goto_duplication_insns_ = 203,
  OPT__param_max_grow_copy_bb_insns_ = 204,
  OPT__param_max_hoist_depth_ = 205,
  OPT__param_max_inline_functions_called_once_insns_ = 206,
  OPT__param_max_inline_functions_called_once_loop_depth_ = 207,
  OPT__param_max_inline_insns_auto_ = 208,
  OPT__param_max_inline_insns_recursive_auto_ = 209,
  OPT__param_max_inline_insns_recursive_ = 210,
  OPT__param_max_inline_insns_single_ = 211,
  OPT__param_max_inline_insns_size_ = 212,
  OPT__param_max_inline_insns_small_ = 213,
  OPT__param_max_inline_recursive_depth_auto_ = 214,
  OPT__param_max_inline_recursive_depth_ = 215,
  OPT__param_max_isl_operations_ = 216,
  OPT__param_max_iterations_computation_cost_ = 217,
  OPT__param_max_iterations_to_track_ = 218,
  OPT__param_max_jump_thread_duplication_stmts_ = 219,
  OPT__param_max_jump_thread_paths_ = 220,
  OPT__param_max_last_value_rtl_ = 221,
  OPT__param_max_loop_header_insns_ = 222,
  OPT__param_max_modulo_backtrack_attempts_ = 223,
  OPT__param_max_partial_antic_length_ = 224,
  OPT__param_max_peel_branches_ = 225,
  OPT__param_max_peel_times_ = 226,
  OPT__param_max_peeled_insns_ = 227,
  OPT__param_max_pending_list_length_ = 228,
  OPT__param_max_pipeline_region_blocks_ = 229,
  OPT__param_max_pipeline_region_insns_ = 230,
  OPT__param_max_pow_sqrt_depth_ = 231,
  OPT__param_max_predicted_iterations_ = 232,
  OPT__param_max_reload_search_insns_ = 233,
  OPT__param_max_rtl_if_conversion_insns_ = 234,
  OPT__param_max_rtl_if_conversion_predictable_cost_ = 235,
  OPT__param_max_rtl_if_conversion_unpredictable_cost_ = 236,
  OPT__param_max_sched_extend_regions_iters_ = 237,
  OPT__param_max_sched_insn_conflict_delay_ = 238,
  OPT__param_max_sched_ready_insns_ = 239,
  OPT__param_max_sched_region_blocks_ = 240,
  OPT__param_max_sched_region_insns_ = 241,
  OPT__param_max_slsr_cand_scan_ = 242,
  OPT__param_max_speculative_devirt_maydefs_ = 243,
  OPT__param_max_ssa_name_query_depth_ = 244,
  OPT__param_max_store_chains_to_track_ = 245,
  OPT__param_max_stores_to_merge_ = 246,
  OPT__param_max_stores_to_sink_ = 247,
  OPT__param_max_stores_to_track_ = 248,
  OPT__param_max_tail_merge_comparisons_ = 249,
  OPT__param_max_tail_merge_iterations_ = 250,
  OPT__param_max_tracked_strlens_ = 251,
  OPT__param_max_tree_if_conversion_phi_args_ = 252,
  OPT__param_max_unroll_times_ = 253,
  OPT__param_max_unrolled_insns_ = 254,
  OPT__param_max_unswitch_depth_ = 255,
  OPT__param_max_unswitch_insns_ = 256,
  OPT__param_max_variable_expansions_in_unroller_ = 257,
  OPT__param_max_vartrack_expr_depth_ = 258,
  OPT__param_max_vartrack_reverse_op_size_ = 259,
  OPT__param_max_vartrack_size_ = 260,
  OPT__param_min_crossjump_insns_ = 261,
  OPT__param_min_inline_recursive_probability_ = 262,
  OPT__param_min_insn_to_prefetch_ratio_ = 263,
  OPT__param_min_loop_cond_split_prob_ = 264,
  OPT__param_min_nondebug_insn_uid_ = 265,
  OPT__param_min_pagesize_ = 266,
  OPT__param_min_size_for_stack_sharing_ = 267,
  OPT__param_min_spec_prob_ = 268,
  OPT__param_min_vect_loop_bound_ = 269,
  OPT__param_modref_max_accesses_ = 270,
  OPT__param_modref_max_adjustments_ = 271,
  OPT__param_modref_max_bases_ = 272,
  OPT__param_modref_max_depth_ = 273,
  OPT__param_modref_max_escape_points_ = 274,
  OPT__param_modref_max_refs_ = 275,
  OPT__param_modref_max_tests_ = 276,
  OPT__param_openacc_kernels_ = 277,
  OPT__param_openacc_privatization_ = 278,
  OPT__param_parloops_chunk_size_ = 279,
  OPT__param_parloops_min_per_thread_ = 280,
  OPT__param_parloops_schedule_ = 281,
  OPT__param_partial_inlining_entry_probability_ = 282,
  OPT__param_predictable_branch_outcome_ = 283,
  OPT__param_prefetch_dynamic_strides_ = 284,
  OPT__param_prefetch_latency_ = 285,
  OPT__param_prefetch_min_insn_to_mem_ratio_ = 286,
  OPT__param_prefetch_minimum_stride_ = 287,
  OPT__param_profile_func_internal_id_ = 288,
  OPT__param_ranger_debug_ = 289,
  OPT__param_ranger_logical_depth_ = 290,
  OPT__param_ranger_recompute_depth_ = 291,
  OPT__param_relation_block_limit_ = 292,
  OPT__param_rpo_vn_max_loop_depth_ = 293,
  OPT__param_sccvn_max_alias_queries_per_access_ = 294,
  OPT__param_scev_max_expr_complexity_ = 295,
  OPT__param_scev_max_expr_size_ = 296,
  OPT__param_sched_autopref_queue_depth_ = 297,
  OPT__param_sched_mem_true_dep_cost_ = 298,
  OPT__param_sched_pressure_algorithm_ = 299,
  OPT__param_sched_spec_prob_cutoff_ = 300,
  OPT__param_sched_state_edge_prob_cutoff_ = 301,
  OPT__param_selsched_insns_to_rename_ = 302,
  OPT__param_selsched_max_lookahead_ = 303,
  OPT__param_selsched_max_sched_times_ = 304,
  OPT__param_simultaneous_prefetches_ = 305,
  OPT__param_sink_frequency_threshold_ = 306,
  OPT__param_sms_dfa_history_ = 307,
  OPT__param_sms_loop_average_count_threshold_ = 308,
  OPT__param_sms_max_ii_factor_ = 309,
  OPT__param_sms_min_sc_ = 310,
  OPT__param_sra_max_propagations_ = 311,
  OPT__param_sra_max_scalarization_size_Osize_ = 312,
  OPT__param_sra_max_scalarization_size_Ospeed_ = 313,
  OPT__param_ssa_name_def_chain_limit_ = 314,
  OPT__param_ssp_buffer_size_ = 315,
  OPT__param_stack_clash_protection_guard_size_ = 316,
  OPT__param_stack_clash_protection_probe_interval_ = 317,
  OPT__param_store_forwarding_max_distance_ = 318,
  OPT__param_store_merging_allow_unaligned_ = 319,
  OPT__param_store_merging_max_size_ = 320,
  OPT__param_switch_conversion_max_branch_ratio_ = 321,
  OPT__param_threader_debug_ = 322,
  OPT__param_tm_max_aggregate_size_ = 323,
  OPT__param_tracer_dynamic_coverage_feedback_ = 324,
  OPT__param_tracer_dynamic_coverage_ = 325,
  OPT__param_tracer_max_code_growth_ = 326,
  OPT__param_tracer_min_branch_probability_feedback_ = 327,
  OPT__param_tracer_min_branch_probability_ = 328,
  OPT__param_tracer_min_branch_ratio_ = 329,
  OPT__param_transitive_relations_work_bound_ = 330,
  OPT__param_tree_reassoc_width_ = 331,
  OPT__param_tsan_distinguish_volatile_ = 332,
  OPT__param_tsan_instrument_func_entry_exit_ = 333,
  OPT__param_uninit_control_dep_attempts_ = 334,
  OPT__param_uninit_max_chain_len_ = 335,
  OPT__param_uninit_max_num_chains_ = 336,
  OPT__param_uninlined_function_insns_ = 337,
  OPT__param_uninlined_function_time_ = 338,
  OPT__param_uninlined_thunk_insns_ = 339,
  OPT__param_uninlined_thunk_time_ = 340,
  OPT__param_unlikely_bb_count_fraction_ = 341,
  OPT__param_unroll_jam_max_unroll_ = 342,
  OPT__param_unroll_jam_min_percent_ = 343,
  OPT__param_use_after_scope_direct_emission_threshold_ = 344,
  OPT__param_use_canonical_types_ = 345,
  OPT__param_vect_epilogues_nomask_ = 346,
  OPT__param_vect_force_slp_ = 347,
  OPT__param_vect_induction_float_ = 348,
  OPT__param_vect_inner_loop_cost_factor_ = 349,
  OPT__param_vect_max_layout_candidates_ = 350,
  OPT__param_vect_max_peeling_for_alignment_ = 351,
  OPT__param_vect_max_version_for_alias_checks_ = 352,
  OPT__param_vect_max_version_for_alignment_checks_ = 353,
  OPT__param_vect_partial_vector_usage_ = 354,
  OPT__param_vrp_block_limit_ = 355,
  OPT__param_vrp_sparse_threshold_ = 356,
  OPT__param_vrp_switch_limit_ = 357,
  OPT__param_vrp_vector_threshold_ = 358,
# 9739 "../.././gcc/options.h"
  OPT__sysroot_ = 389,
  OPT__target_help = 390,
# 9750 "../.././gcc/options.h"
  OPT__version = 400,


  OPT_A = 403,
  OPT_B = 404,
  OPT_C = 405,
  OPT_CC = 406,
  OPT_D = 407,
  OPT_E = 408,
  OPT_F = 409,
  OPT_H = 410,
  OPT_Hd = 411,
  OPT_Hf = 412,
  OPT_I = 413,
  OPT_J = 414,
  OPT_L = 415,
  OPT_M = 416,
  OPT_MD = 417,
  OPT_MF = 418,
  OPT_MG = 419,
  OPT_MM = 420,
  OPT_MMD = 421,
  OPT_MP = 422,
  OPT_MQ = 423,
  OPT_MT = 424,
  OPT_Mmodules = 425,
  OPT_Mno_modules = 426,
  OPT_N = 427,
  OPT_O = 428,
  OPT_Ofast = 429,
  OPT_Og = 430,
  OPT_Os = 431,
  OPT_Oz = 432,
  OPT_P = 433,
  OPT_Q = 434,
  OPT_Qn = 435,
  OPT_Qy = 436,
  OPT_R = 437,
  OPT_S = 438,
  OPT_T = 439,
  OPT_Tbss = 440,
  OPT_Tbss_ = 441,
  OPT_Tdata = 442,
  OPT_Tdata_ = 443,
  OPT_Ttext = 444,
  OPT_Ttext_ = 445,
  OPT_U = 446,

  OPT_WNSObject_attribute = 448,
  OPT_Wa_ = 449,
  OPT_Wabi = 450,
  OPT_Wabi_tag = 451,
  OPT_Wabi_ = 452,
  OPT_Wabsolute_value = 453,
  OPT_Waddress = 454,
  OPT_Waddress_of_packed_member = 455,
  OPT_Waggregate_return = 456,
  OPT_Waggressive_loop_optimizations = 457,
  OPT_Waliasing = 458,
  OPT_Walign_commons = 459,

  OPT_Waligned_new_ = 461,
  OPT_Wall = 462,
  OPT_Walloc_size = 463,
  OPT_Walloc_size_larger_than_ = 464,
  OPT_Walloc_zero = 465,
  OPT_Walloca = 466,
  OPT_Walloca_larger_than_ = 467,
  OPT_Wampersand = 468,
  OPT_Wanalyzer_allocation_size = 469,
  OPT_Wanalyzer_deref_before_check = 470,
  OPT_Wanalyzer_double_fclose = 471,
  OPT_Wanalyzer_double_free = 472,
  OPT_Wanalyzer_exposure_through_output_file = 473,
  OPT_Wanalyzer_exposure_through_uninit_copy = 474,
  OPT_Wanalyzer_fd_access_mode_mismatch = 475,
  OPT_Wanalyzer_fd_double_close = 476,
  OPT_Wanalyzer_fd_leak = 477,
  OPT_Wanalyzer_fd_phase_mismatch = 478,
  OPT_Wanalyzer_fd_type_mismatch = 479,
  OPT_Wanalyzer_fd_use_after_close = 480,
  OPT_Wanalyzer_fd_use_without_check = 481,
  OPT_Wanalyzer_file_leak = 482,
  OPT_Wanalyzer_free_of_non_heap = 483,
  OPT_Wanalyzer_imprecise_fp_arithmetic = 484,
  OPT_Wanalyzer_infinite_loop = 485,
  OPT_Wanalyzer_infinite_recursion = 486,
  OPT_Wanalyzer_jump_through_null = 487,
  OPT_Wanalyzer_malloc_leak = 488,
  OPT_Wanalyzer_mismatching_deallocation = 489,
  OPT_Wanalyzer_null_argument = 490,
  OPT_Wanalyzer_null_dereference = 491,
  OPT_Wanalyzer_out_of_bounds = 492,
  OPT_Wanalyzer_overlapping_buffers = 493,
  OPT_Wanalyzer_possible_null_argument = 494,
  OPT_Wanalyzer_possible_null_dereference = 495,
  OPT_Wanalyzer_putenv_of_auto_var = 496,
  OPT_Wanalyzer_shift_count_negative = 497,
  OPT_Wanalyzer_shift_count_overflow = 498,
  OPT_Wanalyzer_stale_setjmp_buffer = 499,
  OPT_Wanalyzer_symbol_too_complex = 500,
  OPT_Wanalyzer_tainted_allocation_size = 501,
  OPT_Wanalyzer_tainted_array_index = 502,
  OPT_Wanalyzer_tainted_assertion = 503,
  OPT_Wanalyzer_tainted_divisor = 504,
  OPT_Wanalyzer_tainted_offset = 505,
  OPT_Wanalyzer_tainted_size = 506,
  OPT_Wanalyzer_too_complex = 507,
  OPT_Wanalyzer_undefined_behavior_ptrdiff = 508,
  OPT_Wanalyzer_undefined_behavior_strtok = 509,
  OPT_Wanalyzer_unsafe_call_within_signal_handler = 510,
  OPT_Wanalyzer_use_after_free = 511,
  OPT_Wanalyzer_use_of_pointer_in_stale_stack_frame = 512,
  OPT_Wanalyzer_use_of_uninitialized_value = 513,
  OPT_Wanalyzer_va_arg_type_mismatch = 514,
  OPT_Wanalyzer_va_list_exhausted = 515,
  OPT_Wanalyzer_va_list_leak = 516,
  OPT_Wanalyzer_va_list_use_after_va_end = 517,
  OPT_Wanalyzer_write_to_const = 518,
  OPT_Wanalyzer_write_to_string_literal = 519,
  OPT_Wargument_mismatch = 520,
  OPT_Warith_conversion = 521,

  OPT_Warray_bounds_ = 523,
  OPT_Warray_compare = 524,

  OPT_Warray_parameter_ = 526,
  OPT_Warray_temporaries = 527,
  OPT_Wassign_intercept = 528,

  OPT_Wattribute_alias_ = 530,
  OPT_Wattribute_warning = 531,
  OPT_Wattributes = 532,
  OPT_Wattributes_ = 533,
  OPT_Wbad_function_cast = 534,

  OPT_Wbidi_chars_ = 536,
  OPT_Wbool_compare = 537,
  OPT_Wbool_operation = 538,
  OPT_Wbuiltin_declaration_mismatch = 539,
  OPT_Wbuiltin_macro_redefined = 540,
  OPT_Wc___compat = 541,

  OPT_Wc__11_compat = 543,
  OPT_Wc__11_extensions = 544,
  OPT_Wc__14_compat = 545,
  OPT_Wc__14_extensions = 546,
  OPT_Wc__17_compat = 547,
  OPT_Wc__17_extensions = 548,

  OPT_Wc__20_compat = 550,
  OPT_Wc__20_extensions = 551,
  OPT_Wc__23_extensions = 552,
  OPT_Wc__26_extensions = 553,

  OPT_Wc_binding_type = 555,
  OPT_Wc11_c23_compat = 556,

  OPT_Wc23_c2y_compat = 558,
  OPT_Wc90_c99_compat = 559,
  OPT_Wc99_c11_compat = 560,
  OPT_Wcalloc_transposed_args = 561,
  OPT_Wcannot_profile = 562,
  OPT_Wcase_enum = 563,
  OPT_Wcast_align = 564,
  OPT_Wcast_align_strict = 565,
  OPT_Wcast_function_type = 566,
  OPT_Wcast_qual = 567,
  OPT_Wcast_result = 568,
  OPT_Wcast_user_defined = 569,

  OPT_Wcatch_value_ = 571,
  OPT_Wchanges_meaning = 572,
  OPT_Wchar_subscripts = 573,
  OPT_Wcharacter_truncation = 574,
  OPT_Wchkp = 575,
  OPT_Wclass_conversion = 576,
  OPT_Wclass_memaccess = 577,
  OPT_Wclobbered = 578,
  OPT_Wcomma_subscript = 579,
  OPT_Wcomment = 580,

  OPT_Wcompare_distinct_pointer_types = 582,
  OPT_Wcompare_reals = 583,
  OPT_Wcomplain_wrong_lang = 584,
  OPT_Wconditionally_supported = 585,
  OPT_Wconversion = 586,
  OPT_Wconversion_extra = 587,
  OPT_Wconversion_null = 588,
  OPT_Wcoverage_invalid_line_number = 589,
  OPT_Wcoverage_mismatch = 590,
  OPT_Wcoverage_too_many_conditions = 591,
  OPT_Wcpp = 592,
  OPT_Wctad_maybe_unsupported = 593,
  OPT_Wctor_dtor_privacy = 594,
  OPT_Wdangling_else = 595,

  OPT_Wdangling_pointer_ = 597,
  OPT_Wdangling_reference = 598,
  OPT_Wdate_time = 599,
  OPT_Wdeclaration_after_statement = 600,
  OPT_Wdeclaration_missing_parameter_type = 601,
  OPT_Wdefaulted_function_deleted = 602,
  OPT_Wdelete_incomplete = 603,
  OPT_Wdelete_non_virtual_dtor = 604,
  OPT_Wdeprecated = 605,
  OPT_Wdeprecated_copy = 606,
  OPT_Wdeprecated_copy_dtor = 607,
  OPT_Wdeprecated_declarations = 608,
  OPT_Wdeprecated_enum_enum_conversion = 609,
  OPT_Wdeprecated_enum_float_conversion = 610,
  OPT_Wdeprecated_literal_operator = 611,
  OPT_Wdesignated_init = 612,
  OPT_Wdisabled_optimization = 613,
  OPT_Wdiscarded_array_qualifiers = 614,
  OPT_Wdiscarded_qualifiers = 615,
  OPT_Wdiv_by_zero = 616,
  OPT_Wdo_subscript = 617,
  OPT_Wdouble_promotion = 618,
  OPT_Wduplicate_decl_specifier = 619,
  OPT_Wduplicated_branches = 620,
  OPT_Wduplicated_cond = 621,
  OPT_Weffc__ = 622,
  OPT_Welaborated_enum_base = 623,
  OPT_Wempty_body = 624,
  OPT_Wendif_labels = 625,
  OPT_Wenum_compare = 626,
  OPT_Wenum_conversion = 627,
  OPT_Wenum_int_mismatch = 628,
  OPT_Werror = 629,

  OPT_Werror_ = 631,
  OPT_Wexceptions = 632,
  OPT_Wexpansion_to_defined = 633,
  OPT_Wextra = 634,
  OPT_Wextra_semi = 635,
  OPT_Wfatal_errors = 636,
  OPT_Wflex_array_member_not_at_end = 637,
  OPT_Wfloat_conversion = 638,
  OPT_Wfloat_equal = 639,

  OPT_Wformat_contains_nul = 641,
  OPT_Wformat_diag = 642,
  OPT_Wformat_extra_args = 643,
  OPT_Wformat_nonliteral = 644,

  OPT_Wformat_overflow_ = 646,
  OPT_Wformat_security = 647,
  OPT_Wformat_signedness = 648,

  OPT_Wformat_truncation_ = 650,
  OPT_Wformat_y2k = 651,
  OPT_Wformat_zero_length = 652,
  OPT_Wformat_ = 653,
  OPT_Wframe_address = 654,
  OPT_Wframe_larger_than_ = 655,
  OPT_Wfree_nonheap_object = 656,
  OPT_Wfrontend_loop_interchange = 657,
  OPT_Wfunction_elimination = 658,
  OPT_Wglobal_module = 659,
  OPT_Whardened = 660,
  OPT_Wheader_guard = 661,

  OPT_Wif_not_aligned = 663,
  OPT_Wignored_attributes = 664,
  OPT_Wignored_qualifiers = 665,
  OPT_Wimplicit = 666,

  OPT_Wimplicit_fallthrough_ = 668,
  OPT_Wimplicit_function_declaration = 669,
  OPT_Wimplicit_int = 670,
  OPT_Wimplicit_interface = 671,
  OPT_Wimplicit_procedure = 672,

  OPT_Winaccessible_base = 674,
  OPT_Wincompatible_pointer_types = 675,
  OPT_Winfinite_recursion = 676,
  OPT_Winherited_variadic_ctor = 677,
  OPT_Winit_list_lifetime = 678,
  OPT_Winit_self = 679,
  OPT_Winline = 680,
  OPT_Wint_conversion = 681,
  OPT_Wint_in_bool_context = 682,
  OPT_Wint_to_pointer_cast = 683,
  OPT_Winteger_division = 684,
  OPT_Winterference_size = 685,
  OPT_Wintrinsic_shadow = 686,
  OPT_Wintrinsics_std = 687,
  OPT_Winvalid_constexpr = 688,
  OPT_Winvalid_imported_macros = 689,
  OPT_Winvalid_memory_model = 690,
  OPT_Winvalid_offsetof = 691,
  OPT_Winvalid_pch = 692,
  OPT_Winvalid_utf8 = 693,
  OPT_Wjump_misses_init = 694,
  OPT_Wl_ = 695,

  OPT_Wlarger_than_ = 697,
  OPT_Wline_truncation = 698,
  OPT_Wliteral_suffix = 699,
  OPT_Wlogical_not_parentheses = 700,
  OPT_Wlogical_op = 701,
  OPT_Wlong_long = 702,
  OPT_Wlto_type_mismatch = 703,
  OPT_Wmain = 704,
  OPT_Wmaybe_uninitialized = 705,
  OPT_Wmemset_elt_size = 706,
  OPT_Wmemset_transposed_args = 707,
  OPT_Wmisleading_indentation = 708,
  OPT_Wmismatched_dealloc = 709,
  OPT_Wmismatched_new_delete = 710,
  OPT_Wmismatched_special_enum = 711,
  OPT_Wmismatched_tags = 712,
  OPT_Wmissing_attributes = 713,
  OPT_Wmissing_braces = 714,
  OPT_Wmissing_declarations = 715,
  OPT_Wmissing_field_initializers = 716,

  OPT_Wmissing_include_dirs = 718,

  OPT_Wmissing_parameter_type = 720,
  OPT_Wmissing_profile = 721,
  OPT_Wmissing_prototypes = 722,
  OPT_Wmissing_requires = 723,
  OPT_Wmissing_template_keyword = 724,
  OPT_Wmissing_variable_declarations = 725,
  OPT_Wmudflap = 726,
  OPT_Wmultichar = 727,
  OPT_Wmultiple_inheritance = 728,
  OPT_Wmultistatement_macros = 729,
  OPT_Wnamespaces = 730,
  OPT_Wnarrowing = 731,
  OPT_Wnested_externs = 732,






  OPT_Wnoexcept = 739,
  OPT_Wnoexcept_type = 740,
  OPT_Wnon_template_friend = 741,
  OPT_Wnon_virtual_dtor = 742,
  OPT_Wnonnull = 743,
  OPT_Wnonnull_compare = 744,

  OPT_Wnormalized_ = 746,
  OPT_Wnrvo = 747,
  OPT_Wnull_dereference = 748,
  OPT_Wobjc_root_class = 749,
  OPT_Wodr = 750,
  OPT_Wold_style_cast = 751,
  OPT_Wold_style_declaration = 752,
  OPT_Wold_style_definition = 753,
  OPT_Wopenacc_parallelism = 754,
  OPT_Wopenmp = 755,
  OPT_Wopenmp_simd = 756,
  OPT_Woverflow = 757,
  OPT_Woverlength_strings = 758,

  OPT_Woverloaded_virtual_ = 760,
  OPT_Woverride_init = 761,
  OPT_Woverride_init_side_effects = 762,
  OPT_Woverwrite_recursive = 763,
  OPT_Wp_ = 764,
  OPT_Wpacked = 765,
  OPT_Wpacked_bitfield_compat = 766,
  OPT_Wpacked_not_aligned = 767,
  OPT_Wpadded = 768,
  OPT_Wparentheses = 769,
  OPT_Wpedantic = 770,
  OPT_Wpedantic_cast = 771,
  OPT_Wpedantic_param_names = 772,
  OPT_Wpessimizing_move = 773,

  OPT_Wplacement_new_ = 775,
  OPT_Wpmf_conversions = 776,
  OPT_Wpointer_arith = 777,
  OPT_Wpointer_compare = 778,
  OPT_Wpointer_sign = 779,
  OPT_Wpointer_to_int_cast = 780,
  OPT_Wpragma_once_outside_header = 781,
  OPT_Wpragmas = 782,
  OPT_Wprio_ctor_dtor = 783,
  OPT_Wproperty_assign_default = 784,
  OPT_Wprotocol = 785,
  OPT_Wpsabi = 786,
  OPT_Wrange_loop_construct = 787,
  OPT_Wreal_q_constant = 788,
  OPT_Wrealloc_lhs = 789,
  OPT_Wrealloc_lhs_all = 790,
  OPT_Wredundant_decls = 791,
  OPT_Wredundant_move = 792,
  OPT_Wredundant_tags = 793,
  OPT_Wregister = 794,
  OPT_Wreorder = 795,
  OPT_Wrestrict = 796,
  OPT_Wreturn_local_addr = 797,
  OPT_Wreturn_mismatch = 798,
  OPT_Wreturn_type = 799,
  OPT_Wscalar_storage_order = 800,
  OPT_Wselector = 801,
  OPT_Wself_move = 802,
  OPT_Wsequence_point = 803,
  OPT_Wshadow = 804,

  OPT_Wshadow_ivar = 806,

  OPT_Wshadow_compatible_local = 808,

  OPT_Wshadow_local = 810,
  OPT_Wshift_count_negative = 811,
  OPT_Wshift_count_overflow = 812,
  OPT_Wshift_negative_value = 813,

  OPT_Wshift_overflow_ = 815,
  OPT_Wsign_compare = 816,
  OPT_Wsign_conversion = 817,
  OPT_Wsign_promo = 818,
  OPT_Wsized_deallocation = 819,
  OPT_Wsizeof_array_argument = 820,
  OPT_Wsizeof_array_div = 821,
  OPT_Wsizeof_pointer_div = 822,
  OPT_Wsizeof_pointer_memaccess = 823,
  OPT_Wspeculative = 824,
  OPT_Wstack_protector = 825,
  OPT_Wstack_usage_ = 826,
  OPT_Wstrict_aliasing = 827,
  OPT_Wstrict_aliasing_ = 828,
  OPT_Wstrict_flex_arrays = 829,
  OPT_Wstrict_null_sentinel = 830,
  OPT_Wstrict_overflow = 831,
  OPT_Wstrict_overflow_ = 832,
  OPT_Wstrict_prototypes = 833,
  OPT_Wstrict_selector_match = 834,
  OPT_Wstring_compare = 835,

  OPT_Wstringop_overflow_ = 837,
  OPT_Wstringop_overread = 838,
  OPT_Wstringop_truncation = 839,
  OPT_Wstyle = 840,
  OPT_Wsubobject_linkage = 841,
  OPT_Wsuggest_attribute_cold = 842,
  OPT_Wsuggest_attribute_const = 843,
  OPT_Wsuggest_attribute_format = 844,
  OPT_Wsuggest_attribute_malloc = 845,
  OPT_Wsuggest_attribute_noreturn = 846,
  OPT_Wsuggest_attribute_pure = 847,
  OPT_Wsuggest_attribute_returns_nonnull = 848,
  OPT_Wsuggest_final_methods = 849,
  OPT_Wsuggest_final_types = 850,
  OPT_Wsuggest_override = 851,
  OPT_Wsurprising = 852,
  OPT_Wswitch = 853,
  OPT_Wswitch_bool = 854,
  OPT_Wswitch_default = 855,
  OPT_Wswitch_enum = 856,
  OPT_Wswitch_outside_range = 857,
  OPT_Wswitch_unreachable = 858,
  OPT_Wsync_nand = 859,
  OPT_Wsynth = 860,
  OPT_Wsystem_headers = 861,
  OPT_Wtabs = 862,
  OPT_Wtarget_lifetime = 863,
  OPT_Wtautological_compare = 864,
  OPT_Wtemplate_body = 865,
  OPT_Wtemplate_id_cdtor = 866,
  OPT_Wtemplates = 867,
  OPT_Wterminate = 868,
  OPT_Wtraditional = 869,
  OPT_Wtraditional_conversion = 870,

  OPT_Wtrailing_whitespace_ = 872,
  OPT_Wtrampolines = 873,
  OPT_Wtrigraphs = 874,
  OPT_Wtrivial_auto_var_init = 875,
  OPT_Wtsan = 876,
  OPT_Wtype_limits = 877,
  OPT_Wundeclared_selector = 878,
  OPT_Wundef = 879,
  OPT_Wundefined_do_loop = 880,
  OPT_Wunderflow = 881,
  OPT_Wunicode = 882,
  OPT_Wuninit_variable_checking = 883,
  OPT_Wuninit_variable_checking_ = 884,
  OPT_Wuninitialized = 885,
  OPT_Wunknown_pragmas = 886,


  OPT_Wunsuffixed_float_constants = 889,
  OPT_Wunterminated_string_initialization = 890,
  OPT_Wunused = 891,
  OPT_Wunused_but_set_parameter = 892,
  OPT_Wunused_but_set_variable = 893,

  OPT_Wunused_const_variable_ = 895,
  OPT_Wunused_dummy_argument = 896,
  OPT_Wunused_function = 897,
  OPT_Wunused_label = 898,
  OPT_Wunused_local_typedefs = 899,
  OPT_Wunused_macros = 900,
  OPT_Wunused_parameter = 901,
  OPT_Wunused_result = 902,
  OPT_Wunused_value = 903,
  OPT_Wunused_variable = 904,
  OPT_Wuse_after_free = 905,
  OPT_Wuse_after_free_ = 906,
  OPT_Wuse_without_only = 907,
  OPT_Wuseless_cast = 908,
  OPT_Wvarargs = 909,
  OPT_Wvariadic_macros = 910,
  OPT_Wvector_operation_performance = 911,
  OPT_Wverbose_unbounded = 912,
  OPT_Wvexing_parse = 913,
  OPT_Wvirtual_inheritance = 914,
  OPT_Wvirtual_move_assign = 915,
  OPT_Wvla = 916,
  OPT_Wvla_larger_than_ = 917,
  OPT_Wvla_parameter = 918,
  OPT_Wvolatile = 919,
  OPT_Wvolatile_register_var = 920,
  OPT_Wwrite_strings = 921,
  OPT_Wxor_used_as_pow = 922,
  OPT_Wzero_as_null_pointer_constant = 923,
  OPT_Wzero_length_bounds = 924,
  OPT_Wzerotrip = 925,
  OPT_X = 926,
  OPT_Xassembler = 927,
  OPT_Xf = 928,
  OPT_Xlinker = 929,
  OPT_Xpreprocessor = 930,
  OPT_Z = 931,
  OPT_ansi = 932,
  OPT_aux_info = 933,

  OPT_c = 935,
  OPT_callgraph = 936,
  OPT_coverage = 937,
  OPT_cpp = 938,
  OPT_cpp_ = 939,
  OPT_d = 940,
  OPT_debuglib_ = 941,
  OPT_defaultlib_ = 942,
  OPT_defined_only = 943,
  OPT_demangle = 944,
  OPT_dstartfiles = 945,
  OPT_dump_body_ = 946,
  OPT_dump_level_ = 947,
  OPT_dumpbase = 948,
  OPT_dumpbase_ext = 949,
  OPT_dumpdir = 950,
  OPT_dumpfullversion = 951,
  OPT_dumpmachine = 952,
  OPT_dumpspecs = 953,
  OPT_dumpversion = 954,
  OPT_e = 955,
  OPT_export_dynamic = 956,
  OPT_fPIC = 957,
  OPT_fPIE = 958,
  OPT_fRTS_ = 959,
  OPT_fabi_compat_version_ = 960,
  OPT_fabi_version_ = 961,
  OPT_faccess_control = 962,
  OPT_fada_spec_parent_ = 963,
  OPT_faggressive_function_elimination = 964,
  OPT_faggressive_loop_optimizations = 965,
  OPT_falign_commons = 966,
  OPT_falign_functions = 967,
  OPT_falign_functions_ = 968,
  OPT_falign_jumps = 969,
  OPT_falign_jumps_ = 970,
  OPT_falign_labels = 971,
  OPT_falign_labels_ = 972,
  OPT_falign_loops = 973,
  OPT_falign_loops_ = 974,

  OPT_faligned_new_ = 976,
  OPT_fall_instantiations = 977,
  OPT_fall_intrinsics = 978,
  OPT_fall_virtual = 979,
  OPT_fallocation_dce = 980,
  OPT_fallow_argument_mismatch = 981,
  OPT_fallow_invalid_boz = 982,
  OPT_fallow_leading_underscore = 983,

  OPT_fallow_store_data_races = 985,
  OPT_falt_external_templates = 986,
  OPT_fanalyzer = 987,
  OPT_fanalyzer_call_summaries = 988,
  OPT_fanalyzer_checker_ = 989,
  OPT_fanalyzer_debug_text_art = 990,
  OPT_fanalyzer_feasibility = 991,
  OPT_fanalyzer_fine_grained = 992,
  OPT_fanalyzer_show_duplicate_count = 993,
  OPT_fanalyzer_show_events_in_system_headers = 994,
  OPT_fanalyzer_state_merge = 995,
  OPT_fanalyzer_state_purge = 996,
  OPT_fanalyzer_suppress_followups = 997,
  OPT_fanalyzer_transitivity = 998,
  OPT_fanalyzer_undo_inlining = 999,
  OPT_fanalyzer_verbose_edges = 1000,
  OPT_fanalyzer_verbose_state_changes = 1001,
  OPT_fanalyzer_verbosity_ = 1002,




  OPT_fasan_shadow_offset_ = 1007,
  OPT_fasm = 1008,
  OPT_fassert = 1009,
  OPT_fassociative_math = 1010,
  OPT_fasynchronous_unwind_tables = 1011,
  OPT_fauto_inc_dec = 1012,
  OPT_fauto_init = 1013,
  OPT_fauto_profile = 1014,
  OPT_fauto_profile_ = 1015,
  OPT_fautomatic = 1016,
  OPT_favoid_store_forwarding = 1017,
  OPT_fbackslash = 1018,
  OPT_fbacktrace = 1019,
  OPT_fbit_tests = 1020,
  OPT_fblas_matmul_limit_ = 1021,
  OPT_fbounds = 1022,
  OPT_fbounds_check = 1023,
  OPT_fbounds_check_ = 1024,
  OPT_fbranch_count_reg = 1025,
  OPT_fbranch_probabilities = 1026,



  OPT_fbuilding_libgcc = 1030,
  OPT_fbuilding_libgfortran = 1031,
  OPT_fbuilding_libphobos_tests = 1032,
  OPT_fbuiltin = 1033,
  OPT_fbuiltin_ = 1034,
  OPT_fbuiltin_printf = 1035,
  OPT_fc_prototypes = 1036,
  OPT_fc_prototypes_external = 1037,
  OPT_fcall_saved_ = 1038,
  OPT_fcall_used_ = 1039,
  OPT_fcaller_saves = 1040,
  OPT_fcallgraph_info = 1041,
  OPT_fcallgraph_info_ = 1042,
  OPT_fcanon_prefix_map = 1043,
  OPT_fcanonical_system_headers = 1044,
  OPT_fcase = 1045,

  OPT_fcf_protection_ = 1047,
  OPT_fchar8_t = 1048,
  OPT_fcheck_array_temporaries = 1049,

  OPT_fcheck_new = 1051,
  OPT_fcheck_pointer_bounds = 1052,
  OPT_fcheck_ = 1053,






  OPT_fcheckaction_ = 1060,
  OPT_fchecking = 1061,
  OPT_fchecking_ = 1062,
  OPT_fchkp_check_incomplete_type = 1063,
  OPT_fchkp_check_read = 1064,
  OPT_fchkp_check_write = 1065,
  OPT_fchkp_first_field_has_own_bounds = 1066,
  OPT_fchkp_flexible_struct_trailing_arrays = 1067,
  OPT_fchkp_instrument_calls = 1068,
  OPT_fchkp_instrument_marked_only = 1069,
  OPT_fchkp_narrow_bounds = 1070,
  OPT_fchkp_narrow_to_innermost_array = 1071,
  OPT_fchkp_optimize = 1072,
  OPT_fchkp_store_bounds = 1073,
  OPT_fchkp_treat_zero_dynamic_size_as_infinite = 1074,
  OPT_fchkp_use_fast_string_functions = 1075,
  OPT_fchkp_use_nochk_string_functions = 1076,
  OPT_fchkp_use_static_bounds = 1077,
  OPT_fchkp_use_static_const_bounds = 1078,
  OPT_fchkp_use_wrappers = 1079,
  OPT_fchkp_zero_input_bounds_for_main = 1080,

  OPT_fcoarray_ = 1082,
  OPT_fcode_hoisting = 1083,
  OPT_fcombine_stack_adjustments = 1084,
  OPT_fcommon = 1085,
  OPT_fcompare_debug = 1086,
  OPT_fcompare_debug_second = 1087,
  OPT_fcompare_debug_ = 1088,
  OPT_fcompare_elim = 1089,
  OPT_fconcepts = 1090,
  OPT_fconcepts_diagnostics_depth_ = 1091,
  OPT_fconcepts_ts = 1092,
  OPT_fcond_mismatch = 1093,
  OPT_fcondition_coverage = 1094,

  OPT_fconserve_stack = 1096,
  OPT_fconstant_string_class_ = 1097,
  OPT_fconstexpr_cache_depth_ = 1098,
  OPT_fconstexpr_depth_ = 1099,
  OPT_fconstexpr_fp_except = 1100,
  OPT_fconstexpr_loop_limit_ = 1101,
  OPT_fconstexpr_ops_limit_ = 1102,
  OPT_fcontract_assumption_mode_ = 1103,
  OPT_fcontract_build_level_ = 1104,
  OPT_fcontract_continuation_mode_ = 1105,
  OPT_fcontract_mode_ = 1106,
  OPT_fcontract_role_ = 1107,
  OPT_fcontract_semantic_ = 1108,
  OPT_fcontract_strict_declarations_ = 1109,
  OPT_fcontracts = 1110,
  OPT_fconvert_ = 1111,
  OPT_fcoroutines = 1112,
  OPT_fcpp = 1113,
  OPT_fcpp_begin = 1114,
  OPT_fcpp_end = 1115,
  OPT_fcprop_registers = 1116,
  OPT_fcray_pointer = 1117,
  OPT_fcrossjumping = 1118,
  OPT_fcse_follow_jumps = 1119,

  OPT_fcx_fortran_rules = 1121,
  OPT_fcx_limited_range = 1122,
  OPT_fd = 1123,
  OPT_fd_lines_as_code = 1124,
  OPT_fd_lines_as_comments = 1125,
  OPT_fdata_sections = 1126,
  OPT_fdbg_cnt_list = 1127,
  OPT_fdbg_cnt_ = 1128,
  OPT_fdce = 1129,
  OPT_fdebug = 1130,
  OPT_fdebug_aux_vars = 1131,
  OPT_fdebug_builtins = 1132,
  OPT_fdebug_cpp = 1133,
  OPT_fdebug_function_line_numbers = 1134,
  OPT_fdebug_prefix_map_ = 1135,
  OPT_fdebug_types_section = 1136,
  OPT_fdebug_ = 1137,
  OPT_fdec = 1138,
  OPT_fdec_blank_format_item = 1139,
  OPT_fdec_char_conversions = 1140,
  OPT_fdec_format_defaults = 1141,
  OPT_fdec_include = 1142,
  OPT_fdec_intrinsic_ints = 1143,
  OPT_fdec_math = 1144,
  OPT_fdec_static = 1145,
  OPT_fdec_structure = 1146,
  OPT_fdeclone_ctor_dtor = 1147,

  OPT_fdef_ = 1149,
  OPT_fdefault_double_8 = 1150,

  OPT_fdefault_integer_8 = 1152,
  OPT_fdefault_real_10 = 1153,
  OPT_fdefault_real_16 = 1154,
  OPT_fdefault_real_8 = 1155,
  OPT_fdefer_pop = 1156,
  OPT_fdelayed_branch = 1157,
  OPT_fdelete_dead_exceptions = 1158,
  OPT_fdelete_null_pointer_checks = 1159,
  OPT_fdeps_file_ = 1160,
  OPT_fdeps_format_ = 1161,
  OPT_fdeps_target_ = 1162,
  OPT_fdevirtualize = 1163,
  OPT_fdevirtualize_at_ltrans = 1164,
  OPT_fdevirtualize_speculatively = 1165,
  OPT_fdiagnostics_all_candidates = 1166,

  OPT_fdiagnostics_color_ = 1168,
  OPT_fdiagnostics_column_origin_ = 1169,
  OPT_fdiagnostics_column_unit_ = 1170,
  OPT_fdiagnostics_escape_format_ = 1171,
  OPT_fdiagnostics_format_ = 1172,
  OPT_fdiagnostics_generate_patch = 1173,
  OPT_fdiagnostics_json_formatting = 1174,
  OPT_fdiagnostics_minimum_margin_width_ = 1175,
  OPT_fdiagnostics_parseable_fixits = 1176,
  OPT_fdiagnostics_path_format_ = 1177,
  OPT_fdiagnostics_plain_output = 1178,
  OPT_fdiagnostics_show_caret = 1179,
  OPT_fdiagnostics_show_cwe = 1180,
  OPT_fdiagnostics_show_event_links = 1181,
  OPT_fdiagnostics_show_highlight_colors = 1182,
  OPT_fdiagnostics_show_labels = 1183,
  OPT_fdiagnostics_show_line_numbers = 1184,
  OPT_fdiagnostics_show_location_ = 1185,
  OPT_fdiagnostics_show_option = 1186,
  OPT_fdiagnostics_show_path_depths = 1187,
  OPT_fdiagnostics_show_rules = 1188,
  OPT_fdiagnostics_show_template_tree = 1189,
  OPT_fdiagnostics_text_art_charset_ = 1190,
  OPT_fdiagnostics_urls_ = 1191,
  OPT_fdirectives_only = 1192,
  OPT_fdisable_ = 1193,
  OPT_fdoc = 1194,
  OPT_fdoc_dir_ = 1195,
  OPT_fdoc_file_ = 1196,
  OPT_fdoc_inc_ = 1197,
  OPT_fdollar_ok = 1198,
  OPT_fdollars_in_identifiers = 1199,
  OPT_fdruntime = 1200,
  OPT_fdse = 1201,
  OPT_fdump_ = 1202,
  OPT_fdump_ada_spec = 1203,
  OPT_fdump_ada_spec_slim = 1204,
  OPT_fdump_analyzer = 1205,
  OPT_fdump_analyzer_callgraph = 1206,
  OPT_fdump_analyzer_exploded_graph = 1207,
  OPT_fdump_analyzer_exploded_nodes = 1208,
  OPT_fdump_analyzer_exploded_nodes_2 = 1209,
  OPT_fdump_analyzer_exploded_nodes_3 = 1210,
  OPT_fdump_analyzer_exploded_paths = 1211,
  OPT_fdump_analyzer_feasibility = 1212,
  OPT_fdump_analyzer_infinite_loop = 1213,
  OPT_fdump_analyzer_json = 1214,
  OPT_fdump_analyzer_state_purge = 1215,
  OPT_fdump_analyzer_stderr = 1216,
  OPT_fdump_analyzer_supergraph = 1217,
  OPT_fdump_analyzer_untracked = 1218,
  OPT_fdump_c___spec_verbose = 1219,
  OPT_fdump_c___spec_ = 1220,

  OPT_fdump_d_original = 1222,
  OPT_fdump_final_insns = 1223,
  OPT_fdump_final_insns_ = 1224,
  OPT_fdump_fortran_global = 1225,
  OPT_fdump_fortran_optimized = 1226,
  OPT_fdump_fortran_original = 1227,
  OPT_fdump_go_spec_ = 1228,
  OPT_fdump_internal_locations = 1229,
  OPT_fdump_noaddr = 1230,

  OPT_fdump_passes = 1232,
  OPT_fdump_scos = 1233,
  OPT_fdump_system_exports = 1234,
  OPT_fdump_unnumbered = 1235,
  OPT_fdump_unnumbered_links = 1236,
  OPT_fdwarf2_cfi_asm = 1237,
  OPT_fearly_inlining = 1238,
  OPT_felide_constructors = 1239,
  OPT_felide_type = 1240,

  OPT_feliminate_unused_debug_symbols = 1242,
  OPT_feliminate_unused_debug_types = 1243,
  OPT_femit_class_debug_always = 1244,
  OPT_femit_struct_debug_baseonly = 1245,
  OPT_femit_struct_debug_detailed_ = 1246,
  OPT_femit_struct_debug_reduced = 1247,
  OPT_fenable_ = 1248,
  OPT_fenforce_eh_specs = 1249,
  OPT_fenum_int_equiv = 1250,
  OPT_fexceptions = 1251,
  OPT_fexcess_precision_ = 1252,
  OPT_fexec_charset_ = 1253,
  OPT_fexpensive_optimizations = 1254,
  OPT_fext_dce = 1255,
  OPT_fext_numeric_literals = 1256,
  OPT_fextended_identifiers = 1257,
  OPT_fextended_opaque = 1258,
  OPT_fextern_std_ = 1259,
  OPT_fextern_tls_init = 1260,
  OPT_fexternal_blas = 1261,
  OPT_fexternal_templates = 1262,
  OPT_ff2c = 1263,
  OPT_ffast_math = 1264,
  OPT_ffat_lto_objects = 1265,
  OPT_ffile_prefix_map_ = 1266,
  OPT_ffinite_loops = 1267,
  OPT_ffinite_math_only = 1268,
  OPT_ffixed_ = 1269,
  OPT_ffixed_form = 1270,
  OPT_ffixed_line_length_ = 1271,
  OPT_ffixed_line_length_none = 1272,
  OPT_ffloat_store = 1273,
  OPT_ffloatvalue = 1274,
  OPT_ffold_mem_offsets = 1275,
  OPT_ffold_simple_inlines = 1276,
  OPT_ffor_scope = 1277,

  OPT_fforward_propagate = 1279,
  OPT_ffp_contract_ = 1280,
  OPT_ffp_int_builtin_inexact = 1281,
  OPT_ffpe_summary_ = 1282,
  OPT_ffpe_trap_ = 1283,
  OPT_ffree_form = 1284,
  OPT_ffree_line_length_ = 1285,
  OPT_ffree_line_length_none = 1286,
  OPT_ffreestanding = 1287,
  OPT_ffriend_injection = 1288,
  OPT_ffrontend_loop_interchange = 1289,
  OPT_ffrontend_optimize = 1290,
  OPT_ffunction_cse = 1291,
  OPT_ffunction_sections = 1292,
  OPT_fgcse = 1293,
  OPT_fgcse_after_reload = 1294,
  OPT_fgcse_las = 1295,
  OPT_fgcse_lm = 1296,
  OPT_fgcse_sm = 1297,
  OPT_fgen_module_list_ = 1298,
  OPT_fgimple = 1299,
  OPT_fgnat_encodings_ = 1300,
  OPT_fgnu_keywords = 1301,
  OPT_fgnu_runtime = 1302,
  OPT_fgnu_tm = 1303,
  OPT_fgnu_unique = 1304,
  OPT_fgnu89_inline = 1305,
  OPT_fgo_c_header_ = 1306,
  OPT_fgo_check_divide_overflow = 1307,
  OPT_fgo_check_divide_zero = 1308,
  OPT_fgo_compiling_runtime = 1309,
  OPT_fgo_debug_escape = 1310,
  OPT_fgo_debug_escape_hash_ = 1311,
  OPT_fgo_debug_optimization = 1312,
  OPT_fgo_dump_ = 1313,
  OPT_fgo_embedcfg_ = 1314,
  OPT_fgo_importcfg_ = 1315,
  OPT_fgo_optimize_ = 1316,
  OPT_fgo_pkgpath_ = 1317,
  OPT_fgo_prefix_ = 1318,
  OPT_fgo_relative_import_path_ = 1319,
  OPT_fgraphite = 1320,
  OPT_fgraphite_identity = 1321,
  OPT_fguess_branch_probability = 1322,
  OPT_fguiding_decls = 1323,

  OPT_fhardcfr_check_exceptions = 1325,
  OPT_fhardcfr_check_noreturn_calls_ = 1326,
  OPT_fhardcfr_check_returning_calls = 1327,
  OPT_fhardcfr_skip_leaf = 1328,
  OPT_fharden_compares = 1329,
  OPT_fharden_conditional_branches = 1330,
  OPT_fharden_control_flow_redundancy = 1331,
  OPT_fhardened = 1332,


  OPT_fhoist_adjacent_loads = 1335,
  OPT_fhonor_std = 1336,
  OPT_fhosted = 1337,
  OPT_fhuge_objects = 1338,
  OPT_fident = 1339,
  OPT_fif_conversion = 1340,
  OPT_fif_conversion2 = 1341,
  OPT_fignore_unknown_pragmas = 1342,
  OPT_fimmediate_escalation = 1343,
  OPT_fimplement_inlines = 1344,
  OPT_fimplicit_constexpr = 1345,
  OPT_fimplicit_inline_templates = 1346,
  OPT_fimplicit_none = 1347,
  OPT_fimplicit_templates = 1348,
  OPT_findex = 1349,
  OPT_findirect_inlining = 1350,
  OPT_finhibit_size_directive = 1351,
  OPT_finit_character_ = 1352,
  OPT_finit_derived = 1353,
  OPT_finit_integer_ = 1354,
  OPT_finit_local_zero = 1355,
  OPT_finit_logical_ = 1356,
  OPT_finit_real_ = 1357,
  OPT_finline = 1358,
  OPT_finline_arg_packing = 1359,
  OPT_finline_atomics = 1360,
  OPT_finline_functions = 1361,
  OPT_finline_functions_called_once = 1362,
  OPT_finline_intrinsics = 1363,
  OPT_finline_intrinsics_ = 1364,

  OPT_finline_limit_ = 1366,
  OPT_finline_matmul_limit_ = 1367,
  OPT_finline_small_functions = 1368,
  OPT_finline_stringops = 1369,
  OPT_finline_stringops_ = 1370,
  OPT_finput_charset_ = 1371,
  OPT_finstrument_functions = 1372,
  OPT_finstrument_functions_exclude_file_list_ = 1373,
  OPT_finstrument_functions_exclude_function_list_ = 1374,
  OPT_finstrument_functions_once = 1375,
  OPT_finteger_4_integer_8 = 1376,
  OPT_fintrinsic_modules_path = 1377,
  OPT_fintrinsic_modules_path_ = 1378,
  OPT_finvariants = 1379,
  OPT_fipa_bit_cp = 1380,
  OPT_fipa_cp = 1381,

  OPT_fipa_cp_clone = 1383,
  OPT_fipa_icf = 1384,
  OPT_fipa_icf_functions = 1385,
  OPT_fipa_icf_variables = 1386,

  OPT_fipa_modref = 1388,
  OPT_fipa_profile = 1389,
  OPT_fipa_pta = 1390,
  OPT_fipa_pure_const = 1391,
  OPT_fipa_ra = 1392,
  OPT_fipa_reference = 1393,
  OPT_fipa_reference_addressable = 1394,
  OPT_fipa_sra = 1395,
  OPT_fipa_stack_alignment = 1396,
  OPT_fipa_strict_aliasing = 1397,

  OPT_fipa_vrp = 1399,
  OPT_fira_algorithm_ = 1400,
  OPT_fira_hoist_pressure = 1401,
  OPT_fira_loop_pressure = 1402,
  OPT_fira_region_ = 1403,
  OPT_fira_share_save_slots = 1404,
  OPT_fira_share_spill_slots = 1405,
  OPT_fira_verbose_ = 1406,
  OPT_fiso = 1407,
  OPT_fisolate_erroneous_paths_attribute = 1408,
  OPT_fisolate_erroneous_paths_dereference = 1409,
  OPT_fivar_visibility_ = 1410,
  OPT_fivopts = 1411,
  OPT_fjump_tables = 1412,
  OPT_fkeep_gc_roots_live = 1413,
  OPT_fkeep_inline_dllexport = 1414,
  OPT_fkeep_inline_functions = 1415,
  OPT_fkeep_static_consts = 1416,
  OPT_fkeep_static_functions = 1417,
  OPT_flabels_ok = 1418,
  OPT_flang_info_include_translate = 1419,
  OPT_flang_info_include_translate_not = 1420,
  OPT_flang_info_include_translate_ = 1421,
  OPT_flang_info_module_cmi = 1422,
  OPT_flang_info_module_cmi_ = 1423,
  OPT_flarge_source_files = 1424,
  OPT_flate_combine_instructions = 1425,
  OPT_flax_vector_conversions = 1426,
  OPT_fleading_underscore = 1427,
  OPT_flibs_ = 1428,
  OPT_flifetime_dse = 1429,
  OPT_flifetime_dse_ = 1430,
  OPT_flimit_function_alignment = 1431,
  OPT_flinker_output_ = 1432,

  OPT_flive_patching_ = 1434,
  OPT_flive_range_shrinkage = 1435,
  OPT_flocal_ivars = 1436,
  OPT_flocation_ = 1437,


  OPT_floop_interchange = 1440,
  OPT_floop_nest_optimize = 1441,

  OPT_floop_parallelize_all = 1443,

  OPT_floop_unroll_and_jam = 1445,
  OPT_flra_remat = 1446,
  OPT_flto = 1447,
  OPT_flto_compression_level_ = 1448,

  OPT_flto_partition_ = 1450,
  OPT_flto_report = 1451,
  OPT_flto_report_wpa = 1452,
  OPT_flto_ = 1453,
  OPT_fltrans = 1454,
  OPT_fltrans_output_list_ = 1455,
  OPT_fm2_debug_trace_ = 1456,
  OPT_fm2_dump_decl_ = 1457,
  OPT_fm2_dump_filter_ = 1458,
  OPT_fm2_dump_gimple_ = 1459,
  OPT_fm2_dump_quad_ = 1460,
  OPT_fm2_dump_ = 1461,
  OPT_fm2_g = 1462,
  OPT_fm2_lower_case = 1463,
  OPT_fm2_pathname_ = 1464,
  OPT_fm2_pathnameI = 1465,
  OPT_fm2_plugin = 1466,
  OPT_fm2_prefix_ = 1467,
  OPT_fm2_statistics = 1468,
  OPT_fm2_strict_type = 1469,
  OPT_fm2_whole_program = 1470,
  OPT_fmacro_prefix_map_ = 1471,
  OPT_fmain = 1472,
  OPT_fmath_errno = 1473,
  OPT_fmax_array_constructor_ = 1474,
  OPT_fmax_errors_ = 1475,
  OPT_fmax_identifier_length_ = 1476,
  OPT_fmax_include_depth_ = 1477,
  OPT_fmax_stack_var_size_ = 1478,
  OPT_fmax_subrecord_length_ = 1479,
  OPT_fmem_report = 1480,
  OPT_fmem_report_wpa = 1481,
  OPT_fmerge_all_constants = 1482,
  OPT_fmerge_constants = 1483,
  OPT_fmerge_debug_strings = 1484,
  OPT_fmessage_length_ = 1485,
  OPT_fmin_function_alignment_ = 1486,
  OPT_fmod_ = 1487,
  OPT_fmodule_file_ = 1488,
  OPT_fmodule_header = 1489,
  OPT_fmodule_header_ = 1490,
  OPT_fmodule_implicit_inline = 1491,
  OPT_fmodule_lazy = 1492,
  OPT_fmodule_mapper_ = 1493,
  OPT_fmodule_only = 1494,
  OPT_fmodule_private = 1495,
  OPT_fmodule_version_ignore = 1496,
  OPT_fmoduleinfo = 1497,
  OPT_fmodules_ts = 1498,
  OPT_fmodulo_sched = 1499,
  OPT_fmodulo_sched_allow_regmoves = 1500,
  OPT_fmove_loop_invariants = 1501,
  OPT_fmove_loop_stores = 1502,
  OPT_fms_extensions = 1503,
  OPT_fmudflap = 1504,
  OPT_fmudflapir = 1505,
  OPT_fmudflapth = 1506,
  OPT_fmultiflags = 1507,
  OPT_fname_mangling_version_ = 1508,
  OPT_fnew_abi = 1509,
  OPT_fnew_inheriting_ctors = 1510,
  OPT_fnew_ttp_matching = 1511,
  OPT_fnext_runtime = 1512,
  OPT_fnil = 1513,
  OPT_fnil_receivers = 1514,
  OPT_fno_inline_intrinsics = 1515,
  OPT_fno_inline_stringops = 1516,
  OPT_fno_modules = 1517,
  OPT_fnon_call_exceptions = 1518,
  OPT_fnonansi_builtins = 1519,
  OPT_fnonnull_objects = 1520,
  OPT_fnothrow_opt = 1521,
  OPT_fobjc_abi_version_ = 1522,
  OPT_fobjc_call_cxx_cdtors = 1523,
  OPT_fobjc_direct_dispatch = 1524,
  OPT_fobjc_exceptions = 1525,
  OPT_fobjc_gc = 1526,
  OPT_fobjc_nilcheck = 1527,
  OPT_fobjc_sjlj_exceptions = 1528,
  OPT_fobjc_std_objc1 = 1529,
  OPT_foffload_abi_host_opts_ = 1530,
  OPT_foffload_abi_ = 1531,
  OPT_foffload_options_ = 1532,
  OPT_foffload_ = 1533,
  OPT_fomit_frame_pointer = 1534,
  OPT_fonly_ = 1535,
  OPT_fopenacc = 1536,
  OPT_fopenacc_dim_ = 1537,
  OPT_fopenmp = 1538,
  OPT_fopenmp_allocators = 1539,
  OPT_fopenmp_simd = 1540,

  OPT_fopenmp_target_simd_clone_ = 1542,
  OPT_foperator_names = 1543,
  OPT_fopt_info = 1544,
  OPT_fopt_info_ = 1545,

  OPT_foptimize_sibling_calls = 1547,
  OPT_foptimize_strlen = 1548,

  OPT_fpack_derived = 1550,
  OPT_fpack_struct = 1551,
  OPT_fpack_struct_ = 1552,
  OPT_fpad_source = 1553,
  OPT_fpartial_inlining = 1554,
  OPT_fpatchable_function_entry_ = 1555,
  OPT_fpcc_struct_return = 1556,
  OPT_fpch_deps = 1557,
  OPT_fpch_preprocess = 1558,
  OPT_fpeel_loops = 1559,
  OPT_fpeephole = 1560,
  OPT_fpeephole2 = 1561,
  OPT_fpermissive = 1562,
  OPT_fpermitted_flt_eval_methods_ = 1563,
  OPT_fpic = 1564,
  OPT_fpie = 1565,
  OPT_fpim = 1566,
  OPT_fpim2 = 1567,
  OPT_fpim3 = 1568,
  OPT_fpim4 = 1569,
  OPT_fplan9_extensions = 1570,
  OPT_fplt = 1571,
  OPT_fplugin_arg_ = 1572,
  OPT_fplugin_ = 1573,
  OPT_fpositive_mod_floor_div = 1574,
  OPT_fpost_ipa_mem_report = 1575,
  OPT_fpostconditions = 1576,
  OPT_fpre_include_ = 1577,
  OPT_fpre_ipa_mem_report = 1578,
  OPT_fpreconditions = 1579,
  OPT_fpredictive_commoning = 1580,
  OPT_fprefetch_loop_arrays = 1581,
  OPT_fpreprocessed = 1582,
  OPT_fpretty_templates = 1583,
  OPT_fpreview_all = 1584,
  OPT_fpreview_bitfields = 1585,
  OPT_fpreview_dip1000 = 1586,
  OPT_fpreview_dip1008 = 1587,
  OPT_fpreview_dip1021 = 1588,
  OPT_fpreview_dtorfields = 1589,
  OPT_fpreview_fieldwise = 1590,
  OPT_fpreview_fixaliasthis = 1591,
  OPT_fpreview_fiximmutableconv = 1592,
  OPT_fpreview_in = 1593,
  OPT_fpreview_inclusiveincontracts = 1594,
  OPT_fpreview_nosharedaccess = 1595,
  OPT_fpreview_rvaluerefparam = 1596,
  OPT_fpreview_systemvariables = 1597,
  OPT_fprintf_return_value = 1598,
  OPT_fprofile = 1599,
  OPT_fprofile_abs_path = 1600,
  OPT_fprofile_arcs = 1601,
  OPT_fprofile_correction = 1602,
  OPT_fprofile_dir_ = 1603,
  OPT_fprofile_exclude_files_ = 1604,
  OPT_fprofile_filter_files_ = 1605,
  OPT_fprofile_generate = 1606,
  OPT_fprofile_generate_ = 1607,
  OPT_fprofile_info_section = 1608,
  OPT_fprofile_info_section_ = 1609,
  OPT_fprofile_note_ = 1610,
  OPT_fprofile_partial_training = 1611,
  OPT_fprofile_prefix_map_ = 1612,
  OPT_fprofile_prefix_path_ = 1613,
  OPT_fprofile_reorder_functions = 1614,
  OPT_fprofile_report = 1615,
  OPT_fprofile_reproducible_ = 1616,
  OPT_fprofile_update_ = 1617,
  OPT_fprofile_use = 1618,
  OPT_fprofile_use_ = 1619,
  OPT_fprofile_values = 1620,
  OPT_fprotect_parens = 1621,
  OPT_fpthread = 1622,
  OPT_fq = 1623,
  OPT_frandom_seed = 1624,
  OPT_frandom_seed_ = 1625,
  OPT_frange = 1626,
  OPT_frange_check = 1627,
  OPT_frange_for_ext_temps = 1628,
  OPT_freal_4_real_10 = 1629,
  OPT_freal_4_real_16 = 1630,
  OPT_freal_4_real_8 = 1631,
  OPT_freal_8_real_10 = 1632,
  OPT_freal_8_real_16 = 1633,
  OPT_freal_8_real_4 = 1634,
  OPT_frealloc_lhs = 1635,
  OPT_freciprocal_math = 1636,
  OPT_frecord_gcc_switches = 1637,
  OPT_frecord_marker_4 = 1638,
  OPT_frecord_marker_8 = 1639,
  OPT_frecursive = 1640,
  OPT_free = 1641,


  OPT_frelease = 1644,
  OPT_frename_registers = 1645,
  OPT_freorder_blocks = 1646,
  OPT_freorder_blocks_algorithm_ = 1647,
  OPT_freorder_blocks_and_partition = 1648,
  OPT_freorder_functions = 1649,
  OPT_frepack_arrays = 1650,
  OPT_freplace_objc_classes = 1651,
  OPT_frepo = 1652,
  OPT_freport_bug = 1653,
  OPT_frequire_return_statement = 1654,
  OPT_frerun_cse_after_loop = 1655,

  OPT_freschedule_modulo_scheduled_loops = 1657,
  OPT_fresolution_ = 1658,
  OPT_freturn = 1659,
  OPT_frevert_all = 1660,
  OPT_frevert_dip1000 = 1661,
  OPT_frevert_dtorfields = 1662,
  OPT_frevert_intpromote = 1663,
  OPT_frounding_math = 1664,
  OPT_frtti = 1665,
  OPT_fruntime_modules_ = 1666,
  OPT_frust_borrowcheck = 1667,
  OPT_frust_cfg_ = 1668,
  OPT_frust_compile_until_ = 1669,
  OPT_frust_crate_type_ = 1670,
  OPT_frust_crate_ = 1671,
  OPT_frust_debug = 1672,
  OPT_frust_dump_ = 1673,
  OPT_frust_edition_ = 1674,
  OPT_frust_embed_metadata = 1675,
  OPT_frust_extern_ = 1676,
  OPT_frust_incomplete_and_experimental_compiler_do_not_use = 1677,
  OPT_frust_mangling_ = 1678,
  OPT_frust_max_recursion_depth_ = 1679,
  OPT_frust_metadata_output_ = 1680,
  OPT_frust_name_resolution_2_0 = 1681,
  OPT_fsanitize_address_use_after_scope = 1682,
  OPT_fsanitize_coverage_ = 1683,
  OPT_fsanitize_recover = 1684,
  OPT_fsanitize_recover_ = 1685,
  OPT_fsanitize_sections_ = 1686,
  OPT_fsanitize_trap = 1687,
  OPT_fsanitize_trap_ = 1688,

  OPT_fsanitize_ = 1690,
  OPT_fsave_mixins_ = 1691,
  OPT_fsave_optimization_record = 1692,
  OPT_fscaffold_c = 1693,
  OPT_fscaffold_c__ = 1694,
  OPT_fscaffold_dynamic = 1695,
  OPT_fscaffold_main = 1696,
  OPT_fscaffold_static = 1697,
  OPT_fsched_critical_path_heuristic = 1698,
  OPT_fsched_dep_count_heuristic = 1699,
  OPT_fsched_group_heuristic = 1700,
  OPT_fsched_interblock = 1701,
  OPT_fsched_last_insn_heuristic = 1702,
  OPT_fsched_pressure = 1703,
  OPT_fsched_rank_heuristic = 1704,
  OPT_fsched_spec = 1705,
  OPT_fsched_spec_insn_heuristic = 1706,
  OPT_fsched_spec_load = 1707,
  OPT_fsched_spec_load_dangerous = 1708,
  OPT_fsched_stalled_insns = 1709,
  OPT_fsched_stalled_insns_dep = 1710,
  OPT_fsched_stalled_insns_dep_ = 1711,
  OPT_fsched_stalled_insns_ = 1712,
  OPT_fsched_verbose_ = 1713,
  OPT_fsched2_use_superblocks = 1714,

  OPT_fschedule_fusion = 1716,
  OPT_fschedule_insns = 1717,
  OPT_fschedule_insns2 = 1718,
  OPT_fsecond_underscore = 1719,
  OPT_fsection_anchors = 1720,

  OPT_fsel_sched_pipelining = 1722,
  OPT_fsel_sched_pipelining_outer_loops = 1723,
  OPT_fsel_sched_reschedule_pipelined = 1724,
  OPT_fselective_scheduling = 1725,
  OPT_fselective_scheduling2 = 1726,
  OPT_fself_test_ = 1727,
  OPT_fsemantic_interposition = 1728,
  OPT_fshared = 1729,
  OPT_fshort_enums = 1730,
  OPT_fshort_wchar = 1731,
  OPT_fshow_column = 1732,
  OPT_fshrink_wrap = 1733,
  OPT_fshrink_wrap_separate = 1734,
  OPT_fsign_zero = 1735,
  OPT_fsignaling_nans = 1736,
  OPT_fsigned_bitfields = 1737,
  OPT_fsigned_char = 1738,
  OPT_fsigned_zeros = 1739,
  OPT_fsimd_cost_model_ = 1740,
  OPT_fsingle_precision_constant = 1741,
  OPT_fsized_deallocation = 1742,
  OPT_fsoft_check_all = 1743,
  OPT_fsources = 1744,
  OPT_fsplit_ivs_in_unroller = 1745,
  OPT_fsplit_loops = 1746,
  OPT_fsplit_paths = 1747,
  OPT_fsplit_stack = 1748,
  OPT_fsplit_wide_types = 1749,
  OPT_fsplit_wide_types_early = 1750,
  OPT_fsquangle = 1751,
  OPT_fssa_backprop = 1752,
  OPT_fssa_phiopt = 1753,
  OPT_fsso_struct_ = 1754,
  OPT_fstack_arrays = 1755,

  OPT_fstack_check_ = 1757,
  OPT_fstack_clash_protection = 1758,
  OPT_fstack_limit = 1759,
  OPT_fstack_limit_register_ = 1760,
  OPT_fstack_limit_symbol_ = 1761,
  OPT_fstack_protector = 1762,
  OPT_fstack_protector_all = 1763,
  OPT_fstack_protector_explicit = 1764,
  OPT_fstack_protector_strong = 1765,
  OPT_fstack_reuse_ = 1766,
  OPT_fstack_usage = 1767,
  OPT_fstats = 1768,
  OPT_fstdarg_opt = 1769,
  OPT_fstore_merging = 1770,

  OPT_fstrict_aliasing = 1772,
  OPT_fstrict_enums = 1773,

  OPT_fstrict_flex_arrays_ = 1775,
  OPT_fstrict_overflow = 1776,
  OPT_fstrict_prototype = 1777,
  OPT_fstrict_volatile_bitfields = 1778,

  OPT_fstrong_eval_order_ = 1780,
  OPT_fstrub_all = 1781,
  OPT_fstrub_at_calls = 1782,
  OPT_fstrub_disable = 1783,
  OPT_fstrub_internal = 1784,
  OPT_fstrub_relaxed = 1785,
  OPT_fstrub_strict = 1786,
  OPT_fswig = 1787,
  OPT_fswitch_errors = 1788,
  OPT_fsync_libcalls = 1789,
  OPT_fsyntax_only = 1790,
  OPT_ftabstop_ = 1791,

  OPT_ftail_call_workaround_ = 1793,

  OPT_ftemplate_backtrace_limit_ = 1795,

  OPT_ftemplate_depth_ = 1797,
  OPT_ftest_coverage = 1798,
  OPT_ftest_forall_temp = 1799,
  OPT_fthis_is_variable = 1800,
  OPT_fthread_jumps = 1801,
  OPT_fthreadsafe_statics = 1802,
  OPT_ftime_report = 1803,
  OPT_ftime_report_details = 1804,
  OPT_ftls_model_ = 1805,
  OPT_ftoplevel_reorder = 1806,
  OPT_ftracer = 1807,
  OPT_ftrack_macro_expansion = 1808,
  OPT_ftrack_macro_expansion_ = 1809,
  OPT_ftrampoline_impl_ = 1810,
  OPT_ftrampolines = 1811,
  OPT_ftransition_all = 1812,
  OPT_ftransition_field = 1813,
  OPT_ftransition_in = 1814,
  OPT_ftransition_nogc = 1815,
  OPT_ftransition_templates = 1816,
  OPT_ftransition_tls = 1817,
  OPT_ftrapping_math = 1818,
  OPT_ftrapv = 1819,
  OPT_ftree_bit_ccp = 1820,
  OPT_ftree_builtin_call_dce = 1821,
  OPT_ftree_ccp = 1822,
  OPT_ftree_ch = 1823,

  OPT_ftree_coalesce_vars = 1825,
  OPT_ftree_copy_prop = 1826,

  OPT_ftree_cselim = 1828,
  OPT_ftree_dce = 1829,
  OPT_ftree_dominator_opts = 1830,
  OPT_ftree_dse = 1831,
  OPT_ftree_forwprop = 1832,
  OPT_ftree_fre = 1833,
  OPT_ftree_loop_distribute_patterns = 1834,
  OPT_ftree_loop_distribution = 1835,
  OPT_ftree_loop_if_convert = 1836,

  OPT_ftree_loop_im = 1838,
  OPT_ftree_loop_ivcanon = 1839,

  OPT_ftree_loop_optimize = 1841,
  OPT_ftree_loop_vectorize = 1842,
  OPT_ftree_lrs = 1843,
  OPT_ftree_parallelize_loops_ = 1844,
  OPT_ftree_partial_pre = 1845,
  OPT_ftree_phiprop = 1846,
  OPT_ftree_pre = 1847,
  OPT_ftree_pta = 1848,
  OPT_ftree_reassoc = 1849,

  OPT_ftree_scev_cprop = 1851,
  OPT_ftree_sink = 1852,
  OPT_ftree_slp_vectorize = 1853,
  OPT_ftree_slsr = 1854,
  OPT_ftree_sra = 1855,


  OPT_ftree_switch_conversion = 1858,
  OPT_ftree_tail_merge = 1859,
  OPT_ftree_ter = 1860,

  OPT_ftree_vectorize = 1862,

  OPT_ftree_vrp = 1864,
  OPT_ftrivial_auto_var_init_ = 1865,
  OPT_funbounded_by_reference = 1866,
  OPT_funconstrained_commons = 1867,
  OPT_funderscoring = 1868,
  OPT_funit_at_a_time = 1869,
  OPT_funittest = 1870,
  OPT_funreachable_traps = 1871,
  OPT_funroll_all_loops = 1872,
  OPT_funroll_completely_grow_size = 1873,
  OPT_funroll_loops = 1874,

  OPT_funsafe_math_optimizations = 1876,
  OPT_funsigned = 1877,
  OPT_funsigned_bitfields = 1878,
  OPT_funsigned_char = 1879,
  OPT_funswitch_loops = 1880,
  OPT_funwind_tables = 1881,
  OPT_fuse_cxa_atexit = 1882,
  OPT_fuse_cxa_get_exception_ptr = 1883,
  OPT_fuse_ld_bfd = 1884,
  OPT_fuse_ld_gold = 1885,
  OPT_fuse_ld_lld = 1886,
  OPT_fuse_ld_mold = 1887,
  OPT_fuse_linker_plugin = 1888,
  OPT_fuse_list_ = 1889,
  OPT_fvar_tracking = 1890,
  OPT_fvar_tracking_assignments = 1891,
  OPT_fvar_tracking_assignments_toggle = 1892,
  OPT_fvar_tracking_uninit = 1893,
  OPT_fvariable_expansion_in_unroller = 1894,

  OPT_fvect_cost_model_ = 1896,
  OPT_fverbose_asm = 1897,

  OPT_fversion_loops_for_strides = 1899,
  OPT_fversion_ = 1900,
  OPT_fvisibility_inlines_hidden = 1901,
  OPT_fvisibility_ms_compat = 1902,
  OPT_fvisibility_ = 1903,
  OPT_fvpt = 1904,
  OPT_fvtable_gc = 1905,
  OPT_fvtable_thunks = 1906,
  OPT_fvtable_verify_ = 1907,
  OPT_fvtv_counts = 1908,
  OPT_fvtv_debug = 1909,
  OPT_fweak = 1910,
  OPT_fweak_templates = 1911,
  OPT_fweb = 1912,

  OPT_fwhole_program = 1914,
  OPT_fwholediv = 1915,
  OPT_fwholevalue = 1916,
  OPT_fwide_exec_charset_ = 1917,
  OPT_fworking_directory = 1918,
  OPT_fwpa = 1919,
  OPT_fwpa_ = 1920,
  OPT_fwrapv = 1921,
  OPT_fwrapv_pointer = 1922,
  OPT_fxref = 1923,

  OPT_fzero_call_used_regs_ = 1925,
  OPT_fzero_initialized_in_bss = 1926,
  OPT_fzero_link = 1927,
  OPT_g = 1928,
  OPT_gant = 1929,
  OPT_gas_loc_support = 1930,
  OPT_gas_locview_support = 1931,
  OPT_gbtf = 1932,
  OPT_gcodeview = 1933,
  OPT_gcoff = 1934,
  OPT_gcoff1 = 1935,
  OPT_gcoff2 = 1936,
  OPT_gcoff3 = 1937,
  OPT_gcolumn_info = 1938,
  OPT_gctf = 1939,
  OPT_gdescribe_dies = 1940,
  OPT_gdwarf = 1941,
  OPT_gdwarf_ = 1942,
  OPT_gdwarf32 = 1943,
  OPT_gdwarf64 = 1944,
  OPT_gen_decls = 1945,
  OPT_ggdb = 1946,
  OPT_ggnu_pubnames = 1947,
  OPT_gimple_stats = 1948,
  OPT_ginline_points = 1949,
  OPT_ginternal_reset_location_views = 1950,
  OPT_gnat = 1951,
  OPT_gnatO = 1952,
  OPT_gno_ = 1953,
  OPT_gno_pubnames = 1954,
  OPT_gprune_btf = 1955,
  OPT_gpubnames = 1956,
  OPT_grecord_gcc_switches = 1957,
  OPT_gsplit_dwarf = 1958,
  OPT_gstabs = 1959,
  OPT_gstabs_ = 1960,
  OPT_gstatement_frontiers = 1961,
  OPT_gstrict_dwarf = 1962,
  OPT_gtoggle = 1963,
  OPT_gvariable_location_views = 1964,
  OPT_gvariable_location_views_incompat5 = 1965,
  OPT_gvms = 1966,
  OPT_gxcoff = 1967,
  OPT_gxcoff_ = 1968,
  OPT_gz = 1969,
  OPT_gz_ = 1970,
  OPT_h = 1971,
  OPT_help = 1972,
  OPT_idirafter = 1973,
  OPT_imacros = 1974,
  OPT_imultiarch = 1975,
  OPT_imultilib = 1976,
  OPT_include = 1977,
  OPT_iplugindir_ = 1978,
  OPT_iprefix = 1979,
  OPT_iquote = 1980,
  OPT_isysroot = 1981,
  OPT_isystem = 1982,
  OPT_iwithprefix = 1983,
  OPT_iwithprefixbefore = 1984,
  OPT_k8 = 1985,
  OPT_l = 1986,
  OPT_lang_asm = 1987,
  OPT_list = 1988,
  OPT_m210 = 1989,
  OPT_m340 = 1990,
  OPT_m4byte_functions = 1991,
  OPT_mbig_endian = 1992,
  OPT_mcallgraph_data = 1993,
  OPT_mdiv = 1994,
  OPT_mhardlit = 1995,
  OPT_mlittle_endian = 1996,
  OPT_mno_lsim = 1997,
  OPT_mrelax_immediates = 1998,
  OPT_mslow_bytes = 1999,
  OPT_mstack_increment_ = 2000,
  OPT_mwide_bitfields = 2001,
  OPT_n = 2002,
  OPT_name_sort = 2003,
  OPT_no_canonical_prefixes = 2004,
  OPT_no_integrated_cpp = 2005,
  OPT_no_pie = 2006,
  OPT_nocpp = 2007,
  OPT_nodefaultlibs = 2008,
  OPT_nolibc = 2009,
  OPT_nophoboslib = 2010,
  OPT_nostartfiles = 2011,
  OPT_nostdinc = 2012,
  OPT_nostdinc__ = 2013,
  OPT_nostdlib = 2014,
  OPT_nostdlib__ = 2015,
  OPT_o = 2016,
  OPT_objects = 2017,
  OPT_p = 2018,
  OPT_pass_exit_codes = 2019,

  OPT_pedantic_errors = 2021,
  OPT_pg = 2022,
  OPT_pie = 2023,
  OPT_pipe = 2024,
  OPT_print_file_name_ = 2025,
  OPT_print_libgcc_file_name = 2026,
  OPT_print_multi_directory = 2027,
  OPT_print_multi_lib = 2028,
  OPT_print_multi_os_directory = 2029,
  OPT_print_multiarch = 2030,
  OPT_print_objc_runtime_info = 2031,
  OPT_print_prog_name_ = 2032,
  OPT_print_search_dirs = 2033,
  OPT_print_sysroot = 2034,
  OPT_print_sysroot_headers_suffix = 2035,
  OPT_print_value = 2036,
  OPT_quiet = 2037,
  OPT_r = 2038,
  OPT_remap = 2039,
  OPT_reverse_sort = 2040,
  OPT_s = 2041,
  OPT_save_temps = 2042,
  OPT_save_temps_ = 2043,
  OPT_shared = 2044,
  OPT_shared_libgcc = 2045,
  OPT_shared_libphobos = 2046,
  OPT_size_sort = 2047,

  OPT_specs_ = 2049,
  OPT_static = 2050,
  OPT_static_libasan = 2051,
  OPT_static_libgcc = 2052,
  OPT_static_libgfortran = 2053,
  OPT_static_libgm2 = 2054,
  OPT_static_libgo = 2055,
  OPT_static_libhwasan = 2056,
  OPT_static_liblsan = 2057,
  OPT_static_libmpx = 2058,
  OPT_static_libmpxwrappers = 2059,
  OPT_static_libphobos = 2060,
  OPT_static_libquadmath = 2061,
  OPT_static_libstdc__ = 2062,
  OPT_static_libtsan = 2063,
  OPT_static_libubsan = 2064,
  OPT_static_pie = 2065,


  OPT_std_c__11 = 2068,
  OPT_std_c__14 = 2069,
  OPT_std_c__17 = 2070,


  OPT_std_c__20 = 2073,
  OPT_std_c__23 = 2074,
  OPT_std_c__26 = 2075,



  OPT_std_c__98 = 2079,
  OPT_std_c11 = 2080,
  OPT_std_c17 = 2081,


  OPT_std_c23 = 2084,

  OPT_std_c2y = 2086,

  OPT_std_c90 = 2088,
  OPT_std_c99 = 2089,

  OPT_std_f2003 = 2091,
  OPT_std_f2008 = 2092,
  OPT_std_f2008ts = 2093,
  OPT_std_f2018 = 2094,
  OPT_std_f2023 = 2095,
  OPT_std_f95 = 2096,
  OPT_std_gnu = 2097,


  OPT_std_gnu__11 = 2100,
  OPT_std_gnu__14 = 2101,
  OPT_std_gnu__17 = 2102,


  OPT_std_gnu__20 = 2105,
  OPT_std_gnu__23 = 2106,
  OPT_std_gnu__26 = 2107,



  OPT_std_gnu__98 = 2111,
  OPT_std_gnu11 = 2112,
  OPT_std_gnu17 = 2113,


  OPT_std_gnu23 = 2116,

  OPT_std_gnu2y = 2118,

  OPT_std_gnu90 = 2120,
  OPT_std_gnu99 = 2121,


  OPT_std_iso9899_199409 = 2124,






  OPT_std_legacy = 2131,
  OPT_stdlib_ = 2132,
  OPT_symbol_ = 2133,
  OPT_symbolic = 2134,
  OPT_t = 2135,
  OPT_time = 2136,
  OPT_time_ = 2137,
  OPT_traditional = 2138,
  OPT_traditional_cpp = 2139,
  OPT_tree_stats = 2140,
  OPT_trigraphs = 2141,
  OPT_truncate = 2142,
  OPT_type_stats = 2143,
  OPT_u = 2144,
  OPT_undef = 2145,
  OPT_v = 2146,
  OPT_version = 2147,
  OPT_w = 2148,
  OPT_wrapper = 2149,
  OPT_x = 2150,
  OPT_z = 2151,
  N_OPTS,
  OPT_SPECIAL_unknown,
  OPT_SPECIAL_ignore,
  OPT_SPECIAL_warn_removed,
  OPT_SPECIAL_program_name,
  OPT_SPECIAL_input_file
};
# 20 "../.././gcc/tm.h" 2
# 1 "../.././gcc/insn-constants.h" 1
# 21 "../.././gcc/tm.h" 2
# 1 "/home/jlaw/test/gcc/libgcc/../gcc/config/elfos.h" 1
# 22 "../.././gcc/tm.h" 2
# 1 "/home/jlaw/test/gcc/libgcc/../gcc/config/newlib-stdint.h" 1
# 23 "../.././gcc/tm.h" 2
# 1 "/home/jlaw/test/gcc/libgcc/../gcc/config/mcore/mcore.h" 1
# 82 "/home/jlaw/test/gcc/libgcc/../gcc/config/mcore/mcore.h"
extern char * mcore_current_function_name;
# 283 "/home/jlaw/test/gcc/libgcc/../gcc/config/mcore/mcore.h"
enum reg_class
{
  NO_REGS,
  ONLYR1_REGS,
  LRW_REGS,
  GENERAL_REGS,
  C_REGS,
  ALL_REGS,
  LIM_REG_CLASSES
};
# 328 "/home/jlaw/test/gcc/libgcc/../gcc/config/mcore/mcore.h"
extern const enum reg_class regno_reg_class[20];
# 621 "/home/jlaw/test/gcc/libgcc/../gcc/config/mcore/mcore.h"
extern long mcore_current_compilation_timestamp;
# 24 "../.././gcc/tm.h" 2
# 1 "/home/jlaw/test/gcc/libgcc/../gcc/config/mcore/mcore-elf.h" 1
# 25 "../.././gcc/tm.h" 2
# 1 "/home/jlaw/test/gcc/libgcc/../gcc/config/initfini-array.h" 1
# 26 "../.././gcc/tm.h" 2





# 1 "../.././gcc/insn-modes.h" 1






enum machine_mode
{
  E_VOIDmode,






  E_BLKmode,






  E_CCmode,






  E_BImode,






  E_QImode,






  E_HImode,






  E_SImode,






  E_DImode,






  E_TImode,






  E_QQmode,






  E_HQmode,






  E_SQmode,






  E_DQmode,






  E_TQmode,






  E_UQQmode,






  E_UHQmode,






  E_USQmode,






  E_UDQmode,






  E_UTQmode,






  E_HAmode,






  E_SAmode,






  E_DAmode,






  E_TAmode,






  E_UHAmode,






  E_USAmode,






  E_UDAmode,






  E_UTAmode,






  E_SFmode,






  E_DFmode,






  E_SDmode,






  E_DDmode,






  E_TDmode,






  E_CQImode,






  E_CHImode,






  E_CSImode,






  E_CDImode,






  E_CTImode,






  E_SCmode,






  E_DCmode,






  MAX_MACHINE_MODE,

  MIN_MODE_RANDOM = E_VOIDmode,
  MAX_MODE_RANDOM = E_BLKmode,

  MIN_MODE_CC = E_CCmode,
  MAX_MODE_CC = E_CCmode,

  MIN_MODE_BOOL = E_BImode,
  MAX_MODE_BOOL = E_BImode,

  MIN_MODE_INT = E_QImode,
  MAX_MODE_INT = E_TImode,

  MIN_MODE_PARTIAL_INT = E_VOIDmode,
  MAX_MODE_PARTIAL_INT = E_VOIDmode,

  MIN_MODE_FRACT = E_QQmode,
  MAX_MODE_FRACT = E_TQmode,

  MIN_MODE_UFRACT = E_UQQmode,
  MAX_MODE_UFRACT = E_UTQmode,

  MIN_MODE_ACCUM = E_HAmode,
  MAX_MODE_ACCUM = E_TAmode,

  MIN_MODE_UACCUM = E_UHAmode,
  MAX_MODE_UACCUM = E_UTAmode,

  MIN_MODE_FLOAT = E_SFmode,
  MAX_MODE_FLOAT = E_DFmode,

  MIN_MODE_DECIMAL_FLOAT = E_SDmode,
  MAX_MODE_DECIMAL_FLOAT = E_TDmode,

  MIN_MODE_COMPLEX_INT = E_CQImode,
  MAX_MODE_COMPLEX_INT = E_CTImode,

  MIN_MODE_COMPLEX_FLOAT = E_SCmode,
  MAX_MODE_COMPLEX_FLOAT = E_DCmode,

  MIN_MODE_VECTOR_BOOL = E_VOIDmode,
  MAX_MODE_VECTOR_BOOL = E_VOIDmode,

  MIN_MODE_VECTOR_INT = E_VOIDmode,
  MAX_MODE_VECTOR_INT = E_VOIDmode,

  MIN_MODE_VECTOR_FRACT = E_VOIDmode,
  MAX_MODE_VECTOR_FRACT = E_VOIDmode,

  MIN_MODE_VECTOR_UFRACT = E_VOIDmode,
  MAX_MODE_VECTOR_UFRACT = E_VOIDmode,

  MIN_MODE_VECTOR_ACCUM = E_VOIDmode,
  MAX_MODE_VECTOR_ACCUM = E_VOIDmode,

  MIN_MODE_VECTOR_UACCUM = E_VOIDmode,
  MAX_MODE_VECTOR_UACCUM = E_VOIDmode,

  MIN_MODE_VECTOR_FLOAT = E_VOIDmode,
  MAX_MODE_VECTOR_FLOAT = E_VOIDmode,

  MIN_MODE_OPAQUE = E_VOIDmode,
  MAX_MODE_OPAQUE = E_VOIDmode,

  NUM_MACHINE_MODES = MAX_MACHINE_MODE
};
# 32 "../.././gcc/tm.h" 2

# 1 "/home/jlaw/test/gcc/libgcc/../gcc/defaults.h" 1
# 34 "../.././gcc/tm.h" 2
# 30 "/home/jlaw/test/gcc/libgcc/libgcc2.c" 2
# 1 "./libgcc_tm.h" 1
# 31 "/home/jlaw/test/gcc/libgcc/libgcc2.c" 2
# 56 "/home/jlaw/test/gcc/libgcc/libgcc2.c"
# 1 "/home/jlaw/test/gcc/libgcc/libgcc2.h" 1
# 32 "/home/jlaw/test/gcc/libgcc/libgcc2.h"
extern void __gcc_nested_func_ptr_created (void *, void *, void *);
extern void __gcc_nested_func_ptr_deleted (void);

extern int __gcc_bcmp (const unsigned char *, const unsigned char *, size_t);
extern void __clear_cache (void *, void *);
extern void __eprintf (const char *, const char *, unsigned int, const char *)
  __attribute__ ((__noreturn__));
# 125 "/home/jlaw/test/gcc/libgcc/libgcc2.h"
typedef int QItype __attribute__ ((mode (QI)));
typedef unsigned int UQItype __attribute__ ((mode (QI)));
typedef int HItype __attribute__ ((mode (HI)));
typedef unsigned int UHItype __attribute__ ((mode (HI)));


typedef int SItype __attribute__ ((mode (SI)));
typedef unsigned int USItype __attribute__ ((mode (SI)));


typedef int DItype __attribute__ ((mode (DI)));
typedef unsigned int UDItype __attribute__ ((mode (DI)));
# 150 "/home/jlaw/test/gcc/libgcc/libgcc2.h"
typedef float SFtype __attribute__ ((mode (SF)));
typedef _Complex float SCtype __attribute__ ((mode (SC)));


typedef float DFtype __attribute__ ((mode (DF)));
typedef _Complex float DCtype __attribute__ ((mode (DC)));
# 170 "/home/jlaw/test/gcc/libgcc/libgcc2.h"
typedef int cmp_return_type __attribute__((mode (__libgcc_cmp_return__)));
typedef int shift_count_type __attribute__((mode (__libgcc_shift_count__)));
# 388 "/home/jlaw/test/gcc/libgcc/libgcc2.h"
extern DItype __muldi3 (DItype, DItype);
extern DItype __divdi3 (DItype, DItype);
extern UDItype __udivdi3 (UDItype, UDItype);
extern UDItype __umoddi3 (UDItype, UDItype);
extern DItype __moddi3 (DItype, DItype);
extern DItype __divmoddi4 (DItype, DItype, DItype *);





extern UDItype __udivmoddi4 (UDItype, UDItype, UDItype *);
# 415 "/home/jlaw/test/gcc/libgcc/libgcc2.h"
extern DItype __negdi2 (DItype);


extern DItype __lshrdi3 (DItype, shift_count_type);
extern DItype __ashldi3 (DItype, shift_count_type);
extern DItype __ashrdi3 (DItype, shift_count_type);




extern USItype __udiv_w_sdiv (USItype *, USItype, USItype, USItype);


extern cmp_return_type __cmpdi2 (DItype, DItype);
extern cmp_return_type __ucmpdi2 (UDItype, UDItype);


extern SItype __bswapsi2 (SItype);


extern DItype __bswapdi2 (DItype);


extern SItype __absvsi2 (SItype);
extern SItype __addvsi3 (SItype, SItype);
extern SItype __subvsi3 (SItype, SItype);
extern SItype __mulvsi3 (SItype, SItype);
extern SItype __negvsi2 (SItype);
extern DItype __absvdi2 (DItype);
extern DItype __addvdi3 (DItype, DItype);
extern DItype __subvdi3 (DItype, DItype);
extern DItype __mulvdi3 (DItype, DItype);
extern DItype __negvdi2 (DItype);
# 469 "/home/jlaw/test/gcc/libgcc/libgcc2.h"
extern DItype __fixsfdi (SFtype);
extern SFtype __floatdisf (DItype);
extern SFtype __floatundisf (UDItype);
extern USItype __fixunssfsi (SFtype);
extern UDItype __fixunssfdi (SFtype);
extern SFtype __powisf2 (SFtype, int);
extern SCtype __divsc3 (SFtype, SFtype, SFtype, SFtype);
extern SCtype __mulsc3 (SFtype, SFtype, SFtype, SFtype);


extern DItype __fixdfdi (DFtype);
extern DFtype __floatdidf (DItype);
extern DFtype __floatundidf (UDItype);
extern USItype __fixunsdfsi (DFtype);
extern UDItype __fixunsdfdi (DFtype);
extern DFtype __powidf2 (DFtype, int);
extern DCtype __divdc3 (DFtype, DFtype, DFtype, DFtype);
extern DCtype __muldc3 (DFtype, DFtype, DFtype, DFtype);
# 517 "/home/jlaw/test/gcc/libgcc/libgcc2.h"
  struct DWstruct {SItype low, high;};






typedef union
{
  struct DWstruct s;
  DItype ll;
} DWunion;



extern const UQItype __popcount_tab[256];





extern const UQItype __clz_tab[256];

# 1 "/home/jlaw/test/gcc/libgcc/../include/longlong.h" 1
# 60 "/home/jlaw/test/gcc/libgcc/../include/longlong.h"
extern const UQItype __clz_tab[256] ;
# 541 "/home/jlaw/test/gcc/libgcc/libgcc2.h" 2


extern int __clzdi2 (UDItype);
extern int __clzsi2 (USItype);
extern int __ctzsi2 (USItype);
extern int __ctzdi2 (UDItype);
extern int __clrsbsi2 (SItype);
extern int __clrsbdi2 (DItype);
extern int __ffssi2 (USItype);
extern int __ffsdi2 (DItype);
extern int __popcountsi2 (USItype);
extern int __popcountdi2 (UDItype);
extern int __paritysi2 (USItype);
extern int __paritydi2 (UDItype);


extern void __enable_execute_stack (void *);

extern void __strub_enter (void **);
extern void __strub_update (void**);
extern void __strub_leave (void **);
# 57 "/home/jlaw/test/gcc/libgcc/libgcc2.c" 2
# 527 "/home/jlaw/test/gcc/libgcc/libgcc2.c"
DItype
__muldi3 (DItype u, DItype v)
{
  const DWunion uu = {.ll = u};
  const DWunion vv = {.ll = v};
  DWunion w = {.ll = ({DWunion __w; do { USItype __x0, __x1, __x2, __x3; 
USItype __ul, __vl, __uh, __vh; __ul = ((USItype) (uu.s.low) & (((USItype) 1 << 
((4 * 8) / 2)) - 1)); __uh = ((USItype) (uu.s.low) >> ((4 * 8) / 2)); __vl = 
((USItype) (vv.s.low) & (((USItype) 1 << ((4 * 8) / 2)) - 1)); __vh = 
((USItype) (vv.s.low) >> ((4 * 8) / 2)); __x0 = (USItype) __ul * __vl; __x1 = 
(USItype) __ul * __vh; __x2 = (USItype) __uh * __vl; __x3 = (USItype) __uh * 
__vh; __x1 += ((USItype) (__x0) >> ((4 * 8) / 2)); __x1 += __x2; if (__x1 < 
__x2) __x3 += ((USItype) 1 << ((4 * 8) / 2)); (__w.s.high) = __x3 + ((USItype) 
(__x1) >> ((4 * 8) / 2)); (__w.s.low) = ((USItype) (__x1) & (((USItype) 1 << 
((4 * 8) / 2)) - 1)) * ((USItype) 1 << ((4 * 8) / 2)) + ((USItype) (__x0) & 
(((USItype) 1 << ((4 * 8) / 2)) - 1)); } while (0); __w.ll; })};

  w.s.high += ((USItype) uu.s.low * (USItype) vv.s.high
        + (USItype) uu.s.high * (USItype) vv.s.low);

  return w.ll;
}

Reply via email to