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