This seems to work:
float sqroot(float arg) {
float returnValue;
asm(
"fsqrt\n"
:"=&t"(returnValue)
: "t"(arg)
);
return returnValue;
}
Limitations in the register must tell the block to use floating point registers.
EDIT: Enabling @ iwillnotexist-idontexist point (reload).
, , static inline
. .
( float
double
. , . float
โโ cvtpd2ps
. OTOH, printf
, , cvtps2pd
.)