• Show log

    Commit

  • Hash : aa9db616
    Author : Chris Blume
    Date : 2019-04-15T17:55:47

    x86 SIMD: Check for CPUID leaf 07H before using
    
    According to Intel's manual [1], "If a value entered for CPUID.EAX is
    higher than the maximum input value for basic or extended function for
    that processor then the data for the highest basic information leaf is
    returned."
    
    Right now, libjpeg-turbo doesn't first check that leaf 07H is supported
    before attempting to use it, so the ostensible AVX2 bit (Bit 05) of the
    CPUID result might actually be Bit 05 from a lower leaf.  That bit might
    be set, even if the CPU doesn't support AVX2.
    
    This commit modifies the x86 and x86-64 SIMD feature detection code so
    that it first checks whether CPUID leaf 07H is supported before
    attempting to use it to check for AVX2 instruction support.
    
    DRC:
    This commit should fix
    https://bugzilla.mozilla.org/show_bug.cgi?id=1520760
    However, I have not personally been able to reproduce that issue,
    despite using a Nehalem (pre-AVX2) CPU on which the maximum CPUID leaf
    has been limited via a BIOS setting.
    
    Closes #348
    
    [1]
    "IntelĀ® 64 and IA-32 Architectures Software Developer's Manual, Volume 2 (2A, 2B, 2C & 2D): Instruction Set Reference, A-Z", https://software.intel.com/sites/default/files/managed/a4/60/325383-sdm-vol-2abcd.pdf, page 3-192.
    

  • Properties

  • Git HTTP https://git.kmx.io/kc3-lang/libjpeg-turbo.git
    Git SSH git@git.kmx.io:kc3-lang/libjpeg-turbo.git
    Public access ? public
    Description

    Fork of libjpeg with SIMD

    Users
    thodg_m kc3_lang_org thodg_w www_kmx_io thodg_l thodg
    Tags