.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) \
_(hs) _(lo)
#define _INST(_) \
_(ccmp) _(ccmn) \
- _(csel) \
+ _(csel) _(cmov) \
_(csinc) _(cinc) _(cset) \
_(csneg) _(cneg) \
_(csinv) _(cinv) _(csetm)
# 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