| # fr30 testcase for and $Rj,$Ri, and $Rj,@$Ri |
| # mach(): fr30 |
| |
| .include "testutils.inc" |
| |
| START |
| |
| .text |
| .global and |
| and: |
| ; Test and $Rj,$Ri |
| mvi_h_gr 0xaaaaaaaa,r7 |
| mvi_h_gr 0x55555555,r8 |
| set_cc 0x0b ; Set mask opposite of expected |
| and r7,r8 |
| test_cc 0 1 1 1 |
| test_h_gr 0,r8 |
| |
| mvi_h_gr 0xffff0000,r8 |
| set_cc 0x04 ; Set mask opposite of expected |
| and r7,r8 |
| test_cc 1 0 0 0 |
| test_h_gr 0xaaaa0000,r8 |
| |
| mvi_h_gr 0xffff,r8 |
| set_cc 0x0d ; Set mask opposite of expected |
| and r7,r8 |
| test_cc 0 0 0 1 |
| test_h_gr 0xaaaa,r8 |
| |
| ; Test and $Rj,@$Ri |
| mvi_h_gr 0xaaaaaaaa,r7 |
| mvi_h_mem 0x55555555,sp |
| set_cc 0x0b ; Set mask opposite of expected |
| and r7,@sp |
| test_cc 0 1 1 1 |
| test_h_mem 0,sp |
| |
| mvi_h_mem 0xffff0000,sp |
| set_cc 0x04 ; Set mask opposite of expected |
| and r7,@sp |
| test_cc 1 0 0 0 |
| test_h_mem 0xaaaa0000,sp |
| |
| mvr_h_gr sp,r9 |
| inci_h_gr 4,r9 |
| mvi_h_mem 0xffffffff,sp |
| mvi_h_mem 0xffff0000,r9 |
| inci_h_gr 1,sp ; test unaligned access |
| set_cc 0x05 ; Set mask opposite of expected |
| and r7,@sp |
| test_cc 1 0 0 1 |
| inci_h_gr -1,sp |
| test_h_mem 0xaaaaaaaa,sp |
| test_h_mem 0xffff0000,r9 |
| |
| pass |