Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Optimize scalar conversions with AVX512 #84384

Merged
merged 41 commits into from
Jul 16, 2023

Commits on Jun 18, 2023

  1. fixing the JITDbl2Ulng helper function. The new AVX512 instruction vc…

    …vtsd2usi uses ulong.max_value to show FPE for negative, NAN and ulong_max + 1 values.
    khushal1996 committed Jun 18, 2023
    Configuration menu
    Copy the full SHA
    7d764be View commit details
    Browse the repository at this point in the history
  2. Making changes to the library test case expected output based on the …

    …architecture. This is because we have changed the JITDbl2Ulng helper function to mimic the new IEEE compliant AVX512 instruction vcvtsd2usi. In the process, we needed to update the library test case because the default Floating Point Error (FPE) value for the new instruction is different from the default MSVC FPE value i.e. 0.
    khushal1996 committed Jun 18, 2023
    Configuration menu
    Copy the full SHA
    f50408b View commit details
    Browse the repository at this point in the history
  3. Fixing the JITDbl2Ulng helper function. Also making sure that we are …

    …not changing the library test case but the API to make sure NaN cases are handled.
    khushal1996 committed Jun 18, 2023
    Configuration menu
    Copy the full SHA
    f018095 View commit details
    Browse the repository at this point in the history
  4. reverting jitformat

    khushal1996 committed Jun 18, 2023
    Configuration menu
    Copy the full SHA
    ffe97cd View commit details
    Browse the repository at this point in the history
  5. Adding a truncate function to the Dbl2Ulng helper to make sure we avo…

    …id handling edge cases (-1,0) separately inside the helper.
    khushal1996 committed Jun 18, 2023
    Configuration menu
    Copy the full SHA
    a8ee861 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    bbd8a8b View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    a21a077 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    1e3415a View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    c788c67 View commit details
    Browse the repository at this point in the history
  10. merging with main. Picking up hwintrinsiclistxarh from main

    trying to return EA_4BYTE for INS_vcvttss2usi to make sure that we read dword and not qword for float to ulong
    khushal1996 committed Jun 18, 2023
    Configuration menu
    Copy the full SHA
    fbb2a90 View commit details
    Browse the repository at this point in the history
  11. jit format

    khushal1996 committed Jun 18, 2023
    Configuration menu
    Copy the full SHA
    9fece01 View commit details
    Browse the repository at this point in the history
  12. Splitting vcvttss2usi to vcvttss2usi32 and vcvttss2usi64. Also adding…

    … a special handling for vcvttss2usi64 to make sure we read only dword instead of qword for float to ulong conversion
    khushal1996 committed Jun 18, 2023
    Configuration menu
    Copy the full SHA
    b40cd8e View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    710026e View commit details
    Browse the repository at this point in the history
  14. removing unused code and correcting throughput and latency informatio…

    …n for vcvttsd2usi, vcvttusi2sd32/64
    khushal1996 committed Jun 18, 2023
    Configuration menu
    Copy the full SHA
    75e6acf View commit details
    Browse the repository at this point in the history
  15. correcting throughput and latency for vcvttss2usi32 and placing it wi…

    …th other similar instructions
    khushal1996 committed Jun 18, 2023
    Configuration menu
    Copy the full SHA
    e15be4b View commit details
    Browse the repository at this point in the history
  16. formatting

    khushal1996 committed Jun 18, 2023
    Configuration menu
    Copy the full SHA
    10e2876 View commit details
    Browse the repository at this point in the history
  17. formatting

    khushal1996 committed Jun 18, 2023
    Configuration menu
    Copy the full SHA
    9463173 View commit details
    Browse the repository at this point in the history
  18. updating comments

    khushal1996 committed Jun 18, 2023
    Configuration menu
    Copy the full SHA
    4f7bb67 View commit details
    Browse the repository at this point in the history
  19. updating code for github comments. Using compIsaSupportedDebugOnly fo…

    …r nowayasserts and also checking for float and doubel both in lowercast for overflow and conversion to ulong
    khushal1996 committed Jun 18, 2023
    Configuration menu
    Copy the full SHA
    a99725c View commit details
    Browse the repository at this point in the history
  20. reverting to original checks for ISA supported Debug only because the…

    …y are not available in release mode
    khushal1996 committed Jun 18, 2023
    Configuration menu
    Copy the full SHA
    44390b2 View commit details
    Browse the repository at this point in the history
  21. running jitformat

    khushal1996 committed Jun 18, 2023
    Configuration menu
    Copy the full SHA
    2f20ef3 View commit details
    Browse the repository at this point in the history
  22. running jitformat

    khushal1996 committed Jun 18, 2023
    Configuration menu
    Copy the full SHA
    b7dff8a View commit details
    Browse the repository at this point in the history
  23. combine the 2 nodes GT_CAST(GT_CAST(TYP_ULONG, TYP_DOUBLE), TYP_FLOAT…

    …) into a single node i.e. GT_CAST(TYP_ULONG, TYP_FLOAT)
    khushal1996 committed Jun 18, 2023
    Configuration menu
    Copy the full SHA
    9622f78 View commit details
    Browse the repository at this point in the history
  24. merging with main and updating hwintrinsiclistxarch to take into cons…

    …ideration 32bit and 64 bit version of vcvttss2usi.
    khushal1996 committed Jun 18, 2023
    Configuration menu
    Copy the full SHA
    d3b542f View commit details
    Browse the repository at this point in the history

Commits on Jun 19, 2023

  1. Changing noway_assert to assert to make sure compOpportunisticallyDep…

    …endsOn only runs in debug mode.
    khushal1996 committed Jun 19, 2023
    Configuration menu
    Copy the full SHA
    8343e18 View commit details
    Browse the repository at this point in the history
  2. running jitformat

    khushal1996 committed Jun 19, 2023
    Configuration menu
    Copy the full SHA
    e456763 View commit details
    Browse the repository at this point in the history

Commits on Jun 20, 2023

  1. Changing compOpportunisticallyDependsOn to compIsaSupportedDebugOnly …

    …in asserts aka code review changes
    khushal1996 committed Jun 20, 2023
    Configuration menu
    Copy the full SHA
    fdb28c6 View commit details
    Browse the repository at this point in the history

Commits on Jun 22, 2023

  1. Making code review changes. Moving around the comOpportunisticallyDep…

    …endsOn checks to make sure they are ran only if we need AVX512. These checks being costly, moving them to the innermost checks in nested if checks.
    khushal1996 committed Jun 22, 2023
    Configuration menu
    Copy the full SHA
    e9ff179 View commit details
    Browse the repository at this point in the history

Commits on Jun 23, 2023

  1. Configuration menu
    Copy the full SHA
    db2a0cb View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    167b563 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    b02a96c View commit details
    Browse the repository at this point in the history

Commits on Jun 30, 2023

  1. Configuration menu
    Copy the full SHA
    fc0d127 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9b56b86 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    930c473 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    b2ae110 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    0439e28 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    2166ae5 View commit details
    Browse the repository at this point in the history

Commits on Jul 5, 2023

  1. Configuration menu
    Copy the full SHA
    e2a6029 View commit details
    Browse the repository at this point in the history

Commits on Jul 14, 2023

  1. Configuration menu
    Copy the full SHA
    715fc7e View commit details
    Browse the repository at this point in the history

Commits on Jul 15, 2023

  1. Configuration menu
    Copy the full SHA
    dc6e41a View commit details
    Browse the repository at this point in the history

Commits on Jul 16, 2023

  1. Configuration menu
    Copy the full SHA
    b1a31aa View commit details
    Browse the repository at this point in the history