[PATCH] [X86] Canonicalize various patterns to vector extloads.
Elena Demikhovsky
elena.demikhovsky at intel.com
Sun Jan 11 09:10:37 PST 2015
Please see my notes.
Context is missing in review.
================
Comment at: lib/Target/X86/X86ISelLowering.cpp:25650
@@ -25649,1 +25649,3 @@
+/// performVSZEXTCombine - Performs VSEXT/VZEXT combines
+static SDValue performVSZEXTCombine(SDNode *N, SelectionDAG &DAG,
----------------
You have 2 functions VSEXT / VZEXT and VZEXT. May be you planned to remove VZEXT?
================
Comment at: lib/Target/X86/X86ISelLowering.cpp:25685
@@ +25684,3 @@
+ N->getOpcode() == X86ISD::VZEXT ? ISD::ZEXTLOAD : ISD::SEXTLOAD, DL, VT,
+ Ld->getChain(), Ld->getBasePtr(), Ld->getPointerInfo(), MemVT,
+ Ld->isVolatile(), Ld->isNonTemporal(), Ld->isInvariant(),
----------------
I think that MemVT should be taken from original load and not from ZEXT operand
================
Comment at: lib/Target/X86/X86ISelLowering.cpp:25692
@@ -25650,2 +25691,3 @@
+
/// performVZEXTCombine - Performs build vector combines
static SDValue performVZEXTCombine(SDNode *N, SelectionDAG &DAG,
----------------
The comment is very strange here
http://reviews.llvm.org/D6896
EMAIL PREFERENCES
http://reviews.llvm.org/settings/panel/emailpreferences/
More information about the llvm-commits
mailing list