Optimized ARM RWSEM algorithm ( thank stratosk )