r254251 - ARM v8.1a adds Advanced SIMD instructions for Rounding Double Multiply

Renato Golin via cfe-commits cfe-commits at lists.llvm.org
Tue Dec 1 04:46:47 PST 2015


On 1 December 2015 at 11:44, James Molloy via cfe-commits
<cfe-commits at lists.llvm.org> wrote:
> In summary, I agree with you that we need tests for both Clang and LLVM
> separately. However I also think the full-trip tests add significant value
> and wouldn't like to see them removed, and there's significant prior art in
> this area so if we did decide they needed to be gone, we'd need a good
> discussion on how to regain the testing coverage we'd lose.

I agree with James on all accounts. IR tests need to be written, but
assembly tests in Clang are not a bad idea at all.

You can have a Clang test to IR and an LLVM test form IR to assembly,
but if these IRs are not the same (because time passes, people forget
about updating tests), then you have a serious problem that you can't
see.

Having assembly tests in Clang mean that the right instructions are
being picked from the right high-level C code. If Clang stops
producing them, especially in the case of SIMD, then the patch who
broke it needs fixing or reverting.

I'd only make one observation regarding -O3 vs. a specific list of
passes. Each way has its own faults and I'm not particularly pending
to either one, but one has to consider what -O3 means and what you
really want. If you want vectorization, or hard-fp, then you should
ask them by name. If all you want is "optimal" code, and the source is
simple enough that it'd be impossible not to get them, then -O3 should
suffice.

cheers,
--renato


More information about the cfe-commits mailing list