Lower to the correct functions. This fixes FreeBench/fourinarow
authorChris Lattner <sabre@nondot.org>
Mon, 10 Jan 2005 21:02:37 +0000 (21:02 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 10 Jan 2005 21:02:37 +0000 (21:02 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19436 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/SelectionDAG/LegalizeDAG.cpp

index 649c34cc766e43e2ecd80bb1b0e0ea69ae6560ad..e0ddfa1b3d0669dab287f1bea975bfa1909e0f76 100644 (file)
@@ -795,9 +795,9 @@ void SelectionDAGLegalize::ExpandOp(SDOperand Op, SDOperand &Lo, SDOperand &Hi){
   case ISD::UDIV: LibCallName = "__udivdi3"; break;
   case ISD::SREM: LibCallName = "__moddi3"; break;
   case ISD::UREM: LibCallName = "__umoddi3"; break;
-  case ISD::SHL:  LibCallName = "__lshrdi3"; break;
+  case ISD::SHL:  LibCallName = "__ashldi3"; break;
   case ISD::SRA:  LibCallName = "__ashrdi3"; break;
-  case ISD::SRL:  LibCallName = "__ashldi3"; break;
+  case ISD::SRL:  LibCallName = "__lshrdi3"; break;
   }
 
   // Int2FP -> __floatdisf/__floatdidf