summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
diff options
context:
space:
mode:
authorKrzysztof Parzyszek <kparzysz@codeaurora.org>2018-06-06 19:34:40 +0000
committerKrzysztof Parzyszek <kparzysz@codeaurora.org>2018-06-06 19:34:40 +0000
commitc1e712baa53926c82d465814d72988dd586ef35d (patch)
treee7b769fc333cdd5fba8c96a8ecd39b292338ec35 /llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
parent98b7f3950320664a4040f8fbf5be46b878081393 (diff)
downloadbcm5719-llvm-c1e712baa53926c82d465814d72988dd586ef35d.tar.gz
bcm5719-llvm-c1e712baa53926c82d465814d72988dd586ef35d.zip
[Hexagon] Implement vector-pair zero as V6_vsubw_dv
llvm-svn: 334123
Diffstat (limited to 'llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp')
-rw-r--r--llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp b/llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
index 0a38783388b..66e38cfc8b9 100644
--- a/llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
+++ b/llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
@@ -1153,6 +1153,14 @@ bool HexagonInstrInfo::expandPostRAPseudo(MachineInstr &MI) const {
MBB.erase(MI);
return true;
}
+ case Hexagon::PS_vdd0: {
+ unsigned Vd = MI.getOperand(0).getReg();
+ BuildMI(MBB, MI, DL, get(Hexagon::V6_vsubw_dv), Vd)
+ .addReg(Vd, RegState::Undef)
+ .addReg(Vd, RegState::Undef);
+ MBB.erase(MI);
+ return true;
+ }
case Hexagon::PS_vmulw: {
// Expand a 64-bit vector multiply into 2 32-bit scalar multiplies.
unsigned DstReg = MI.getOperand(0).getReg();
OpenPOWER on IntegriCloud