

Hardware Lock Elision on Haswell - mjb
http://brooker.co.za/blog/2013/12/14/intel-hle.html

======
userbinator
Interesting to see that they're reusing what used to be the REP/REPNZ prefices
for this purpose, rather than assigning a completely new (and likely 0F+)
opcode. I suppose it's because the existing instruction decoder already
recognises it as a prefix (they would just be ignored pre-Haswell.)

~~~
mjb
Exactly. As I understand it, HLE programs that use XACQUIRE and XRELEASE
should run fine on older hardware. I suspect Intel's play here is to get the
technology into mainstream compilers and libraries quickly, to make their
Haswell and newer processors look good on benchmarks without special compiler
flags.

~~~
baq
you make it sound like being able to ship one binary that's backwards
compatible with previous processors was a bad thing.

~~~
mjb
Not a bad thing, just a compromise. It does restrict the feature set of HLE a
little bit, and make some of its semantics a little awkward. Backward
compatibility is obviously a good and useful thing. I think Intel did the
right thing for their business and their customers, but probably not the right
thing for the long-term prettiness of the assembly.

