Commit 66249d3b authored by Logan Chien's avatar Logan Chien
Browse files

[ndk][backport] Workaround llvm.cttz.v2i64() problem.

Under some situation, the LLVM auto-vectorization will generate
llvm.cttz.v2i64() which does not correspond to any ARM instruction
and result in unmatched selection DAG.  This backported patch
workaround the problem by refining the cost model to avoid this
intrinsics in this case.

Patch originally by James Molloy - james molloy  arm com

    [ARM] Teach the cost model that cross-class copies are costly.

    Cross-class copies being expensive is actually a trait of the
    microarchitecture, but as I haven't yet seen an example of a
    microarchitecture where they're cheap it seems best to just enable this
    by default, covering the non-mcpu build case.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@217674
    91177308-0d34-0410-b5e6-96231b3b80d8
parent c4bf5513
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment