X-Git-Url: https://git.xonotic.org/?p=xonotic%2Fgmqcc.git;a=blobdiff_plain;f=doc%2Fgmqcc.1;h=f3f6517550a043a1a77164b9153fd49dbf692b26;hp=dbdae03868b3197e95779447480c0dd1f7b33f58;hb=f4f805f4c980f5e509447a965b4ef811c0741581;hpb=fc57fa406438ce41ddaff4a6d8b80f65e99b03c2 diff --git a/doc/gmqcc.1 b/doc/gmqcc.1 index dbdae03..f3f6517 100644 --- a/doc/gmqcc.1 +++ b/doc/gmqcc.1 @@ -535,6 +535,15 @@ When passing on varargs to a different functions, this turns some static error cases into warnings. Like when the caller's varargs are restricted to a different type than the callee's parameter. Or a list of unrestricted varargs is passed into restricted varargs. +.It Fl f Ns Cm typeless-stores +Always use STORE_F, LOAD_F, STOREP_F when accessing scalar variables. +This is somewhat incorrect assembly instruction use, but in all engines +they do exactly the same. This makes disassembly output harder to read, +breaks decompilers, but causes the output file to be better compressible. +.It Fl f Ns Cm sort-operands +In commutative instructions, always put the lower-numbered operand first. +This shaves off 1 byte of entropy from all these instructions, reducing +compressed size of the output file. .El .Sh OPTIMIZATIONS .Bl -tag -width Ds