[riscv-port] RFR: 8279346: riscv: Unnecessary sign extension in BigInteger intrinsics
Yanhong Zhu
yzhu at openjdk.java.net
Fri Dec 31 09:18:52 UTC 2021
Reference: https://github.com/riscv-non-isa/riscv-elf-psabi-doc
" Scalars that are at most XLEN bits wide are passed in a single argument register, or on the stack by value if none is available.
When passed in registers or on the stack, integer scalars narrower than XLEN bits are widened according to the sign of their type up to 32 bits, then sign-extended to XLEN bits.
When passed in registers or on the stack, floating-point types narrower than XLEN bits are widened to XLEN bits, with the upper bits undefined."
So there is no need to do sign extension for signed integer input parameters.
-------------
Commit messages:
- 8279346: riscv: Unnecessary sign extension in BigInteger intrinsics
Changes: https://git.openjdk.java.net/riscv-port/pull/40/files
Webrev: https://webrevs.openjdk.java.net/?repo=riscv-port&pr=40&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8279346
Stats: 41 lines in 4 files changed: 4 ins; 8 del; 29 mod
Patch: https://git.openjdk.java.net/riscv-port/pull/40.diff
Fetch: git fetch https://git.openjdk.java.net/riscv-port pull/40/head:pull/40
PR: https://git.openjdk.java.net/riscv-port/pull/40
More information about the riscv-port-dev
mailing list