base/asm-common.h (FORCE_EXECUTABLE_STACK): Rename from `WANT...'.
[catacomb] / base / asm-common.h
index 18c61fc..2b06e52 100644 (file)
@@ -1114,6 +1114,11 @@ name:
 .macro endprologue
 .endm
 
+// cmov RD, RN, CC: set RD to RN if CC is satisfied, otherwise do nothing
+.macro cmov    rd, rn, cc
+       csel    \rd, \rn, \rd, \cc
+.endm
+
 // Notational improvement: write `csel.CC' etc., rather than `csel ..., CC'.
 #define _COND(_)                                                       \
        _(eq) _(ne) _(cs) _(cc) _(vs) _(vc) _(mi) _(pl)                 \
@@ -1121,7 +1126,7 @@ name:
        _(hs) _(lo)
 #define _INST(_)                                                       \
        _(ccmp) _(ccmn)                                                 \
-       _(csel)                                                         \
+       _(csel) _(cmov)                                                 \
        _(csinc) _(cinc) _(cset)                                        \
        _(csneg) _(cneg)                                                \
        _(csinv) _(cinv) _(csetm)
@@ -1194,7 +1199,7 @@ name:
 #  define SIZE_OBJ(name)
 #endif
 
-#if __ELF__ && !defined(WANT_EXECUTABLE_STACK)
+#if __ELF__ && !defined(FORCE_EXECUTABLE_STACK)
        .pushsection .note.GNU-stack, "", _SECTTY(progbits)
        .popsection
 #endif