Skip to content
  • Emil Velikov's avatar
    configure.ac: roll up a program for the sse4.1 check · 1a6ae840
    Emil Velikov authored
    
    
    So when checking/building sse code we have three possibilities:
     1 Old compiler, throws an error when using -msse*
     2 New compiler, user disables sse* (-mno-sse*)
     3 New compiler, user doesn't disable sse
    
    The original code, added code for #1 but not #2. Later on we patched
    around the lack of handling #2 by wrapping the code in __SSE4_1__.
    Yet it lead to a missing/undefined symbol in case of #1 or #2, which
    might cause an issue for #2 when using the i965 driver.
    
    A bit later we "fixed" the undefined symbol by using #1, rather than
    updating it to handle #2. With this commit we set things straight :)
    
    To top it all up, conventions state that in case of conflicting
    (-enable-foo -disable-foo) options, the latter one takes precedence.
    Thus we need to make sure to prepend -msse4.1 to CFLAGS in our test.
    
    v2: Clean the #includes. Suggested by Ilia, Matt & Siavash.
    
    Cc: "10.3 10.4" <mesa-stable@lists.freedesktop.org>
    Tested-by: default avatarDavid Heidelberg <david@ixit.cz>
    Tested-by: default avatarSiavash Eliasi <siavashserver@gmail.com>
    Reviewed-by: default avatarMatt Turner <mattst88@gmail.com>
    Signed-off-by: default avatarEmil Velikov <emil.l.velikov@gmail.com>
    1a6ae840