1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102
|
# Assume to be on the same line (within 32bytes)
# Check for individual different double words
foo:
# safe
sb $2,11($sp)
sb $3,11($sp)
sb $4,4($sp)
break
# safe
sb $2,0($sp)
sb $3,11($sp)
sb $4,5($sp)
break
# edge case
sb $2,7($sp)
sb $3,11($sp)
sb $4,16($sp)
break
# edge case (unaligned)
sb $2,0($8)
sb $3,8($8)
sb $4,9($8)
break
sh $2,0($sp)
sh $3,-31($sp)
sh $4,-30($sp)
break
# edge case
sh $2,6($sp)
sh $3,8($sp)
sh $4,16($sp)
break
# edge case (unaligned)
sh $2,1($8)
sh $3,3($8)
sh $4,11($8)
break
sw $2,8($sp)
sw $3,-8($sp)
sw $4,8($sp)
break
# edge case
sw $2,4($sp)
sw $3,8($sp)
sw $4,16($sp)
break
# edge case (unaligned)
sw $2,3($8)
sw $3,7($8)
sw $4,15($8)
break
.ifndef r6
swl $2,4($sp)
swl $3,10($sp)
swl $4,17($sp)
break
# edge case
swl $2,7($sp)
swl $3,12($sp)
swl $4,16($sp)
break
# edge case
swl $2,0($sp)
swl $3,12($sp)
swl $4,23($sp)
break
# edge case (unaligned)
swl $2,3($8)
swl $3,8($8)
swl $4,12($8)
break
# mix swl & swr
swl $2,0($sp)
swl $3,12($sp)
swr $4,23($sp)
break
# mix swl & swr
swl $2,5($8)
swl $3,17($8)
swr $4,28($8)
break
.endif
# Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ...
.align 2
.space 8
|