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