diff options
author | Eric Christopher <echristo@apple.com> | 2010-10-23 09:37:17 +0000 |
---|---|---|
committer | Eric Christopher <echristo@apple.com> | 2010-10-23 09:37:17 +0000 |
commit | c9616f26bd20e573c0a881a6d7c98584e1277af9 (patch) | |
tree | 2486cbc8548f34cfb399e28abf3ab28a6c8c98c4 /llvm | |
parent | 34402c4fe496afafd4a1a5628538368d6477648a (diff) | |
download | bcm5719-llvm-c9616f26bd20e573c0a881a6d7c98584e1277af9.tar.gz bcm5719-llvm-c9616f26bd20e573c0a881a6d7c98584e1277af9.zip |
Move rejection of NEON parameters earlier in fast isel call processing,
note that we can actually handle some f64 arguments.
llvm-svn: 117209
Diffstat (limited to 'llvm')
-rw-r--r-- | llvm/lib/Target/ARM/ARMFastISel.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/llvm/lib/Target/ARM/ARMFastISel.cpp b/llvm/lib/Target/ARM/ARMFastISel.cpp index 85d28f9b044..bbaa308ee81 100644 --- a/llvm/lib/Target/ARM/ARMFastISel.cpp +++ b/llvm/lib/Target/ARM/ARMFastISel.cpp @@ -1314,6 +1314,10 @@ bool ARMFastISel::ProcessCallArgs(SmallVectorImpl<Value*> &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<Value*> &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) |