mirror of
https://github.com/DarkPlacesEngine/gmqcc.git
synced 2025-01-31 03:50:36 +00:00
manpage/init: -fsplit-vector-parameters description
This commit is contained in:
parent
8b25e95553
commit
624e6201e8
2 changed files with 15 additions and 0 deletions
10
doc/gmqcc.1
10
doc/gmqcc.1
|
@ -615,6 +615,16 @@ Turn on arithmetic exception tests in the compiler. In constant expressions
|
|||
which trigger exceptions like division by zero, overflow, underflow, etc,
|
||||
the following flag will produce diagnostics for what triggered that
|
||||
exception.
|
||||
.It Fl f Ns Cm split-vector-parameters
|
||||
With this flag immediate vector literals which only ever appear as function
|
||||
parameters won't be stored as vector immediates. Instead, the 3 floats making
|
||||
up the vector will be copied separately. Essentially this turns a vector-store
|
||||
instruction into 3 float-store instructions for such cases. This increases
|
||||
code size but can dramatically reduce the amount of vector globals, which is
|
||||
after all limited to 64k. There's at least one known codebase where this
|
||||
lowers the number of globals from over 80k down to around 3k. In other code
|
||||
bases it doesn't reduce the globals at all but only increases code size.
|
||||
Just try it and see whether it helps you.
|
||||
.El
|
||||
.Sh OPTIMIZATIONS
|
||||
.Bl -tag -width Ds
|
||||
|
|
|
@ -341,6 +341,11 @@
|
|||
#exception.
|
||||
ARITHMETIC_EXCEPTIONS = false
|
||||
|
||||
#Split vector-literals which are only used dirctly as function parameters
|
||||
#into 3 floats stored separately to reduce the number of globals at the
|
||||
#expense of additional instructions.
|
||||
SPLIT_VECTOR_PARAMETERS = false
|
||||
|
||||
[warnings]
|
||||
#Generate a warning about variables which are declared but never
|
||||
#used. This can be avoided by adding the ‘noref’ keyword in front
|
||||
|
|
Loading…
Reference in a new issue