.text drps // // HINTS // nop yield wfe wfi sev sevl .macro all_hints from=0, to=127 hint \from .if \to-\from all_hints "(\from+1)", \to .endif .endm all_hints from=0, to=63 all_hints from=64, to=127 // // SYSL // sysl x7, #3, C15, C7, #7 // // BARRIERS // .macro all_barriers op, from=0, to=15 \op \from .if \to-\from all_barriers \op, "(\from+1)", \to .endif .endm all_barriers op=dsb, from=0, to=15 all_barriers op=dmb, from=0, to=15 all_barriers op=isb, from=0, to=15 isb // // PREFETCHS // .macro all_prefetchs op, from=0, to=31 \op \from, LABEL1 \op \from, [sp, x15, lsl #0] \op \from, [x7, w30, uxtw #3] \op \from, [x3, #24] .if \to-\from all_prefetchs \op, "(\from+1)", \to .endif .endm all_prefetchs op=prfm, from=0, to=31 // // PREFETCHS with named operation // .irp op, pld, pli, pst .irp l, l1, l2, l3 .irp t, keep, strm prfm \op\l\t, [x3, #24] .endr .endr .endr