1; Options for the Altera Nios II port of the compiler. 2; Copyright (C) 2012-2016 Free Software Foundation, Inc. 3; Contributed by Altera and Mentor Graphics, Inc. 4; 5; This file is part of GCC. 6; 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) 10; any later version. 11; 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. 16; 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/>. 20 21HeaderInclude 22config/nios2/nios2-opts.h 23 24TargetSave 25int saved_fpu_custom_code[n2fpu_code_num] 26 27TargetSave 28enum nios2_ccs_code saved_custom_code_status[256] 29 30TargetSave 31int saved_custom_code_index[256] 32 33mhw-div 34Target Report Mask(HAS_DIV) 35Enable DIV, DIVU. 36 37mhw-mul 38Target Report Mask(HAS_MUL) 39Enable MUL instructions. 40 41mhw-mulx 42Target Report Mask(HAS_MULX) 43Enable MULX instructions, assume fast shifter. 44 45mfast-sw-div 46Target Report Mask(FAST_SW_DIV) 47Use table based fast divide (default at -O3). 48 49mbypass-cache 50Target Report Mask(BYPASS_CACHE) 51All memory accesses use I/O load/store instructions. 52 53mno-cache-volatile 54Target Report RejectNegative Mask(BYPASS_CACHE_VOLATILE) 55Volatile memory accesses use I/O load/store instructions. 56 57mcache-volatile 58Target Report RejectNegative Undocumented InverseMask(BYPASS_CACHE_VOLATILE) 59Volatile memory accesses do not use I/O load/store instructions. 60 61mgpopt= 62Target RejectNegative Joined Enum(nios2_gpopt_type) Var(nios2_gpopt_option) Init(gpopt_unspecified) 63Enable/disable GP-relative addressing. 64 65Enum 66Name(nios2_gpopt_type) Type(enum nios2_gpopt_type) 67Valid options for GP-relative addressing (for -mgpopt): 68 69EnumValue 70Enum(nios2_gpopt_type) String(none) Value(gpopt_none) 71 72EnumValue 73Enum(nios2_gpopt_type) String(local) Value(gpopt_local) 74 75EnumValue 76Enum(nios2_gpopt_type) String(global) Value(gpopt_global) 77 78EnumValue 79Enum(nios2_gpopt_type) String(data) Value(gpopt_data) 80 81EnumValue 82Enum(nios2_gpopt_type) String(all) Value(gpopt_all) 83 84mgpopt 85Target Report RejectNegative Var(nios2_gpopt_option, gpopt_local) 86Equivalent to -mgpopt=local. 87 88mno-gpopt 89Target Report RejectNegative Var(nios2_gpopt_option, gpopt_none) 90Equivalent to -mgpopt=none. 91 92meb 93Target Report RejectNegative Mask(BIG_ENDIAN) 94Use big-endian byte order. 95 96mel 97Target Report RejectNegative InverseMask(BIG_ENDIAN) 98Use little-endian byte order. 99 100mcustom-fpu-cfg= 101Target RejectNegative Joined Var(nios2_custom_fpu_cfg_string) 102Floating point custom instruction configuration name. 103 104mno-custom-ftruncds 105Target Report RejectNegative Var(nios2_custom_ftruncds, -1) 106Do not use the ftruncds custom instruction. 107 108mcustom-ftruncds= 109Target Report RejectNegative Joined UInteger Var(nios2_custom_ftruncds) Init(-1) 110Integer id (N) of ftruncds custom instruction. 111 112mno-custom-fextsd 113Target Report RejectNegative Var(nios2_custom_fextsd, -1) 114Do not use the fextsd custom instruction. 115 116mcustom-fextsd= 117Target Report RejectNegative Joined UInteger Var(nios2_custom_fextsd) Init(-1) 118Integer id (N) of fextsd custom instruction. 119 120mno-custom-fixdu 121Target Report RejectNegative Var(nios2_custom_fixdu, -1) 122Do not use the fixdu custom instruction. 123 124mcustom-fixdu= 125Target Report RejectNegative Joined UInteger Var(nios2_custom_fixdu) Init(-1) 126Integer id (N) of fixdu custom instruction. 127 128mno-custom-fixdi 129Target Report RejectNegative Var(nios2_custom_fixdi, -1) 130Do not use the fixdi custom instruction. 131 132mcustom-fixdi= 133Target Report RejectNegative Joined UInteger Var(nios2_custom_fixdi) Init(-1) 134Integer id (N) of fixdi custom instruction. 135 136mno-custom-fixsu 137Target Report RejectNegative Var(nios2_custom_fixsu, -1) 138Do not use the fixsu custom instruction. 139 140mcustom-fixsu= 141Target Report RejectNegative Joined UInteger Var(nios2_custom_fixsu) Init(-1) 142Integer id (N) of fixsu custom instruction. 143 144mno-custom-fixsi 145Target Report RejectNegative Var(nios2_custom_fixsi, -1) 146Do not use the fixsi custom instruction. 147 148mcustom-fixsi= 149Target Report RejectNegative Joined UInteger Var(nios2_custom_fixsi) Init(-1) 150Integer id (N) of fixsi custom instruction. 151 152mno-custom-floatud 153Target Report RejectNegative Var(nios2_custom_floatud, -1) 154Do not use the floatud custom instruction. 155 156mcustom-floatud= 157Target Report RejectNegative Joined UInteger Var(nios2_custom_floatud) Init(-1) 158Integer id (N) of floatud custom instruction. 159 160mno-custom-floatid 161Target Report RejectNegative Var(nios2_custom_floatid, -1) 162Do not use the floatid custom instruction. 163 164mcustom-floatid= 165Target Report RejectNegative Joined UInteger Var(nios2_custom_floatid) Init(-1) 166Integer id (N) of floatid custom instruction. 167 168mno-custom-floatus 169Target Report RejectNegative Var(nios2_custom_floatus, -1) 170Do not use the floatus custom instruction. 171 172mcustom-floatus= 173Target Report RejectNegative Joined UInteger Var(nios2_custom_floatus) Init(-1) 174Integer id (N) of floatus custom instruction. 175 176mno-custom-floatis 177Target Report RejectNegative Var(nios2_custom_floatis, -1) 178Do not use the floatis custom instruction. 179 180mcustom-floatis= 181Target Report RejectNegative Joined UInteger Var(nios2_custom_floatis) Init(-1) 182Integer id (N) of floatis custom instruction. 183 184mno-custom-fcmpned 185Target Report RejectNegative Var(nios2_custom_fcmpned, -1) 186Do not use the fcmpned custom instruction. 187 188mcustom-fcmpned= 189Target Report RejectNegative Joined UInteger Var(nios2_custom_fcmpned) Init(-1) 190Integer id (N) of fcmpned custom instruction. 191 192mno-custom-fcmpeqd 193Target Report RejectNegative Var(nios2_custom_fcmpeqd, -1) 194Do not use the fcmpeqd custom instruction. 195 196mcustom-fcmpeqd= 197Target Report RejectNegative Joined UInteger Var(nios2_custom_fcmpeqd) Init(-1) 198Integer id (N) of fcmpeqd custom instruction. 199 200mno-custom-fcmpged 201Target Report RejectNegative Var(nios2_custom_fcmpged, -1) 202Do not use the fcmpged custom instruction. 203 204mcustom-fcmpged= 205Target Report RejectNegative Joined UInteger Var(nios2_custom_fcmpged) Init(-1) 206Integer id (N) of fcmpged custom instruction. 207 208mno-custom-fcmpgtd 209Target Report RejectNegative Var(nios2_custom_fcmpgtd, -1) 210Do not use the fcmpgtd custom instruction. 211 212mcustom-fcmpgtd= 213Target Report RejectNegative Joined UInteger Var(nios2_custom_fcmpgtd) Init(-1) 214Integer id (N) of fcmpgtd custom instruction. 215 216mno-custom-fcmpled 217Target Report RejectNegative Var(nios2_custom_fcmpled, -1) 218Do not use the fcmpled custom instruction. 219 220mcustom-fcmpled= 221Target Report RejectNegative Joined UInteger Var(nios2_custom_fcmpled) Init(-1) 222Integer id (N) of fcmpled custom instruction. 223 224mno-custom-fcmpltd 225Target Report RejectNegative Var(nios2_custom_fcmpltd, -1) 226Do not use the fcmpltd custom instruction. 227 228mcustom-fcmpltd= 229Target Report RejectNegative Joined UInteger Var(nios2_custom_fcmpltd) Init(-1) 230Integer id (N) of fcmpltd custom instruction. 231 232mno-custom-flogd 233Target Report RejectNegative Var(nios2_custom_flogd, -1) 234Do not use the flogd custom instruction. 235 236mcustom-flogd= 237Target Report RejectNegative Joined UInteger Var(nios2_custom_flogd) Init(-1) 238Integer id (N) of flogd custom instruction. 239 240mno-custom-fexpd 241Target Report RejectNegative Var(nios2_custom_fexpd, -1) 242Do not use the fexpd custom instruction. 243 244mcustom-fexpd= 245Target Report RejectNegative Joined UInteger Var(nios2_custom_fexpd) Init(-1) 246Integer id (N) of fexpd custom instruction. 247 248mno-custom-fatand 249Target Report RejectNegative Var(nios2_custom_fatand, -1) 250Do not use the fatand custom instruction. 251 252mcustom-fatand= 253Target Report RejectNegative Joined UInteger Var(nios2_custom_fatand) Init(-1) 254Integer id (N) of fatand custom instruction. 255 256mno-custom-ftand 257Target Report RejectNegative Var(nios2_custom_ftand, -1) 258Do not use the ftand custom instruction. 259 260mcustom-ftand= 261Target Report RejectNegative Joined UInteger Var(nios2_custom_ftand) Init(-1) 262Integer id (N) of ftand custom instruction. 263 264mno-custom-fsind 265Target Report RejectNegative Var(nios2_custom_fsind, -1) 266Do not use the fsind custom instruction. 267 268mcustom-fsind= 269Target Report RejectNegative Joined UInteger Var(nios2_custom_fsind) Init(-1) 270Integer id (N) of fsind custom instruction. 271 272mno-custom-fcosd 273Target Report RejectNegative Var(nios2_custom_fcosd, -1) 274Do not use the fcosd custom instruction. 275 276mcustom-fcosd= 277Target Report RejectNegative Joined UInteger Var(nios2_custom_fcosd) Init(-1) 278Integer id (N) of fcosd custom instruction. 279 280mno-custom-fsqrtd 281Target Report RejectNegative Var(nios2_custom_fsqrtd, -1) 282Do not use the fsqrtd custom instruction. 283 284mcustom-fsqrtd= 285Target Report RejectNegative Joined UInteger Var(nios2_custom_fsqrtd) Init(-1) 286Integer id (N) of fsqrtd custom instruction. 287 288mno-custom-fabsd 289Target Report RejectNegative Var(nios2_custom_fabsd, -1) 290Do not use the fabsd custom instruction. 291 292mcustom-fabsd= 293Target Report RejectNegative Joined UInteger Var(nios2_custom_fabsd) Init(-1) 294Integer id (N) of fabsd custom instruction. 295 296mno-custom-fnegd 297Target Report RejectNegative Var(nios2_custom_fnegd, -1) 298Do not use the fnegd custom instruction. 299 300mcustom-fnegd= 301Target Report RejectNegative Joined UInteger Var(nios2_custom_fnegd) Init(-1) 302Integer id (N) of fnegd custom instruction. 303 304mno-custom-fmaxd 305Target Report RejectNegative Var(nios2_custom_fmaxd, -1) 306Do not use the fmaxd custom instruction. 307 308mcustom-fmaxd= 309Target Report RejectNegative Joined UInteger Var(nios2_custom_fmaxd) Init(-1) 310Integer id (N) of fmaxd custom instruction. 311 312mno-custom-fmind 313Target Report RejectNegative Var(nios2_custom_fmind, -1) 314Do not use the fmind custom instruction. 315 316mcustom-fmind= 317Target Report RejectNegative Joined UInteger Var(nios2_custom_fmind) Init(-1) 318Integer id (N) of fmind custom instruction. 319 320mno-custom-fdivd 321Target Report RejectNegative Var(nios2_custom_fdivd, -1) 322Do not use the fdivd custom instruction. 323 324mcustom-fdivd= 325Target Report RejectNegative Joined UInteger Var(nios2_custom_fdivd) Init(-1) 326Integer id (N) of fdivd custom instruction. 327 328mno-custom-fmuld 329Target Report RejectNegative Var(nios2_custom_fmuld, -1) 330Do not use the fmuld custom instruction. 331 332mcustom-fmuld= 333Target Report RejectNegative Joined UInteger Var(nios2_custom_fmuld) Init(-1) 334Integer id (N) of fmuld custom instruction. 335 336mno-custom-fsubd 337Target Report RejectNegative Var(nios2_custom_fsubd, -1) 338Do not use the fsubd custom instruction. 339 340mcustom-fsubd= 341Target Report RejectNegative Joined UInteger Var(nios2_custom_fsubd) Init(-1) 342Integer id (N) of fsubd custom instruction. 343 344mno-custom-faddd 345Target Report RejectNegative Var(nios2_custom_faddd, -1) 346Do not use the faddd custom instruction. 347 348mcustom-faddd= 349Target Report RejectNegative Joined UInteger Var(nios2_custom_faddd) Init(-1) 350Integer id (N) of faddd custom instruction. 351 352mno-custom-fcmpnes 353Target Report RejectNegative Var(nios2_custom_fcmpnes, -1) 354Do not use the fcmpnes custom instruction. 355 356mcustom-fcmpnes= 357Target Report RejectNegative Joined UInteger Var(nios2_custom_fcmpnes) Init(-1) 358Integer id (N) of fcmpnes custom instruction. 359 360mno-custom-fcmpeqs 361Target Report RejectNegative Var(nios2_custom_fcmpeqs, -1) 362Do not use the fcmpeqs custom instruction. 363 364mcustom-fcmpeqs= 365Target Report RejectNegative Joined UInteger Var(nios2_custom_fcmpeqs) Init(-1) 366Integer id (N) of fcmpeqs custom instruction. 367 368mno-custom-fcmpges 369Target Report RejectNegative Var(nios2_custom_fcmpges, -1) 370Do not use the fcmpges custom instruction. 371 372mcustom-fcmpges= 373Target Report RejectNegative Joined UInteger Var(nios2_custom_fcmpges) Init(-1) 374Integer id (N) of fcmpges custom instruction. 375 376mno-custom-fcmpgts 377Target Report RejectNegative Var(nios2_custom_fcmpgts, -1) 378Do not use the fcmpgts custom instruction. 379 380mcustom-fcmpgts= 381Target Report RejectNegative Joined UInteger Var(nios2_custom_fcmpgts) Init(-1) 382Integer id (N) of fcmpgts custom instruction. 383 384mno-custom-fcmples 385Target Report RejectNegative Var(nios2_custom_fcmples, -1) 386Do not use the fcmples custom instruction. 387 388mcustom-fcmples= 389Target Report RejectNegative Joined UInteger Var(nios2_custom_fcmples) Init(-1) 390Integer id (N) of fcmples custom instruction. 391 392mno-custom-fcmplts 393Target Report RejectNegative Var(nios2_custom_fcmplts, -1) 394Do not use the fcmplts custom instruction. 395 396mcustom-fcmplts= 397Target Report RejectNegative Joined UInteger Var(nios2_custom_fcmplts) Init(-1) 398Integer id (N) of fcmplts custom instruction. 399 400mno-custom-flogs 401Target Report RejectNegative Var(nios2_custom_flogs, -1) 402Do not use the flogs custom instruction. 403 404mcustom-flogs= 405Target Report RejectNegative Joined UInteger Var(nios2_custom_flogs) Init(-1) 406Integer id (N) of flogs custom instruction. 407 408mno-custom-fexps 409Target Report RejectNegative Var(nios2_custom_fexps, -1) 410Do not use the fexps custom instruction. 411 412mcustom-fexps= 413Target Report RejectNegative Joined UInteger Var(nios2_custom_fexps) Init(-1) 414Integer id (N) of fexps custom instruction. 415 416mno-custom-fatans 417Target Report RejectNegative Var(nios2_custom_fatans, -1) 418Do not use the fatans custom instruction. 419 420mcustom-fatans= 421Target Report RejectNegative Joined UInteger Var(nios2_custom_fatans) Init(-1) 422Integer id (N) of fatans custom instruction. 423 424mno-custom-ftans 425Target Report RejectNegative Var(nios2_custom_ftans, -1) 426Do not use the ftans custom instruction. 427 428mcustom-ftans= 429Target Report RejectNegative Joined UInteger Var(nios2_custom_ftans) Init(-1) 430Integer id (N) of ftans custom instruction. 431 432mno-custom-fsins 433Target Report RejectNegative Var(nios2_custom_fsins, -1) 434Do not use the fsins custom instruction. 435 436mcustom-fsins= 437Target Report RejectNegative Joined UInteger Var(nios2_custom_fsins) Init(-1) 438Integer id (N) of fsins custom instruction. 439 440mno-custom-fcoss 441Target Report RejectNegative Var(nios2_custom_fcoss, -1) 442Do not use the fcoss custom instruction. 443 444mcustom-fcoss= 445Target Report RejectNegative Joined UInteger Var(nios2_custom_fcoss) Init(-1) 446Integer id (N) of fcoss custom instruction. 447 448mno-custom-fsqrts 449Target Report RejectNegative Var(nios2_custom_fsqrts, -1) 450Do not use the fsqrts custom instruction. 451 452mcustom-fsqrts= 453Target Report RejectNegative Joined UInteger Var(nios2_custom_fsqrts) Init(-1) 454Integer id (N) of fsqrts custom instruction. 455 456mno-custom-fabss 457Target Report RejectNegative Var(nios2_custom_fabss, -1) 458Do not use the fabss custom instr. 459 460mcustom-fabss= 461Target Report RejectNegative Joined UInteger Var(nios2_custom_fabss) Init(-1) 462Integer id (N) of fabss custom instruction. 463 464mno-custom-fnegs 465Target Report RejectNegative Var(nios2_custom_fnegs, -1) 466Do not use the fnegs custom instruction. 467 468mcustom-fnegs= 469Target Report RejectNegative Joined UInteger Var(nios2_custom_fnegs) Init(-1) 470Integer id (N) of fnegs custom instruction. 471 472mno-custom-fmaxs 473Target Report RejectNegative Var(nios2_custom_fmaxs, -1) 474Do not use the fmaxs custom instruction. 475 476mcustom-fmaxs= 477Target Report RejectNegative Joined UInteger Var(nios2_custom_fmaxs) Init(-1) 478Integer id (N) of fmaxs custom instruction. 479 480mno-custom-fmins 481Target Report RejectNegative Var(nios2_custom_fmins, -1) 482Do not use the fmins custom instruction. 483 484mcustom-fmins= 485Target Report RejectNegative Joined UInteger Var(nios2_custom_fmins) Init(-1) 486Integer id (N) of fmins custom instruction. 487 488mno-custom-fdivs 489Target Report RejectNegative Var(nios2_custom_fdivs, -1) 490Do not use the fdivs custom instruction. 491 492mcustom-fdivs= 493Target Report RejectNegative Joined UInteger Var(nios2_custom_fdivs) Init(-1) 494Integer id (N) of fdivs custom instruction. 495 496mno-custom-fmuls 497Target Report RejectNegative Var(nios2_custom_fmuls, -1) 498Do not use the fmuls custom instruction. 499 500mcustom-fmuls= 501Target Report RejectNegative Joined UInteger Var(nios2_custom_fmuls) Init(-1) 502Integer id (N) of fmuls custom instruction. 503 504mno-custom-fsubs 505Target Report RejectNegative Var(nios2_custom_fsubs, -1) 506Do not use the fsubs custom instruction. 507 508mcustom-fsubs= 509Target Report RejectNegative Joined UInteger Var(nios2_custom_fsubs) Init(-1) 510Integer id (N) of fsubs custom instruction. 511 512mno-custom-fadds 513Target Report RejectNegative Var(nios2_custom_fadds, -1) 514Do not use the fadds custom instruction. 515 516mcustom-fadds= 517Target Report RejectNegative Joined UInteger Var(nios2_custom_fadds) Init(-1) 518Integer id (N) of fadds custom instruction. 519 520mno-custom-frdy 521Target Report RejectNegative Var(nios2_custom_frdy, -1) 522Do not use the frdy custom instruction. 523 524mcustom-frdy= 525Target Report RejectNegative Joined UInteger Var(nios2_custom_frdy) Init(-1) 526Integer id (N) of frdy custom instruction. 527 528mno-custom-frdxhi 529Target Report RejectNegative Var(nios2_custom_frdxhi, -1) 530Do not use the frdxhi custom instruction. 531 532mcustom-frdxhi= 533Target Report RejectNegative Joined UInteger Var(nios2_custom_frdxhi) Init(-1) 534Integer id (N) of frdxhi custom instruction. 535 536mno-custom-frdxlo 537Target Report RejectNegative Var(nios2_custom_frdxlo, -1) 538Do not use the frdxlo custom instruction. 539 540mcustom-frdxlo= 541Target Report RejectNegative Joined UInteger Var(nios2_custom_frdxlo) Init(-1) 542Integer id (N) of frdxlo custom instruction. 543 544mno-custom-fwry 545Target Report RejectNegative Var(nios2_custom_fwry, -1) 546Do not use the fwry custom instruction. 547 548mcustom-fwry= 549Target Report RejectNegative Joined UInteger Var(nios2_custom_fwry) Init(-1) 550Integer id (N) of fwry custom instruction. 551 552mno-custom-fwrx 553Target Report RejectNegative Var(nios2_custom_fwrx, -1) 554Do not use the fwrx custom instruction. 555 556mcustom-fwrx= 557Target Report RejectNegative Joined UInteger Var(nios2_custom_fwrx) Init(-1) 558Integer id (N) of fwrx custom instruction. 559 560mno-custom-round 561Target Report RejectNegative Var(nios2_custom_round, -1) 562Do not use the round custom instruction. 563 564mcustom-round= 565Target Report RejectNegative Joined UInteger Var(nios2_custom_round) Init(-1) 566Integer id (N) of round custom instruction. 567 568march= 569Target RejectNegative Joined Enum(nios2_arch_type) Var(nios2_arch_option) Init(ARCH_R1) 570Specify the name of the target architecture. 571 572Enum 573Name(nios2_arch_type) Type(enum nios2_arch_type) 574Valid Nios II ISA levels (for -march): 575 576EnumValue 577Enum(nios2_arch_type) String(r1) Value(ARCH_R1) 578 579EnumValue 580Enum(nios2_arch_type) String(r2) Value(ARCH_R2) 581 582mbmx 583Target Report Mask(HAS_BMX) 584Enable generation of R2 BMX instructions. 585 586mcdx 587Target Report Mask(HAS_CDX) 588Enable generation of R2 CDX instructions. 589