[all-commits] [llvm/llvm-project] 1ca809: [X86][MC] Support encoding/decoding for APX CCMP/C...
Shengchen Kan via All-commits
all-commits at lists.llvm.org
Fri Mar 8 04:54:54 PST 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 1ca8092e87aea58f1c3752d03c20bdfc4259e409
https://github.com/llvm/llvm-project/commit/1ca8092e87aea58f1c3752d03c20bdfc4259e409
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-03-08 (Fri, 08 Mar 2024)
Changed paths:
M llvm/include/llvm/Support/X86DisassemblerDecoderCommon.h
M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
M llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
M llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.h
M llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h
M llvm/lib/Target/X86/MCTargetDesc/X86InstPrinterCommon.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86InstPrinterCommon.h
M llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
M llvm/lib/Target/X86/X86InstrAsmAlias.td
A llvm/lib/Target/X86/X86InstrConditionalCompare.td
M llvm/lib/Target/X86/X86InstrFormats.td
M llvm/lib/Target/X86/X86InstrInfo.td
M llvm/lib/Target/X86/X86InstrOperands.td
A llvm/test/MC/Disassembler/X86/apx/ccmp.txt
M llvm/test/MC/Disassembler/X86/apx/reverse-encoding.txt
A llvm/test/MC/X86/apx/ccmp-att-error.s
A llvm/test/MC/X86/apx/ccmp-att.s
A llvm/test/MC/X86/apx/ccmp-intel-error.s
A llvm/test/MC/X86/apx/ccmp-intel.s
M llvm/test/TableGen/x86-fold-tables.inc
M llvm/tools/llvm-exegesis/lib/X86/Target.cpp
M llvm/utils/TableGen/X86RecognizableInstr.cpp
M llvm/utils/TableGen/X86RecognizableInstr.h
Log Message:
-----------
[X86][MC] Support encoding/decoding for APX CCMP/CTEST (#83863)
APX assembly syntax recommendations:
https://cdrdv2.intel.com/v1/dl/getContent/817241
NOTE:
The change in llvm/tools/llvm-exegesis/lib/X86/Target.cpp is for test
LLVM ::
tools/llvm-exegesis/X86/latency/latency-SETCCr-cond-codes-sweep.s
For `SETcc`, llvm-exegesis would randomly choose 1 other instruction to
test with `SETcc`, after selecting the instruction, llvm-exegesis would
check if the operand is initialized and valid, if not
`randomizeTargetMCOperand` would choose a value for invalid operand, it
misses support for condition code operand, which cause the flaky failure
after `CCMP` supported.
llvm-exegesis can choose `CCMP` without specifying ccmp feature b/c it
use `MCSubtarget` and only16/32/64 bit is considered.
llvm-exegesis doesn't choose other instructions b/c requirement in
`hasAliasingRegistersThrough`: the instruction should use GPR (defined
by `SETcc`) and define `EFLAGS` (used by `SETcc`).
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list