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 b bar 37 b16 bar 38 b32 bar 39 beqz $7, bar 40 beqz16 $7, bar 41 beqz32 $7, bar 42 beqz $27, bar 43 beqz32 $27, bar 44 45# Test branch delay slots. 46 .set noreorder 47 bltzal $2, bar 48 addu $16, $17 49 bltzal $2, bar 50 addu16 $16, $17 51 bltzal $2, bar 52 addu32 $16, $17 53 bltzals $2, bar 54 addu $16, $17 55 bltzals $2, bar 56 addu16 $16, $17 57 bltzals $2, bar 58 addu32 $16, $17 59 bltzal $2, bar 60 add.ps $f2, $f4 61 bltzal $2, bar 62 add32.ps $f2, $f4 63 bltzals $2, bar 64 add.ps $f2, $f4 65 bltzals $2, bar 66 add32.ps $f2, $f4 67 bltzal $2, bar 68 addiusp 256 69 bltzal $2, bar 70 addiusp16 256 71 bltzals $2, bar 72 addiusp 256 73 bltzals $2, bar 74 addiusp16 256 75 .set reorder 76 77# Test macro delay slots. 78 .set noreorder 79 bltzall $2, bar 80 addu $16, $17 81 bltzall $2, bar 82 addu16 $16, $17 83 bltzall $2, bar 84 addu32 $16, $17 85 bltzall $2, bar 86 add.ps $f2, $f4 87 bltzall $2, bar 88 add32.ps $f2, $f4 89 bltzall $2, bar 90 addiusp 256 91 bltzall $2, bar 92 addiusp16 256 93 .set reorder 94 95# Test shift instructions to complement 64-bit tests. 96 sll $2, $3, 5 97 sll16 $2, $3, 5 98 sll32 $2, $3, 5 99 sll $2, $3, 13 100 sll32 $2, $3, 13 101 sll $10, $11, 5 102 sll32 $10, $11, 5 103 104# Test 64-bit instructions. 105 dsll $2, $3, 5 106 dsll32 $2, $3, 5 # No way to force 32-bit DSLL. 107 dsll3232 $2, $3, 5 108 dsll $2, $3, 13 109 dsll32 $2, $3, 13 # No way to force 32-bit DSLL. 110 dsll3232 $2, $3, 13 111 dsll $10, $11, 5 112 dsll32 $10, $11, 5 # No way to force 32-bit DSLL. 113 dsll3232 $10, $11, 5 114 115# Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ... 116 .align 2 117 .space 8 118