| 1 | # Source file used to test -mips4 instructions. |
| 2 | |
| 3 | text_label: |
| 4 | bc1f text_label |
| 5 | bc1f $fcc1,text_label |
| 6 | bc1fl $fcc1,text_label |
| 7 | bc1t $fcc1,text_label |
| 8 | bc1tl $fcc2,text_label |
| 9 | c.f.d $f4,$f6 |
| 10 | c.f.d $fcc1,$f4,$f6 |
| 11 | ldxc1 $f2,$4($5) |
| 12 | lwxc1 $f2,$4($5) |
| 13 | madd.d $f0,$f2,$f4,$f6 |
| 14 | madd.s $f0,$f2,$f4,$f6 |
| 15 | movf $4,$5,$fcc4 |
| 16 | movf.d $f4,$f6,$fcc0 |
| 17 | movf.s $f4,$f6,$fcc0 |
| 18 | movn $4,$6,$6 |
| 19 | movn.d $f4,$f5,$6 |
| 20 | movn.s $f4,$f5,$6 |
| 21 | movt $4,$5,$fcc4 |
| 22 | movt.d $f4,$f6,$fcc0 |
| 23 | movt.s $f4,$f6,$fcc0 |
| 24 | movz $4,$6,$6 |
| 25 | movz.d $f4,$f5,$6 |
| 26 | movz.s $f4,$f5,$6 |
| 27 | msub.d $f0,$f2,$f4,$f6 |
| 28 | msub.s $f0,$f2,$f4,$f6 |
| 29 | nmadd.d $f0,$f2,$f4,$f6 |
| 30 | nmadd.s $f0,$f2,$f4,$f6 |
| 31 | nmsub.d $f0,$f2,$f4,$f6 |
| 32 | nmsub.s $f0,$f2,$f4,$f6 |
| 33 | |
| 34 | # We don't test pref because currently the disassembler will |
| 35 | # disassemble it as lwc3. lwc3 is correct for mips1 to mips3, |
| 36 | # while pref is correct for mips4. Unfortunately, the |
| 37 | # disassembler does not know which architecture it is |
| 38 | # disassembling for. |
| 39 | # pref 4,0($4) |
| 40 | |
| 41 | prefx 4,$4($5) |
| 42 | recip.d $f4,$f6 |
| 43 | recip.s $f4,$f6 |
| 44 | rsqrt.d $f4,$f6 |
| 45 | rsqrt.s $f4,$f6 |
| 46 | sdxc1 $f4,$4($5) |
| 47 | swxc1 $f4,$4($5) |
| 48 | |
| 49 | # Round to a 16 byte boundary, for ease in testing multiple targets. |
| 50 | nop |
| 51 | nop |
| 52 | nop |