| # frv testcase for nfitos $FRj,$FRk |
| # mach: fr500 fr550 frv |
| |
| .include "testutils.inc" |
| |
| float_constants |
| start |
| load_float_constants |
| |
| .global nfitos |
| nfitos: |
| set_fr_iimmed 0,0,fr1 |
| nfitos fr1,fr1 |
| test_fr_fr fr1,fr16 |
| test_fr_fr fr1,fr20 |
| test_spr_immed 0,fner1 |
| test_spr_immed 0,fner0 |
| |
| set_fr_iimmed 0x0000,0x0002,fr1 |
| nfitos fr1,fr1 |
| test_fr_fr fr1,fr32 |
| test_spr_immed 0,fner1 |
| test_spr_immed 0,fner0 |
| |
| set_fr_iimmed 0xdead,0xbeef,fr1 |
| nfitos fr1,fr1 |
| test_fr_iimmed 0xce054904,fr1 |
| test_spr_immed 0,fner1 |
| test_spr_immed 0,fner0 |
| |
| ; These were an attempt to cause overflow |
| set_fr_iimmed 0x7fff,0xffff,fr1 |
| nfitos fr1,fr1 |
| test_fr_iimmed 0x4f000000,fr1 |
| test_spr_immed 0,fner1 |
| test_spr_immed 0,fner0 |
| |
| set_fr_iimmed 0x8000,0x0000,fr1 |
| nfitos fr1,fr1 |
| test_fr_iimmed 0xcf000000,fr1 |
| test_spr_immed 0,fner1 |
| test_spr_immed 0,fner0 |
| |
| pass |