RFR: 8051725: Improve expansion of Conv2B nodes in the middle-end [v3]
Fei Yang
fyang at openjdk.org
Fri Apr 28 04:11:22 UTC 2023
On Tue, 25 Apr 2023 02:46:17 GMT, Jasmine Karthikeyan <jkarthikeyan at openjdk.org> wrote:
>> Hello, I wonder if we could make this transformation of Conv2B conditional? Architectures like RISC-V doesn't have support of conditional moves at the ISA level for now. So we set ConditionalMoveLimit parameter to 0 for this platform and conditionals moves are emulated with normal compare and branch instructions instead [1]. I don't think we would achieve better performance numbers on this platform with this change.
>>
>> [1] https://github.com/openjdk/jdk/blob/master/src/hotspot/cpu/riscv/riscv.ad#L9583
>
> Hey @RealFYang, thanks for this info! I wasn't aware that RISC-V didn't have conditional moves, and I agree that it doesn't sound like this transform would be so profitable there. To make the transformation conditional I've moved it to post loop opts IGVN, and only run it if the match rule for `Conv2B` isn't found. In an effort to not accidentally cause performance regressions, I've limited the transform to x86_64, aarch64, and arm32.
>
> @merykitty I've also implemented your change with idealization and would like your thoughts on it, thanks!
>
> I'll attach aarch64 perf results soon.
@jaskarth : Thanks for taking care of that. I performed tier1-3 tests on linux-riscv64 platform, result looks good.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/13345#issuecomment-1526952806
More information about the hotspot-compiler-dev
mailing list