[riscv-port] RFR: 8278994: riscv: RVC support [v2]

Xiaolin Zheng xlinzheng at openjdk.java.net
Fri Dec 24 08:15:46 UTC 2021


On Fri, 24 Dec 2021 07:55:24 GMT, Xiaolin Zheng <xlinzheng at openjdk.org> wrote:

>> Hi team,
>> 
>> This patch includes the basic definition of the RVC instruction set and some cleanups. Tested a simple `test/hotspot/jtreg/compiler/` folder on qemu.
>> 
>> Thanks,
>> Xiaolin
>
> Xiaolin Zheng has updated the pull request incrementally with three additional commits since the last revision:
> 
>  - Cover most RVC instructions by using CompressibleRegion to cover minimal functions in C2
>  - Revise as proposed comments, including
>    - Fix macros in assembler_riscv_c.hpp
>    - Remove UncompressibleRegion
>    - Modify comments
>    - Change names: C-Ext to RVC
>  - Enable RVC instructions (based on the basic patch)

Thanks for your reviews, Felix. In the morning Yadong discussed with me your review comments, so I have pushed additional patches to ensure nearly all functions I defined have been properly 'use'd. I think that might increase the burden to review this patch because of the new changes, and I feel quite sorry for that.

Now excluding `c.beqz`, `c.bnez` and `c.j`, which need to be supported in `MachBranchNode`s afterward by Wei Kuai, all RVC instructions have been covered in usage by adding `CompressibleRegion`s in the ad file. Also, I revised the comments in the code based on your suggestions and hope they look good.

This may need another period to review so no rush. Also, due to [Wei Kuai's code](https://github.com/openjdk/riscv-port/blob/dbc763edfbee277125283fdd0cf98f46d42f5e12/src/hotspot/cpu/riscv/riscv.ad#L1193-L1219) is added into this patch now, I assume I should add him as a co-author of this patch.

Hmm. Hope this time it could succeed.

-------------

PR: https://git.openjdk.java.net/riscv-port/pull/34


More information about the riscv-port-dev mailing list