[PATCH] D85479: [SVE][VLS] Don't combine logical AND.

Paul Walker via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 10 07:37:16 PDT 2020


paulwalker-arm accepted this revision.
paulwalker-arm added a comment.
This revision is now accepted and ready to land.

A couple of recommendations to consider before landing the patch.



================
Comment at: llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:11111
+  // The combining code below works only for NEON vectors. In particular, it
+  // does not work for VLS SVE code generation when dealing with vectors wider
+  // than 128 bits.
----------------
Should people know what VLS means? Personally I think you can drop the reference since "It does not work for SVE when dealing with vectors larger than 128bits." should be clear enough.


================
Comment at: llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:11113
+  // than 128 bits.
+  if (VT.getSizeInBits() > 128)
+    return SDValue();
----------------
At some point we might have a genuine larger than NEON combine here at which point we should protect the NEON specific code with .is64BitVector || is128BitVector, but I guess right now this'll do.


================
Comment at: llvm/test/CodeGen/AArch64/vls-sve-512-and.ll:1
+; RUN: llc -mtriple=aarch64-linux-gnu -mattr=+sve -aarch64-sve-vector-bits-min=512  -o - -asm-verbose=0 < %s | FileCheck %s
+
----------------
I'm still going to recommend again that you create tests using the sve-fixed-length- prefix so all relevant testing is kept together.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D85479



More information about the llvm-commits mailing list