summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAna Pazos <apazos@codeaurora.org>2014-01-23 19:18:57 +0000
committerAna Pazos <apazos@codeaurora.org>2014-01-23 19:18:57 +0000
commita8aa6c3940852434edb967c47312a5d21c777ce9 (patch)
tree41a99191d1b8a85959efd2483a0560a1289b5ecb /lib
parentc3b4897c4c94923b36eb7f72eab44c2472aa4050 (diff)
downloadllvm-a8aa6c3940852434edb967c47312a5d21c777ce9.tar.gz
llvm-a8aa6c3940852434edb967c47312a5d21c777ce9.tar.bz2
llvm-a8aa6c3940852434edb967c47312a5d21c777ce9.tar.xz
[AArch64] Added vselect patterns with float and double types
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199925 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/Target/AArch64/AArch64InstrNEON.td4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/Target/AArch64/AArch64InstrNEON.td b/lib/Target/AArch64/AArch64InstrNEON.td
index 3f9743989b..c673b3adc9 100644
--- a/lib/Target/AArch64/AArch64InstrNEON.td
+++ b/lib/Target/AArch64/AArch64InstrNEON.td
@@ -473,6 +473,10 @@ multiclass Neon_bitwise3V_patterns<SDPatternOperator opnode,
(INST16B VPR128:$src, VPR128:$Rn, VPR128:$Rm)>;
def : Pat<(v2i64 (opnode (v2i64 VPR128:$src), VPR128:$Rn, VPR128:$Rm)),
(INST16B VPR128:$src, VPR128:$Rn, VPR128:$Rm)>;
+ def : Pat<(v2f64 (opnode (v2i64 VPR128:$src), VPR128:$Rn, VPR128:$Rm)),
+ (INST16B VPR128:$src, VPR128:$Rn, VPR128:$Rm)>;
+ def : Pat<(v4f32 (opnode (v4i32 VPR128:$src), VPR128:$Rn, VPR128:$Rm)),
+ (INST16B VPR128:$src, VPR128:$Rn, VPR128:$Rm)>;
// Allow to match BSL instruction pattern with non-constant operand
def : Pat<(v8i8 (or (and VPR64:$Rn, VPR64:$Rd),