1 # Test ASTAT bits with logical left shift (<<=)
4 .include "testutils.inc"
8 .macro __do val:req, shift:req, exp:req
9 # First test when ASTAT starts with all bits cleared
14 CHECKREG R2, (\val << \shift);
17 # Then test when ASTAT starts with all bits set
22 CHECKREG R3, (\exp) | ~(_AZ|_AN|_V|_V_COPY);
25 .macro _do shift:req, val:req
26 # Automatically test all shifted values
27 .if ((\val << \shift) & 0xffffffff) == 0
28 __do \val, \shift, _AZ
30 .if (\val << \shift) == 0x80000000
31 __do \val, \shift, _AN
36 .if (\val << 1) & 0xffffffff
37 _do \shift, (\val << 1)