[PATCH] D56118: [ARM]: Add optimized NEON uint64x2_t multiply routine.

Simon Pilgrim via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Jan 6 12:51:19 PST 2019


RKSimon added inline comments.


================
Comment at: test/Analysis/CostModel/ARM/mult.ll:1
+; RUN: opt < %s  -cost-model -analyze -mtriple=thumbv7-apple-ios6.0.0 -mcpu=cortex-a9 | FileCheck %s
+
----------------
You might find the utils\update_analyze_test_checks.py script useful to make this more maintainable - see X86\arith.ll for examples.


================
Comment at: test/CodeGen/ARM/vmul.ll:69
+;CHECK: vld1.64         {d20, d21}, [r0]
+;CHECK; vand            q8, q10, q8
+;CHECK: vmovn.i64       d18, q9
----------------
easyaspi314 wrote:
> craig.topper wrote:
> > efriedma wrote:
> > > DAGCombine should be able to catch the redundant AND... but it looks like DAGCombiner::visitTRUNCATE doesn't try to handle demanded bits for vectors.  (I guess it didn't get updated when other operations got support for vector operands?)
> > PR39689 mentions this is disabled for vectors. Maybe @rksimon or @spatel are working on it?
> That would explain why it was choking on this when X86 does not.
> PR39689 mentions this is disabled for vectors. Maybe @RKSimon or @spatel are working on it?

I've been putting it off as there's a load of yak shaving to be done for it - but I will look again.




================
Comment at: test/CodeGen/ARM/vmul.ll:40
+
+define <2 x i64> @vmuli64(<2 x i64>* %A, <2 x i64>* %B) nounwind {
+;CHECK-LABEL: vmuli64
----------------
Please add these new tests to trunk with current codegen now then rebase this patch so it shows the changes to codegen.


Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D56118/new/

https://reviews.llvm.org/D56118





More information about the llvm-commits mailing list