configure.ac: roll up a program for the sse4.1 check
authorEmil Velikov <emil.l.velikov@gmail.com>
Sat, 15 Nov 2014 18:37:22 +0000 (18:37 +0000)
committerEmil Velikov <emil.l.velikov@gmail.com>
Sat, 15 Nov 2014 20:34:34 +0000 (20:34 +0000)
commit1a6ae840413d7fb6d2e83f6a83081d5246c7ac9e
treee59c07994487d764e1b176060855e3508b182885
parent3bc42a09e2d13c42e15423a17b5c571049a11224
configure.ac: roll up a program for the sse4.1 check

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: David Heidelberg <david@ixit.cz>
Tested-by: Siavash Eliasi <siavashserver@gmail.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
configure.ac