blob: 0b450748ea9222273f64edc24e5d0f3cf3e1a194 [file] [log] [blame]
# Test LSHIFT values and ASTAT flags
# mach: bfin
#include "test.h"
.include "testutils.inc"
start
dmm32 ASTAT, (0x7ce00000 | _VS | _V | _AV0S | _AQ | _CC | _V_COPY | _AN);
dmm32 A0.w, 0xe1a3909e;
dmm32 A0.x, 0xffffffff;
imm32 R2, 0x214a26f6;
A0 = LSHIFT A0 BY R2.L;
checkreg A0.w, 0x3ff868e4;
checkreg A0.x, 0x00000000;
checkreg ASTAT, (0x7ce00000 | _VS | _V | _AV0S | _AQ | _CC | _V_COPY);
dmm32 ASTAT, (0x64008a00 | _AV1 | _AV0S | _AV0 | _AC0 | _AQ | _CC | _AN);
dmm32 A0.w, 0x72af1593;
dmm32 A0.x, 0xfffffffd;
imm32 R2, 0x6505b40c;
A0 = LSHIFT A0 BY R2.L;
checkreg A0.w, 0xf1593000;
checkreg A0.x, 0x0000002a;
checkreg ASTAT, (0x64008a00 | _AV1 | _AV0S | _AC0 | _AQ | _CC);
pass