Commit ff827fc767bd236f5dbcddfec92e641d09e35213

Sylvain Becker 2021-01-26T21:15:15

SDL_SoftStretch: re-enable USE_ASM_STRETCH path for gcc >= 4.6

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
diff --git a/src/video/SDL_stretch.c b/src/video/SDL_stretch.c
index 28dd05e..1c99766 100644
--- a/src/video/SDL_stretch.c
+++ b/src/video/SDL_stretch.c
@@ -38,8 +38,14 @@
      (defined(__WATCOMC__) && defined(__386__)) || \
      (defined(__GNUC__) && defined(__i386__))) && SDL_ASSEMBLY_ROUTINES
 /* There's a bug with gcc 4.4.1 and -O2 where srcp doesn't get the correct
- * value after the first scanline.  FIXME? */
-/* #define USE_ASM_STRETCH */
+ * value after the first scanline. */
+/* This bug seems fixed, at least with gcc >= 4.6 */
+#  define USE_ASM_STRETCH
+#  if defined(__GNUC__)
+#    if (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 6))
+#      undef USE_ASM_STRETCH
+#    endif
+#  endif
 #endif
 
 #ifdef USE_ASM_STRETCH