1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 11:02:59 +02:00
llvm-mirror/lib/MC
Gadi Haber 51f2170fda This is a large patch for X86 AVX-512 of an optimization for reducing code size by encoding EVEX AVX-512 instructions using the shorter VEX encoding when possible.
There are cases of AVX-512 instructions that have two possible encodings. This is the case with instructions that use vector registers with low indexes of 0 - 15 and do not use the zmm registers or the mask k registers.
The EVEX encoding prefix requires 4 bytes whereas the VEX prefix can take only up to 3 bytes. Consequently, using the VEX encoding for these instructions results in a code size reduction of ~2 bytes even though it is compiled with the AVX-512 features enabled.

Reviewers: Craig Topper, Zvi Rackoover, Elena Demikhovsky 
Differential Revision: https://reviews.llvm.org/D27901

llvm-svn: 290663
2016-12-28 10:12:48 +00:00
..
MCDisassembler Use StringRef instead of raw pointers in MCAsmInfo/MCInstrInfo APIs (NFC) 2016-10-01 06:46:33 +00:00
MCParser Allow ELF section flags to be specified numerically 2016-12-15 07:59:15 +00:00
CMakeLists.txt Revert r283690, "MC: Remove unused entities." 2016-10-10 22:49:37 +00:00
ConstantPools.cpp Fix 24560: assembler does not share constant pool for same constants 2016-11-04 19:17:32 +00:00
ELFObjectWriter.cpp MC: ensure that we have a section before accessing it 2016-11-22 04:32:54 +00:00
LLVMBuild.txt
MachObjectWriter.cpp Fix Clang-tidy readability-redundant-string-cstr warnings 2016-11-02 16:43:50 +00:00
MCAsmBackend.cpp [mips][ias] Support .dtprel[d]word and .tprel[d]word directives 2016-08-22 16:18:42 +00:00
MCAsmInfo.cpp [MC] Delete use of *structors_used. 2016-08-08 03:30:01 +00:00
MCAsmInfoCOFF.cpp
MCAsmInfoDarwin.cpp [MC] Delete use of *structors_used. 2016-08-08 03:30:01 +00:00
MCAsmInfoELF.cpp
MCAsmStreamer.cpp This is a large patch for X86 AVX-512 of an optimization for reducing code size by encoding EVEX AVX-512 instructions using the shorter VEX encoding when possible. 2016-12-28 10:12:48 +00:00
MCAssembler.cpp [Assembler] Better error messages for .org directive 2016-12-14 10:43:58 +00:00
MCCodeEmitter.cpp
MCCodeView.cpp Resubmit "[CodeView] Hook CodeViewRecordIO for reading/writing symbols." 2016-12-16 22:48:14 +00:00
MCContext.cpp [ARM] Implement execute-only support in CodeGen 2016-12-15 07:59:08 +00:00
MCDwarf.cpp Speculatively revert r289925, see PR31407 2016-12-16 14:02:28 +00:00
MCELFObjectTargetWriter.cpp
MCELFStreamer.cpp [MC] Refactor emitELFSize to make usage more consistent. NFC. 2016-12-01 23:39:08 +00:00
MCExpr.cpp [AMDGPU] Add 32-bit lo/hi got and pc relative variant kinds and emit appropriate relocations 2016-10-14 04:21:32 +00:00
MCFragment.cpp ADT: Split ilist_node_traits into alloc and callback, NFC 2016-08-30 18:40:47 +00:00
MCInst.cpp [MC] Remove guard(s). NFCI. 2016-08-22 11:55:22 +00:00
MCInstPrinter.cpp
MCInstrAnalysis.cpp
MCInstrDesc.cpp
MCLabel.cpp [MC] Remove guard(s). NFCI. 2016-08-22 11:55:22 +00:00
MCLinkerOptimizationHint.cpp
MCMachObjectTargetWriter.cpp
MCMachOStreamer.cpp
MCNullStreamer.cpp
MCObjectFileInfo.cpp Move code only used by codegen out of MC. NFC. 2016-08-29 12:33:42 +00:00
MCObjectStreamer.cpp [Assembler] Better error messages for .org directive 2016-12-14 10:43:58 +00:00
MCObjectWriter.cpp
MCRegisterInfo.cpp Extract LaneBitmask into a separate type 2016-12-15 14:36:06 +00:00
MCSchedule.cpp
MCSection.cpp MC: Move MCSection::begin/end to header, NFC 2016-09-12 00:17:09 +00:00
MCSectionCOFF.cpp [MC] Handle discardable COFF sections in assembly 2016-09-14 22:41:50 +00:00
MCSectionELF.cpp [ARM] Implement execute-only support in CodeGen 2016-12-15 07:59:08 +00:00
MCSectionMachO.cpp Use StringRef in MCSectionMachO (NFC) 2016-10-05 01:02:34 +00:00
MCStreamer.cpp [Assembler] Better error messages for .org directive 2016-12-14 10:43:58 +00:00
MCSubtargetInfo.cpp
MCSymbol.cpp Retire llvm::alignOf in favor of C++11 alignof. 2016-10-20 15:02:18 +00:00
MCSymbolELF.cpp
MCTargetOptions.cpp Summary: Currently there is no way to disable deprecated warning from asm like this 2016-12-05 23:55:13 +00:00
MCValue.cpp [MC] Remove guard(s). NFCI. 2016-08-22 11:55:22 +00:00
MCWin64EH.cpp
MCWinEH.cpp Revert r283690, "MC: Remove unused entities." 2016-10-10 22:49:37 +00:00
StringTableBuilder.cpp [ADT] Move CachedHashString to its own header in ADT, and rename to CachedHashStringRef. 2016-10-17 22:24:36 +00:00
SubtargetFeature.cpp [MC] Remove guard(s). NFCI. 2016-08-22 11:55:22 +00:00
WinCOFFObjectWriter.cpp Fix comment typos. NFC. 2016-11-20 13:47:59 +00:00
WinCOFFStreamer.cpp Revert "[CodeGen] Fix invalid DWARF info on Win64" 2016-12-08 01:56:23 +00:00