RFR: 8320347: Emulate vblendvp[sd] on ECore [v7]
Jatin Bhateja
jbhateja at openjdk.org
Mon Nov 27 15:54:13 UTC 2023
On Mon, 27 Nov 2023 15:15:04 GMT, Volodymyr Paprotski <duke at openjdk.org> wrote:
> > There are few other usages of variable blends in following methods, please call new macro assembly routines in its place. C2_MacroAssembler::vector_cast_double_to_int_special_cases_avx C2_MacroAssembler::vector_count_leading_zeros_int_avx C2_MacroAssembler::vector_cast_float_to_int_special_cases_avx
>
> I considered it. To change it however, I need to understand what each of those functions are doing, write (of find) a test case and verify that the test case is indeed verifying my change (i.e. both functional assembly logs and performance benchmark)..
>
> (It looks like the new macro assembler should be 'completely safe' but.. just looking at this PR, I would rather be thorough)
We just need to replace all existing occurrences of variable blends with new macro assembly routine call, they already compute the mask, you will have to pass additional false argument. Since the patch emulates blends with special sequence for E-Cores lets the benefit also reach operations.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/16716#issuecomment-1828106455
More information about the hotspot-dev
mailing list