summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/ARMISelLowering.cpp
diff options
context:
space:
mode:
authorDavid Green <david.green@arm.com>2019-06-28 11:17:38 +0000
committerDavid Green <david.green@arm.com>2019-06-28 11:17:38 +0000
commit28839440352d91a39d7e60c5d726c84ec363ef48 (patch)
tree46054070a778f3bbd576f0cf27a1c272953bd6a8 /llvm/lib/Target/ARM/ARMISelLowering.cpp
parentff70cbc895795d0398bf489b053a3d10b550b0b3 (diff)
downloadbcm5719-llvm-28839440352d91a39d7e60c5d726c84ec363ef48.tar.gz
bcm5719-llvm-28839440352d91a39d7e60c5d726c84ec363ef48.zip
[ARM] Mark math routines as non-legal for MVE
This adds handling and tests for a number of floating point math routines, which have no MVE instructions. Differential Revision: https://reviews.llvm.org/D63725 llvm-svn: 364641
Diffstat (limited to 'llvm/lib/Target/ARM/ARMISelLowering.cpp')
-rw-r--r--llvm/lib/Target/ARM/ARMISelLowering.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/ARMISelLowering.cpp b/llvm/lib/Target/ARM/ARMISelLowering.cpp
index 4f848b02cbc..ae7e2b6e34d 100644
--- a/llvm/lib/Target/ARM/ARMISelLowering.cpp
+++ b/llvm/lib/Target/ARM/ARMISelLowering.cpp
@@ -270,6 +270,15 @@ void ARMTargetLowering::addMVEVectorTypes(bool HasMVEFP) {
// No native support for these.
setOperationAction(ISD::FDIV, VT, Expand);
setOperationAction(ISD::FREM, VT, Expand);
+ setOperationAction(ISD::FSQRT, VT, Expand);
+ setOperationAction(ISD::FSIN, VT, Expand);
+ setOperationAction(ISD::FCOS, VT, Expand);
+ setOperationAction(ISD::FPOW, VT, Expand);
+ setOperationAction(ISD::FLOG, VT, Expand);
+ setOperationAction(ISD::FLOG2, VT, Expand);
+ setOperationAction(ISD::FLOG10, VT, Expand);
+ setOperationAction(ISD::FEXP, VT, Expand);
+ setOperationAction(ISD::FEXP2, VT, Expand);
}
}
OpenPOWER on IntegriCloud