mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 20:51:52 +01:00
[PowerPC] Fix the bug of ISD::ADDE to set its second return type to glue
Summary: This patch is to fix the bug imported by rL341634. In above submit , the the return type of ISD::ADDE is 14224: SDVTList VTs = DAG.getVTList(MVT::i64, MVT::i64), but in fact, the second return type of ISD::ADDE should be MVT::Glue not MVT::i64. Reviewed By: hfinkel Differential Revision: https://reviews.llvm.org/D55977 llvm-svn: 350061
This commit is contained in:
parent
d82f19ccdc
commit
d5d93391c2
@ -14389,7 +14389,7 @@ static SDValue combineADDToADDZE(SDNode *N, SelectionDAG &DAG,
|
||||
return SDValue();
|
||||
|
||||
SDLoc DL(N);
|
||||
SDVTList VTs = DAG.getVTList(MVT::i64, MVT::i64);
|
||||
SDVTList VTs = DAG.getVTList(MVT::i64, MVT::Glue);
|
||||
SDValue Cmp = RHS.getOperand(0);
|
||||
SDValue Z = Cmp.getOperand(0);
|
||||
auto *Constant = dyn_cast<ConstantSDNode>(Cmp.getOperand(1));
|
||||
|
11
test/CodeGen/PowerPC/adde_return_type.ll
Normal file
11
test/CodeGen/PowerPC/adde_return_type.ll
Normal file
@ -0,0 +1,11 @@
|
||||
; REQUIRES: asserts
|
||||
; RUN: llc -mtriple=powerpc64le-unknown-unknown -debug-only=legalize-types \
|
||||
; RUN: < %s -o /dev/null 2>&1 | FileCheck %s
|
||||
|
||||
define i64 @testAddeReturnType(i64 %X, i64 %Z) {
|
||||
; CHECK: Legally typed node: {{.*}}: i64,glue = adde {{.*}}
|
||||
%cmp = icmp ne i64 %Z, 0
|
||||
%conv1 = zext i1 %cmp to i64
|
||||
%add = add nsw i64 %conv1, %X
|
||||
ret i64 %add
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user