Home | History | Annotate | Line # | Download | only in bfin
      1 # Test for ASTAT AN setting when overflows occur
      2 # mach: bfin
      3 
      4 #include "test.h"
      5 .include "testutils.inc"
      6 
      7 	start
      8 
      9 	dmm32 ASTAT, (0x18204a80 | _AV1S | _AV0 | _AQ | _CC | _AC0_COPY | _AN | _AZ);
     10 	dmm32 A1.w, 0x1098e30b;
     11 	dmm32 A1.x, 0x0000001f;
     12 	imm32 R0, 0x440ed6ae;
     13 	imm32 R5, 0x3272c296;
     14 	R0.H = (A1 += R0.L * R5.H);
     15 	checkreg R0, 0x7fffd6ae;
     16 	checkreg A1.w, 0x00500e03;
     17 	checkreg A1.x, 0x0000001f;
     18 	checkreg ASTAT, (0x18204a80 | _VS | _V | _AV1S | _AV0 | _AQ | _CC | _V_COPY | _AC0_COPY | _AN | _AZ);
     19 
     20 	dmm32 ASTAT, (0x28c08e90 | _VS | _AV1S | _AV0S | _AC0 | _AC0_COPY | _AN);
     21 	dmm32 A0.w, 0xb9da9f02;
     22 	dmm32 A0.x, 0x00000010;
     23 	imm32 R0, 0xc104b252;
     24 	R0.L = A0 (IS);
     25 	checkreg R0, 0xc1047fff;
     26 	checkreg ASTAT, (0x28c08e90 | _VS | _V | _AV1S | _AV0S | _AC0 | _V_COPY | _AC0_COPY);
     27 
     28 	dmm32 ASTAT, (0x3cc04000 | _AV0S | _AV0 | _CC | _AC0_COPY | _AZ);
     29 	dmm32 A0.w, 0x2cc20f30;
     30 	dmm32 A0.x, 0xffffffd0;
     31 	imm32 R2, 0x367adfeb;
     32 	imm32 R5, 0x53eeff3c;
     33 	A0 += R5.H * R2.H (IS);
     34 	checkreg A0.w, 0x3e9e429c;
     35 	checkreg A0.x, 0xffffffd0;
     36 	checkreg ASTAT, (0x3cc04000 | _AV0S | _CC | _AC0_COPY | _AZ);
     37 
     38 	dmm32 ASTAT, (0x18c0ca90 | _V | _AV1S | _AV1 | _AV0 | _AC1 | _AC0 | _V_COPY | _AC0_COPY | _AN | _AZ);
     39 	dmm32 A1.w, 0x0614ca96;
     40 	dmm32 A1.x, 0x00000053;
     41 	imm32 R3, 0x6c490457;
     42 	R3 = (A1 -= R3.L * R3.L) (M, S2RND);
     43 	checkreg R3, 0x7fffffff;
     44 	checkreg A1.w, 0x0601f505;
     45 	checkreg A1.x, 0x00000053;
     46 	checkreg ASTAT, (0x18c0ca90 | _VS | _V | _AV1S | _AV0 | _AC1 | _AC0 | _V_COPY | _AC0_COPY | _AN | _AZ);
     47 
     48 	pass
     49