Lines Matching full:feature
149 #define ALTINSTR_ENTRY(feature, num) \ argument
152 " .word " __stringify(feature) "\n" /* feature bit */ \
156 #define ALTINSTR_REPLACEMENT(newinstr, feature, num) /* replacement */ \ argument
161 #define ALTERNATIVE(oldinstr, newinstr, feature) \ argument
164 ALTINSTR_ENTRY(feature, 1) \
167 ALTINSTR_REPLACEMENT(newinstr, feature, 1) \
181 /* If @feature is set, patch in @newinstr_yes, otherwise @newinstr_no. */
182 #define ALTERNATIVE_TERNARY(oldinstr, feature, newinstr_yes, newinstr_no) \ argument
184 newinstr_yes, feature)
211 #define alternative(oldinstr, newinstr, feature) \ argument
212 asm_inline volatile (ALTERNATIVE(oldinstr, newinstr, feature) : : : "memory")
217 #define alternative_ternary(oldinstr, feature, newinstr_yes, newinstr_no) \ argument
218 asm_inline volatile(ALTERNATIVE_TERNARY(oldinstr, feature, newinstr_yes, newinstr_no) ::: "memory")
228 #define alternative_input(oldinstr, newinstr, feature, input...) \ argument
229 asm_inline volatile (ALTERNATIVE(oldinstr, newinstr, feature) \
247 #define alternative_io(oldinstr, newinstr, feature, output, input...) \ argument
248 asm_inline volatile (ALTERNATIVE(oldinstr, newinstr, feature) \
252 #define alternative_call(oldfunc, newfunc, feature, output, input...) \ argument
253 asm_inline volatile (ALTERNATIVE("call %P[old]", "call %P[new]", feature) \
314 .macro altinstruction_entry orig alt feature orig_len alt_len
317 .word \feature
323 * Define an alternative between two instructions. If @feature is
328 .macro ALTERNATIVE oldinstr, newinstr, feature
336 altinstruction_entry 140b,143f,\feature,142b-140b,144f-143f
386 /* If @feature is set, patch in @newinstr_yes, otherwise @newinstr_no. */
387 #define ALTERNATIVE_TERNARY(oldinstr, feature, newinstr_yes, newinstr_no) \ argument
389 newinstr_yes, feature