Lines Matching refs:last
155 .macro cfirestorelist first, last
156 .cfi_restore \last
157 .if \last-\first
158 cfirestorelist \first, \last-1
163 .macro cfisavelist first, last, index=1
164 .cfi_offset \last, -4*(\index)
165 .if \last-\first
166 cfisavelist \first, \last-1, \index+1
170 .macro _prologue first=-1, last=-1, push_ip=PAC_LEAF_PUSH_IP, push_lr=0
178 .if \last == -1
197 .if \last != \first
198 .if \last >= 13
204 push {r\first-r\last, ip, lr}
205 .cfi_adjust_cfa_offset ((\last-\first)+3)*4
208 cfisavelist \first, \last, 3
211 push {r\first-r\last, ip}
212 .cfi_adjust_cfa_offset ((\last-\first)+2)*4
214 cfisavelist \first, \last, 2
219 push {r\first-r\last, lr}
220 .cfi_adjust_cfa_offset ((\last-\first)+2)*4
222 cfisavelist \first, \last, 2
225 push {r\first-r\last}
226 .cfi_adjust_cfa_offset ((\last-\first)+1)*4
227 cfisavelist \first, \last, 1
286 .macro _epilogue first=-1, last=-1, push_ip=PAC_LEAF_PUSH_IP, push_lr=0
294 .if \last == -1
299 .if \last != \first
300 .if \last >= 13
306 pop {r\first-r\last, ip, lr}
309 cfirestorelist \first, \last
312 pop {r\first-r\last, ip}
314 cfirestorelist \first, \last
319 pop {r\first-r\last, lr}
321 cfirestorelist \first, \last
324 pop {r\first-r\last}
325 cfirestorelist \first, \last
382 .macro _preprocess_reglist1 first:req, last:req, push_ip:req, push_lr:req, reglist_op:req
383 .if \last == 0
385 .elseif \last == 1
387 .elseif \last == 2
389 .elseif \last == 3
391 .elseif \last == 4
393 .elseif \last == 5
395 .elseif \last == 6
397 .elseif \last == 7
399 .elseif \last == 8
401 .elseif \last == 9
403 .elseif \last == 10
405 .elseif \last == 11
413 .macro _preprocess_reglist first:req, last, push_ip=0, push_lr=0, reglist_op:req
414 .ifb \last
417 .if \first > \last
421 _preprocess_reglist1 0, \last, \push_ip, \push_lr, \reglist_op
423 _preprocess_reglist1 1, \last, \push_ip, \push_lr, \reglist_op
425 _preprocess_reglist1 2, \last, \push_ip, \push_lr, \reglist_op
427 _preprocess_reglist1 3, \last, \push_ip, \push_lr, \reglist_op
429 _preprocess_reglist1 4, \last, \push_ip, \push_lr, \reglist_op
431 _preprocess_reglist1 5, \last, \push_ip, \push_lr, \reglist_op
433 _preprocess_reglist1 6, \last, \push_ip, \push_lr, \reglist_op
435 _preprocess_reglist1 7, \last, \push_ip, \push_lr, \reglist_op
437 _preprocess_reglist1 8, \last, \push_ip, \push_lr, \reglist_op
439 _preprocess_reglist1 9, \last, \push_ip, \push_lr, \reglist_op
441 _preprocess_reglist1 10, \last, \push_ip, \push_lr, \reglist_op
443 _preprocess_reglist1 11, \last, \push_ip, \push_lr, \reglist_op
450 .macro _align8 first, last, push_ip=0, push_lr=0, reglist_op=_prologue
452 .ifnb \last
456 \reglist_op first=-1, last=-1, push_ip=\push_ip, push_lr=\push_lr
465 .ifb \last
474 .ifeq (\last - \first + \push_ip + \push_lr) % 2
479 _preprocess_reglist \first-1, \last, \push_ip, \push_lr, \reglist_op
481 _preprocess_reglist \first \last, \push_ip, \push_lr, \reglist_op
486 .macro prologue first, last, push_ip=PAC_LEAF_PUSH_IP, push_lr=0, align8=STACK_ALIGN_ENFORCE
488 _align8 \first, \last, \push_ip, \push_lr, _prologue
490 _prologue first=\first, last=\last, push_ip=\push_ip, push_lr=\push_lr
494 .macro epilogue first, last, push_ip=PAC_LEAF_PUSH_IP, push_lr=0, align8=STACK_ALIGN_ENFORCE
496 _align8 \first, \last, \push_ip, \push_lr, reglist_op=_epilogue
498 _epilogue first=\first, last=\last, push_ip=\push_ip, push_lr=\push_lr