1 ; Options for the Altera Nios II port of the compiler.
2 ; Copyright (C) 2012-2018 Free Software Foundation, Inc.
3 ; Contributed by Altera and Mentor Graphics, Inc.
5 ; This file is part of GCC.
7 ; GCC is free software; you can redistribute it and/or modify
8 ; it under the terms of the GNU General Public License as published by
9 ; the Free Software Foundation; either version 3, or (at your option)
12 ; GCC is distributed in the hope that it will be useful,
13 ; but WITHOUT ANY WARRANTY; without even the implied warranty of
14 ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 ; GNU General Public License for more details.
17 ; You should have received a copy of the GNU General Public License
18 ; along with GCC; see the file COPYING3. If not see
19 ; <http://www.gnu.org/licenses/>.
22 config/nios2/nios2-opts.h
25 int saved_fpu_custom_code[n2fpu_code_num]
28 enum nios2_ccs_code saved_custom_code_status[256]
31 int saved_custom_code_index[256]
34 Target Report Mask(HAS_DIV)
38 Target Report Mask(HAS_MUL)
39 Enable MUL instructions.
42 Target Report Mask(HAS_MULX)
43 Enable MULX instructions, assume fast shifter.
46 Target Report Mask(FAST_SW_DIV)
47 Use table based fast divide (default at -O3).
50 Target Report Mask(BYPASS_CACHE)
51 All memory accesses use I/O load/store instructions.
54 Target Report RejectNegative Mask(BYPASS_CACHE_VOLATILE)
55 Volatile memory accesses use I/O load/store instructions.
58 Target Report RejectNegative Undocumented InverseMask(BYPASS_CACHE_VOLATILE)
59 Volatile memory accesses do not use I/O load/store instructions.
62 Target RejectNegative Joined Enum(nios2_gpopt_type) Var(nios2_gpopt_option) Init(gpopt_unspecified)
63 Enable/disable GP-relative addressing.
66 Name(nios2_gpopt_type) Type(enum nios2_gpopt_type)
67 Valid options for GP-relative addressing (for -mgpopt):
70 Enum(nios2_gpopt_type) String(none) Value(gpopt_none)
73 Enum(nios2_gpopt_type) String(local) Value(gpopt_local)
76 Enum(nios2_gpopt_type) String(global) Value(gpopt_global)
79 Enum(nios2_gpopt_type) String(data) Value(gpopt_data)
82 Enum(nios2_gpopt_type) String(all) Value(gpopt_all)
85 Target Report RejectNegative Var(nios2_gpopt_option, gpopt_local)
86 Equivalent to -mgpopt=local.
89 Target Report RejectNegative Var(nios2_gpopt_option, gpopt_none)
90 Equivalent to -mgpopt=none.
93 Target Report RejectNegative Mask(BIG_ENDIAN)
94 Use big-endian byte order.
97 Target Report RejectNegative InverseMask(BIG_ENDIAN)
98 Use little-endian byte order.
101 Target RejectNegative Joined Var(nios2_custom_fpu_cfg_string)
102 Floating point custom instruction configuration name.
105 Target Report RejectNegative Var(nios2_custom_ftruncds, -1)
106 Do not use the ftruncds custom instruction.
109 Target Report RejectNegative Joined UInteger Var(nios2_custom_ftruncds) Init(-1)
110 Integer id (N) of ftruncds custom instruction.
113 Target Report RejectNegative Var(nios2_custom_fextsd, -1)
114 Do not use the fextsd custom instruction.
117 Target Report RejectNegative Joined UInteger Var(nios2_custom_fextsd) Init(-1)
118 Integer id (N) of fextsd custom instruction.
121 Target Report RejectNegative Var(nios2_custom_fixdu, -1)
122 Do not use the fixdu custom instruction.
125 Target Report RejectNegative Joined UInteger Var(nios2_custom_fixdu) Init(-1)
126 Integer id (N) of fixdu custom instruction.
129 Target Report RejectNegative Var(nios2_custom_fixdi, -1)
130 Do not use the fixdi custom instruction.
133 Target Report RejectNegative Joined UInteger Var(nios2_custom_fixdi) Init(-1)
134 Integer id (N) of fixdi custom instruction.
137 Target Report RejectNegative Var(nios2_custom_fixsu, -1)
138 Do not use the fixsu custom instruction.
141 Target Report RejectNegative Joined UInteger Var(nios2_custom_fixsu) Init(-1)
142 Integer id (N) of fixsu custom instruction.
145 Target Report RejectNegative Var(nios2_custom_fixsi, -1)
146 Do not use the fixsi custom instruction.
149 Target Report RejectNegative Joined UInteger Var(nios2_custom_fixsi) Init(-1)
150 Integer id (N) of fixsi custom instruction.
153 Target Report RejectNegative Var(nios2_custom_floatud, -1)
154 Do not use the floatud custom instruction.
157 Target Report RejectNegative Joined UInteger Var(nios2_custom_floatud) Init(-1)
158 Integer id (N) of floatud custom instruction.
161 Target Report RejectNegative Var(nios2_custom_floatid, -1)
162 Do not use the floatid custom instruction.
165 Target Report RejectNegative Joined UInteger Var(nios2_custom_floatid) Init(-1)
166 Integer id (N) of floatid custom instruction.
169 Target Report RejectNegative Var(nios2_custom_floatus, -1)
170 Do not use the floatus custom instruction.
173 Target Report RejectNegative Joined UInteger Var(nios2_custom_floatus) Init(-1)
174 Integer id (N) of floatus custom instruction.
177 Target Report RejectNegative Var(nios2_custom_floatis, -1)
178 Do not use the floatis custom instruction.
181 Target Report RejectNegative Joined UInteger Var(nios2_custom_floatis) Init(-1)
182 Integer id (N) of floatis custom instruction.
185 Target Report RejectNegative Var(nios2_custom_fcmpned, -1)
186 Do not use the fcmpned custom instruction.
189 Target Report RejectNegative Joined UInteger Var(nios2_custom_fcmpned) Init(-1)
190 Integer id (N) of fcmpned custom instruction.
193 Target Report RejectNegative Var(nios2_custom_fcmpeqd, -1)
194 Do not use the fcmpeqd custom instruction.
197 Target Report RejectNegative Joined UInteger Var(nios2_custom_fcmpeqd) Init(-1)
198 Integer id (N) of fcmpeqd custom instruction.
201 Target Report RejectNegative Var(nios2_custom_fcmpged, -1)
202 Do not use the fcmpged custom instruction.
205 Target Report RejectNegative Joined UInteger Var(nios2_custom_fcmpged) Init(-1)
206 Integer id (N) of fcmpged custom instruction.
209 Target Report RejectNegative Var(nios2_custom_fcmpgtd, -1)
210 Do not use the fcmpgtd custom instruction.
213 Target Report RejectNegative Joined UInteger Var(nios2_custom_fcmpgtd) Init(-1)
214 Integer id (N) of fcmpgtd custom instruction.
217 Target Report RejectNegative Var(nios2_custom_fcmpled, -1)
218 Do not use the fcmpled custom instruction.
221 Target Report RejectNegative Joined UInteger Var(nios2_custom_fcmpled) Init(-1)
222 Integer id (N) of fcmpled custom instruction.
225 Target Report RejectNegative Var(nios2_custom_fcmpltd, -1)
226 Do not use the fcmpltd custom instruction.
229 Target Report RejectNegative Joined UInteger Var(nios2_custom_fcmpltd) Init(-1)
230 Integer id (N) of fcmpltd custom instruction.
233 Target Report RejectNegative Var(nios2_custom_flogd, -1)
234 Do not use the flogd custom instruction.
237 Target Report RejectNegative Joined UInteger Var(nios2_custom_flogd) Init(-1)
238 Integer id (N) of flogd custom instruction.
241 Target Report RejectNegative Var(nios2_custom_fexpd, -1)
242 Do not use the fexpd custom instruction.
245 Target Report RejectNegative Joined UInteger Var(nios2_custom_fexpd) Init(-1)
246 Integer id (N) of fexpd custom instruction.
249 Target Report RejectNegative Var(nios2_custom_fatand, -1)
250 Do not use the fatand custom instruction.
253 Target Report RejectNegative Joined UInteger Var(nios2_custom_fatand) Init(-1)
254 Integer id (N) of fatand custom instruction.
257 Target Report RejectNegative Var(nios2_custom_ftand, -1)
258 Do not use the ftand custom instruction.
261 Target Report RejectNegative Joined UInteger Var(nios2_custom_ftand) Init(-1)
262 Integer id (N) of ftand custom instruction.
265 Target Report RejectNegative Var(nios2_custom_fsind, -1)
266 Do not use the fsind custom instruction.
269 Target Report RejectNegative Joined UInteger Var(nios2_custom_fsind) Init(-1)
270 Integer id (N) of fsind custom instruction.
273 Target Report RejectNegative Var(nios2_custom_fcosd, -1)
274 Do not use the fcosd custom instruction.
277 Target Report RejectNegative Joined UInteger Var(nios2_custom_fcosd) Init(-1)
278 Integer id (N) of fcosd custom instruction.
281 Target Report RejectNegative Var(nios2_custom_fsqrtd, -1)
282 Do not use the fsqrtd custom instruction.
285 Target Report RejectNegative Joined UInteger Var(nios2_custom_fsqrtd) Init(-1)
286 Integer id (N) of fsqrtd custom instruction.
289 Target Report RejectNegative Var(nios2_custom_fabsd, -1)
290 Do not use the fabsd custom instruction.
293 Target Report RejectNegative Joined UInteger Var(nios2_custom_fabsd) Init(-1)
294 Integer id (N) of fabsd custom instruction.
297 Target Report RejectNegative Var(nios2_custom_fnegd, -1)
298 Do not use the fnegd custom instruction.
301 Target Report RejectNegative Joined UInteger Var(nios2_custom_fnegd) Init(-1)
302 Integer id (N) of fnegd custom instruction.
305 Target Report RejectNegative Var(nios2_custom_fmaxd, -1)
306 Do not use the fmaxd custom instruction.
309 Target Report RejectNegative Joined UInteger Var(nios2_custom_fmaxd) Init(-1)
310 Integer id (N) of fmaxd custom instruction.
313 Target Report RejectNegative Var(nios2_custom_fmind, -1)
314 Do not use the fmind custom instruction.
317 Target Report RejectNegative Joined UInteger Var(nios2_custom_fmind) Init(-1)
318 Integer id (N) of fmind custom instruction.
321 Target Report RejectNegative Var(nios2_custom_fdivd, -1)
322 Do not use the fdivd custom instruction.
325 Target Report RejectNegative Joined UInteger Var(nios2_custom_fdivd) Init(-1)
326 Integer id (N) of fdivd custom instruction.
329 Target Report RejectNegative Var(nios2_custom_fmuld, -1)
330 Do not use the fmuld custom instruction.
333 Target Report RejectNegative Joined UInteger Var(nios2_custom_fmuld) Init(-1)
334 Integer id (N) of fmuld custom instruction.
337 Target Report RejectNegative Var(nios2_custom_fsubd, -1)
338 Do not use the fsubd custom instruction.
341 Target Report RejectNegative Joined UInteger Var(nios2_custom_fsubd) Init(-1)
342 Integer id (N) of fsubd custom instruction.
345 Target Report RejectNegative Var(nios2_custom_faddd, -1)
346 Do not use the faddd custom instruction.
349 Target Report RejectNegative Joined UInteger Var(nios2_custom_faddd) Init(-1)
350 Integer id (N) of faddd custom instruction.
353 Target Report RejectNegative Var(nios2_custom_fcmpnes, -1)
354 Do not use the fcmpnes custom instruction.
357 Target Report RejectNegative Joined UInteger Var(nios2_custom_fcmpnes) Init(-1)
358 Integer id (N) of fcmpnes custom instruction.
361 Target Report RejectNegative Var(nios2_custom_fcmpeqs, -1)
362 Do not use the fcmpeqs custom instruction.
365 Target Report RejectNegative Joined UInteger Var(nios2_custom_fcmpeqs) Init(-1)
366 Integer id (N) of fcmpeqs custom instruction.
369 Target Report RejectNegative Var(nios2_custom_fcmpges, -1)
370 Do not use the fcmpges custom instruction.
373 Target Report RejectNegative Joined UInteger Var(nios2_custom_fcmpges) Init(-1)
374 Integer id (N) of fcmpges custom instruction.
377 Target Report RejectNegative Var(nios2_custom_fcmpgts, -1)
378 Do not use the fcmpgts custom instruction.
381 Target Report RejectNegative Joined UInteger Var(nios2_custom_fcmpgts) Init(-1)
382 Integer id (N) of fcmpgts custom instruction.
385 Target Report RejectNegative Var(nios2_custom_fcmples, -1)
386 Do not use the fcmples custom instruction.
389 Target Report RejectNegative Joined UInteger Var(nios2_custom_fcmples) Init(-1)
390 Integer id (N) of fcmples custom instruction.
393 Target Report RejectNegative Var(nios2_custom_fcmplts, -1)
394 Do not use the fcmplts custom instruction.
397 Target Report RejectNegative Joined UInteger Var(nios2_custom_fcmplts) Init(-1)
398 Integer id (N) of fcmplts custom instruction.
401 Target Report RejectNegative Var(nios2_custom_flogs, -1)
402 Do not use the flogs custom instruction.
405 Target Report RejectNegative Joined UInteger Var(nios2_custom_flogs) Init(-1)
406 Integer id (N) of flogs custom instruction.
409 Target Report RejectNegative Var(nios2_custom_fexps, -1)
410 Do not use the fexps custom instruction.
413 Target Report RejectNegative Joined UInteger Var(nios2_custom_fexps) Init(-1)
414 Integer id (N) of fexps custom instruction.
417 Target Report RejectNegative Var(nios2_custom_fatans, -1)
418 Do not use the fatans custom instruction.
421 Target Report RejectNegative Joined UInteger Var(nios2_custom_fatans) Init(-1)
422 Integer id (N) of fatans custom instruction.
425 Target Report RejectNegative Var(nios2_custom_ftans, -1)
426 Do not use the ftans custom instruction.
429 Target Report RejectNegative Joined UInteger Var(nios2_custom_ftans) Init(-1)
430 Integer id (N) of ftans custom instruction.
433 Target Report RejectNegative Var(nios2_custom_fsins, -1)
434 Do not use the fsins custom instruction.
437 Target Report RejectNegative Joined UInteger Var(nios2_custom_fsins) Init(-1)
438 Integer id (N) of fsins custom instruction.
441 Target Report RejectNegative Var(nios2_custom_fcoss, -1)
442 Do not use the fcoss custom instruction.
445 Target Report RejectNegative Joined UInteger Var(nios2_custom_fcoss) Init(-1)
446 Integer id (N) of fcoss custom instruction.
449 Target Report RejectNegative Var(nios2_custom_fsqrts, -1)
450 Do not use the fsqrts custom instruction.
453 Target Report RejectNegative Joined UInteger Var(nios2_custom_fsqrts) Init(-1)
454 Integer id (N) of fsqrts custom instruction.
457 Target Report RejectNegative Var(nios2_custom_fabss, -1)
458 Do not use the fabss custom instr.
461 Target Report RejectNegative Joined UInteger Var(nios2_custom_fabss) Init(-1)
462 Integer id (N) of fabss custom instruction.
465 Target Report RejectNegative Var(nios2_custom_fnegs, -1)
466 Do not use the fnegs custom instruction.
469 Target Report RejectNegative Joined UInteger Var(nios2_custom_fnegs) Init(-1)
470 Integer id (N) of fnegs custom instruction.
473 Target Report RejectNegative Var(nios2_custom_fmaxs, -1)
474 Do not use the fmaxs custom instruction.
477 Target Report RejectNegative Joined UInteger Var(nios2_custom_fmaxs) Init(-1)
478 Integer id (N) of fmaxs custom instruction.
481 Target Report RejectNegative Var(nios2_custom_fmins, -1)
482 Do not use the fmins custom instruction.
485 Target Report RejectNegative Joined UInteger Var(nios2_custom_fmins) Init(-1)
486 Integer id (N) of fmins custom instruction.
489 Target Report RejectNegative Var(nios2_custom_fdivs, -1)
490 Do not use the fdivs custom instruction.
493 Target Report RejectNegative Joined UInteger Var(nios2_custom_fdivs) Init(-1)
494 Integer id (N) of fdivs custom instruction.
497 Target Report RejectNegative Var(nios2_custom_fmuls, -1)
498 Do not use the fmuls custom instruction.
501 Target Report RejectNegative Joined UInteger Var(nios2_custom_fmuls) Init(-1)
502 Integer id (N) of fmuls custom instruction.
505 Target Report RejectNegative Var(nios2_custom_fsubs, -1)
506 Do not use the fsubs custom instruction.
509 Target Report RejectNegative Joined UInteger Var(nios2_custom_fsubs) Init(-1)
510 Integer id (N) of fsubs custom instruction.
513 Target Report RejectNegative Var(nios2_custom_fadds, -1)
514 Do not use the fadds custom instruction.
517 Target Report RejectNegative Joined UInteger Var(nios2_custom_fadds) Init(-1)
518 Integer id (N) of fadds custom instruction.
521 Target Report RejectNegative Var(nios2_custom_frdy, -1)
522 Do not use the frdy custom instruction.
525 Target Report RejectNegative Joined UInteger Var(nios2_custom_frdy) Init(-1)
526 Integer id (N) of frdy custom instruction.
529 Target Report RejectNegative Var(nios2_custom_frdxhi, -1)
530 Do not use the frdxhi custom instruction.
533 Target Report RejectNegative Joined UInteger Var(nios2_custom_frdxhi) Init(-1)
534 Integer id (N) of frdxhi custom instruction.
537 Target Report RejectNegative Var(nios2_custom_frdxlo, -1)
538 Do not use the frdxlo custom instruction.
541 Target Report RejectNegative Joined UInteger Var(nios2_custom_frdxlo) Init(-1)
542 Integer id (N) of frdxlo custom instruction.
545 Target Report RejectNegative Var(nios2_custom_fwry, -1)
546 Do not use the fwry custom instruction.
549 Target Report RejectNegative Joined UInteger Var(nios2_custom_fwry) Init(-1)
550 Integer id (N) of fwry custom instruction.
553 Target Report RejectNegative Var(nios2_custom_fwrx, -1)
554 Do not use the fwrx custom instruction.
557 Target Report RejectNegative Joined UInteger Var(nios2_custom_fwrx) Init(-1)
558 Integer id (N) of fwrx custom instruction.
561 Target Report RejectNegative Var(nios2_custom_round, -1)
562 Do not use the round custom instruction.
565 Target Report RejectNegative Joined UInteger Var(nios2_custom_round) Init(-1)
566 Integer id (N) of round custom instruction.
569 Target RejectNegative Joined Enum(nios2_arch_type) Var(nios2_arch_option) Init(ARCH_R1)
570 Specify the name of the target architecture.
573 Name(nios2_arch_type) Type(enum nios2_arch_type)
574 Valid Nios II ISA levels (for -march):
577 Enum(nios2_arch_type) String(r1) Value(ARCH_R1)
580 Enum(nios2_arch_type) String(r2) Value(ARCH_R2)
583 Target Report Mask(HAS_BMX)
584 Enable generation of R2 BMX instructions.
587 Target Report Mask(HAS_CDX)
588 Enable generation of R2 CDX instructions.
591 Target RejectNegative Joined Var(nios2_gprel_sec) Init(NULL)
592 Regular expression matching additional GP-addressible section names.
595 Target RejectNegative Joined Var(nios2_r0rel_sec) Init(NULL)
596 Regular expression matching section names for r0-relative addressing.