On Tue, 17 May 2016, Matthew Wahab wrote: > As with the VFP FP16 arithmetic instructions, operations on __fp16 > values are done by conversion to single-precision. Any new optimization > supported by the instruction descriptions can only apply to code > generated using intrinsics added in this patch series.
As with the scalar instructions, I think it is legitimate in most cases to optimize arithmetic via single precision to work direct on __fp16 values (and this would be natural for vectorization of __fp16 arithmetic). > A number of the instructions are modelled as two variants, one using > UNSPEC and the other using RTL operations, with the model used decided > by the funsafe-math-optimizations flag. This follows the > single-precision instructions and is due to the half-precision > operations having the same conditions and restrictions on their use in > optmizations (when they are enabled). (Of course, these restrictions still apply.) -- Joseph S. Myers jos...@codesourcery.com