* gas/bfin: New testsuite for bfin.
[deliverable/binutils-gdb.git] / gas / testsuite / gas / bfin / bit2.s
CommitLineData
8df55cb8
CM
1\r
2.EXTERN MY_LABEL2;\r
3.section .text;\r
4\r
5//\r
6//8 BIT OPERATIONS\r
7//\r
8\r
9//BITCLR ( Dreg , uimm5 ) ; /* (a) */\r
10BITCLR ( R7 , 0 ) ;\r
11BITCLR ( R7 , 31 ) ;\r
12BITCLR ( R7 , 15 ) ;\r
13BITCLR ( R1 , 0 ) ;\r
14BITCLR ( R2 , 1 ) ;\r
15BITCLR ( R3 , 19 ) ;\r
16\r
17//BITSET ( Dreg , uimm5 ) ; /* (a) */\r
18BITSET ( R7 , 0 ) ;\r
19BITSET ( R7 , 31 ) ;\r
20BITSET ( R7 , 15 ) ;\r
21BITSET ( R1 , 0 ) ;\r
22BITSET ( R2 , 1 ) ;\r
23BITSET ( R3 , 19 ) ;\r
24\r
25//BITTGL ( Dreg , uimm5 ) ; /* (a) */\r
26BITTGL ( R7 , 0 ) ;\r
27BITTGL ( R7 , 31 ) ;\r
28BITTGL ( R7 , 15 ) ;\r
29BITTGL ( R1 , 0 ) ;\r
30BITTGL ( R2 , 1 ) ;\r
31BITTGL ( R3 , 19 ) ;\r
32\r
33//CC = BITTST ( Dreg , uimm5 ) ; /* set CC if bit = 1 (a)*/\r
34CC = BITTST ( R7 , 0 ) ;\r
35CC = BITTST ( R7 , 31 ) ;\r
36CC = BITTST ( R7 , 15 ) ;\r
37CC = BITTST ( R1 , 0 ) ;\r
38CC = BITTST ( R2 , 1 ) ;\r
39CC = BITTST ( R3 , 19 ) ;\r
40\r
41//CC = ! BITTST ( Dreg , uimm5 ) ; /* set CC if bit = 0 (a)*/\r
42CC = !BITTST ( R7 , 0 ) ;\r
43CC = !BITTST ( R7 , 31 ) ;\r
44CC = !BITTST ( R7 , 15 ) ;\r
45CC = !BITTST ( R1 , 0 ) ;\r
46CC = !BITTST ( R2 , 1 ) ;\r
47CC = !BITTST ( R3 , 19 ) ;\r
48\r
49//Dreg = DEPOSIT ( Dreg, Dreg ) ; /* no extension (b) */\r
50R7 = DEPOSIT(R0, R1);\r
51R7 = DEPOSIT(R7, R1);\r
52R7 = DEPOSIT(R7, R7);\r
53R1 = DEPOSIT(R0, R1);\r
54R2 = DEPOSIT(R7, R1);\r
55R3 = DEPOSIT(R7, R7);\r
56\r
57//Dreg = DEPOSIT ( Dreg, Dreg ) (X) ; /* sign-extended (b) */\r
58R7 = DEPOSIT(R0, R1)(X);\r
59R7 = DEPOSIT(R7, R1)(X);\r
60R7 = DEPOSIT(R7, R7)(X);\r
61R1 = DEPOSIT(R0, R1)(X);\r
62R2 = DEPOSIT(R7, R1)(X);\r
63R3 = DEPOSIT(R7, R7)(X);\r
64\r
65//Dreg = EXTRACT ( Dreg, Dreg_lo ) (Z) ; /* zero-extended (b)*/\r
66R7 = EXTRACT(R0, R1.L)(Z);\r
67R7 = EXTRACT(R7, R1.L)(Z);\r
68R7 = EXTRACT(R7, R7.L)(Z);\r
69R1 = EXTRACT(R0, R1.L)(Z);\r
70R2 = EXTRACT(R7, R1.L)(Z);\r
71R3 = EXTRACT(R7, R7.L)(Z);\r
72\r
73//Dreg = EXTRACT ( Dreg, Dreg_lo ) (X) ; /* sign-extended (b)*/\r
74R7 = EXTRACT(R0, R1.L)(X);\r
75R7 = EXTRACT(R7, R1.L)(X);\r
76R7 = EXTRACT(R7, R7.L)(X);\r
77R1 = EXTRACT(R0, R1.L)(X);\r
78R2 = EXTRACT(R7, R1.L)(X);\r
79R3 = EXTRACT(R7, R7.L)(X);\r
80\r
81//BITMUX ( Dreg , Dreg , A0 ) (ASR) ; /* shift right, LSB is shifted out (b) */\r
82BITMUX(R0, R1, A0)(ASR);\r
83BITMUX(R0, R2, A0)(ASR);\r
84BITMUX(R1, R3, A0)(ASR);\r
85//BITMUX(R0, R0, A0)(ASR);\r
86\r
87//BITMUX ( Dreg , Dreg , A0 ) (ASL) ; /* shift left, MSB is shifted out (b) */\r
88//BITMUX(R0, R0, A0)(ASL);\r
89BITMUX(R0, R1, A0)(ASL);\r
90BITMUX(R1, R2, A0)(ASL);\r
91\r
92//Dreg_lo = ONES Dreg ; /* (b) */\r
93R0.L = ONES R0;\r
94R0.L = ONES R1;\r
95R1.L = ONES R6;\r
96R2.L = ONES R7;\r
97\r
98\r
This page took 0.026327 seconds and 4 git commands to generate.