1# Source file used to test microMIPS instruction size overrides (#1). 2 3 .text 4foo: 5# Smoke-test a trivial case. 6 nop 7 nop16 8 nop32 9 10# Test ALU operations. 11 addu $2, $4 12 addu16 $2, $4 13 addu32 $2, $4 14 addu $12, $14 15 addu32 $12, $14 16 add.ps $f2, $f4 17 add32.ps $f2, $f4 18 addiusp 256 19 addiusp16 256 20 21# Test jumps and branches. 22 jalr $4 23 jalr16 $4 24 jalr32 $4 25 jalr $24 26 jalr16 $24 27 jalr32 $24 28 jalr $31,$5 29 jalr16 $31,$5 30 jalr32 $31,$5 31 jalr $31,$25 32 jalr16 $31,$25 33 jalr32 $31,$25 34 jalr $30,$26 35 jalr32 $30,$26 36 nop 37 b bar 38 nop 39 b16 bar 40 nop 41 b32 bar 42 nop 43 beqz $7, bar 44 nop 45 beqz16 $7, bar 46 nop 47 beqz32 $7, bar 48 nop 49 beqz $27, bar 50 nop 51 beqz32 $27, bar 52 53# Test branch delay slots. 54 .set noreorder 55 bltzal $2, bar 56 addu $16, $17 57 bltzal $2, bar 58 addu16 $16, $17 59 bltzal $2, bar 60 addu32 $16, $17 61 bltzals $2, bar 62 addu $16, $17 63 bltzals $2, bar 64 addu16 $16, $17 65 bltzals $2, bar 66 addu32 $16, $17 67 bltzal $2, bar 68 add.ps $f2, $f4 69 bltzal $2, bar 70 add32.ps $f2, $f4 71 bltzals $2, bar 72 add.ps $f2, $f4 73 bltzals $2, bar 74 add32.ps $f2, $f4 75 bltzal $2, bar 76 addiusp 256 77 bltzal $2, bar 78 addiusp16 256 79 bltzals $2, bar 80 addiusp 256 81 bltzals $2, bar 82 addiusp16 256 83 .set reorder 84 85# Test macro delay slots. 86 .set noreorder 87 bltzall $2, bar 88 addu $16, $17 89 bltzall $2, bar 90 addu16 $16, $17 91 bltzall $2, bar 92 addu32 $16, $17 93 bltzall $2, bar 94 add.ps $f2, $f4 95 bltzall $2, bar 96 add32.ps $f2, $f4 97 bltzall $2, bar 98 addiusp 256 99 bltzall $2, bar 100 addiusp16 256 101 .set reorder 102 103# Test shift instructions to complement 64-bit tests. 104 sll $2, $3, 5 105 sll16 $2, $3, 5 106 sll32 $2, $3, 5 107 sll $2, $3, 13 108 sll32 $2, $3, 13 109 sll $10, $11, 5 110 sll32 $10, $11, 5 111 112# Test 64-bit instructions. 113 dsll $2, $3, 5 114 dsll32 $2, $3, 5 # No way to force 32-bit DSLL. 115 dsll3232 $2, $3, 5 116 dsll $2, $3, 13 117 dsll32 $2, $3, 13 # No way to force 32-bit DSLL. 118 dsll3232 $2, $3, 13 119 dsll $10, $11, 5 120 dsll32 $10, $11, 5 # No way to force 32-bit DSLL. 121 dsll3232 $10, $11, 5 122 123# Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ... 124 .align 2 125 .space 8 126