RFR: 8320347: Emulate vblendvp[sd] on ECore [v7]

Volodymyr Paprotski duke at openjdk.org
Mon Nov 27 17:40:10 UTC 2023


On Mon, 27 Nov 2023 15:51:45 GMT, Jatin Bhateja <jbhateja 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 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.

Filed https://bugs.openjdk.org/browse/JDK-8320794 to follow up on rest of blend instances

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

PR Comment: https://git.openjdk.org/jdk/pull/16716#issuecomment-1828314672


More information about the hotspot-compiler-dev mailing list