mirror of
https://github.com/RPCSX/llvm.git
synced 2024-11-30 15:10:33 +00:00
Revert "[ARM] Merging 64-bit divmod lib calls into one"
This reverts commit r262507, which broke some ARM buildbots. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262594 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
457254d413
commit
ff17c53224
@ -2153,9 +2153,8 @@ SDValue DAGCombiner::useDivRem(SDNode *Node) {
|
||||
if (Node->use_empty())
|
||||
return SDValue(); // This is a dead node, leave it alone.
|
||||
|
||||
// DivMod lib calls can still work on non-legal types if using lib-calls.
|
||||
EVT VT = Node->getValueType(0);
|
||||
if (VT.isVector() || !VT.isInteger())
|
||||
if (!TLI.isTypeLegal(VT))
|
||||
return SDValue();
|
||||
|
||||
unsigned Opcode = Node->getOpcode();
|
||||
|
@ -809,8 +809,6 @@ ARMTargetLowering::ARMTargetLowering(const TargetMachine &TM,
|
||||
|
||||
setOperationAction(ISD::SDIVREM, MVT::i32, Custom);
|
||||
setOperationAction(ISD::UDIVREM, MVT::i32, Custom);
|
||||
setOperationAction(ISD::SDIVREM, MVT::i64, Custom);
|
||||
setOperationAction(ISD::UDIVREM, MVT::i64, Custom);
|
||||
} else {
|
||||
setOperationAction(ISD::SDIVREM, MVT::i32, Expand);
|
||||
setOperationAction(ISD::UDIVREM, MVT::i32, Expand);
|
||||
@ -7056,13 +7054,6 @@ void ARMTargetLowering::ReplaceNodeResults(SDNode *N,
|
||||
case ISD::UREM:
|
||||
Res = LowerREM(N, DAG);
|
||||
break;
|
||||
case ISD::SDIVREM:
|
||||
case ISD::UDIVREM:
|
||||
Res = LowerDivRem(SDValue(N, 0), DAG);
|
||||
assert(Res.getNumOperands() == 2 && "DivRem needs two values");
|
||||
Results.push_back(Res.getValue(0));
|
||||
Results.push_back(Res.getValue(1));
|
||||
return;
|
||||
case ISD::READCYCLECOUNTER:
|
||||
ReplaceREADCYCLECOUNTER(N, Results, DAG, Subtarget);
|
||||
return;
|
||||
|
@ -79,6 +79,7 @@ entry:
|
||||
ret i32 %add2
|
||||
}
|
||||
|
||||
; FIXME: AEABI is not lowering long u/srem into u/ldivmod
|
||||
define i64 @longf(i64 %a, i64 %b) {
|
||||
; EABI-LABEL: longf:
|
||||
; DARWIN-LABEL: longf:
|
||||
@ -86,9 +87,6 @@ entry:
|
||||
%div = sdiv i64 %a, %b
|
||||
%rem = srem i64 %a, %b
|
||||
; EABI: __aeabi_ldivmod
|
||||
; EABI-NEXT: adds r0
|
||||
; EABI-NEXT: adc r1
|
||||
; EABI-NOT: __aeabi_ldivmod
|
||||
; DARWIN: ___divdi3
|
||||
; DARWIN: mov [[div1:r[0-9]+]], r0
|
||||
; DARWIN: mov [[div2:r[0-9]+]], r1
|
||||
|
Loading…
Reference in New Issue
Block a user