OSDN Git Service

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