From a4633f5d7458f4d04e4bf89be48d3b14e1fae044 Mon Sep 17 00:00:00 2001 From: Eric Christopher Date: Sat, 23 Oct 2010 09:37:17 +0000 Subject: [PATCH] Move rejection of NEON parameters earlier in fast isel call processing, note that we can actually handle some f64 arguments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117209 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/ARM/ARMFastISel.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/Target/ARM/ARMFastISel.cpp b/lib/Target/ARM/ARMFastISel.cpp index 85d28f9b044..bbaa308ee81 100644 --- a/lib/Target/ARM/ARMFastISel.cpp +++ b/lib/Target/ARM/ARMFastISel.cpp @@ -1314,6 +1314,10 @@ bool ARMFastISel::ProcessCallArgs(SmallVectorImpl &Args, unsigned Arg = ArgRegs[VA.getValNo()]; EVT ArgVT = ArgVTs[VA.getValNo()]; + // We don't handle NEON parameters yet. + if (VA.getLocVT().isVector() && VA.getLocVT().getSizeInBits() > 64) + return false; + // Handle arg promotion, etc. switch (VA.getLocInfo()) { case CCValAssign::Full: break; @@ -1334,9 +1338,6 @@ bool ARMFastISel::ProcessCallArgs(SmallVectorImpl &Args, break; } case CCValAssign::AExt: { - // We don't handle NEON or f64 parameters yet. - if (VA.getLocVT().isVector() && VA.getLocVT().getSizeInBits() >= 64) - return false; bool Emitted = FastEmitExtend(ISD::ANY_EXTEND, VA.getLocVT(), Arg, ArgVT, Arg); if (!Emitted) -- 2.34.1