Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Dismiss Notice

Bug Error in X86.Sse4_2.crc32_u64 intrinsic definition

Discussion in 'Burst' started by Mariusz_H, Feb 4, 2022.

  1. Mariusz_H

    Mariusz_H

    Joined:
    May 4, 2018
    Posts:
    18
    In Burst intrinsics it is defined as:
    public static ulong crc32_u64(ulong crc_ul, long v)

    According to Intel and Microsoft spec it should be defined as:
    public static ulong crc32_u64(ulong crc_ul, ulong v)


    It might be also worth pointing in the documentation that SSE4.2 crc32 intrinsics calculate CRC-32C not classic CRC-32 (these algorithms have different base polynomials and generate different results).
     
    Last edited: Feb 4, 2022
    Jouni-Mannonen likes this.
  2. Yury-Habets

    Yury-Habets

    Unity Technologies

    Joined:
    Nov 18, 2013
    Posts:
    1,165
    Could you submit a bug report please and post the case # here? Thanks!
     
  3. Mariusz_H

    Mariusz_H

    Joined:
    May 4, 2018
    Posts:
    18
    Sure :) Case 1401393
     
  4. TheOtherMonarch

    TheOtherMonarch

    Joined:
    Jul 28, 2012
    Posts:
    791
    I just noticed this also. All the others use unsigned.
     
  5. Yury-Habets

    Yury-Habets

    Unity Technologies

    Joined:
    Nov 18, 2013
    Posts:
    1,165
    Thanks @Mariusz_H. I asked QA to process it.

    Pro tip: if you want your bug to be processed soon, make sure to include a repro project.