mstorsjo added a comment.

In https://reviews.llvm.org/D36111#826878, @mgrang wrote:

> @mstorsjo I see that spec2000/eon calls __getReg, _ReadStatusReg and 
> _WriteStatusReg intrinsics for ARM64. I think I would need to implement them 
> in llvm. Do you know where can I find a doc explaining their behavior?


Sorry - I have no previous knowledge on them. Googling for `_ReadStatusReg` 
gets me to https://msdn.microsoft.com/en-us/library/hh875058.aspx at least 
(which is for ARM and not ARM64), which indicates that it'd map to the MRS 
instruction. And `__getReg`: 
https://msdn.microsoft.com/en-us/library/kcb3wece(v=vs.120).aspx

Since the ARM64 specifics of them aren't publicly known I guess you'd have to 
test MSVC to see what they expect in practice. For `__getReg` it seems to refer 
to `intrin.h` for register name constants - I guess `arm64intr.h` should define 
the constants for register numbers as well, or are they just called like 
`__getReg(30)` (to get the value of x30)?


https://reviews.llvm.org/D36111



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to