Home | History | Annotate | Line # | Download | only in bfin
      1 # Verify sign extension behavior with simultaneous acc additions, and
      2 # verify that no ASTAT bits get changed as a result
      3 # mach: bfin
      4 #include "test.h"
      5 .include "testutils.inc"
      6 
      7 	start
      8 
      9 	dmm32 ASTAT, (0x60304880 | _AV1S | _AC0 | _AN | _AZ);
     10 	dmm32 A0.w, 0x589145b7;
     11 	dmm32 A0.x, 0xffffffee;
     12 	dmm32 A1.w, 0x0b247b05;
     13 	dmm32 A1.x, 0x0000005a;
     14 	imm32 R3, 0x1e414332;
     15 	imm32 R4, 0x351715b7;
     16 	R3 = A1.L + A1.H, R4 = A0.L + A0.H;
     17 	checkreg R3, 0x00008629;
     18 	checkreg R4, 0x00009e48;
     19 	checkreg ASTAT, (0x60304880 | _AV1S | _AC0 | _AN | _AZ);
     20 
     21 	dmm32 ASTAT, (0x40e0cc00 | _VS | _V | _AV1S | _AV0S | _AC0 | _CC | _V_COPY | _AC0_COPY);
     22 	dmm32 A0.w, 0xb2c58001;
     23 	dmm32 A0.x, 0x00000000;
     24 	dmm32 A1.w, 0xe999dc28;
     25 	dmm32 A1.x, 0xffffffff;
     26 	imm32 R0, 0xe58d5ffa;
     27 	imm32 R4, 0x7fff7fff;
     28 	R0 = A1.L + A1.H, R4 = A0.L + A0.H;
     29 	checkreg R0, 0xffffc5c1;
     30 	checkreg R4, 0xffff32c6;
     31 	checkreg ASTAT, (0x40e0cc00 | _VS | _V | _AV1S | _AV0S | _AC0 | _CC | _V_COPY | _AC0_COPY);
     32 
     33 	dmm32 ASTAT, (0x3420ca80 | _VS | _AV0S | _AC1 | _AC0 | _AQ | _CC);
     34 	dmm32 A0.w, 0xeff48350;
     35 	dmm32 A0.x, 0xffffffff;
     36 	dmm32 A1.w, 0x5a3f623a;
     37 	dmm32 A1.x, 0xffffffff;
     38 	imm32 R4, 0xffff152f;
     39 	imm32 R6, 0xdd13218a;
     40 	R4 = A1.L + A1.H, R6 = A0.L + A0.H;
     41 	checkreg R4, 0x0000bc79;
     42 	checkreg R6, 0xffff7344;
     43 	checkreg ASTAT, (0x3420ca80 | _VS | _AV0S | _AC1 | _AC0 | _AQ | _CC);
     44 
     45 	dmm32 ASTAT, (0x10204880 | _VS | _V | _AV1S | _AC1 | _AC0 | _AQ | _V_COPY | _AN);
     46 	dmm32 A0.w, 0x6da679bb;
     47 	dmm32 A0.x, 0xffffff96;
     48 	dmm32 A1.w, 0x1f5fb024;
     49 	dmm32 A1.x, 0x00000000;
     50 	imm32 R3, 0x3ebf8000;
     51 	imm32 R6, 0x025f2e8c;
     52 	R6 = A1.L + A1.H, R3 = A0.L + A0.H;
     53 	checkreg R3, 0x0000e761;
     54 	checkreg R6, 0xffffcf83;
     55 	checkreg ASTAT, (0x10204880 | _VS | _V | _AV1S | _AC1 | _AC0 | _AQ | _V_COPY | _AN);
     56 
     57 	dmm32 ASTAT, (0x6ca00c90 | _V | _AV1S | _AV1 | _AC0_COPY | _AN | _AZ);
     58 	dmm32 A0.w, 0x59abaa84;
     59 	dmm32 A0.x, 0xffffffe1;
     60 	dmm32 A1.w, 0x71541efe;
     61 	dmm32 A1.x, 0x00000009;
     62 	imm32 R0, 0x2c41e797;
     63 	imm32 R5, 0x7bfa5e8a;
     64 	R0 = A1.L + A1.H, R5 = A0.L + A0.H;
     65 	checkreg R0, 0x00009052;
     66 	checkreg R5, 0x0000042f;
     67 	checkreg ASTAT, (0x6ca00c90 | _V | _AV1S | _AV1 | _AC0_COPY | _AN | _AZ);
     68 
     69 	dmm32 ASTAT, (0x1c50c290 | _VS | _AV0S | _AV0 | _AC1 | _AC0 | _AQ | _AN);
     70 	dmm32 A0.w, 0xffffffff;
     71 	dmm32 A0.x, 0xffffffff;
     72 	dmm32 A1.w, 0xc49ca8db;
     73 	dmm32 A1.x, 0xffffffff;
     74 	imm32 R3, 0x0f62ffff;
     75 	imm32 R4, 0x09505188;
     76 	R4 = A1.L + A1.H, R3 = A0.L + A0.H;
     77 	checkreg R3, 0xfffffffe;
     78 	checkreg R4, 0xffff6d77;
     79 	checkreg ASTAT, (0x1c50c290 | _VS | _AV0S | _AV0 | _AC1 | _AC0 | _AQ | _AN);
     80 
     81 	dmm32 ASTAT, (0x70e04a90 | _VS | _AV0S | _AQ);
     82 	dmm32 A0.w, 0xd827823e;
     83 	dmm32 A0.x, 0xffffffff;
     84 	dmm32 A1.w, 0x303d11ba;
     85 	dmm32 A1.x, 0x00000000;
     86 	imm32 R1, 0x80007fff;
     87 	imm32 R6, 0xffc4feb3;
     88 	R6 = A1.L + A1.H, R1 = A0.L + A0.H;
     89 	checkreg R1, 0xffff5a65;
     90 	checkreg R6, 0x000041f7;
     91 	checkreg ASTAT, (0x70e04a90 | _VS | _AV0S | _AQ);
     92 
     93 	dmm32 ASTAT, (0x5c80c200 | _VS | _AV0S | _AQ | _AC0_COPY | _AN);
     94 	dmm32 A0.w, 0x97049850;
     95 	dmm32 A0.x, 0x00000000;
     96 	dmm32 A1.w, 0xffffa014;
     97 	dmm32 A1.x, 0xffffffff;
     98 	imm32 R0, 0x04828378;
     99 	imm32 R5, 0x3d9effff;
    100 	R0 = A1.L + A1.H, R5 = A0.L + A0.H;
    101 	checkreg R0, 0xffffa013;
    102 	checkreg R5, 0xffff2f54;
    103 	checkreg ASTAT, (0x5c80c200 | _VS | _AV0S | _AQ | _AC0_COPY | _AN);
    104 
    105 	dmm32 ASTAT, (0x6c604600 | _VS | _V | _AV0S | _AC1 | _AC0 | _AQ | _CC | _V_COPY | _AZ);
    106 	dmm32 A0.w, 0xac43c455;
    107 	dmm32 A0.x, 0x00000000;
    108 	dmm32 A1.w, 0x03de6f39;
    109 	dmm32 A1.x, 0x00000000;
    110 	imm32 R0, 0x5bbfd2d1;
    111 	imm32 R3, 0x22425ebc;
    112 	R3 = A1.L + A1.H, R0 = A0.L + A0.H;
    113 	checkreg R0, 0xffff7098;
    114 	checkreg R3, 0x00007317;
    115 	checkreg ASTAT, (0x6c604600 | _VS | _V | _AV0S | _AC1 | _AC0 | _AQ | _CC | _V_COPY | _AZ);
    116 
    117 	dmm32 ASTAT, (0x7cd04280 | _VS | _V | _AC1 | _AC0 | _AQ | _V_COPY | _AC0_COPY | _AN);
    118 	dmm32 A0.w, 0xb63ac8f5;
    119 	dmm32 A0.x, 0xffffffe0;
    120 	dmm32 A1.w, 0x358b94e8;
    121 	dmm32 A1.x, 0x00000000;
    122 	imm32 R1, 0x80007fff;
    123 	imm32 R6, 0x4f4a8883;
    124 	R6 = A1.L + A1.H, R1 = A0.L + A0.H;
    125 	checkreg R1, 0xffff7f2f;
    126 	checkreg R6, 0xffffca73;
    127 	checkreg ASTAT, (0x7cd04280 | _VS | _V | _AC1 | _AC0 | _AQ | _V_COPY | _AC0_COPY | _AN);
    128 
    129 	pass
    130