[PATCH] D21571: [AArch64] Avoid generating indexed vector instructions for Exynos

Sebastian Pop via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 28 09:11:22 PDT 2016


sebpop added inline comments.

================
Comment at: llvm/lib/Target/AArch64/AArch64VectorByElementOpt.cpp:12
@@ +11,3 @@
+// SIMD instructions.
+//
+//===----------------------------------------------------------------------===//
----------------
Let's add a bit more description of what this pass does, and an example from below...

================
Comment at: llvm/lib/Target/AArch64/AArch64VectorByElementOpt.cpp:131
@@ +130,3 @@
+    return true;
+  } else {
+    VecInstElemTable[InstDesc->getOpcode()] = false;
----------------
Remove the else as there is a return stmt in then clause.

================
Comment at: llvm/lib/Target/AArch64/AArch64VectorByElementOpt.cpp:167
@@ +166,3 @@
+///
+/// Example:
+///    fmla v0.4s, v1.4s, v2.s[1]
----------------
... this example, and the comment at the top of the file can contain some of the text above.

================
Comment at: llvm/lib/Target/AArch64/AArch64VectorByElementOpt.cpp:177
@@ +176,3 @@
+  const TargetRegisterClass *RC = &AArch64::FPR128RegClass;
+  ;
+
----------------
Remove this empty stmt.

================
Comment at: llvm/test/CodeGen/AArch64/arm64-neon-2velem.ll:2
@@ -1,2 +1,3 @@
 ; RUN: llc < %s -verify-machineinstrs -mtriple=arm64-none-linux-gnu -mattr=+neon -fp-contract=fast | FileCheck %s
+; RUN: llc < %s -verify-machineinstrs -mtriple=arm64-none-linux-gnu -mattr=+neon -fp-contract=fast -mcpu=exynos-m1 | FileCheck --check-prefix=EXYNOS %s
 
----------------
Let's also add a comment here saying that we need the instructions cost of Exynos-M1 to trigger the transform.


https://reviews.llvm.org/D21571





More information about the llvm-commits mailing list