Home | History | Annotate | Line # | Download | only in bfin
      1  1.1  christos # Blackfin testcase for ashift
      2  1.1  christos # mach: bfin
      3  1.1  christos 
      4  1.1  christos 	.include "testutils.inc"
      5  1.1  christos 
      6  1.1  christos 	start
      7  1.1  christos 
      8  1.1  christos 	R0 = 5;
      9  1.1  christos 	R0 += -1;
     10  1.1  christos 	R1 = 4;
     11  1.1  christos 	CC = R0 == R1;
     12  1.1  christos 	if CC jump 1f;
     13  1.1  christos 	fail
     14  1.1  christos 1:
     15  1.1  christos 
     16  1.1  christos 	imm32 r2, 0xff901234
     17  1.1  christos 	r4=8;
     18  1.1  christos 	i2=r2;
     19  1.1  christos 	m2 = 4;
     20  1.1  christos 	a0 = 0;
     21  1.1  christos 	r1.l = (a0 += r4.l *r4.l) (IS) || I2 += m2 || nop;
     22  1.1  christos 	r0 = i2;
     23  1.1  christos 	imm32 r1, 0xff901238;
     24  1.1  christos 	CC = r1 == r0;
     25  1.1  christos 	if CC jump 2f;
     26  1.1  christos 	fail
     27  1.1  christos 2:
     28  1.1  christos 
     29  1.1  christos 	A0 = 0;
     30  1.1  christos 	A1 = 0;
     31  1.1  christos 	R0 = 0;
     32  1.1  christos 	R1 = 0;
     33  1.1  christos 	R2 = 0;
     34  1.1  christos 	R3 = 0;
     35  1.1  christos 	R4 = 0;
     36  1.1  christos 	R5 = 0;
     37  1.1  christos 	R2.H = 0xf12e;
     38  1.1  christos 	R2.L = 0xbeaa;
     39  1.1  christos 	R3.L = 0x00ff;
     40  1.1  christos 	A1.w = R2;
     41  1.1  christos 	A1.x = R3;
     42  1.1  christos 	R0.H = 0xd136;
     43  1.1  christos 	R0.L = 0x459d;
     44  1.1  christos 	R1.H = 0xabd6;
     45  1.1  christos 	R1.L = 0x9ec7;
     46  1.1  christos 
     47  1.1  christos 	R5 = A1 , A0 = R1.L * R0.L (FU);
     48  1.1  christos 
     49  1.1  christos 	R0 = -1 (X);
     50  1.1  christos 	CC = r5 == r0;
     51  1.1  christos 	if CC jump 3f;
     52  1.1  christos 	fail
     53  1.1  christos 3:
     54  1.1  christos 
     55  1.1  christos 	R0.L = 0x7bb8;
     56  1.1  christos 	R0.H = 0x8d5e;
     57  1.1  christos 	R4.L = 0x7e1c;
     58  1.1  christos 	R4.H = 0x9e22;
     59  1.1  christos 	R6.H = R4.H * R0.L (M), R6.L = R4.L * R0.H (ISS2);
     60  1.1  christos 
     61  1.1  christos 	imm32 r0, 0x80008000
     62  1.1  christos 	CC = r6 == r0;
     63  1.1  christos 	if CC jump 4f;
     64  1.1  christos 	fail
     65  1.1  christos 4:
     66  1.1  christos 	pass
     67