diff options
| author | Kevin Qin <Kevin.Qin@arm.com> | 2014-04-23 06:22:48 +0000 |
|---|---|---|
| committer | Kevin Qin <Kevin.Qin@arm.com> | 2014-04-23 06:22:48 +0000 |
| commit | a4ee17876265b37b065ed8d3665de2461cca077a (patch) | |
| tree | 155b8b06ce49785006946e8dde7e0f7b192b4d99 /llvm/lib/Target/ARM64/ARM64TargetTransformInfo.cpp | |
| parent | 3f9869a8e2ae7a9a453a9bef09e3a131536339c4 (diff) | |
| download | bcm5719-llvm-a4ee17876265b37b065ed8d3665de2461cca077a.tar.gz bcm5719-llvm-a4ee17876265b37b065ed8d3665de2461cca077a.zip | |
[ARM64] Enable feature predicates for NEON / FP / CRYPTO.
AArch64 has feature predicates for NEON, FP and CRYPTO instructions.
This allows the compiler to generate code without using FP, NEON
or CRYPTO instructions.
llvm-svn: 206949
Diffstat (limited to 'llvm/lib/Target/ARM64/ARM64TargetTransformInfo.cpp')
| -rw-r--r-- | llvm/lib/Target/ARM64/ARM64TargetTransformInfo.cpp | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/llvm/lib/Target/ARM64/ARM64TargetTransformInfo.cpp b/llvm/lib/Target/ARM64/ARM64TargetTransformInfo.cpp index f4116891809..40228021e42 100644 --- a/llvm/lib/Target/ARM64/ARM64TargetTransformInfo.cpp +++ b/llvm/lib/Target/ARM64/ARM64TargetTransformInfo.cpp @@ -87,16 +87,20 @@ public: /// @{ unsigned getNumberOfRegisters(bool Vector) const override { - if (Vector) - return 32; - + if (Vector) { + if (ST->hasNEON()) + return 32; + return 0; + } return 31; } unsigned getRegisterBitWidth(bool Vector) const override { - if (Vector) - return 128; - + if (Vector) { + if (ST->hasNEON()) + return 128; + return 0; + } return 64; } |

