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