[PATCH] D42962: [ARM] Allow 64- and 128-bit types with 't' inline asm constraint
Renato Golin via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Feb 12 10:40:20 PST 2018
rengolin added a comment.
In https://reviews.llvm.org/D42962#1005356, @pbarrio wrote:
> However, I think the fact that it mentions sN registers doesn't mean to say it only allows sN registers. A similar thing happens to 'w', which is documented as "VFP floating-point registers d0-d31..." but also allows selecting Q regs. In fact, there is no constraint that mentions the Q registers: the way to select them is either through 'w' or 't'. At least that is how I understand the GCC documentation.
That's why I said: `Though it's not completely wrong to support the low part of D/Q registers`
It's not wrong to assume that we're not just using the lower parts of D0, or both as f32.
But I also said: `I'm not sure the code in question is making sure this is true.`
AFAICS, the current approach just checks the size of the type, not the size of the sub-type. f64 or even integer types could still leak in, no?
To prove they're not, we need tests making sure they break if you try.
Repository:
rL LLVM
https://reviews.llvm.org/D42962
More information about the llvm-commits
mailing list