Although yet to get a Teensy 4.1 to fiddle with I have compiled some code for it to check out the FPU disassembly to hopefully see what and how (and if) things are handled.
Just wondering if there is a simple outline of what's handled on the FPU and what isn't.
Just did some quick tests and found :-
float <--> int is handled and better still it can be done in place within the same register.
Seems normal multiply, addition, etc are all supported.
Trig functions like sinf, cosf, tanf, etc are NOT however I would assume because the functions they call use a lot of addition, multiplication and conversions to and from integer they should overall be faster than a pure software approach.
Seems sqrtf are also not handled but may still get a general speed up.
All up, looks quite good as sinf, sqrtf etc were all handled by SSE2 etc on x86 platform.
Just wondering if there is a simple outline of what's handled on the FPU and what isn't.
Just did some quick tests and found :-
float <--> int is handled and better still it can be done in place within the same register.
Seems normal multiply, addition, etc are all supported.
Trig functions like sinf, cosf, tanf, etc are NOT however I would assume because the functions they call use a lot of addition, multiplication and conversions to and from integer they should overall be faster than a pure software approach.
Seems sqrtf are also not handled but may still get a general speed up.
All up, looks quite good as sinf, sqrtf etc were all handled by SSE2 etc on x86 platform.