From a80949feb5d8081d6a7bde475cb143aca5a5da21 Mon Sep 17 00:00:00 2001 From: Craig Topper Date: Tue, 19 Sep 2017 04:39:55 +0000 Subject: [X86] Add VPERMPD/VPERMQ and VPERMPS/VPERMD to the execution domain fixing table. llvm-svn: 313610 --- llvm/lib/Target/X86/X86InstrInfo.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'llvm/lib/Target/X86/X86InstrInfo.cpp') diff --git a/llvm/lib/Target/X86/X86InstrInfo.cpp b/llvm/lib/Target/X86/X86InstrInfo.cpp index ddfebfb1c9a..abef03c2ea8 100644 --- a/llvm/lib/Target/X86/X86InstrInfo.cpp +++ b/llvm/lib/Target/X86/X86InstrInfo.cpp @@ -9378,6 +9378,10 @@ static const uint16_t ReplaceableInstrs[][3] = { { X86::VMOVUPSYmr, X86::VMOVUPDYmr, X86::VMOVDQUYmr }, { X86::VMOVUPSYrm, X86::VMOVUPDYrm, X86::VMOVDQUYrm }, { X86::VMOVNTPSYmr, X86::VMOVNTPDYmr, X86::VMOVNTDQYmr }, + { X86::VPERMPSYrm, X86::VPERMPSYrm, X86::VPERMDYrm }, + { X86::VPERMPSYrr, X86::VPERMPSYrr, X86::VPERMDYrr }, + { X86::VPERMPDYmi, X86::VPERMPDYmi, X86::VPERMQYmi }, + { X86::VPERMPDYri, X86::VPERMPDYri, X86::VPERMQYri }, // AVX512 support { X86::VMOVLPSZ128mr, X86::VMOVLPDZ128mr, X86::VMOVPQI2QIZmr }, { X86::VMOVNTPSZ128mr, X86::VMOVNTPDZ128mr, X86::VMOVNTDQZ128mr }, @@ -9429,6 +9433,18 @@ static const uint16_t ReplaceableInstrs[][3] = { { X86::VPERMILPSZ256ri, X86::VPERMILPSZ256ri, X86::VPSHUFDZ256ri }, { X86::VPERMILPSZmi, X86::VPERMILPSZmi, X86::VPSHUFDZmi }, { X86::VPERMILPSZri, X86::VPERMILPSZri, X86::VPSHUFDZri }, + { X86::VPERMPSZ256rm, X86::VPERMPSZ256rm, X86::VPERMDZ256rm }, + { X86::VPERMPSZ256rr, X86::VPERMPSZ256rr, X86::VPERMDZ256rr }, + { X86::VPERMPDZ256mi, X86::VPERMPDZ256mi, X86::VPERMQZ256mi }, + { X86::VPERMPDZ256ri, X86::VPERMPDZ256ri, X86::VPERMQZ256ri }, + { X86::VPERMPDZ256rm, X86::VPERMPDZ256rm, X86::VPERMQZ256rm }, + { X86::VPERMPDZ256rr, X86::VPERMPDZ256rr, X86::VPERMQZ256rr }, + { X86::VPERMPSZrm, X86::VPERMPSZrm, X86::VPERMDZrm }, + { X86::VPERMPSZrr, X86::VPERMPSZrr, X86::VPERMDZrr }, + { X86::VPERMPDZmi, X86::VPERMPDZmi, X86::VPERMQZmi }, + { X86::VPERMPDZri, X86::VPERMPDZri, X86::VPERMQZri }, + { X86::VPERMPDZrm, X86::VPERMPDZrm, X86::VPERMQZrm }, + { X86::VPERMPDZrr, X86::VPERMPDZrr, X86::VPERMQZrr }, { X86::VUNPCKLPDZ256rm, X86::VUNPCKLPDZ256rm, X86::VPUNPCKLQDQZ256rm }, { X86::VUNPCKLPDZ256rr, X86::VUNPCKLPDZ256rr, X86::VPUNPCKLQDQZ256rr }, { X86::VUNPCKHPDZ256rm, X86::VUNPCKHPDZ256rm, X86::VPUNPCKHQDQZ256rm }, -- cgit v1.2.3