According intel PRM, you should use %cl
instead of %dl
"suffix or operands invalid for 'shr'"
Question
I'm trying to get rid of the lower bits (before doing a popcnt
) in a register, but can't seem to get the syntax for the instruction right. I want to clear the lower %rdx
bits from the value in %r8d
. Searching told me the count argument should be an 8-bit register, so I'm currently at:
shrl %dl, %r8d
GAS complains about this, and I've really no clue what exactly the arguments should be if those are wrong.
Solution
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow