Referring to the diagram below, it appears that NEON only applies to floating point processing. Is this correct?
Does it mean that NEON only applies to using the VFP?
Does it mean that NEON does not apply to the Multiply, Shift, and ALU blocks in the diagram below?
> The diagram above seems to indicate that NEON only applies to floating point operations.
It doesn't.
Could you please elaborate? Is there a reason why the diagram is shown the way it is?
Hello,,
although I am not Peter Harris, first of all, you should notice NEON and VFP are different categories.
The diagram only shows NEON and VFP instructions are executed in the same pipeline.
Therefore, NEON and VFP instructions cannot be executed simultaneously.
By the way, the diagram is not an authorized one by ARM.
I want not to discuss using such suspicioos materials.
Best regards,
Yasuhiko Koumoto.
Yes, exactly. The diagram shows that both VFP and NEON instructions use the same pipeline, that is all. It does not imply that NEON is only floating point - it's an incorrect extrapolation.
Pete
Thank you for your replies and the information, I appreciate it. I'm still unclear on the following:
If I'm doing integer math using NEON, does this mean I'm using the VFP with NEON with the VFP in integer mode, OR does it mean I'm using NEON with the ALU?
No it doesn't mean you are using the VFP. However NEON and VFP use the same registers and it is unlikely one would want to do NEON type operations at the same time as VFP operations. Therefore I would suppose it is much cheaper to just treat them as a single unit as far as accessing the registers is concerned. If one could do two operations at the same time as in dual issue or out-of-orde cores it just might be worth having two NEON units and only one VFP unit (though no one does that I think) - however one would still pair up one of the NEON units with the VFP unit so there were only two units accessing the registers. It is also possible that VFP and NEON could share some hardware.
This definitely clears it up. Thank you very much!