[PATCH] D46528: [DAGCombine][X86][AArch64] Masked merge unfolding: vector edition.
Sanjay Patel via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed May 9 13:47:25 PDT 2018
spatel added a reviewer: RKSimon.
spatel added inline comments.
================
Comment at: lib/Target/AArch64/AArch64ISelLowering.h:444
- bool hasAndNotCompare(SDValue) const override {
- // 'bics'
- return true;
+ bool hasAndNotCompare(SDValue Y) const override {
+ EVT VT = Y.getValueType();
----------------
The name of the function is overly specific if we're including bsl and instructions too. I think we should either generalize that name or add a different hook for "hasBitwiseSelect".
================
Comment at: lib/Target/X86/X86ISelLowering.cpp:4773-4776
+ if (VT == MVT::v4i32)
+ return true;
+
+ return Subtarget.hasSSE2();
----------------
That seems odd. Does something bad happen with other types of 128-bit vectors (eg v8i16) with SSE1 only? I would've thought all element types would get mapped to andnps.
Repository:
rL LLVM
https://reviews.llvm.org/D46528
More information about the llvm-commits
mailing list