While trying to assemble arch/arm/probes/kprobes/test-arm.c in the Linux
kernel with Clang's integrated assembler, I hit what seems to be a
discrepancy between GNU as (aka GAS) and Clang's integrated assembler.
It appears that GAS permits movs to use the PC (r15) as the destination
register. Further, the above code tests that this is possible.
Relax the requirement that the destination register not be the PC.
it might be of interest to note that MOVs with an immediate operand didn't have the same restriction on the destination.