llvm-project/llvm/lib/Target/X86/MCTargetDesc
Craig Topper 8582ecd8d9 [X86] Introduce new MOVSSrm/MOVSDrm opcodes that use VR128 register class.
Rename the old versions that use FR32/FR64 to MOVSSrm_alt/MOVSDrm_alt.

Use the new versions in patterns that previously used a COPY_TO_REGCLASS
to VR128. These patterns expect the upper bits to be zero. The
current set up appears to work, but I'm not sure we should be
enforcing upper bits being zero through a COPY_TO_REGCLASS.

I wanted to flip the arrangement and use a COPY_TO_REGCLASS to
FR32/FR64 for the patterns that need an f32/f64 result, but that
complicated fastisel and globalisel.

I've been doing some experiments with reducing some isel patterns
and ended up in a situation where I had a
(SUBREG_TO_REG (COPY_TO_RECLASS (VMOVSSrm), VR128)) and our
post-isel peephole was unable to avoid using an instruction for
the SUBREG_TO_REG due to the COPY_TO_REGCLASS. Having a VR128
instruction removes the COPY_TO_REGCLASS that was breaking this.

llvm-svn: 363643
2019-06-18 03:23:11 +00:00
..
CMakeLists.txt [X86] Move InstPrinter files to MCTargetDesc. NFC 2019-05-10 23:24:38 +00:00
LLVMBuild.txt [X86] Move InstPrinter files to MCTargetDesc. NFC 2019-05-10 23:24:38 +00:00
X86ATTInstPrinter.cpp [X86] Move InstPrinter files to MCTargetDesc. NFC 2019-05-10 23:24:38 +00:00
X86ATTInstPrinter.h [X86] Move InstPrinter files to MCTargetDesc. NFC 2019-05-10 23:24:38 +00:00
X86AsmBackend.cpp [X86] Support .reloc *, R_{386,X86_64}_NONE, * 2019-05-17 03:25:39 +00:00
X86BaseInfo.h [X86] Remove string literal from an if. NFC 2019-05-02 21:57:18 +00:00
X86ELFObjectWriter.cpp [X86] Fix x86-64 call *foo@tlsdesc(%rax) and support R_386_TLSGOTDESC R_386_TLS_DESC_CALL 2019-05-29 02:02:59 +00:00
X86FixupKinds.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
X86InstComments.cpp [X86] Introduce new MOVSSrm/MOVSDrm opcodes that use VR128 register class. 2019-06-18 03:23:11 +00:00
X86InstComments.h [X86] Move InstPrinter files to MCTargetDesc. NFC 2019-05-10 23:24:38 +00:00
X86InstPrinterCommon.cpp [X86] Add VP2INTERSECT instructions 2019-05-31 02:50:41 +00:00
X86InstPrinterCommon.h [X86] Add VP2INTERSECT instructions 2019-05-31 02:50:41 +00:00
X86IntelInstPrinter.cpp [X86] Move InstPrinter files to MCTargetDesc. NFC 2019-05-10 23:24:38 +00:00
X86IntelInstPrinter.h [X86] Move InstPrinter files to MCTargetDesc. NFC 2019-05-10 23:24:38 +00:00
X86MCAsmInfo.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
X86MCAsmInfo.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
X86MCCodeEmitter.cpp [X86] Fix x86-64 call *foo@tlsdesc(%rax) and support R_386_TLSGOTDESC R_386_TLS_DESC_CALL 2019-05-29 02:02:59 +00:00
X86MCExpr.h [X86] Move InstPrinter files to MCTargetDesc. NFC 2019-05-10 23:24:38 +00:00
X86MCTargetDesc.cpp Revert CMake: Make most target symbols hidden by default 2019-06-11 03:21:13 +00:00
X86MCTargetDesc.h [X86] Create a TargetInfo header. NFC 2019-05-15 01:17:58 +00:00
X86MachObjectWriter.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
X86TargetStreamer.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
X86WinCOFFObjectWriter.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
X86WinCOFFStreamer.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
X86WinCOFFTargetStreamer.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00