| # frv testcase for movgs $GRj,iacc0[hl] |
| # mach: fr400 |
| |
| .include "../testutils.inc" |
| |
| start |
| |
| .global movgs |
| IACC0H: |
| set_gr_limmed 0xdead,0xbeef,gr8 |
| and_spr_immed 0,iacc0h |
| movgs gr8,iacc0h |
| test_gr_limmed 0xdead,0xbeef,gr8 |
| test_spr_limmed 0xdead,0xbeef,iacc0h |
| SPR280: |
| ; try alternate names for iacc0h |
| and_spr_immed 0,280 |
| movgs gr8,spr[280] ; iacc0h is spr number 280 |
| test_gr_limmed 0xdead,0xbeef,gr8 |
| test_spr_limmed 0xdead,0xbeef,spr[280] |
| |
| IACC0L: |
| set_gr_limmed 0xdead,0xbeef,gr8 |
| and_spr_immed 0,iacc0l |
| movgs gr8,iacc0l |
| test_gr_limmed 0xdead,0xbeef,gr8 |
| test_spr_limmed 0xdead,0xbeef,iacc0l |
| SPR281: |
| ; try alternate names for iacc0l |
| and_spr_immed 0,281 |
| movgs gr8,spr[281] ; iacc0l is spr number 281 |
| test_gr_limmed 0xdead,0xbeef,gr8 |
| test_spr_limmed 0xdead,0xbeef,spr[281] |
| |
| IACC0L_SPR281: |
| ; try crossing between iacc0l and spr[281] |
| and_spr_immed 0,281 |
| and_spr_immed 0,iacc0l |
| movgs gr8,spr[281] ; iacc0l is spr number 281 |
| test_gr_limmed 0xdead,0xbeef,gr8 |
| test_spr_limmed 0xdead,0xbeef,iacc0l |
| |
| SPR280_IACC0H: |
| and_spr_immed 0,280 |
| and_spr_immed 0,iacc0h |
| movgs gr8,iacc0h ; iacc0h is spr number 280 |
| test_gr_limmed 0xdead,0xbeef,gr8 |
| test_spr_limmed 0xdead,0xbeef,spr[280] |
| |
| pass |