summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorJim Grosbach <grosbach@apple.com>2011-12-08 20:42:35 +0000
committerJim Grosbach <grosbach@apple.com>2011-12-08 20:42:35 +0000
commite9ee1092e1b0360ed6838d49582d02d53a61c8aa (patch)
tree308add28b89e6536d65eeeedf692347409b043e5 /llvm/lib
parent6b89a10b452f2ad83599277606af93732fef89e4 (diff)
downloadbcm5719-llvm-e9ee1092e1b0360ed6838d49582d02d53a61c8aa.tar.gz
bcm5719-llvm-e9ee1092e1b0360ed6838d49582d02d53a61c8aa.zip
ARM a few more VMUL implied destination operand form aliases.
llvm-svn: 146177
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/ARM/ARMInstrNEON.td18
1 files changed, 18 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/ARMInstrNEON.td b/llvm/lib/Target/ARM/ARMInstrNEON.td
index 7a181a2842f..dc41c68492f 100644
--- a/llvm/lib/Target/ARM/ARMInstrNEON.td
+++ b/llvm/lib/Target/ARM/ARMInstrNEON.td
@@ -5376,6 +5376,24 @@ defm : VFPDTAnyInstAlias<"vorr${p}", "$Vdn, $Vm",
(VORRq QPR:$Vdn, QPR:$Vdn, QPR:$Vm, pred:$p)>;
// VMUL two-operand aliases.
+def : NEONInstAlias<"vmul${p}.p8 $Qdn, $Qm",
+ (VMULpq QPR:$Qdn, QPR:$Qdn, QPR:$Qm, pred:$p)>;
+def : NEONInstAlias<"vmul${p}.i8 $Qdn, $Qm",
+ (VMULv16i8 QPR:$Qdn, QPR:$Qdn, QPR:$Qm, pred:$p)>;
+def : NEONInstAlias<"vmul${p}.i16 $Qdn, $Qm",
+ (VMULv8i16 QPR:$Qdn, QPR:$Qdn, QPR:$Qm, pred:$p)>;
+def : NEONInstAlias<"vmul${p}.i32 $Qdn, $Qm",
+ (VMULv4i32 QPR:$Qdn, QPR:$Qdn, QPR:$Qm, pred:$p)>;
+
+def : NEONInstAlias<"vmul${p}.p8 $Ddn, $Dm",
+ (VMULpd DPR:$Ddn, DPR:$Ddn, DPR:$Dm, pred:$p)>;
+def : NEONInstAlias<"vmul${p}.i8 $Ddn, $Dm",
+ (VMULv8i8 DPR:$Ddn, DPR:$Ddn, DPR:$Dm, pred:$p)>;
+def : NEONInstAlias<"vmul${p}.i16 $Ddn, $Dm",
+ (VMULv4i16 DPR:$Ddn, DPR:$Ddn, DPR:$Dm, pred:$p)>;
+def : NEONInstAlias<"vmul${p}.i32 $Ddn, $Dm",
+ (VMULv2i32 DPR:$Ddn, DPR:$Ddn, DPR:$Dm, pred:$p)>;
+
def : NEONInstAlias<"vmul${p}.f32 $Qdn, $Qm",
(VMULfq QPR:$Qdn, QPR:$Qdn, QPR:$Qm, pred:$p)>;
def : NEONInstAlias<"vmul${p}.f32 $Ddn, $Dm",
OpenPOWER on IntegriCloud