From the Intel Manual:
The processor attempts to commit the HLE execution, when [...].
If execution cannot commit atomically, then execution transitions to a non-transactional execution without elision as if the first instruction did not have an
XAQUIRE
prefix.
Did I read that correctly? Basically "try to do it transactionally, but if you can't, I don't care if you do it anyway"?
If so, what's the point in having the HLE
extension at all if it may randomly decide to behave as if it didn't exist?