#include <asm/cpufeatures.h>
 #include <asm/alternative.h>
 
-/* "Raw" instruction opcodes */
-#define __ASM_CLAC     ".byte 0x0f,0x01,0xca"
-#define __ASM_STAC     ".byte 0x0f,0x01,0xcb"
-
 #ifdef __ASSEMBLY__
 
 #define ASM_CLAC \
-       ALTERNATIVE "", __ASM_CLAC, X86_FEATURE_SMAP
+       ALTERNATIVE "", "clac", X86_FEATURE_SMAP
 
 #define ASM_STAC \
-       ALTERNATIVE "", __ASM_STAC, X86_FEATURE_SMAP
+       ALTERNATIVE "", "stac", X86_FEATURE_SMAP
 
 #else /* __ASSEMBLY__ */
 
 static __always_inline void clac(void)
 {
        /* Note: a barrier is implicit in alternative() */
-       alternative("", __ASM_CLAC, X86_FEATURE_SMAP);
+       alternative("", "clac", X86_FEATURE_SMAP);
 }
 
 static __always_inline void stac(void)
 {
        /* Note: a barrier is implicit in alternative() */
-       alternative("", __ASM_STAC, X86_FEATURE_SMAP);
+       alternative("", "stac", X86_FEATURE_SMAP);
 }
 
 static __always_inline unsigned long smap_save(void)
        unsigned long flags;
 
        asm volatile ("# smap_save\n\t"
-                     ALTERNATIVE("", "pushf; pop %0; " __ASM_CLAC "\n\t",
+                     ALTERNATIVE("", "pushf; pop %0; " "clac" "\n\t",
                                  X86_FEATURE_SMAP)
                      : "=rm" (flags) : : "memory", "cc");
 
 
 /* These macros can be used in asm() statements */
 #define ASM_CLAC \
-       ALTERNATIVE("", __ASM_CLAC, X86_FEATURE_SMAP)
+       ALTERNATIVE("", "clac", X86_FEATURE_SMAP)
 #define ASM_STAC \
-       ALTERNATIVE("", __ASM_STAC, X86_FEATURE_SMAP)
+       ALTERNATIVE("", "stac", X86_FEATURE_SMAP)
 
 #endif /* __ASSEMBLY__ */