diff options
| author | Chris Lattner <sabre@nondot.org> | 2006-12-07 22:36:47 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2006-12-07 22:36:47 +0000 |
| commit | d9f04e4875ec0e6dd8e1527e997819d03ffe42a3 (patch) | |
| tree | 85545d43387c59750b83d181602fa57e7caf47a9 /llvm/lib | |
| parent | f84335615036983f524e2626fb300673bed395a6 (diff) | |
| download | bcm5719-llvm-d9f04e4875ec0e6dd8e1527e997819d03ffe42a3.tar.gz bcm5719-llvm-d9f04e4875ec0e6dd8e1527e997819d03ffe42a3.zip | |
Fix CodeGen/PowerPC/2006-12-07-SelectCrash.ll on PPC64
llvm-svn: 32336
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp index b8439a62bee..4b7c494781f 100644 --- a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp @@ -3755,7 +3755,10 @@ SDOperand DAGCombiner::SimplifySelectCC(SDOperand N0, SDOperand N1, // cast from setcc result type to select result type if (AfterLegalize) { SCC = DAG.getSetCC(TLI.getSetCCResultTy(), N0, N1, CC); - Temp = DAG.getZeroExtendInReg(SCC, N2.getValueType()); + if (N2.getValueType() < SCC.getValueType()) + Temp = DAG.getZeroExtendInReg(SCC, N2.getValueType()); + else + Temp = DAG.getNode(ISD::ZERO_EXTEND, N2.getValueType(), SCC); } else { SCC = DAG.getSetCC(MVT::i1, N0, N1, CC); Temp = DAG.getNode(ISD::ZERO_EXTEND, N2.getValueType(), SCC); |

