http://upload.wikimedia.org/wikipedia/commons/3/3e/Electron_shell_010_Neon_-_no_label.svg
I'd sum up NEON on Pandora's Cortex-A8 processor with the following things that make it nicer than the normal instructions:
- It's wider. Where normal instructions let you do something like add two 32-bit numbers NEON lets you add 4 32-bit numbers in one instruction.
- It's more specialized. There's a bunch of operations like widening/narrowing, min/max, abs, select, averages, negative variable shifts, and other more exotic stuff that would take a few instructions otherwise. There's even a small amount of 64-bit integer arithmetic (add/sub and shifts)
- It has (single precision) floating point instructions that don't suck, but also don't fully conform to the floating point standard. ARM has an instruction set called VFP for the normal floating point stuff but on Cortex-A8 it's slow, so if you want good floating point you want to use NEON. There are some specialized instructions here too, like reciprocal approximation.
The downside is that it's hard to write NEON code that's actually fast. GCC has a long way to go before it even understands how to turn a lot of complex C code into good NEON, and if you use intrinsics (basically NEON instructions from inside C/C++ code) you still often end up with a bunch of garbage in between. So the best course of action - at least last I've found - is to write assembly code by hand. But it's not easy. Getting NEON code fast on Cortex-A8 is very challenging because pretty much all of the instructions have longer latency than their scalar counterparts, and there's a bunch of stuff that will randomly slow you down tremendously if you're not careful (that ARM doesn't really document). So you have to interleave independent instructions, which can involve some creative approaches (unrolling, software pipelining) and very tight use of registers.
I encourage people to try if they're interested, but always benchmark your code to make sure you're actually making something faster. Consider yourself very lucky if your benchmark can come even remotely close to a hand-count of the timing.