diff options
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; } |

