diff --git a/modules/core/include/opencv2/core/types_c.h b/modules/core/include/opencv2/core/types_c.h
index c21cd2c7588746f1e60a79aab42bbd97be7e0537..771715d5df02b8b67c409aa1520b8ea3d76a2475 100644
--- a/modules/core/include/opencv2/core/types_c.h
+++ b/modules/core/include/opencv2/core/types_c.h
@@ -318,7 +318,7 @@ enum {
     int res; \
     float temp; \
     (void)temp; \
-    asm(_asm_string : [res] "=r" (res), [temp] "=w" (temp) : [value] "w" (_value)); \
+    __asm__(_asm_string : [res] "=r" (res), [temp] "=w" (temp) : [value] "w" (_value)); \
     return res;
 // 2. version for double
 #ifdef __clang__