diff options
author | Kevin Qin <Kevin.Qin@arm.com> | 2014-04-25 09:44:20 +0000 |
---|---|---|
committer | Kevin Qin <Kevin.Qin@arm.com> | 2014-04-25 09:44:20 +0000 |
commit | 435b9bd9fb1c9ebe68b4332035d318808659486c (patch) | |
tree | 31e0ac6d98cdee8caa234e7a085097106558702a /lib | |
parent | 78eedb15c90eb2cff925f51784a02cfb5cb93882 (diff) | |
download | llvm-435b9bd9fb1c9ebe68b4332035d318808659486c.tar.gz llvm-435b9bd9fb1c9ebe68b4332035d318808659486c.tar.bz2 llvm-435b9bd9fb1c9ebe68b4332035d318808659486c.tar.xz |
[ARM64] Add RUN lines for "–target arm64 –mattr=-fp-armv8" on AArch64 no-fp test.
This patch is a supplement of implementing predicate of FP, enabling aarch64 backend
no-fp tests on arm64 target for verification. During this, one bug is exposed and
fixed by this patch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207215 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Target/ARM64/ARM64ISelLowering.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/Target/ARM64/ARM64ISelLowering.cpp b/lib/Target/ARM64/ARM64ISelLowering.cpp index 37eccb1499..3cdd2db4ea 100644 --- a/lib/Target/ARM64/ARM64ISelLowering.cpp +++ b/lib/Target/ARM64/ARM64ISelLowering.cpp @@ -5812,12 +5812,12 @@ EVT ARM64TargetLowering::getOptimalMemOpType(uint64_t Size, unsigned DstAlign, // addressing mode). Just do two i64 store of zero-registers. bool Fast; const Function *F = MF.getFunction(); - if (!IsMemset && Size >= 16 && + if (Subtarget->hasFPARMv8() && !IsMemset && Size >= 16 && !F->getAttributes().hasAttribute(AttributeSet::FunctionIndex, Attribute::NoImplicitFloat) && (memOpAlign(SrcAlign, DstAlign, 16) || - (allowsUnalignedMemoryAccesses(MVT::v2i64, 0, &Fast) && Fast))) - return MVT::v2i64; + (allowsUnalignedMemoryAccesses(MVT::f128, 0, &Fast) && Fast))) + return MVT::f128; return Size >= 8 ? MVT::i64 : MVT::i32; } |