Bug 1191900 - remove superfluous check for GCC force_align_arg_pointer attribute; r=glandium
authorNathan Froyd <froydnj@mozilla.com>
Thu, 06 Aug 2015 21:07:57 -0400
changeset 256737 6f7075c3966fbd419a3fdeec6bfc112017df1898
parent 256736 3b735e43f09c103e46bd460bb04548fd32e2a7bc
child 256738 8fc2a69b16c0392f21eaec7fcfe9148f6c4b7872
push id29187
push usercbook@mozilla.com
push dateFri, 07 Aug 2015 11:13:32 +0000
treeherdermozilla-central@3e51753a099f [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersglandium
bugs1191900
milestone42.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1191900 - remove superfluous check for GCC force_align_arg_pointer attribute; r=glandium qcms and libav use __attribute__((force_align_arg_pointer)) unconditionally; the libav use case suggests that the attribute has been around since GCC 4.2. We're well past that point with GCC, and clang supports it also. So we can simply assume the compiler has it in the appropriate places. It is, however, x86 only (x86-64 appropriately aligns the stack at all times), so we need to adjust the libpixman build code appropriately.
configure.in
gfx/cairo/libpixman/src/moz.build
--- a/configure.in
+++ b/configure.in
@@ -2640,36 +2640,16 @@ WINNT|Darwin|Android)
   ;;
 esac
 
 AC_SUBST(WRAP_SYSTEM_INCLUDES)
 AC_SUBST(VISIBILITY_FLAGS)
 
 MOZ_LLVM_PR8927
 
-dnl Check for __force_align_arg_pointer__ for SSE2 on gcc
-dnl ========================================================
-if test "$GNU_CC"; then
-  CFLAGS_save="${CFLAGS}"
-  CFLAGS="${CFLAGS} -Werror"
-  AC_CACHE_CHECK(for __force_align_arg_pointer__ attribute,
-                 ac_cv_force_align_arg_pointer,
-                 [AC_TRY_COMPILE([__attribute__ ((__force_align_arg_pointer__)) void test() {}],
-                                 [],
-                                 ac_cv_force_align_arg_pointer="yes",
-                                 ac_cv_force_align_arg_pointer="no")])
-  CFLAGS="${CFLAGS_save}"
-  if test "$ac_cv_force_align_arg_pointer" = "yes"; then
-    HAVE_GCC_ALIGN_ARG_POINTER=1
-  else
-    HAVE_GCC_ALIGN_ARG_POINTER=
-  fi
-fi
-AC_SUBST(HAVE_GCC_ALIGN_ARG_POINTER)
-
 dnl Checks for header files.
 dnl ========================================================
 AC_HEADER_DIRENT
 case "$target_os" in
 freebsd*|openbsd*)
 # for stuff like -lXshm
     CPPFLAGS="${CPPFLAGS} ${X_CFLAGS}"
     ;;
--- a/gfx/cairo/libpixman/src/moz.build
+++ b/gfx/cairo/libpixman/src/moz.build
@@ -74,28 +74,22 @@ DEFINES['PACKAGE'] = 'mozpixman'
 DEFINES['_USE_MATH_DEFINES'] = True
 
 use_mmx = False
 use_sse2 = False
 use_vmx = False
 use_arm_simd_gcc = False
 use_arm_neon_gcc = False
 if '86' in CONFIG['OS_TEST']:
-    if '64' in CONFIG['OS_TEST']:
-        if CONFIG['GNU_CC']:
-            use_sse2 = True
-    else:
+    use_sse2 = True
+    if '64' not in CONFIG['OS_TEST']:
         if CONFIG['_MSC_VER']:
             use_mmx = True
-        if CONFIG['HAVE_GCC_ALIGN_ARG_POINTER']:
-            use_sse2 = True
     if CONFIG['GNU_CC']:
         use_mmx = True
-    if CONFIG['_MSC_VER']:
-        use_sse2 = True
 elif 'ppc' in CONFIG['OS_TEST']:
     if CONFIG['GNU_CC']:
         use_vmx = True
 # Apple's arm assembler doesn't support the same syntax as
 # the standard GNU assembler, so use the C fallback paths for now.
 # This may be fixable if clang's ARM/iOS assembler improves into a
 # viable solution in the future.
 elif 'arm' in CONFIG['OS_TEST']: