spu.opt revision 1.9
1; Options for the SPU port of the compiler 2; Copyright (C) 2006-2018 Free Software Foundation, Inc. 3 4; This file is free software; you can redistribute it and/or modify it under 5; the terms of the GNU General Public License as published by the Free 6; Software Foundation; either version 3 of the License, or (at your option) 7; any later version. 8 9; This file is distributed in the hope that it will be useful, but WITHOUT 10; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12; for more details. 13; 14; You should have received a copy of the GNU General Public License 15; along with GCC; see the file COPYING3. If not see 16; <http://www.gnu.org/licenses/>. 17 18mwarn-reloc 19Target Report Mask(WARN_RELOC) 20Emit warnings when run-time relocations are generated. 21 22merror-reloc 23Target Report Mask(ERROR_RELOC) 24Emit errors when run-time relocations are generated. 25 26mbranch-cost= 27Target RejectNegative Joined UInteger Var(spu_branch_cost) Init(20) 28Specify cost of branches (Default 20). 29 30msafe-dma 31Target Report RejectNegative Mask(SAFE_DMA) 32Make sure loads and stores are not moved past DMA instructions. 33 34munsafe-dma 35Target Report RejectNegative InverseMask(SAFE_DMA) 36volatile must be specified on any memory that is effected by DMA. 37 38mdual-nops 39Target Report Var(spu_dual_nops,10) Init(10) 40Insert nops when it might improve performance by allowing dual issue (default). 41 42mdual-nops= 43Target RejectNegative Joined UInteger Var(spu_dual_nops) 44Insert nops when it might improve performance by allowing dual issue (default). 45 46mstdmain 47Target Report Mask(STD_MAIN) 48Use standard main function as entry for startup. 49 50mbranch-hints 51Target Report Mask(BRANCH_HINTS) 52Generate branch hints for branches. 53 54mhint-max-nops= 55Target RejectNegative Joined UInteger Var(spu_max_nops) Init(2) 56Maximum number of nops to insert for a hint (Default 2). 57 58mhint-max-distance= 59Target RejectNegative Joined Var(spu_max_distance_str) 60Approximate maximum number of instructions to allow between a hint and its branch [125]. 61 62msmall-mem 63Target Report RejectNegative InverseMask(LARGE_MEM) 64Generate code for 18 bit addressing. 65 66mlarge-mem 67Target Report RejectNegative Mask(LARGE_MEM) 68Generate code for 32 bit addressing. 69 70mfixed-range= 71Target RejectNegative Joined Var(spu_fixed_range_string) 72Specify range of registers to make fixed. 73 74msafe-hints 75Target Report Mask(SAFE_HINTS) 76Insert hbrp instructions after hinted branch targets to avoid the SPU hang issue. 77 78march= 79Target RejectNegative Joined Var(spu_arch_string) 80Generate code for given CPU. 81 82mtune= 83Target RejectNegative Joined Var(spu_tune_string) 84Schedule code for given CPU. 85 86mea32 87Target Report RejectNegative Var(spu_ea_model,32) Init(32) 88Access variables in 32-bit PPU objects (default). 89 90mea64 91Target Report RejectNegative Var(spu_ea_model,64) 92Access variables in 64-bit PPU objects. 93 94maddress-space-conversion 95Target Report Mask(ADDRESS_SPACE_CONVERSION) 96Allow conversions between __ea and generic pointers (default). 97 98mcache-size= 99Target Report RejectNegative Joined UInteger 100Size (in KB) of software data cache. 101 102matomic-updates 103Target Report 104Atomically write back software data cache lines (default). 105 106