diff --git a/libswscale/yuv2rgb_template.c b/libswscale/yuv2rgb_template.c
index f55568b0ab1abe22592382f292f51bb74412f7af..35b7f14f60b70ee846cb54bec63954480c6c1795 100644
--- a/libswscale/yuv2rgb_template.c
+++ b/libswscale/yuv2rgb_template.c
@@ -162,7 +162,8 @@
         "add $"AV_STRINGIFY(depth*8)", %1    \n\t" \
         "add                       $4, %0    \n\t" \
         " js                       1b        \n\t" \
-\
+
+#define YUV2RGB_OPERANDS \
         : "+r" (index), "+r" (image) \
         : "r" (pu - index), "r" (pv - index), "r"(&c->redDither), "r" (py - 2*index) \
         ); \
@@ -223,6 +224,7 @@ static inline int RENAME(yuv420_rgb16)(SwsContext *c, uint8_t* src[], int srcStr
         MOVNTQ "   %%mm5, 8 (%1);" /* store pixel 4-7 */
 
     YUV2RGB_ENDLOOP(2)
+    YUV2RGB_OPERANDS
 }
 
 static inline int RENAME(yuv420_rgb15)(SwsContext *c, uint8_t* src[], int srcStride[], int srcSliceY,
@@ -280,6 +282,7 @@ static inline int RENAME(yuv420_rgb15)(SwsContext *c, uint8_t* src[], int srcStr
         MOVNTQ " %%mm5, 8 (%1);" /* store pixel 4-7 */
 
     YUV2RGB_ENDLOOP(2)
+    YUV2RGB_OPERANDS
 }
 
 static inline int RENAME(yuv420_rgb24)(SwsContext *c, uint8_t* src[], int srcStride[], int srcSliceY,
@@ -394,6 +397,7 @@ static inline int RENAME(yuv420_rgb24)(SwsContext *c, uint8_t* src[], int srcStr
 #endif
 
     YUV2RGB_ENDLOOP(3)
+    YUV2RGB_OPERANDS
 }
 
 #define RGB_PLANAR2PACKED32                                             \
@@ -450,4 +454,5 @@ static inline int RENAME(yuv420_rgb32)(SwsContext *c, uint8_t* src[], int srcStr
         RGB_PLANAR2PACKED32
 
     YUV2RGB_ENDLOOP(4)
+    YUV2RGB_OPERANDS
 }