intel: compiler option msse2 and mstackrealign
Seems in case of 32-bit library, usage of msse2 makes
some stack corruption or incorrect instructions.
Usage with mstackrealign fixes that case.
v2: Fixed meson.
v3: Definition of c_sse2_args moved on the top (L.Landwerlin).
Added mstackrealign for Android's mks where msee4.1 is used.
v4: Added for Vulkan also.
v5: Commit message correction.
CC: <mesa-stable@lists.freedesktop.org>
Fixes: 6b05c080f2
(i965: Compile with -msse3)
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107779
Signed-off-by: Sergii Romantsov <sergii.romantsov@globallogic.com>
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
This commit is contained in:
parent
5404e0637f
commit
d709f12792
|
@ -104,7 +104,7 @@ noinst_LTLIBRARIES += $(VULKAN_PER_GEN_LIBS)
|
|||
|
||||
VULKAN_CFLAGS = \
|
||||
$(AM_CFLAGS) \
|
||||
-msse2
|
||||
-msse2 -mstackrealign
|
||||
|
||||
VULKAN_CPPFLAGS = \
|
||||
-I$(top_srcdir)/src/compiler \
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
# SOFTWARE.
|
||||
|
||||
c_sse2_args = ['-msse2', '-mstackrealign']
|
||||
inc_intel = include_directories('.')
|
||||
|
||||
subdir('blorp')
|
||||
|
|
|
@ -102,7 +102,7 @@ foreach g : [['70', ['gen7_cmd_buffer.c']], ['75', ['gen7_cmd_buffer.c']],
|
|||
inc_vulkan_wsi,
|
||||
],
|
||||
c_args : [
|
||||
c_vis_args, no_override_init_args, '-msse2',
|
||||
c_vis_args, no_override_init_args, c_sse2_args,
|
||||
'-DGEN_VERSIONx10=@0@'.format(_gen),
|
||||
],
|
||||
dependencies : [dep_libdrm, dep_valgrind, idep_nir_headers],
|
||||
|
@ -146,7 +146,7 @@ anv_deps = [
|
|||
anv_flags = [
|
||||
c_vis_args,
|
||||
no_override_init_args,
|
||||
'-msse2',
|
||||
c_sse2_args,
|
||||
]
|
||||
|
||||
if with_platform_x11
|
||||
|
|
|
@ -49,7 +49,7 @@ ifeq ($(ARCH_X86_HAVE_SSE4_1),true)
|
|||
LOCAL_WHOLE_STATIC_LIBRARIES := \
|
||||
libmesa_sse41
|
||||
LOCAL_CFLAGS := \
|
||||
-msse4.1 \
|
||||
-msse4.1 -mstackrealign \
|
||||
-DUSE_SSE41
|
||||
endif
|
||||
|
||||
|
|
|
@ -34,7 +34,7 @@ LOCAL_SRC_FILES += \
|
|||
$(X86_SSE41_FILES)
|
||||
|
||||
LOCAL_CFLAGS := \
|
||||
-msse4.1
|
||||
-msse4.1 -mstackrealign
|
||||
|
||||
LOCAL_C_INCLUDES := \
|
||||
$(MESA_TOP)/src/mapi \
|
||||
|
|
|
@ -44,7 +44,7 @@ AM_CFLAGS = \
|
|||
$(WNO_OVERRIDE_INIT) \
|
||||
$(LIBDRM_CFLAGS) \
|
||||
$(VALGRIND_CFLAGS) \
|
||||
-msse2
|
||||
-msse2 -mstackrealign
|
||||
|
||||
AM_CXXFLAGS = $(AM_CFLAGS)
|
||||
|
||||
|
|
|
@ -142,7 +142,7 @@ foreach v : ['40', '45', '50', '60', '70', '75', '80', '90', '100', '110']
|
|||
['genX_blorp_exec.c', 'genX_state_upload.c', gen_xml_pack],
|
||||
include_directories : [inc_common, inc_intel, inc_dri_common],
|
||||
c_args : [
|
||||
c_vis_args, no_override_init_args, '-msse2',
|
||||
c_vis_args, no_override_init_args, c_sse2_args,
|
||||
'-DGEN_VERSIONx10=@0@'.format(v),
|
||||
],
|
||||
dependencies : [dep_libdrm, idep_nir_headers],
|
||||
|
@ -183,8 +183,8 @@ libi965 = static_library(
|
|||
include_directories : [
|
||||
inc_common, inc_intel, inc_dri_common, inc_util, inc_drm_uapi,
|
||||
],
|
||||
c_args : [c_vis_args, no_override_init_args, '-msse2'],
|
||||
cpp_args : [cpp_vis_args, '-msse2'],
|
||||
c_args : [c_vis_args, no_override_init_args, c_sse2_args],
|
||||
cpp_args : [cpp_vis_args, c_sse2_args],
|
||||
link_with : [
|
||||
i965_gen_libs, libintel_common, libintel_dev, libisl, libintel_compiler,
|
||||
libblorp,
|
||||
|
|
Loading…
Reference in New Issue