diff --git a/lib/Target/X86/X86ISelLowering.cpp b/lib/Target/X86/X86ISelLowering.cpp index 9b492fbb1d8..cd01c644260 100644 --- a/lib/Target/X86/X86ISelLowering.cpp +++ b/lib/Target/X86/X86ISelLowering.cpp @@ -1379,14 +1379,6 @@ X86TargetLowering::LowerFORMAL_ARGUMENTS(SDValue Op, SelectionDAG &DAG) { } } - // Make sure the instruction takes 8n+4 bytes to make sure the start of the - // arguments and the arguments after the retaddr has been pushed are - // aligned. - if (!Is64Bit && CC == CallingConv::X86_FastCall && - !Subtarget->isTargetCygMing() && !Subtarget->isTargetWindows() && - (StackSize & 7) == 0) - StackSize += 4; - ArgValues.push_back(Root); // Some CCs need callee pop. @@ -1494,13 +1486,6 @@ SDValue X86TargetLowering::LowerCALL(SDValue Op, SelectionDAG &DAG) { if (CC == CallingConv::Fast) NumBytes = GetAlignedArgumentStackSize(NumBytes, DAG); - // Make sure the instruction takes 8n+4 bytes to make sure the start of the - // arguments and the arguments after the retaddr has been pushed are aligned. - if (!Is64Bit && CC == CallingConv::X86_FastCall && - !Subtarget->isTargetCygMing() && !Subtarget->isTargetWindows() && - (NumBytes & 7) == 0) - NumBytes += 4; - int FPDiff = 0; if (IsTailCall) { // Lower arguments at fp - stackoffset + fpdiff. diff --git a/test/CodeGen/X86/fast-cc-callee-pops.ll b/test/CodeGen/X86/fast-cc-callee-pops.ll index 9b03634b853..941f7087f62 100644 --- a/test/CodeGen/X86/fast-cc-callee-pops.ll +++ b/test/CodeGen/X86/fast-cc-callee-pops.ll @@ -3,6 +3,6 @@ ; Check that a fastcc function pops its stack variables before returning. -define x86_fastcallcc void @func(i64 %X, i64 %Y, float %G, double %Z) { +define x86_fastcallcc void @func(i64 %X, i64 %Y, float %G, double %Z) nounwind { ret void }