Hacker News new | ask | show | jobs
by cmovq 127 days ago
That makes sense. LLVM could probably do better here by using the memory operand version:

https://godbolt.org/z/jeqbaPsMz

2 comments

The memory operand version tends to be as slow or slower than the manual implementation, so LLVM is right to avoid it.
Don't think the memory operand version would work here. If I understand the x86 architectural manual description, the 32-bit operand form interprets the bit offset as signed. A 64-bit operand could work around that but then run into issues with over-read due to fetching 64 bits of data.