In my experience, the \t isn't necessary. Here are some more GCC in-line tips from my experience.
One of the most expensive things to do in C is cast a float to an int...because of the rather restrictive IEEE spec on floating points.
So
int j=(int)f;
is a "no,no" for size coders. Unfortunately its very useful for synths to do calculations in float and then cast to shorts.
An alternative in in-line assembler for GCC is:
asm ("fistp %0" : "=m"(j) : "t"(f): "st");
This might save 50 bytes!
In brief it means, use the fistp intsruction on the floating point variable f, which should be at the top of the fp stack, and output to (=)the integer variable j.
The first part is the asm in a string, the second is always the output variables, the third the input variables and lastly, the "st" statement means to the compiler that the fp stack is used and corrupted during this assembler. This is called a clobber statement and is used to tell the compiler which registers are used by the assembler.
The key to remember is the C compiler and the assembler know nothing about each other. This means they can walk all over each others registers. You therefore have to tell the compiler which registers are used. I'm confused why I dont say here some register like eax too, but probably I get lucky and don't need to but it looks a little unsafe to me.
One more example:
s=sin(s);is
asm ("fsin" :"=t"(s) :"0"(s));
Using these two calls in a program saved me >70 bytes because I was no longer pulling in maths .dll, calling functions in it and so forth. Infact I was able to make a program 1k which simply wouldn't have fit otherwise.
(sin(s) isnt a double call in GCC under mingw *if* s is a float...the function is overloaded to be the same as fsin)
One more tip, with inline asm, sin and cos can be had in one instruction (fsincos) meaning spheres, circles etc are very efficient even in a C program. My personal belief is that a small library of such functions used in a C program is the best way to size code: it allows for maximum creativity and changing of ideas whilst avoids the big overheads that C introduces.