Mercurial > hg > CbC > CbC_gcc
comparison gcc/config/rs6000/rs6000.opt @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children | 1830386684a0 |
comparison
equal
deleted
inserted
replaced
111:04ced10e8804 | 131:84e7813d76e9 |
---|---|
1 ; Options for the rs6000 port of the compiler | 1 ; Options for the rs6000 port of the compiler |
2 ; | 2 ; |
3 ; Copyright (C) 2005-2017 Free Software Foundation, Inc. | 3 ; Copyright (C) 2005-2018 Free Software Foundation, Inc. |
4 ; Contributed by Aldy Hernandez <aldy@quesejoda.com>. | 4 ; Contributed by Aldy Hernandez <aldy@quesejoda.com>. |
5 ; | 5 ; |
6 ; This file is part of GCC. | 6 ; This file is part of GCC. |
7 ; | 7 ; |
8 ; GCC is free software; you can redistribute it and/or modify it under | 8 ; GCC is free software; you can redistribute it and/or modify it under |
38 | 38 |
39 ;; Current processor | 39 ;; Current processor |
40 TargetVariable | 40 TargetVariable |
41 enum processor_type rs6000_cpu = PROCESSOR_PPC603 | 41 enum processor_type rs6000_cpu = PROCESSOR_PPC603 |
42 | 42 |
43 ;; Current tuning | |
44 TargetVariable | |
45 enum processor_type rs6000_tune = PROCESSOR_PPC603 | |
46 | |
43 ;; Always emit branch hint bits. | 47 ;; Always emit branch hint bits. |
44 TargetVariable | 48 TargetVariable |
45 unsigned char rs6000_always_hint | 49 unsigned char rs6000_always_hint |
46 | 50 |
47 ;; Schedule instructions for group formation. | 51 ;; Schedule instructions for group formation. |
146 | 150 |
147 maltivec | 151 maltivec |
148 Target Report Mask(ALTIVEC) Var(rs6000_isa_flags) | 152 Target Report Mask(ALTIVEC) Var(rs6000_isa_flags) |
149 Use AltiVec instructions. | 153 Use AltiVec instructions. |
150 | 154 |
151 maltivec=le | |
152 Target Report RejectNegative Var(rs6000_altivec_element_order, 1) Save | |
153 Generate AltiVec instructions using little-endian element order. | |
154 | |
155 maltivec=be | |
156 Target Report RejectNegative Var(rs6000_altivec_element_order, 2) | |
157 Generate AltiVec instructions using big-endian element order. | |
158 | |
159 mfold-gimple | 155 mfold-gimple |
160 Target Report Var(rs6000_fold_gimple) Init(1) | 156 Target Report Var(rs6000_fold_gimple) Init(1) |
161 Enable early gimple folding of builtins. | 157 Enable early gimple folding of builtins. |
162 | 158 |
163 mhard-dfp | 159 mhard-dfp |
174 | 170 |
175 mmultiple | 171 mmultiple |
176 Target Report Mask(MULTIPLE) Var(rs6000_isa_flags) | 172 Target Report Mask(MULTIPLE) Var(rs6000_isa_flags) |
177 Generate load/store multiple instructions. | 173 Generate load/store multiple instructions. |
178 | 174 |
175 ;; This option existed in the past, but now is always off. | |
176 mno-string | |
177 Target RejectNegative Undocumented Ignore | |
178 | |
179 mstring | 179 mstring |
180 Target Report Mask(STRING) Var(rs6000_isa_flags) | 180 Target RejectNegative Undocumented Deprecated |
181 Generate string instructions for block moves. | |
182 | 181 |
183 msoft-float | 182 msoft-float |
184 Target Report RejectNegative Mask(SOFT_FLOAT) Var(rs6000_isa_flags) | 183 Target Report RejectNegative Mask(SOFT_FLOAT) Var(rs6000_isa_flags) |
185 Do not use hardware floating point. | 184 Do not use hardware floating point. |
186 | 185 |
313 mvrsave | 312 mvrsave |
314 Target Report Var(TARGET_ALTIVEC_VRSAVE) Save | 313 Target Report Var(TARGET_ALTIVEC_VRSAVE) Save |
315 Generate VRSAVE instructions when generating AltiVec code. | 314 Generate VRSAVE instructions when generating AltiVec code. |
316 | 315 |
317 mvrsave=no | 316 mvrsave=no |
318 Target RejectNegative Alias(mvrsave) NegativeAlias | 317 Target RejectNegative Alias(mvrsave) NegativeAlias Warn(%<-mvrsave=no%> is deprecated; use %<-mno-vrsave%> instead) |
319 Deprecated option. Use -mno-vrsave instead. | 318 Deprecated option. Use -mno-vrsave instead. |
320 | 319 |
321 mvrsave=yes | 320 mvrsave=yes |
322 Target RejectNegative Alias(mvrsave) | 321 Target RejectNegative Alias(mvrsave) Warn(%<-mvrsave=yes%> is deprecated; use %<-mvrsave%> instead) |
323 Deprecated option. Use -mvrsave instead. | 322 Deprecated option. Use -mvrsave instead. |
324 | 323 |
325 mblock-move-inline-limit= | 324 mblock-move-inline-limit= |
326 Target Report Var(rs6000_block_move_inline_limit) Init(0) RejectNegative Joined UInteger Save | 325 Target Report Var(rs6000_block_move_inline_limit) Init(0) RejectNegative Joined UInteger Save |
327 Specify how many bytes should be moved inline before calling out to memcpy/memmove. | 326 Max number of bytes to move inline. |
328 | 327 |
329 mblock-compare-inline-limit= | 328 mblock-compare-inline-limit= |
330 Target Report Var(rs6000_block_compare_inline_limit) Init(5) RejectNegative Joined UInteger Save | 329 Target Report Var(rs6000_block_compare_inline_limit) Init(31) RejectNegative Joined UInteger Save |
331 Specify the maximum number pairs of load instructions that should be generated inline for the compare. If the number needed exceeds the limit, a call to memcmp will be generated instead. | 330 Max number of bytes to compare without loops. |
331 | |
332 mblock-compare-inline-loop-limit= | |
333 Target Report Var(rs6000_block_compare_inline_loop_limit) Init(-1) RejectNegative Joined UInteger Save | |
334 Max number of bytes to compare with loops. | |
332 | 335 |
333 mstring-compare-inline-limit= | 336 mstring-compare-inline-limit= |
334 Target Report Var(rs6000_string_compare_inline_limit) Init(8) RejectNegative Joined UInteger Save | 337 Target Report Var(rs6000_string_compare_inline_limit) Init(64) RejectNegative Joined UInteger Save |
335 Specify the maximum number pairs of load instructions that should be generated inline for the compare. If the number needed exceeds the limit, a call to strncmp will be generated instead. | 338 Max number of bytes to compare. |
336 | 339 |
337 misel | 340 misel |
338 Target Report Mask(ISEL) Var(rs6000_isa_flags) | 341 Target Report Mask(ISEL) Var(rs6000_isa_flags) |
339 Generate isel instructions. | 342 Generate isel instructions. |
340 | 343 |
341 misel=no | |
342 Target RejectNegative Alias(misel) NegativeAlias | |
343 Deprecated option. Use -mno-isel instead. | |
344 | |
345 misel=yes | |
346 Target RejectNegative Alias(misel) | |
347 Deprecated option. Use -misel instead. | |
348 | |
349 mpaired | |
350 Target Var(rs6000_paired_float) Save | |
351 Generate PPC750CL paired-single instructions. | |
352 | |
353 mdebug= | 344 mdebug= |
354 Target RejectNegative Joined | 345 Target RejectNegative Joined |
355 -mdebug= Enable debug output. | 346 -mdebug= Enable debug output. |
356 | 347 |
357 mabi=altivec | 348 mabi=altivec |
394 Target RejectNegative Joined Var(rs6000_tune_index) Init(-1) Enum(rs6000_cpu_opt_value) Save | 385 Target RejectNegative Joined Var(rs6000_tune_index) Init(-1) Enum(rs6000_cpu_opt_value) Save |
395 -mtune= Schedule code for given CPU. | 386 -mtune= Schedule code for given CPU. |
396 | 387 |
397 mtraceback= | 388 mtraceback= |
398 Target RejectNegative Joined Enum(rs6000_traceback_type) Var(rs6000_traceback) | 389 Target RejectNegative Joined Enum(rs6000_traceback_type) Var(rs6000_traceback) |
399 -mtraceback= Select full, part, or no traceback table. | 390 -mtraceback=[full,part,no] Select type of traceback table. |
400 | 391 |
401 Enum | 392 Enum |
402 Name(rs6000_traceback_type) Type(enum rs6000_traceback_type) | 393 Name(rs6000_traceback_type) Type(enum rs6000_traceback_type) |
403 | 394 |
404 EnumValue | 395 EnumValue |
422 Target Var(rs6000_warn_altivec_long) Init(1) Save | 413 Target Var(rs6000_warn_altivec_long) Init(1) Save |
423 Warn about deprecated 'vector long ...' AltiVec type usage. | 414 Warn about deprecated 'vector long ...' AltiVec type usage. |
424 | 415 |
425 mlong-double- | 416 mlong-double- |
426 Target RejectNegative Joined UInteger Var(rs6000_long_double_type_size) Save | 417 Target RejectNegative Joined UInteger Var(rs6000_long_double_type_size) Save |
427 -mlong-double-<n> Specify size of long double (64 or 128 bits). | 418 -mlong-double-[64,128] Specify size of long double. |
428 | 419 |
429 ; This option existed in the past, but now is always on. | 420 ; This option existed in the past, but now is always on. |
430 mlra | 421 mlra |
431 Target RejectNegative Undocumented Ignore | 422 Target RejectNegative Undocumented Ignore |
432 | 423 |
454 | 445 |
455 mprioritize-restricted-insns= | 446 mprioritize-restricted-insns= |
456 Target RejectNegative Joined UInteger Var(rs6000_sched_restricted_insns_priority) Save | 447 Target RejectNegative Joined UInteger Var(rs6000_sched_restricted_insns_priority) Save |
457 Specify scheduling priority for dispatch slot restricted insns. | 448 Specify scheduling priority for dispatch slot restricted insns. |
458 | 449 |
459 msingle-float | |
460 Target RejectNegative Var(rs6000_single_float) Save | |
461 Single-precision floating point unit. | |
462 | |
463 mdouble-float | |
464 Target RejectNegative Var(rs6000_double_float) Save | |
465 Double-precision floating point unit. | |
466 | |
467 msimple-fpu | |
468 Target RejectNegative Var(rs6000_simple_fpu) Save | |
469 Floating point unit does not support divide & sqrt. | |
470 | |
471 mfpu= | |
472 Target RejectNegative Joined Enum(fpu_type_t) Var(rs6000_fpu_type) Init(FPU_NONE) | |
473 -mfpu= Specify FP (sp, dp, sp-lite, dp-lite) (implies -mxilinx-fpu). | |
474 | |
475 Enum | |
476 Name(fpu_type_t) Type(enum fpu_type_t) | |
477 | |
478 EnumValue | |
479 Enum(fpu_type_t) String(none) Value(FPU_NONE) | |
480 | |
481 EnumValue | |
482 Enum(fpu_type_t) String(sp_lite) Value(FPU_SF_LITE) | |
483 | |
484 EnumValue | |
485 Enum(fpu_type_t) String(dp_lite) Value(FPU_DF_LITE) | |
486 | |
487 EnumValue | |
488 Enum(fpu_type_t) String(sp_full) Value(FPU_SF_FULL) | |
489 | |
490 EnumValue | |
491 Enum(fpu_type_t) String(dp_full) Value(FPU_DF_FULL) | |
492 | |
493 mxilinx-fpu | |
494 Target Var(rs6000_xilinx_fpu) Save | |
495 Specify Xilinx FPU. | |
496 | |
497 mpointers-to-nested-functions | 450 mpointers-to-nested-functions |
498 Target Report Var(TARGET_POINTERS_TO_NESTED_FUNCTIONS) Init(1) Save | 451 Target Report Var(TARGET_POINTERS_TO_NESTED_FUNCTIONS) Init(1) Save |
499 Use r11 to hold the static link in calls to functions via pointers. | 452 Use r11 to hold the static link in calls to functions via pointers. |
500 | 453 |
501 msave-toc-indirect | 454 msave-toc-indirect |
521 mcrypto | 474 mcrypto |
522 Target Report Mask(CRYPTO) Var(rs6000_isa_flags) | 475 Target Report Mask(CRYPTO) Var(rs6000_isa_flags) |
523 Use ISA 2.07 Category:Vector.AES and Category:Vector.SHA2 instructions. | 476 Use ISA 2.07 Category:Vector.AES and Category:Vector.SHA2 instructions. |
524 | 477 |
525 mdirect-move | 478 mdirect-move |
526 Target Report Mask(DIRECT_MOVE) Var(rs6000_isa_flags) | 479 Target Undocumented Mask(DIRECT_MOVE) Var(rs6000_isa_flags) Deprecated |
527 Use ISA 2.07 direct move between GPR & VSX register instructions. | |
528 | 480 |
529 mhtm | 481 mhtm |
530 Target Report Mask(HTM) Var(rs6000_isa_flags) | 482 Target Report Mask(HTM) Var(rs6000_isa_flags) |
531 Use ISA 2.07 transactional memory (HTM) instructions. | 483 Use ISA 2.07 transactional memory (HTM) instructions. |
532 | 484 |
607 Target RejectNegative Joined Integer Var(rs6000_stack_protector_guard_offset_str) | 559 Target RejectNegative Joined Integer Var(rs6000_stack_protector_guard_offset_str) |
608 Use the given offset for addressing the stack-protector guard. | 560 Use the given offset for addressing the stack-protector guard. |
609 | 561 |
610 TargetVariable | 562 TargetVariable |
611 long rs6000_stack_protector_guard_offset = 0 | 563 long rs6000_stack_protector_guard_offset = 0 |
564 | |
565 ;; -mno-speculate-indirect-jumps adds deliberate misprediction to indirect | |
566 ;; branches via the CTR. | |
567 mspeculate-indirect-jumps | |
568 Target Undocumented Var(rs6000_speculate_indirect_jumps) Init(1) Save |