[LLVMdev] how to declare that two registers must be different
Rafael EspĂndola
rafael.espindola at gmail.com
Tue Sep 19 04:11:18 PDT 2006
> My copy of the ARM ARM says:
>
> "Use of R15: Specifying R15 for register <Rd>, <Rm>, or <Rs> has
> UNPREDICTABLE results."
>
> This is the same as above. However, it goes on to say:
>
> "Operand restriction: Specifying the same register for <Rd> and <Rm> was
> previously described as producing UNPREDICTABLE results. There is no
> restriction in ARMv6, and it is believed all relevant ARMv4 and ARMv5
> implementations do not require this restriction either, because high
> performance multipliers read all their operands prior to writing back any
> results."
>
> Perhaps this isn't an issue any more? I don't know the arch well enough
> to know what it means by "all relevant" implementations.
I think that I will ask for a new ARM ARM :-)
The gnu assemble gives an error if rd and rm are the same. Even with
-march=armv6. So I think that I will have to implement an workaround
anyway.
> -Chris
Thank you very much,
Rafael
More information about the llvm-dev
mailing list