[llvm-commits] [PATCH] Execution domain support for VMOV and VLDR
Tim Northover
t.p.northover at gmail.com
Wed Aug 29 11:19:32 PDT 2012
>> What is a vmovs doing in NEON code anyway? Is isel emitting vmovs for some shuffles?
>
> ISel is emitting generic things like INSERT_SUBREGs and COPYs, which
> copyPhysReg uses a VMOVS to implement when the register allocator has
> decided what needs doing. I would guess that ISel could be improved,
> but not to catch everything without large-scale reworking.
I should mention that the main source of these we're seeing isn't an
easily isolatable vector pattern before/after NEON code, but
systematic nodes from the use of +neonfp, which means that S-registers
are likely to be floating around all over the place.
The only solution I see higher up would be to completely separate NEON
and VFP registers in LLVM (otherwise copyPhysReg can't know), which
would bring many more problems.
Tim.
More information about the llvm-commits
mailing list