Fix thinko: we must turn select(anyext, sext) into sext(select)
not anyext(select). Spotted by Frits van Bommel.
llvm-svn: 119739
diff --git a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
index 53b4493..d705704 100644
--- a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
@@ -6712,7 +6712,8 @@
LLD->isVolatile(), LLD->isNonTemporal(),
LLD->getAlignment());
} else {
- Load = DAG.getExtLoad(LLD->getExtensionType(),
+ Load = DAG.getExtLoad(LLD->getExtensionType() == ISD::EXTLOAD ?
+ RLD->getExtensionType() : LLD->getExtensionType(),
TheSelect->getValueType(0),
TheSelect->getDebugLoc(),
// FIXME: Discards pointer info.