Hi, When the standard pattern 'sqrtm2' is defined I don't understand why calls to sqrt or __builtin_sqrt is always followed by a comparison of the result with itself (checking the NaN ?) and a conditional branch to sqrt symbol (so linking with libm is always mandatory).
------------------------- mov $FP0,$FP1 fsqrt $FP0, $FP0 << the builtin_sqrt fcompare $FP0,$FP0 << strange compare of the result of builtin_sqrt jmp.ifEQUAL .L2 mov $FP1,$FP0 branch sqrt << branch to sqrt symbol if $FP0 != $FP0 .L2 ------------------------- Is there a way to tell GCC that sqrt function is totally handled by __builtin_sqrt ? Regards, Selim