AnsweredAssumed Answered

Question, i.MX6 floating-point H/W

Question asked by AVNET JAPAN FAE (team share account) on Feb 23, 2014
Latest reply on Mar 4, 2014 by Yixing Kong
Branched to a new discussion

Dear All,

 

I would like to ask about floating-point HW on i.MX6.

 

In the document which describes about GCC options, the description about NEON is as follows.

 

“If the selected floating-point hardware includes the NEON extension (e.g. -mfpu=‘neon’), note that floating-point operations are not generated by GCC's auto-vectorization pass unless -funsafe-math-optimizations is also specified. This is because NEON hardware does not fully implement the IEEE 754 standard for floating-point arithmetic (in particular denormal values are treated as zero), so the use of NEON instructions may lead to a loss of precision.“

 

You can see the full document at the following URL.

http://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html

 

In my customer’s lab, he saw the execution time was reduced by half when –funsafe-math-optimization flag was specified in GCC command.

 

So, the customer has the following question on that.

(1)

Can I understand that the flag, –funsafe-math-optimization, enables NEON H/W?

(2)

According to the documentation of GCC, the use of NEON instructions may lead to a loss of precision.

Could you show me in what use-cases the loss of precision may occur exactly?

(3)

The customer supposes that he use NEON for MAC operation of the finite numbers and denormal numbers in his application software.

And, he thinks the precision loss will not be problem in the above usage.

Is he correct?

 

Thanks,

Miyamoto

Outcomes