summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorSam Parker <sam.parker@arm.com>2019-09-09 12:54:47 +0000
committerSam Parker <sam.parker@arm.com>2019-09-09 12:54:47 +0000
commit1ad508e8e2d5036a6356a136ab0b02251091e2a6 (patch)
tree4ffa17213aea85a1912e508f889b2e0c59de6303 /llvm/lib
parentff354de2944e3082c5c2f1663c9b86c4ffabc3e3 (diff)
downloadbcm5719-llvm-1ad508e8e2d5036a6356a136ab0b02251091e2a6.tar.gz
bcm5719-llvm-1ad508e8e2d5036a6356a136ab0b02251091e2a6.zip
[ARM][MVE] VCTP instruction selection
Add codegen support for vctp{8,16,32}. Differential Revision: https://reviews.llvm.org/D67344 llvm-svn: 371395
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/ARM/ARMInstrMVE.td9
1 files changed, 9 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/ARMInstrMVE.td b/llvm/lib/Target/ARM/ARMInstrMVE.td
index f25aadc468c..86e2ca460e0 100644
--- a/llvm/lib/Target/ARM/ARMInstrMVE.td
+++ b/llvm/lib/Target/ARM/ARMInstrMVE.td
@@ -3944,6 +3944,15 @@ def MVE_VCTP16 : MVE_VCTP<"16", 0b01>;
def MVE_VCTP32 : MVE_VCTP<"32", 0b10>;
def MVE_VCTP64 : MVE_VCTP<"64", 0b11>;
+let Predicates = [HasMVEInt] in {
+ def : Pat<(int_arm_vctp8 rGPR:$Rn),
+ (v16i1 (MVE_VCTP8 rGPR:$Rn))>;
+ def : Pat<(int_arm_vctp16 rGPR:$Rn),
+ (v8i1 (MVE_VCTP16 rGPR:$Rn))>;
+ def : Pat<(int_arm_vctp32 rGPR:$Rn),
+ (v4i1 (MVE_VCTP32 rGPR:$Rn))>;
+}
+
// end of mve_qDest_rSrc
// start of coproc mov
OpenPOWER on IntegriCloud