RFR: 8267356: AArch64: Vector API SVE codegen support [v2]

Andrew Haley aph at openjdk.java.net
Tue Jul 27 08:19:30 UTC 2021


On Tue, 27 Jul 2021 05:40:13 GMT, Ningsheng Jian <njian at openjdk.org> wrote:

>>> we still need to map c2 specific condition value in BoolTest to instruction condition encoding
>> 
>> You'd still need a way to do that mapping, but it'd be a simple switch in a function that does the conversion to Assembler::Condition. Then you'd just have e.g. sve_cmp(GE, xword ...) and most of this code would disappear. You wouldn't need all the Assembler functions, either.
>
>> 
>> You'd still need a way to do that mapping, but it'd be a simple switch in a function that does the conversion to Assembler::Condition. Then you'd just have e.g. sve_cmp(GE, xword ...) and most of this code would disappear. You wouldn't need all the Assembler functions, either.
> 
> But Assembler::Condition cannot be encoded to vector compare instructions directly, which means that we need two switch mappings: BoolTest --> Assembler::Condition --> vector compare encodings. That looks more complicated than current implementation?

Ah, true, SVE conditions are (of course!) different from scalar conditions. But that's still no more than a mapping function from c2-specific cond to SVE codes, isn't it? But I take your point, it's not so obvious as I thought.
(Re the "aligning with Neon" argument: I let a lot of things through in the past, which I now regret. I should have pushed back harder.)

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

PR: https://git.openjdk.java.net/jdk/pull/4122


More information about the hotspot-compiler-dev mailing list