summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
diff options
context:
space:
mode:
authorJessica Paquette <jpaquette@apple.com>2019-01-30 21:03:52 +0000
committerJessica Paquette <jpaquette@apple.com>2019-01-30 21:03:52 +0000
commit22457f8e9bd6e21d890134db2b268636cebd4591 (patch)
tree6cc851bc319cadc80246d4e7547506deaa7cef58 /llvm/lib/CodeGen
parentb147e7d85374ff4aedd28c8cd9d8713ed0ce9d10 (diff)
downloadbcm5719-llvm-22457f8e9bd6e21d890134db2b268636cebd4591.tar.gz
bcm5719-llvm-22457f8e9bd6e21d890134db2b268636cebd4591.zip
[GlobalISel][AArch64] Add instruction selection support for @llvm.sqrt
This teaches the legalizer about G_FSQRT in AArch64. Also adds a legalizer test for G_FSQRT, a selection test for it, and updates existing floating point tests. https://reviews.llvm.org/D57361 llvm-svn: 352671
Diffstat (limited to 'llvm/lib/CodeGen')
-rw-r--r--llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp b/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
index 5fb5aae1c6d..ee9163f5c74 100644
--- a/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
+++ b/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
@@ -1197,6 +1197,7 @@ LegalizerHelper::widenScalar(MachineInstr &MI, unsigned TypeIdx, LLT WideTy) {
case TargetOpcode::G_FSIN:
case TargetOpcode::G_FLOG10:
case TargetOpcode::G_FLOG:
+ case TargetOpcode::G_FSQRT:
assert(TypeIdx == 0);
Observer.changingInstr(MI);
@@ -1842,6 +1843,7 @@ LegalizerHelper::fewerElementsVector(MachineInstr &MI, unsigned TypeIdx,
case G_INTRINSIC_TRUNC:
case G_FCOS:
case G_FSIN:
+ case G_FSQRT:
return fewerElementsVectorBasic(MI, TypeIdx, NarrowTy);
case G_ZEXT:
case G_SEXT:
OpenPOWER on IntegriCloud