RFR: 8320725: C2: Add "requires_strict_order" flag for floating-point add-reduction [v8]

Bhavana Kilambi bkilambi at openjdk.org
Tue May 7 15:36:57 UTC 2024


On Tue, 7 May 2024 13:21:35 GMT, Emanuel Peter <epeter at openjdk.org> wrote:

> Sorry for the delay, I'm really excited about this one, just had to get some more critical things done recently ;)

Thanks for the review. I will update my patch soon with your suggestions. Apologies for not making changes in the test* directory regarding the UnorderedReduction node which is now deleted but some tests seem to exist.

> src/hotspot/cpu/aarch64/aarch64_vector.ad line 2907:
> 
>> 2905:   format %{ "reduce_addF_sve $dst_src1, $dst_src1, $src2" %}
>> 2906:   ins_encode %{
>> 2907:     assert(UseSVE > 0, "must be sve");
> 
> Is there no way we would now run into this assert?
> 
>   static bool use_neon_for_vector(int vector_length_in_bytes) {
>     return vector_length_in_bytes <= 16;
>   }
> 
> Does `vector_length_in_bytes > 16` imply that we have `UseSVE > 0`?

Yes, if `vector_length_in_bytes > 16`, it does imply `UseSVE > 0` as we do not have machines which have vector length > 16 with only Neon (or UseSVE == 0).

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

PR Comment: https://git.openjdk.org/jdk/pull/18034#issuecomment-2098737087
PR Review Comment: https://git.openjdk.org/jdk/pull/18034#discussion_r1592690587


More information about the hotspot-compiler-dev mailing list