Update scalar AVX10 floating point min/max definitions

XMLWordPrintable

    • Type: Enhancement
    • Resolution: Unresolved
    • Priority: P4
    • tbd
    • Affects Version/s: None
    • Component/s: hotspot
    • None
    • x86_64
    • generic

      In cases where auto-vectorization applies to loops with min/max comparisons, the corresponding SIMD instructions (VMINMAX[PH,PS,PD]) are used and provide significant performance boosts from increased parallelization. However, the scalar instruction variants (VMINMAX[SH,SS,SD]) are currently applied when auto-vectorization isn't possible. The primary example of this is a min/max reduction loop.

      On platforms that don't support the AVX10 ISA, a distinct sequence of instructions is used in place of the scalar min/max instructions for specification compliance. This approach may also be beneficial from a performance perspective for platforms that support AVX10. The key difference is that AVX10 floating comparison instructions (VUCOMX[SS,SD]) should be used instead of the non-AVX10 ones (UCOMI[SS,SD]) in replacement instruction sequence.

            Assignee:
            Mohamed Issa
            Reporter:
            Mohamed Issa
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: