#
fc02eeb2 |
| 13-Feb-2023 |
Philipp Tomsich <philipp.tomsich@vrull.eu> |
[RISCV] Add vendor-defined XTheadBb (basic bit-manipulation) extension
The vendor-defined XTHeadBb (predating the standard Zbb extension) extension adds some bit-manipulation extensions with somewha
[RISCV] Add vendor-defined XTheadBb (basic bit-manipulation) extension
The vendor-defined XTHeadBb (predating the standard Zbb extension) extension adds some bit-manipulation extensions with somewhat similar semantics as some of the Zbb instructions.
It is supported by the C9xx cores (e.g., found in the wild in the Allwinner D1) by Alibaba T-Head.
The current (as of this commit) public documentation for XTHeadBb is available from: https://github.com/T-head-Semi/thead-extension-spec/releases/download/2.2.2/xthead-2023-01-30-2.2.2.pdf
Support for these instructions has already landed in GNU Binutils: https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=8254c3d2c94ae5458095ea6c25446ba89134b9da
Depends on D143036
Reviewed By: craig.topper
Differential Revision: https://reviews.llvm.org/D143439
show more ...
|
#
04a2baf5 |
| 13-Feb-2023 |
Philipp Tomsich <philipp.tomsich@vrull.eu> |
[RISCV] Add vendor-defined XTHeadBs (single-bit) extension
The vendor-defined XTHeadBs (predating the standard Zbs extension) extension adds a bit-test instruction (th.tst) with similar semantics as
[RISCV] Add vendor-defined XTHeadBs (single-bit) extension
The vendor-defined XTHeadBs (predating the standard Zbs extension) extension adds a bit-test instruction (th.tst) with similar semantics as bexti from Zbs. It is supported by the C9xx cores (e.g., found in the wild in the Allwinner D1) by Alibaba T-Head.
The current (as of this commit) public documentation for XTHeadBs is available from: https://github.com/T-head-Semi/thead-extension-spec/releases/download/2.2.2/xthead-2023-01-30-2.2.2.pdf
Support for these instructions has already landed in GNU Binutils: https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=8254c3d2c94ae5458095ea6c25446ba89134b9da
Reviewed By: craig.topper
Differential Revision: https://reviews.llvm.org/D143036
show more ...
|
#
b3477f57 |
| 10-Feb-2023 |
Job Noorman <jnoorman@igalia.com> |
[RISCV] Add tests for .attribute stack_align
As suggested by @asb [here](https://reviews.llvm.org/D143570#4112877), we need tests for `.attribute stack_align`. This patch simply verifies a stack ali
[RISCV] Add tests for .attribute stack_align
As suggested by @asb [here](https://reviews.llvm.org/D143570#4112877), we need tests for `.attribute stack_align`. This patch simply verifies a stack alignment of 16 is emitted for any combination of currently supported base ISA and extensions.
Reviewed By: asb, kito-cheng
Differential Revision: https://reviews.llvm.org/D143639
show more ...
|
#
0bda1992 |
| 08-Feb-2023 |
Philipp Tomsich <philipp.tomsich@vrull.eu> |
Revert "[RISCV] Add vendor-defined XTHeadBs (single-bit) extension"
This reverts commit 656188ddc4075eb50260607b3497589873f373d2.
|
#
656188dd |
| 30-Jan-2023 |
Philipp Tomsich <philipp.tomsich@vrull.eu> |
[RISCV] Add vendor-defined XTHeadBs (single-bit) extension
The vendor-defined XTHeadBs (predating the standard Zbs extension) extension adds a bit-test instruction (th.tst) with similar semantics as
[RISCV] Add vendor-defined XTHeadBs (single-bit) extension
The vendor-defined XTHeadBs (predating the standard Zbs extension) extension adds a bit-test instruction (th.tst) with similar semantics as bexti from Zbs. It is supported by the C9xx cores (e.g., found in the wild in the Allwinner D1) by Alibaba T-Head.
The current (as of this commit) public documentation for XTHeadBs is available from: https://github.com/T-head-Semi/thead-extension-spec/releases/download/2.2.2/xthead-2023-01-30-2.2.2.pdf
Support for these instructions has already landed in GNU Binutils: https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=8254c3d2c94ae5458095ea6c25446ba89134b9da
Depends on D143394
Differential Revision: https://reviews.llvm.org/D143036
show more ...
|
#
e25b30d9 |
| 08-Feb-2023 |
Philipp Tomsich <philipp.tomsich@vrull.eu> |
[RISCV] Add vendor-defined XTHeadBa (address-generation) extension
The vendor-defined XTHeadBa (predating the standard Zba extension) extension adds an address-generation instruction (th.addsl) with
[RISCV] Add vendor-defined XTHeadBa (address-generation) extension
The vendor-defined XTHeadBa (predating the standard Zba extension) extension adds an address-generation instruction (th.addsl) with similar semantics as sh[123]add from Zba. It is supported by the C9xx cores (e.g., found in the wild in the Allwinner D1) by Alibaba T-Head.
The current (as of this commit) public documentation for XTHeadBa is available from: https://github.com/T-head-Semi/thead-extension-spec/releases/download/2.2.2/xthead-2023-01-30-2.2.2.pdf
Support for these instructions has already landed in GNU Binutils: https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=8254c3d2c94ae5458095ea6c25446ba89134b9da
Reviewed By: craig.topper
Differential Revision: https://reviews.llvm.org/D143029
show more ...
|
#
3d7a59bd |
| 29-Jan-2023 |
Craig Topper <craig.topper@sifive.com> |
[RISCV] Bump Zca, Zcb, Zcd, Zcf version to 1.0.
Differential Revision: https://reviews.llvm.org/D142596
|
#
42c36da9 |
| 26-Jan-2023 |
WuXinlong <821408745@qq.com> |
[RISCV] Add MC support of RISCV Zcb Extension
This patch add the instructions of Zcb extension.
Instructions in zcb extensions shorten part of bit manipulation instructions.
Co-authored-by: Craig
[RISCV] Add MC support of RISCV Zcb Extension
This patch add the instructions of Zcb extension.
Instructions in zcb extensions shorten part of bit manipulation instructions.
Co-authored-by: Craig Topper <craig.topper@sifive.com>
Reviewed By: craig.topper
Differential Revision: https://reviews.llvm.org/D131141
show more ...
|
#
f4c887c3 |
| 10-Jan-2023 |
Kito Cheng <kito.cheng@sifive.com> |
[RISCV] Add H extension
`h` was the prefix of multi-letter extension name, but it become a extension name in later RISC-V isa spec.
Fortunately we don't have any extension really defined is prefixe
[RISCV] Add H extension
`h` was the prefix of multi-letter extension name, but it become a extension name in later RISC-V isa spec.
Fortunately we don't have any extension really defined is prefixed with `h`, so we can just change that.
Reviewed By: reames
Differential Revision: https://reviews.llvm.org/D136817
show more ...
|
#
bd9c0f08 |
| 27-Dec-2022 |
Yeting Kuo <yeting.kuo@sifive.com> |
[RISCV] Add Svpbmt extension support.
Spec of Svpbmt: https://github.com/riscv/riscv-isa-manual/blob/master/src/supervisor.tex#L2399
Reviewed By: kito-cheng
Differential Revision: https://reviews.
[RISCV] Add Svpbmt extension support.
Spec of Svpbmt: https://github.com/riscv/riscv-isa-manual/blob/master/src/supervisor.tex#L2399
Reviewed By: kito-cheng
Differential Revision: https://reviews.llvm.org/D140692
show more ...
|
#
54752f3f |
| 09-Nov-2022 |
Jojo R <rjiejie@linux.alibaba.com> |
[RISCV] Implement assembler support for XTHeadVdot
This patch implements the T-Head vendor extensions (XTHeadVdot), which is documented here, it's based on standard vector extension v1.0: https://
[RISCV] Implement assembler support for XTHeadVdot
This patch implements the T-Head vendor extensions (XTHeadVdot), which is documented here, it's based on standard vector extension v1.0: https://github.com/T-head-Semi/thead-extension-spec
show more ...
|
#
219417b2 |
| 21-Nov-2022 |
WuXinlong <821408745@qq.com> |
[RISCV] Add CodeGen support and MC testcase of RISCV Zca Extension
This patch add the support of RISCV Zca ext
`Zca` is a subset of C extension instructions that are compatible with the Zc extensio
[RISCV] Add CodeGen support and MC testcase of RISCV Zca Extension
This patch add the support of RISCV Zca ext
`Zca` is a subset of C extension instructions that are compatible with the Zc extension.
So this patch implements Zca code generation with reference to the C extension and sets the 2-byte alignment for the Zca extension, just like C extension does.
Reviewed By: craig.topper
Differential Revision: https://reviews.llvm.org/D130483
show more ...
|
#
780c5398 |
| 14-Nov-2022 |
Philip Reames <preames@rivosinc.com> |
[RISCV] Implement assembler support for XVentanaCondOps
This change provides an implementation of the XVentanaCondOps vendor extension. This extension is defined in version 1.0.0 of the VTx-family c
[RISCV] Implement assembler support for XVentanaCondOps
This change provides an implementation of the XVentanaCondOps vendor extension. This extension is defined in version 1.0.0 of the VTx-family custom instructions specification (https://github.com/ventanamicro/ventana-custom-extensions/releases/download/v1.0.0/ventana-custom-extensions-v1.0.0.pdf) by Ventana Micro Systems.
In addition to the technical contribution, this change is intended to be a test case for our vendor extension policy.
Once this lands, I plan to use this extension to prototype selection lowering to conditional moves. There's an RVI proposal in flight, and the expectation is that lowering to these and the new RVI instructions is likely to be substantially similar.
Differential Revision: https://reviews.llvm.org/D137350
show more ...
|
#
7d7940fd |
| 26-Oct-2022 |
Piyou Chen <piyou.chen@sifive.com> |
[RISCV] add svinval extension
1. Add the svinval extension support 2. Add the svinval Predicates for its instruction
Note: the svinval instructions defined in https://reviews.llvm.org/D117654
Revi
[RISCV] add svinval extension
1. Add the svinval extension support 2. Add the svinval Predicates for its instruction
Note: the svinval instructions defined in https://reviews.llvm.org/D117654
Reviewed By: reames
Differential Revision: https://reviews.llvm.org/D136571
show more ...
|
#
f8b84268 |
| 24-Oct-2022 |
Piyou Chen <piyou.chen@sifive.com> |
[RISCV] Add Svnapot extension
Reviewed By: kito-cheng
Differential Revision: https://reviews.llvm.org/D136570
|
Revision tags: llvmorg-15.0.3, working, llvmorg-15.0.2 |
|
#
52708be1 |
| 22-Sep-2022 |
Craig Topper <craig.topper@sifive.com> |
[RISCV] Remove support for the unratified Zbe, Zbf, and Zbm extensions.
These extensions do not appear to be on their way to ratification.
|
#
182aa0cb |
| 22-Sep-2022 |
Craig Topper <craig.topper@sifive.com> |
[RISCV] Remove support for the unratified Zbp extension.
This extension does not appear to be on its way to ratification.
Still need some follow up to simplify the RISCVISD nodes.
|
#
70a64fe7 |
| 21-Sep-2022 |
Craig Topper <craig.topper@sifive.com> |
[RISCV] Remove support for the unratified Zbt extension.
This extension does not appear to be on its way to ratification.
Out of the unratified bitmanip extensions, this one had the largest impact
[RISCV] Remove support for the unratified Zbt extension.
This extension does not appear to be on its way to ratification.
Out of the unratified bitmanip extensions, this one had the largest impact on the compiler.
Posting this patch to start a discussion about whether we should remove these extensions. We'll talk more at the RISC-V sync meeting this Thursday.
Reviewed By: asb, reames
Differential Revision: https://reviews.llvm.org/D133834
show more ...
|
#
eda2af57 |
| 20-Sep-2022 |
Philip Reames <preames@rivosinc.com> |
[RISCV][MC] Add support for experimental Zawrs extension
This implements experimental support for the Zawrs extension as specified here: https://github.com/riscv/riscv-zawrs/releases/download/V1.0-r
[RISCV][MC] Add support for experimental Zawrs extension
This implements experimental support for the Zawrs extension as specified here: https://github.com/riscv/riscv-zawrs/releases/download/V1.0-rc3/Zawrs.pdf. Despite the 1.0 version name, this has not been ratified and there was a major change to proposed specification between rc2 and rc3. Once this is ratified, it'll move out of experimental status.
This change adds assembly support, but does not include C language or IR intrinsics. We can decide if we want them, and handle that in a separate patch.
Differential Revision: https://reviews.llvm.org/D133443
show more ...
|
Revision tags: llvmorg-15.0.1 |
|
#
a4a29438 |
| 07-Sep-2022 |
Philip Reames <preames@rivosinc.com> |
[RISCV][MC] Add minimal support for Ztso extension
This is a minimalist implementation which simply adds the extension (in the experimental namespace since its not ratified), and wires up the settin
[RISCV][MC] Add minimal support for Ztso extension
This is a minimalist implementation which simply adds the extension (in the experimental namespace since its not ratified), and wires up the setting of the required ELF header flag. Future changes will include codegen changes to exploit the stronger memory model.
This is intended to implement v0.1 of the proposed specification which can be found in Chapter 25 of https://github.com/riscv/riscv-isa-manual/releases/download/draft-20220723-10eea63/riscv-spec.pdf.
Differential Revision: https://reviews.llvm.org/D133239
show more ...
|
Revision tags: llvmorg-15.0.0, llvmorg-15.0.0-rc3 |
|
#
7167a420 |
| 22-Aug-2022 |
Shao-Ce SUN <sunshaoce@iscas.ac.cn> |
[RISCV] Add zihintntl instructions
Reviewed By: kito-cheng
Differential Revision: https://reviews.llvm.org/D121670
|
Revision tags: llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init |
|
#
3198364e |
| 26-Jun-2022 |
ksyx <18738953+ksyx@users.noreply.github.com> |
[RISCV][Clang] Add support for Zmmul extension
This patch implements recently ratified extension Zmmul, a subextension of M (Integer Multiplication and Division) consisting only multiplication part
[RISCV][Clang] Add support for Zmmul extension
This patch implements recently ratified extension Zmmul, a subextension of M (Integer Multiplication and Division) consisting only multiplication part of it.
Differential Revision: https://reviews.llvm.org/D103313 Reviewed By: craig.topper, jrtc27, asb
show more ...
|
#
7bcfcabb |
| 28-Jun-2022 |
Alex Bradbury <asb@igalia.com> |
[RISCV] Implement support for the Zicbop extension
Implements the ratified RISC-V Base Cache Management Operation ISA Extension: Zicbop, as described in https://github.com/riscv/riscv-CMOs/blob/mast
[RISCV] Implement support for the Zicbop extension
Implements the ratified RISC-V Base Cache Management Operation ISA Extension: Zicbop, as described in https://github.com/riscv/riscv-CMOs/blob/master/specifications/cmobase-v1.0.pdf.
This is implemented in a separate patch to Zicbom and Zicboz due to it requiring a new ASM operand type to be defined.
Differential Revision: https://reviews.llvm.org/D117433
show more ...
|
#
4f40ca53 |
| 28-Jun-2022 |
Alex Bradbury <asb@igalia.com> |
[RISCV] Implement support for the Zicbom and Zicboz extensions
Implements the ratified RISC-V Base Cache Management Operation ISA Extensions: Zicbom and Zicboz, as described in https://github.com/ri
[RISCV] Implement support for the Zicbom and Zicboz extensions
Implements the ratified RISC-V Base Cache Management Operation ISA Extensions: Zicbom and Zicboz, as described in https://github.com/riscv/riscv-CMOs/blob/master/specifications/cmobase-v1.0.pdf.
Zicbop is implemented in a separate patch due to it requiring a new ASM operand type to be defined.
As discussed in the relevant issue in the upstream spec https://github.com/riscv/riscv-CMOs/issues/47, the cbo.* instructions use the format (rs1) or 0(rs1) for their operand, similar to the AMOs.
Differential Revision: https://reviews.llvm.org/D117432
show more ...
|
Revision tags: llvmorg-14.0.6, llvmorg-14.0.5, llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1, llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2 |
|
#
550b2eaa |
| 11-Feb-2022 |
eopXD <eop.chen@sifive.com> |
[RISCV] Add combination crypto extensions in ISAInfo
The crypto extension have several shorthand extensions that don't consist of any extra instructions. Take `zk` for example, while the extension w
[RISCV] Add combination crypto extensions in ISAInfo
The crypto extension have several shorthand extensions that don't consist of any extra instructions. Take `zk` for example, while the extension would imply `zkn, zkr, zkt`. The 3 extensions should also combine back into `zk` to maintain the canonical order in isa strings.
This patch addresses the above.
Reviewed By: VincentWu
Differential Revision: https://reviews.llvm.org/D119530
show more ...
|