By: Linus Torvalds (torvalds.delete@this.linux-foundation.org), July 11, 2013 10:57 am
Room: Moderated Discussions
bakaneko (nyan.delete@this.hyan.wan) on July 11, 2013 12:02 am wrote:
>
> It doesn't matter for application developers,
> because native code is only recommended for
> isolated routines called from Java code. And
> the last thing any programmer would do is
> disable NEON.
Any sane person will agree that AnTuTu is crap, and that using icc is odd.
But that last statement of yours is laughably incorrect.
No sane person uses NEON, because NEON isn't available in most ARM implementations. In fact, even if you only look at higher-end ARM ("They all have NEON, right?"), it turns out that NEON is an optional feature (idiotic ARM waffling, even for Cortex-A9), and isn't available in some reasonably common chips (ie Tegra 2 or the SPEAr chips).
The thing is, ARM floating point and vector extensions remain a disaster. When they exist, they are often perfectly fine, but because you can't depend on them existing, many sane implementations simply cannot use them, or have to use them exclusively behind a library interface (which in turn tends to defeat all performance advantages except for very specific cases).
Cue Wilco making excuses for bad architecture decisions in 3.. 2.. 1.. Last time I pointed out how screwed up this was, he went into denial mode and was spouting lies about how NEON is an architected standard in all modern cores.
ARM remains the most fragmented architecture out there. It's not one architecture, it's a jumble of a handful of incompatible architectures that ARM has fooled people into thinking is one thing. And then the ARM people point fingers at how ugly x86 is because x86 is backwards compatible. F*cking clueless liars.
Linus
>
> It doesn't matter for application developers,
> because native code is only recommended for
> isolated routines called from Java code. And
> the last thing any programmer would do is
> disable NEON.
Any sane person will agree that AnTuTu is crap, and that using icc is odd.
But that last statement of yours is laughably incorrect.
No sane person uses NEON, because NEON isn't available in most ARM implementations. In fact, even if you only look at higher-end ARM ("They all have NEON, right?"), it turns out that NEON is an optional feature (idiotic ARM waffling, even for Cortex-A9), and isn't available in some reasonably common chips (ie Tegra 2 or the SPEAr chips).
The thing is, ARM floating point and vector extensions remain a disaster. When they exist, they are often perfectly fine, but because you can't depend on them existing, many sane implementations simply cannot use them, or have to use them exclusively behind a library interface (which in turn tends to defeat all performance advantages except for very specific cases).
Cue Wilco making excuses for bad architecture decisions in 3.. 2.. 1.. Last time I pointed out how screwed up this was, he went into denial mode and was spouting lies about how NEON is an architected standard in all modern cores.
ARM remains the most fragmented architecture out there. It's not one architecture, it's a jumble of a handful of incompatible architectures that ARM has fooled people into thinking is one thing. And then the ARM people point fingers at how ugly x86 is because x86 is backwards compatible. F*cking clueless liars.
Linus