1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 03:02:36 +01:00
llvm-mirror/tools/llvm-exegesis/lib
Craig Topper ef35532c13 [X86] Ignore bits 2:0 of the modrm byte when disassembling lfence, mfence, and sfence.
These are documented as using modrm byte of 0xe8, 0xf0, and 0xf8
respectively. But hardware ignore bits 2:0. So 0xe9-0xef is treated
the same as 0xe8. Similar for the other two.

Fixing this required adding 8 new formats to the X86 instructions
to convey this information. Could have gotten away with 3, but
adding all 8 made for a more logical conversion from format to
modrm encoding.

I renumbered the format encodings to keep the register modrm
formats grouped together.
2020-06-19 22:24:24 -07:00
..
AArch64
Mips
PowerPC
X86 [X86] Ignore bits 2:0 of the modrm byte when disassembling lfence, mfence, and sfence. 2020-06-19 22:24:24 -07:00
Analysis.cpp
Analysis.h
Assembler.cpp
Assembler.h
BenchmarkCode.h
BenchmarkResult.cpp
BenchmarkResult.h
BenchmarkRunner.cpp [llvm-exegesis] Fix D80610. 2020-06-02 10:10:01 +02:00
BenchmarkRunner.h
Clustering.cpp
Clustering.h
CMakeLists.txt
CodeTemplate.cpp
CodeTemplate.h
Error.cpp
Error.h
LatencyBenchmarkRunner.cpp
LatencyBenchmarkRunner.h
LLVMBuild.txt
LlvmState.cpp
LlvmState.h
MCInstrDescView.cpp
MCInstrDescView.h
ParallelSnippetGenerator.cpp
ParallelSnippetGenerator.h
PerfHelper.cpp [llvm-exegesis] Make a few counter methods virtual to allow targets to provide target-specific support. 2020-05-28 12:38:25 -04:00
PerfHelper.h [llvm-exegesis] Make a few counter methods virtual to allow targets to provide target-specific support. 2020-05-28 12:38:25 -04:00
RegisterAliasing.cpp
RegisterAliasing.h
RegisterValue.cpp
RegisterValue.h
SchedClassResolution.cpp
SchedClassResolution.h
SerialSnippetGenerator.cpp
SerialSnippetGenerator.h
SnippetFile.cpp
SnippetFile.h
SnippetGenerator.cpp
SnippetGenerator.h Don't stash types that aren't copyable or moveable into a SmallVector 2020-05-02 19:13:06 +02:00
SnippetRepetitor.cpp
SnippetRepetitor.h
Target.cpp [llvm-exegesis] Fix D80610. 2020-06-02 10:10:01 +02:00
Target.h [llvm-exegesis] Fix D80610. 2020-06-02 10:10:01 +02:00
TargetSelect.h
UopsBenchmarkRunner.cpp
UopsBenchmarkRunner.h