Revision tags: llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5 |
|
#
29f11f0a |
| 22-Nov-2024 |
Simon Pilgrim <llvm-dev@redking.me.uk> |
[X86] Add missing reg/imm attributes to VRNDSCALES instruction names (#117203)
More canonicalization of the instruction names to make the predictable - more closely matches VRNDSCALEP / VROUND equiv
[X86] Add missing reg/imm attributes to VRNDSCALES instruction names (#117203)
More canonicalization of the instruction names to make the predictable - more closely matches VRNDSCALEP / VROUND equivalent instructions
show more ...
|
Revision tags: llvmorg-19.1.4 |
|
#
dfe43bd1 |
| 09-Nov-2024 |
Kazu Hirata <kazu@google.com> |
[X86] Remove unused includes (NFC) (#115593)
Identified with misc-include-cleaner.
|
Revision tags: llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0 |
|
#
614a064c |
| 15-Sep-2024 |
Simon Pilgrim <llvm-dev@redking.me.uk> |
[X86] Add missing immediate qualifier to the (V)INSERT/EXTRACT/PERM2 instruction names (#108593)
Makes it easier to algorithmically recreate the instruction name in various analysis scripts I'm work
[X86] Add missing immediate qualifier to the (V)INSERT/EXTRACT/PERM2 instruction names (#108593)
Makes it easier to algorithmically recreate the instruction name in various analysis scripts I'm working on
show more ...
|
Revision tags: llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init |
|
#
bdc7840c |
| 19-Jun-2024 |
Shengchen Kan <shengchen.kan@intel.com> |
[X86][CodeGen] Share code between CompressEVEX pass and ND2NonND transform, NFCI
|
Revision tags: llvmorg-18.1.8, llvmorg-18.1.7 |
|
#
9c4bae7c |
| 29-May-2024 |
Shengchen Kan <shengchen.kan@intel.com> |
[X86][CodeGen] Disable NDD2NonNDD compression for CFCMOV
|
#
a9e8a3a1 |
| 29-May-2024 |
Shengchen Kan <shengchen.kan@intel.com> |
[X86][CodeGen] Extend X86CompressEVEX for NF transform
|
#
17ecd23f |
| 28-May-2024 |
Shengchen Kan <shengchen.kan@intel.com> |
[X86][tablgen] Extend X86CompressEVEXTablesEmitter for NF transform
The generated table will be used in #93508
|
Revision tags: llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1 |
|
#
420928b2 |
| 01-Mar-2024 |
Shengchen Kan <shengchen.kan@intel.com> |
[X86][CodeGen] Fix compile crash in EVEX compression for corner case
The base register of OPmi_ND may be allocated to the same physic register as the ND operand.
OPmi_ND is not compressible b/c it
[X86][CodeGen] Fix compile crash in EVEX compression for corner case
The base register of OPmi_ND may be allocated to the same physic register as the ND operand.
OPmi_ND is not compressible b/c it has different semnatic from OPmi. In this case, `isRedundantNewDataDest` should return false, otherwise we would get error
Assertion `!IsNDLike && "Missing entry for ND-like instruction"' failed.
show more ...
|
Revision tags: llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2 |
|
#
2acf302c |
| 30-Jan-2024 |
Shengchen Kan <shengchen.kan@intel.com> |
[X86][NFC] X86CompressEVEX.cpp - Simplify code after 0c623b58e39cba7e67a0049dbcac87fdcc0103e1
|
#
0c623b58 |
| 30-Jan-2024 |
Simon Pilgrim <llvm-dev@redking.me.uk> |
[X86] X86CompressEVEX.cpp - ensure we tie the operands on MOVBErr instructions
Minor correction for #79775 - noticed in EXPENSIVE_CHECKS builds
|
#
7a51aead |
| 30-Jan-2024 |
Jie Fu <jiefu@tencent.com> |
[X86] Silence -Wlogical-op-parentheses in X86CompressEVEX.cpp (NFC)
llvm-project/llvm/lib/Target/X86/X86CompressEVEX.cpp:233:15: error: '&&' within '||' [-Werror,-Wlogical-op-parentheses] if (!I
[X86] Silence -Wlogical-op-parentheses in X86CompressEVEX.cpp (NFC)
llvm-project/llvm/lib/Target/X86/X86CompressEVEX.cpp:233:15: error: '&&' within '||' [-Werror,-Wlogical-op-parentheses] if (!IsND && !IsMovberr || !isRedundantNewDataDest(MI, ST)) ~~~~~~^~~~~~~~~~~~~ ~~ llvm-project/llvm/lib/Target/X86/X86CompressEVEX.cpp:233:15: note: place parentheses around the '&&' expression to silence this warning if (!IsND && !IsMovberr || !isRedundantNewDataDest(MI, ST)) ^ ( ) 1 error generated.
show more ...
|
#
1a219e98 |
| 30-Jan-2024 |
XinWang10 <108658776+XinWang10@users.noreply.github.com> |
[X86] Support EVEX compression from MOVBErr to BSWAP (#79775)
APX promoted MOVBE instructions were supported in #77431. The reg2reg
variants of MOVBE are newly introduced by APX and can be optimize
[X86] Support EVEX compression from MOVBErr to BSWAP (#79775)
APX promoted MOVBE instructions were supported in #77431. The reg2reg
variants of MOVBE are newly introduced by APX and can be optimized to
BSWAP instruction when the 2 register operands are same.
This patch adds manual entries for MOVBErr instructions when we do ndd
to non-ndd compression #77731.
RFC:
https://discourse.llvm.org/t/rfc-design-for-apx-feature-egpr-and-ndd-support/73031/4
show more ...
|
Revision tags: llvmorg-18.1.0-rc1, llvmorg-19-init |
|
#
66237d64 |
| 23-Jan-2024 |
Shengchen Kan <shengchen.kan@intel.com> |
[X86][CodeGen] Add entries for NDD SHLD/SHRD to the commuteInstructionImpl
|
#
c2bef33c |
| 22-Jan-2024 |
Shengchen Kan <shengchen.kan@intel.com> |
[X86][NFC] Auto-generate the function to check predicate for EVEX compression
|
#
4f71068b |
| 12-Jan-2024 |
Shengchen Kan <shengchen.kan@intel.com> |
[X86] Correct the asm comment for compression NF_ND -> NF
|
#
9095eec0 |
| 12-Jan-2024 |
Shengchen Kan <shengchen.kan@intel.com> |
[X86][CodeGen] Support EVEX compression: NDD to nonNDD (#77731)
|
#
fb72a445 |
| 08-Jan-2024 |
Shengchen Kan <shengchen.kan@intel.com> |
[X86] Emit NDD2NonNDD entris in the EVEX comprerssion table, NFCI
This patch is a straightfoward change based on the design in #77202. It does not have any effect since we haven't supported compress
[X86] Emit NDD2NonNDD entris in the EVEX comprerssion table, NFCI
This patch is a straightfoward change based on the design in #77202. It does not have any effect since we haven't supported compressing ND to non-ND in X86CompressEVEX.cpp.
show more ...
|
#
1c674666 |
| 08-Jan-2024 |
Shengchen Kan <shengchen.kan@intel.com> |
[X86] Support EVEX compression for EGPR (#77202)
Compress promoted instruction (EVEX) to pre-promotion instruction
(legacy/VEX) when R16-R31 is not used.
Alternative of #77065
|
#
93c8468c |
| 08-Jan-2024 |
Shengchen Kan <shengchen.kan@intel.com> |
[X86][NFC] Remove duplicate comments in X86CompressEVEX.cpp
|
#
61bb3d49 |
| 06-Jan-2024 |
Shengchen Kan <shengchen.kan@intel.com> |
[X86][NFC] Avoid uselss iterations when emitting EVEX compression table
BTW, we relax the condition for EVEX compression from ST.hasAVX512() to ST.hasEGPR() || ST.hasAVX512(). It does not have any e
[X86][NFC] Avoid uselss iterations when emitting EVEX compression table
BTW, we relax the condition for EVEX compression from ST.hasAVX512() to ST.hasEGPR() || ST.hasAVX512(). It does not have any effect now b/c no APX instruction is in the EVEX compression table so far.
This patch is to extract NFC in #77065 into a separate commit.
show more ...
|
#
0abf3a93 |
| 06-Jan-2024 |
Shengchen Kan <shengchen.kan@intel.com> |
[X86][NFC] Use single table for EVEX compression
This patch is to address my review comments in #77065 to simplify the implemention of EVEX2Legacy compression.
|
#
a5902a4d |
| 06-Jan-2024 |
Shengchen Kan <shengchen.kan@intel.com> |
[X86][NFC] Rename variables/passes for EVEX compression optimization
RFC: https://discourse.llvm.org/t/rfc-design-for-apx-feature-egpr-and-ndd-support/73031
APX introduces EGPR, NDD and NF instruct
[X86][NFC] Rename variables/passes for EVEX compression optimization
RFC: https://discourse.llvm.org/t/rfc-design-for-apx-feature-egpr-and-ndd-support/73031
APX introduces EGPR, NDD and NF instructions. In addition to compressing EVEX encoded AVX512 instructions into VEX encoding, we also have several more possible optimizations.
a. Promoted instruction (EVEX space) -> pre-promotion instruction (legacy space) b. NDD (EVEX space) -> non-NDD (legacy space) c. NF_ND (EVEX space) -> NF (EVEX space)
The first two types of compression can usually reduce code size, while the third type of compression can help hardware decode although the instruction length remains unchanged.
So we do the renaming for the upcoming APX optimizations.
BTW, I clang-format the code in X86CompressEVEX.cpp, X86CompressEVEXTablesEmitter.cpp.
This patch also extracts the NFC in #77065 into a separate commit.
show more ...
|