Commit 278d4a58 authored by Shenghou Ma's avatar Shenghou Ma

cmd/5c, cmd/5a, cmd/5l: ARM support for PREFETCH built-in

R=rsc
CC=golang-dev
https://golang.org/cl/6174049
parent df644489
......@@ -304,7 +304,7 @@ inst:
/*
* PLD
*/
| LTYPEPLD reg
| LTYPEPLD oreg
{
outcode($1, Always, &$2, NREG, &nullgen);
}
......
......@@ -448,7 +448,7 @@ union yyalloc
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 2
/* YYLAST -- Last index in YYTABLE. */
#define YYLAST 609
#define YYLAST 603
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 70
......@@ -549,7 +549,7 @@ static const yytype_int8 yyrhs[] =
77, 102, 63, 104, 63, 95, 63, 96, 63, 96,
103, -1, 34, 77, 90, 63, 90, 63, 91, -1,
35, 77, 90, 63, 90, 63, 90, 63, 95, -1,
37, 90, -1, 26, 78, -1, -1, 77, 52, -1,
37, 87, -1, 26, 78, -1, -1, 77, 52, -1,
77, 53, -1, -1, 63, 78, -1, 102, 66, 42,
67, -1, 57, 100, -1, 58, 100, -1, 68, 102,
-1, 68, 87, -1, 68, 10, 68, 87, -1, 68,
......@@ -586,16 +586,16 @@ static const yytype_uint16 yyrline[] =
93, 99, 100, 101, 107, 111, 115, 122, 129, 136,
140, 147, 154, 161, 168, 175, 184, 196, 200, 204,
211, 218, 222, 229, 236, 243, 250, 254, 258, 262,
269, 291, 298, 307, 315, 321, 324, 328, 333, 334,
337, 343, 352, 360, 366, 371, 376, 382, 385, 391,
399, 403, 412, 418, 419, 420, 421, 426, 432, 438,
444, 445, 448, 449, 457, 466, 467, 476, 477, 483,
486, 487, 488, 490, 498, 506, 515, 521, 527, 533,
541, 547, 555, 556, 560, 568, 569, 575, 576, 584,
585, 588, 594, 602, 610, 618, 628, 631, 635, 641,
642, 643, 646, 647, 651, 655, 659, 663, 669, 672,
678, 679, 683, 687, 691, 695, 699, 703, 707, 711,
715
269, 291, 298, 307, 314, 320, 323, 327, 332, 333,
336, 342, 351, 359, 365, 370, 375, 381, 384, 390,
398, 402, 411, 417, 418, 419, 420, 425, 431, 437,
443, 444, 447, 448, 456, 465, 466, 475, 476, 482,
485, 486, 487, 489, 497, 505, 514, 520, 526, 532,
540, 546, 554, 555, 559, 567, 568, 574, 575, 583,
584, 587, 593, 601, 609, 617, 627, 630, 634, 640,
641, 642, 645, 646, 650, 654, 658, 662, 668, 671,
677, 678, 682, 686, 690, 694, 698, 702, 706, 710,
714
};
#endif
......@@ -684,28 +684,28 @@ static const yytype_uint8 yydefact[] =
0, 11, 4, 0, 13, 0, 0, 0, 48, 48,
0, 48, 0, 0, 48, 48, 0, 0, 112, 106,
113, 0, 0, 0, 0, 0, 0, 44, 0, 0,
0, 0, 0, 0, 0, 0, 96, 93, 0, 92,
43, 95, 84, 7, 0, 5, 0, 12, 46, 47,
0, 0, 81, 80, 82, 84, 0, 0, 101, 67,
68, 0, 0, 64, 57, 0, 75, 79, 70, 63,
65, 71, 77, 69, 0, 49, 106, 106, 22, 0,
0, 0, 0, 0, 0, 0, 0, 30, 115, 114,
0, 0, 0, 0, 120, 0, 116, 0, 0, 0,
48, 35, 0, 0, 0, 100, 0, 99, 0, 0,
0, 0, 21, 0, 0, 0, 0, 0, 83, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 58,
56, 54, 53, 0, 0, 0, 0, 106, 19, 20,
72, 73, 0, 51, 52, 0, 23, 0, 0, 48,
0, 0, 0, 0, 106, 107, 108, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 117, 31,
0, 110, 109, 111, 0, 0, 34, 0, 0, 0,
0, 0, 0, 0, 0, 8, 9, 6, 10, 16,
84, 0, 0, 0, 0, 17, 0, 74, 59, 0,
18, 0, 0, 0, 51, 0, 0, 48, 0, 0,
0, 0, 0, 48, 0, 0, 130, 129, 128, 0,
0, 121, 122, 123, 124, 125, 0, 103, 0, 36,
0, 101, 37, 48, 0, 0, 94, 15, 86, 90,
91, 87, 88, 89, 102, 55, 0, 66, 78, 76,
0, 0, 0, 0, 0, 0, 0, 75, 79, 43,
77, 0, 7, 0, 5, 0, 12, 96, 93, 0,
92, 46, 47, 0, 0, 81, 80, 82, 95, 84,
0, 0, 101, 67, 68, 0, 64, 57, 0, 70,
63, 65, 71, 69, 0, 49, 106, 106, 22, 0,
0, 0, 0, 0, 0, 0, 0, 84, 30, 115,
114, 0, 0, 0, 0, 120, 0, 116, 0, 0,
0, 48, 35, 0, 0, 0, 100, 0, 99, 0,
0, 0, 0, 21, 0, 0, 0, 0, 0, 0,
0, 0, 83, 0, 0, 0, 0, 0, 0, 0,
0, 0, 58, 56, 54, 53, 0, 0, 106, 19,
20, 72, 73, 0, 51, 52, 0, 23, 0, 0,
48, 0, 0, 0, 0, 106, 107, 108, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 117,
31, 0, 110, 109, 111, 0, 0, 34, 0, 0,
0, 0, 0, 0, 0, 74, 0, 0, 8, 9,
6, 10, 0, 16, 84, 0, 0, 0, 0, 17,
0, 59, 0, 18, 0, 51, 0, 0, 48, 0,
0, 0, 0, 0, 48, 0, 0, 130, 129, 128,
0, 0, 121, 122, 123, 124, 125, 0, 103, 0,
36, 0, 101, 37, 48, 0, 0, 78, 76, 94,
15, 86, 90, 91, 87, 88, 89, 102, 55, 66,
50, 24, 0, 61, 62, 0, 29, 48, 28, 0,
104, 126, 127, 32, 33, 0, 0, 39, 0, 0,
14, 26, 25, 27, 0, 0, 38, 0, 41, 0,
......@@ -716,59 +716,59 @@ static const yytype_uint8 yydefact[] =
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
-1, 1, 3, 32, 146, 144, 33, 35, 105, 108,
93, 94, 178, 95, 169, 96, 97, 98, 81, 82,
83, 308, 84, 268, 71, 72, 316, 136, 101, 102,
123, 204, 124, 327, 125
-1, 1, 3, 32, 149, 147, 33, 35, 105, 108,
96, 97, 179, 98, 170, 67, 68, 99, 84, 85,
86, 308, 87, 271, 88, 117, 316, 137, 102, 70,
124, 205, 125, 327, 126
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
#define YYPACT_NINF -119
#define YYPACT_NINF -114
static const yytype_int16 yypact[] =
{
-119, 29, -119, 283, -9, -119, -119, -119, -119, -23,
-119, -119, -119, -119, -119, 407, 407, -119, -23, -23,
-119, -119, -119, -119, -119, -119, -23, 383, -24, 16,
18, -119, -119, 25, -119, 196, 196, 320, 52, -23,
374, 52, 196, 342, 294, 52, 447, 447, -119, 125,
-119, 447, 447, 45, 47, 109, 174, -119, 62, 98,
382, 130, 98, 174, 174, 69, -119, -119, 80, -119,
-119, -119, -119, -119, 447, -119, 447, -119, -119, -119,
447, 96, -119, -119, -119, 24, 105, 95, -119, -119,
-119, 360, 101, -119, -119, 108, -119, -119, -119, -119,
119, -119, 127, 131, 401, -119, 76, 76, -119, 141,
224, 111, 383, 154, 149, 69, 162, -119, -119, -119,
221, 447, 447, 163, -119, 40, -119, 409, 170, 447,
-23, -119, 167, 171, 2, -119, 176, -119, 181, 183,
184, 383, -119, 447, 283, 530, 283, 540, -119, 383,
244, 245, 251, 260, 383, 447, 206, 441, 208, -119,
-119, -119, 131, 224, 383, 110, 282, 125, -119, -119,
-119, -119, 213, -119, -119, 238, -119, 383, 220, 9,
222, 110, 225, 69, 76, -119, -119, 170, 447, 447,
447, 285, 287, 447, 447, 447, 447, 447, -119, -119,
247, -119, -119, -119, 263, 248, -119, 71, 447, 276,
79, 71, 383, 383, 56, -119, -119, -119, -119, -119,
271, 360, 360, 360, 360, -119, 268, -119, -119, 415,
-119, 270, 277, 281, 163, 60, 293, -23, 280, 383,
383, 383, 383, 286, 297, 311, 589, 579, 597, 447,
447, 211, 211, -119, -119, -119, 284, -119, 62, -119,
520, 318, -119, -23, 321, 322, -119, 383, -119, -119,
-119, -119, -119, -119, -119, -119, 131, -119, -119, -119,
-119, -119, 453, -119, -119, 327, -119, 77, -119, 347,
-119, 478, 478, -119, -119, 383, 71, -119, 330, 383,
-119, -119, -119, -119, 326, 334, -119, 383, -119, 337,
-119, 115, 340, 383, 341, -119, 350, 383, -119, 447,
115, 354, 86, 367, -119, -119, 447, -119, 570
-114, 19, -114, 311, -20, -114, -114, -114, -114, -36,
-114, -114, -114, -114, -114, 413, 413, -114, -36, -36,
-114, -114, -114, -114, -114, -114, -36, 427, -22, -9,
-7, -114, -114, 11, -114, 480, 480, 341, 45, -36,
229, 45, 480, 210, 436, 45, 435, 435, -114, 152,
-114, 435, 435, 25, 15, 79, 517, -114, 24, 134,
393, 197, 134, 517, 517, 28, 71, -114, -114, -114,
35, 58, -114, 435, -114, 435, -114, -114, -114, 69,
-114, -114, -114, 435, 51, -114, -114, -114, -114, 46,
57, 75, -114, -114, -114, 119, -114, -114, 82, -114,
-114, 88, -114, 58, 368, -114, 159, 159, -114, 113,
373, 114, 411, 120, 123, 28, 145, -114, -114, -114,
-114, 193, 435, 435, 173, -114, 54, -114, 395, 111,
435, -36, -114, 178, 182, 21, -114, 198, -114, 201,
207, 212, 411, -114, 206, 168, 558, 311, 310, 311,
506, 435, -114, 411, 271, 274, 285, 286, 411, 435,
87, 228, -114, -114, -114, 58, 373, 411, 152, -114,
-114, -114, -114, 231, -114, -114, 257, -114, 411, 235,
5, 259, 168, 275, 28, 159, -114, -114, 111, 435,
435, 435, 333, 344, 435, 435, 435, 435, 435, -114,
-114, 289, -114, -114, -114, 300, 308, -114, 151, 435,
319, 176, 151, 411, 411, -114, 317, 322, -114, -114,
-114, -114, 224, -114, 312, 71, 71, 71, 71, -114,
323, -114, 427, -114, 328, 173, 64, 329, -36, 315,
411, 411, 411, 411, 334, 339, 332, 577, 247, 584,
435, 435, 273, 273, -114, -114, -114, 340, -114, 24,
-114, 350, 351, -114, -36, 353, 365, -114, -114, -114,
411, -114, -114, -114, -114, -114, -114, -114, -114, -114,
-114, -114, 439, -114, -114, 364, -114, 157, -114, 398,
-114, 518, 518, -114, -114, 411, 151, -114, 374, 411,
-114, -114, -114, -114, 382, 394, -114, 411, -114, 397,
-114, 155, 403, 411, 392, -114, 404, 411, -114, 435,
155, 401, 299, 406, -114, -114, 435, -114, 568
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
-119, -119, -119, -73, -119, -119, -119, 547, -6, 332,
-50, 376, -60, -82, -119, -46, -39, -86, -15, -118,
-22, -119, -27, 152, -111, -35, 118, -119, -45, 8,
-81, 255, 132, -119, 6
-114, -114, -114, -78, -114, -114, -114, 529, 2, 367,
-50, 415, 48, -88, -114, -48, -40, -21, 47, -113,
-19, -114, -28, 137, -59, -35, 154, -114, -49, 18,
-83, 295, -11, -114, -25
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
......@@ -778,132 +778,132 @@ static const yytype_int16 yypgoto[] =
#define YYTABLE_NINF -61
static const yytype_int16 yytable[] =
{
85, 85, 85, 40, 113, 70, 161, 85, 131, 199,
100, 209, 57, 58, 132, 99, 137, 138, 239, 142,
65, 86, 116, 53, 55, 173, 174, 111, 176, 2,
150, 151, 104, 152, 130, 110, 73, 74, 115, 117,
39, 139, 140, 188, 189, 190, 191, 192, 193, 194,
195, 196, 197, 34, 232, 233, 156, 159, 170, 188,
189, 190, 191, 192, 193, 194, 195, 196, 197, 182,
233, 215, 39, 217, -60, 85, 75, 179, 153, 76,
145, 230, 147, 100, 121, 122, 234, 77, 99, 188,
189, 190, 191, 192, 193, 194, 195, 196, 197, 201,
202, 203, 236, 244, 78, 79, 156, 198, 127, 46,
157, 158, 171, 128, 220, 39, 66, 87, 88, 67,
129, 68, 69, 266, 206, 87, 261, 219, 85, 231,
92, 120, 225, 121, 122, 141, 100, 243, 293, 48,
39, 99, 237, 275, 87, 88, 143, 54, 54, 214,
78, 79, 67, 325, 68, 69, 159, 160, 49, 149,
50, 155, 259, 314, 315, 262, 263, 91, 154, 103,
52, 163, 109, 240, 177, 114, 87, 88, 118, 119,
284, 285, 78, 79, 126, 164, 269, 269, 269, 269,
264, 265, 133, 165, 246, 247, 248, 166, 134, 251,
252, 253, 254, 255, 283, 179, 179, 175, 294, 201,
202, 203, 148, 66, 260, 181, 67, 180, 68, 69,
286, 195, 196, 197, 162, 183, 78, 79, 184, 187,
207, 281, 46, 47, 208, 66, 172, 288, 67, 210,
68, 69, 103, 301, 211, 300, 212, 213, 78, 79,
221, 306, 222, 185, 186, 291, 292, 297, 223, 200,
305, 205, 48, 66, 80, 303, 67, 224, 68, 69,
87, 88, 312, 227, 89, 90, 229, 309, 318, 235,
236, 49, 321, 50, 4, 238, 241, 226, 242, 119,
91, 249, 92, 52, 250, 103, 5, 6, 7, 8,
9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
256, 258, 19, 20, 21, 22, 23, 24, 25, 26,
27, 201, 202, 203, 67, 322, 68, 69, 46, 47,
257, 228, 328, 66, 267, 274, 67, 277, 68, 69,
28, 29, 30, 282, 278, 31, 78, 79, 279, 287,
46, 47, 80, 270, 270, 270, 270, 39, 48, 66,
280, 276, 67, 289, 68, 69, 87, 88, 46, 47,
89, 90, 78, 79, 271, 272, 273, 49, 290, 50,
48, 296, 46, 47, 298, 299, 91, 304, 92, 52,
46, 47, 302, 310, 78, 79, 307, 311, 48, 66,
313, 50, 67, 317, 68, 69, 112, 319, 91, 46,
47, 52, 48, 320, 114, 46, 47, 46, 47, 50,
48, 324, 66, 46, 47, 67, 51, 68, 69, 52,
326, 106, 107, 50, 78, 79, 168, 135, 323, 48,
51, 50, 245, 52, 0, 48, 0, 48, 51, 46,
47, 52, 0, 48, 0, 46, 47, 0, 167, 107,
50, 46, 47, 0, 49, 0, 50, 91, 50, 0,
52, 0, 49, 51, 50, 51, 52, 80, 52, 48,
0, 91, 0, 0, 52, 48, 193, 194, 195, 196,
197, 48, 0, 0, 0, 0, 228, 0, 0, 0,
50, 0, 0, 0, 0, 0, 50, 51, 0, 0,
52, 0, 50, 51, 0, 0, 52, 0, 0, 91,
0, 0, 52, 188, 189, 190, 191, 192, 193, 194,
195, 196, 197, 188, 189, 190, 191, 192, 193, 194,
195, 196, 197, 188, 189, 190, 191, 192, 193, 194,
195, 196, 197, 36, 37, 38, 0, 41, 42, 43,
44, 45, 0, 0, 56, 0, 0, 59, 60, 61,
62, 63, 64, 188, 189, 190, 191, 192, 193, 194,
195, 196, 197, 295, 190, 191, 192, 193, 194, 195,
196, 197, 216, 189, 190, 191, 192, 193, 194, 195,
196, 197, 218, 191, 192, 193, 194, 195, 196, 197
89, 89, 89, 113, 54, 54, 69, 89, 132, 101,
133, 40, 138, 139, 240, 200, 71, 143, 100, 2,
57, 58, 177, 174, 175, 116, 103, 39, 65, 109,
210, 144, 114, 53, 55, 119, 120, 131, 72, 73,
104, 127, 34, 110, 140, 141, 115, 118, 148, 134,
150, 74, 154, 155, 75, 156, 171, 189, 190, 191,
192, 193, 194, 195, 196, 197, 198, 183, 39, 218,
-60, 220, 152, 76, 164, 89, 162, 180, 233, 46,
47, 129, 101, 90, 165, 235, 216, 217, 128, 111,
130, 100, 95, 173, 142, 46, 47, 81, 82, 103,
157, 145, 245, 202, 203, 204, 237, 144, 39, 48,
77, 186, 187, 78, 153, 79, 80, 201, 224, 206,
158, 199, 172, 217, 146, 48, 222, 46, 160, 161,
50, 89, 234, 207, 223, 151, 244, 51, 101, 229,
52, 159, 231, 238, 293, 166, 50, 100, 230, 120,
202, 203, 204, 51, 167, 103, 52, 48, 121, 260,
122, 123, 263, 264, 247, 248, 249, 122, 123, 252,
253, 254, 255, 256, 162, 163, 49, 178, 50, 176,
91, 92, 241, 181, 261, 66, 81, 82, 52, 182,
272, 272, 272, 272, 265, 266, 77, 91, 92, 78,
185, 79, 80, 314, 315, 283, 180, 180, 184, 294,
78, 278, 79, 80, 273, 273, 273, 273, 46, 47,
39, 71, 91, 262, 286, 291, 292, 189, 190, 191,
192, 193, 194, 195, 196, 197, 198, 46, 47, 188,
281, 208, 301, 91, 92, 209, 288, 306, 48, 81,
82, 300, 191, 192, 193, 194, 195, 196, 197, 198,
305, 211, 81, 82, 212, 135, 297, 48, 303, 50,
213, 114, 312, 215, 112, 214, 66, 225, 318, 52,
309, 226, 321, 196, 197, 198, 106, 107, 50, 284,
285, 269, 227, 228, 322, 51, 232, 236, 52, 237,
239, 328, 189, 190, 191, 192, 193, 194, 195, 196,
197, 198, 4, 189, 190, 191, 192, 193, 194, 195,
196, 197, 198, 242, 5, 6, 7, 8, 9, 10,
11, 12, 13, 14, 15, 16, 17, 18, 243, 250,
19, 20, 21, 22, 23, 24, 25, 26, 27, 46,
47, 251, 257, 189, 190, 191, 192, 193, 194, 195,
196, 197, 198, 274, 275, 276, 325, 258, 28, 29,
30, 259, 219, 31, 231, 270, 46, 47, 282, 48,
77, 46, 47, 78, 267, 79, 80, 91, 92, 268,
277, 93, 94, 81, 82, 279, 280, 287, 49, 290,
50, 46, 47, 46, 47, 289, 48, 66, 83, 95,
52, 48, 77, 295, 296, 78, 298, 79, 80, 91,
92, 46, 47, 93, 94, 168, 107, 50, 299, 302,
49, 48, 50, 48, 66, 46, 47, 52, 304, 66,
307, 95, 52, 46, 47, 81, 82, 46, 47, 310,
77, 48, 50, 78, 50, 79, 80, 311, 319, 51,
313, 51, 52, 83, 52, 48, 317, 320, 324, 326,
49, 169, 50, 48, 323, 77, 136, 48, 78, 51,
79, 80, 52, 246, 49, 0, 50, 0, 81, 82,
0, 0, 0, 66, 50, 0, 52, 0, 50, 39,
0, 51, 0, 0, 52, 66, 0, 0, 52, 189,
190, 191, 192, 193, 194, 195, 196, 197, 198, 77,
0, 0, 78, 0, 79, 80, 194, 195, 196, 197,
198, 0, 81, 82, 0, 36, 37, 38, 0, 41,
42, 43, 44, 45, 0, 0, 56, 0, 83, 59,
60, 61, 62, 63, 64, 0, 77, 0, 0, 78,
0, 79, 80, 0, 0, 0, 0, 0, 221, 81,
82, 189, 190, 191, 192, 193, 194, 195, 196, 197,
198, 190, 191, 192, 193, 194, 195, 196, 197, 198,
192, 193, 194, 195, 196, 197, 198, 202, 203, 204,
78, 0, 79, 80
};
static const yytype_int16 yycheck[] =
{
35, 36, 37, 9, 43, 27, 92, 42, 58, 127,
37, 9, 18, 19, 59, 37, 61, 62, 9, 65,
26, 36, 44, 15, 16, 106, 107, 42, 110, 0,
6, 7, 38, 9, 56, 41, 60, 61, 44, 45,
63, 63, 64, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, 62, 165, 166, 91, 55, 104, 3,
4, 5, 6, 7, 8, 9, 10, 11, 12, 115,
181, 144, 63, 146, 65, 110, 60, 112, 54, 61,
74, 163, 76, 110, 8, 9, 167, 62, 110, 3,
35, 36, 37, 43, 15, 16, 27, 42, 58, 37,
59, 9, 61, 62, 9, 128, 27, 65, 37, 0,
18, 19, 110, 106, 107, 44, 37, 63, 26, 40,
9, 66, 43, 15, 16, 46, 47, 56, 60, 61,
38, 52, 62, 41, 63, 64, 44, 45, 73, 60,
75, 60, 6, 7, 61, 9, 104, 3, 4, 5,
6, 7, 8, 9, 10, 11, 12, 115, 63, 147,
65, 149, 83, 62, 95, 110, 55, 112, 166, 8,
9, 66, 110, 36, 95, 168, 145, 146, 63, 42,
11, 110, 68, 104, 66, 8, 9, 52, 53, 110,
54, 66, 185, 39, 40, 41, 42, 142, 63, 38,
39, 122, 123, 42, 63, 44, 45, 128, 153, 130,
63, 67, 104, 182, 66, 38, 151, 8, 9, 10,
59, 166, 167, 131, 153, 66, 184, 66, 166, 158,
69, 66, 55, 178, 257, 63, 59, 166, 159, 160,
39, 40, 41, 66, 66, 166, 69, 38, 6, 208,
8, 9, 211, 212, 189, 190, 191, 8, 9, 194,
195, 196, 197, 198, 55, 56, 57, 63, 59, 66,
46, 47, 180, 63, 209, 66, 52, 53, 69, 66,
225, 226, 227, 228, 213, 214, 39, 46, 47, 42,
7, 44, 45, 48, 49, 240, 241, 242, 63, 259,
42, 232, 44, 45, 225, 226, 227, 228, 8, 9,
63, 232, 46, 47, 243, 250, 251, 3, 4, 5,
6, 7, 8, 9, 10, 11, 12, 8, 9, 66,
238, 63, 282, 46, 47, 63, 244, 296, 38, 52,
53, 270, 5, 6, 7, 8, 9, 10, 11, 12,
295, 63, 52, 53, 63, 68, 264, 38, 287, 59,
63, 282, 307, 67, 64, 63, 66, 6, 313, 69,
299, 7, 317, 10, 11, 12, 57, 58, 59, 241,
242, 67, 7, 7, 319, 66, 68, 66, 69, 42,
65, 326, 3, 4, 5, 6, 7, 8, 9, 10,
11, 12, 1, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, 64, 13, 14, 15, 16, 17, 18,
19, 20, 21, 22, 23, 24, 25, 26, 63, 6,
29, 30, 31, 32, 33, 34, 35, 36, 37, 8,
9, 7, 63, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, 226, 227, 228, 67, 67, 57, 58,
59, 63, 62, 62, 55, 63, 8, 9, 63, 38,
39, 8, 9, 42, 67, 44, 45, 46, 47, 67,
67, 50, 51, 52, 53, 67, 67, 63, 57, 67,
59, 8, 9, 8, 9, 66, 38, 66, 68, 68,
69, 38, 39, 63, 63, 42, 63, 44, 45, 46,
47, 8, 9, 50, 51, 57, 58, 59, 63, 65,
57, 38, 59, 38, 66, 8, 9, 69, 40, 66,
66, 68, 69, 8, 9, 52, 53, 8, 9, 67,
39, 38, 59, 42, 59, 44, 45, 63, 66, 66,
63, 66, 69, 68, 69, 38, 63, 63, 67, 63,
57, 104, 59, 38, 320, 39, 61, 38, 42, 66,
44, 45, 69, 188, 57, -1, 59, -1, 52, 53,
-1, -1, -1, 66, 59, -1, 69, -1, 59, 63,
-1, 66, -1, -1, 69, 66, -1, -1, 69, 3,
4, 5, 6, 7, 8, 9, 10, 11, 12, 39,
40, 41, 42, 184, 52, 53, 141, 67, 63, 8,
9, 10, 104, 66, 149, 63, 39, 46, 47, 42,
11, 44, 45, 67, 130, 46, 47, 149, 163, 164,
68, 6, 154, 8, 9, 66, 163, 183, 256, 38,
63, 163, 177, 229, 46, 47, 66, 15, 16, 143,
52, 53, 42, 67, 44, 45, 55, 56, 57, 63,
59, 66, 207, 48, 49, 210, 211, 66, 63, 37,
69, 63, 40, 179, 63, 43, 46, 47, 46, 47,
240, 241, 52, 53, 52, 66, 221, 222, 223, 224,
212, 213, 60, 66, 188, 189, 190, 66, 68, 193,
194, 195, 196, 197, 239, 240, 241, 66, 258, 39,
40, 41, 80, 39, 208, 66, 42, 63, 44, 45,
242, 10, 11, 12, 92, 63, 52, 53, 7, 66,
63, 237, 8, 9, 63, 39, 104, 243, 42, 63,
44, 45, 110, 282, 63, 267, 63, 63, 52, 53,
6, 296, 7, 121, 122, 249, 250, 263, 7, 127,
295, 129, 38, 39, 68, 287, 42, 7, 44, 45,
46, 47, 307, 67, 50, 51, 68, 299, 313, 66,
42, 57, 317, 59, 1, 65, 64, 155, 63, 157,
66, 6, 68, 69, 7, 163, 13, 14, 15, 16,
17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
63, 63, 29, 30, 31, 32, 33, 34, 35, 36,
37, 39, 40, 41, 42, 319, 44, 45, 8, 9,
67, 55, 326, 39, 63, 67, 42, 67, 44, 45,
57, 58, 59, 63, 67, 62, 52, 53, 67, 63,
8, 9, 68, 221, 222, 223, 224, 63, 38, 39,
67, 229, 42, 66, 44, 45, 46, 47, 8, 9,
50, 51, 52, 53, 222, 223, 224, 57, 67, 59,
38, 63, 8, 9, 63, 63, 66, 40, 68, 69,
8, 9, 65, 67, 52, 53, 66, 63, 38, 39,
63, 59, 42, 63, 44, 45, 64, 66, 66, 8,
9, 69, 38, 63, 282, 8, 9, 8, 9, 59,
38, 67, 39, 8, 9, 42, 66, 44, 45, 69,
63, 57, 58, 59, 52, 53, 104, 61, 320, 38,
66, 59, 187, 69, -1, 38, -1, 38, 66, 8,
9, 69, -1, 38, -1, 8, 9, -1, 57, 58,
59, 8, 9, -1, 57, -1, 59, 66, 59, -1,
69, -1, 57, 66, 59, 66, 69, 68, 69, 38,
-1, 66, -1, -1, 69, 38, 8, 9, 10, 11,
12, 38, -1, -1, -1, -1, 55, -1, -1, -1,
59, -1, -1, -1, -1, -1, 59, 66, -1, -1,
69, -1, 59, 66, -1, -1, 69, -1, -1, 66,
-1, -1, 69, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, 6, 7, 8, -1, 10, 11, 12,
13, 14, -1, -1, 17, -1, -1, 20, 21, 22,
23, 24, 25, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, 63, 5, 6, 7, 8, 9, 10,
11, 12, 62, 4, 5, 6, 7, 8, 9, 10,
11, 12, 62, 6, 7, 8, 9, 10, 11, 12
-1, -1, 42, -1, 44, 45, 8, 9, 10, 11,
12, -1, 52, 53, -1, 6, 7, 8, -1, 10,
11, 12, 13, 14, -1, -1, 17, -1, 68, 20,
21, 22, 23, 24, 25, -1, 39, -1, -1, 42,
-1, 44, 45, -1, -1, -1, -1, -1, 62, 52,
53, 3, 4, 5, 6, 7, 8, 9, 10, 11,
12, 4, 5, 6, 7, 8, 9, 10, 11, 12,
6, 7, 8, 9, 10, 11, 12, 39, 40, 41,
42, -1, 44, 45
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
......@@ -916,28 +916,28 @@ static const yytype_uint8 yystos[] =
59, 62, 73, 76, 62, 77, 77, 77, 77, 63,
78, 77, 77, 77, 77, 77, 8, 9, 38, 57,
59, 66, 69, 99, 102, 99, 77, 78, 78, 77,
77, 77, 77, 77, 77, 78, 39, 42, 44, 45,
90, 94, 95, 60, 61, 60, 61, 62, 52, 53,
68, 88, 89, 90, 92, 95, 88, 46, 47, 50,
51, 66, 68, 80, 81, 83, 85, 86, 87, 90,
92, 98, 99, 102, 78, 78, 57, 58, 79, 102,
78, 88, 64, 86, 102, 78, 90, 78, 102, 102,
6, 8, 9, 100, 102, 104, 102, 63, 66, 11,
90, 80, 98, 102, 68, 81, 97, 98, 98, 90,
90, 66, 85, 66, 75, 104, 74, 104, 102, 63,
6, 7, 9, 54, 63, 66, 95, 9, 10, 55,
56, 87, 102, 63, 66, 66, 66, 57, 79, 84,
85, 99, 102, 100, 100, 66, 83, 63, 82, 95,
63, 66, 85, 63, 7, 102, 102, 66, 3, 4,
5, 6, 7, 8, 9, 10, 11, 12, 67, 89,
102, 39, 40, 41, 101, 102, 78, 63, 63, 9,
63, 63, 63, 63, 104, 73, 62, 73, 62, 90,
95, 6, 7, 7, 7, 90, 102, 67, 55, 68,
83, 95, 94, 94, 100, 66, 42, 95, 65, 9,
78, 64, 63, 85, 100, 101, 104, 104, 104, 6,
7, 104, 104, 104, 104, 104, 63, 67, 63, 98,
104, 47, 98, 98, 90, 90, 67, 63, 93, 95,
102, 93, 93, 93, 67, 87, 102, 67, 67, 67,
77, 77, 77, 77, 77, 78, 66, 85, 86, 87,
99, 102, 60, 61, 60, 61, 62, 39, 42, 44,
45, 52, 53, 68, 88, 89, 90, 92, 94, 95,
88, 46, 47, 50, 51, 68, 80, 81, 83, 87,
90, 92, 98, 102, 78, 78, 57, 58, 79, 102,
78, 88, 64, 86, 102, 78, 90, 95, 78, 102,
102, 6, 8, 9, 100, 102, 104, 102, 63, 66,
11, 90, 80, 98, 102, 68, 81, 97, 98, 98,
90, 90, 66, 85, 95, 66, 66, 75, 104, 74,
104, 66, 102, 63, 6, 7, 9, 54, 63, 66,
9, 10, 55, 56, 87, 102, 63, 66, 57, 79,
84, 85, 99, 102, 100, 100, 66, 83, 63, 82,
95, 63, 66, 85, 63, 7, 102, 102, 66, 3,
4, 5, 6, 7, 8, 9, 10, 11, 12, 67,
89, 102, 39, 40, 41, 101, 102, 78, 63, 63,
9, 63, 63, 63, 63, 67, 94, 94, 73, 62,
73, 62, 104, 90, 95, 6, 7, 7, 7, 90,
102, 55, 68, 83, 95, 100, 66, 42, 95, 65,
9, 78, 64, 63, 85, 100, 101, 104, 104, 104,
6, 7, 104, 104, 104, 104, 104, 63, 67, 63,
98, 104, 47, 98, 98, 90, 90, 67, 67, 67,
63, 93, 95, 102, 93, 93, 93, 67, 87, 67,
67, 78, 63, 95, 82, 82, 90, 63, 78, 66,
67, 104, 104, 89, 80, 63, 63, 78, 63, 63,
90, 86, 65, 90, 40, 95, 98, 66, 91, 90,
......@@ -2097,7 +2097,6 @@ yyreduce:
/* Line 1455 of yacc.c */
#line 308 "a.y"
{
// TODO
outcode((yyvsp[(1) - (2)].lval), Always, &(yyvsp[(2) - (2)].gen), NREG, &nullgen);
}
break;
......@@ -2105,7 +2104,7 @@ yyreduce:
case 44:
/* Line 1455 of yacc.c */
#line 316 "a.y"
#line 315 "a.y"
{
outcode((yyvsp[(1) - (2)].lval), Always, &nullgen, NREG, &nullgen);
}
......@@ -2114,7 +2113,7 @@ yyreduce:
case 45:
/* Line 1455 of yacc.c */
#line 321 "a.y"
#line 320 "a.y"
{
(yyval.lval) = Always;
}
......@@ -2123,7 +2122,7 @@ yyreduce:
case 46:
/* Line 1455 of yacc.c */
#line 325 "a.y"
#line 324 "a.y"
{
(yyval.lval) = ((yyvsp[(1) - (2)].lval) & ~C_SCOND) | (yyvsp[(2) - (2)].lval);
}
......@@ -2132,7 +2131,7 @@ yyreduce:
case 47:
/* Line 1455 of yacc.c */
#line 329 "a.y"
#line 328 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (2)].lval) | (yyvsp[(2) - (2)].lval);
}
......@@ -2141,7 +2140,7 @@ yyreduce:
case 50:
/* Line 1455 of yacc.c */
#line 338 "a.y"
#line 337 "a.y"
{
(yyval.gen) = nullgen;
(yyval.gen).type = D_BRANCH;
......@@ -2152,7 +2151,7 @@ yyreduce:
case 51:
/* Line 1455 of yacc.c */
#line 344 "a.y"
#line 343 "a.y"
{
(yyval.gen) = nullgen;
if(pass == 2)
......@@ -2166,7 +2165,7 @@ yyreduce:
case 52:
/* Line 1455 of yacc.c */
#line 353 "a.y"
#line 352 "a.y"
{
(yyval.gen) = nullgen;
(yyval.gen).type = D_BRANCH;
......@@ -2178,7 +2177,7 @@ yyreduce:
case 53:
/* Line 1455 of yacc.c */
#line 361 "a.y"
#line 360 "a.y"
{
(yyval.gen) = nullgen;
(yyval.gen).type = D_CONST;
......@@ -2189,7 +2188,7 @@ yyreduce:
case 54:
/* Line 1455 of yacc.c */
#line 367 "a.y"
#line 366 "a.y"
{
(yyval.gen) = (yyvsp[(2) - (2)].gen);
(yyval.gen).type = D_CONST;
......@@ -2199,7 +2198,7 @@ yyreduce:
case 55:
/* Line 1455 of yacc.c */
#line 372 "a.y"
#line 371 "a.y"
{
(yyval.gen) = (yyvsp[(4) - (4)].gen);
(yyval.gen).type = D_OCONST;
......@@ -2209,7 +2208,7 @@ yyreduce:
case 56:
/* Line 1455 of yacc.c */
#line 377 "a.y"
#line 376 "a.y"
{
(yyval.gen) = nullgen;
(yyval.gen).type = D_SCONST;
......@@ -2220,7 +2219,7 @@ yyreduce:
case 58:
/* Line 1455 of yacc.c */
#line 386 "a.y"
#line 385 "a.y"
{
(yyval.gen) = nullgen;
(yyval.gen).type = D_FCONST;
......@@ -2231,7 +2230,7 @@ yyreduce:
case 59:
/* Line 1455 of yacc.c */
#line 392 "a.y"
#line 391 "a.y"
{
(yyval.gen) = nullgen;
(yyval.gen).type = D_FCONST;
......@@ -2242,7 +2241,7 @@ yyreduce:
case 60:
/* Line 1455 of yacc.c */
#line 400 "a.y"
#line 399 "a.y"
{
(yyval.lval) = 1 << (yyvsp[(1) - (1)].lval);
}
......@@ -2251,7 +2250,7 @@ yyreduce:
case 61:
/* Line 1455 of yacc.c */
#line 404 "a.y"
#line 403 "a.y"
{
int i;
(yyval.lval)=0;
......@@ -2265,7 +2264,7 @@ yyreduce:
case 62:
/* Line 1455 of yacc.c */
#line 413 "a.y"
#line 412 "a.y"
{
(yyval.lval) = (1<<(yyvsp[(1) - (3)].lval)) | (yyvsp[(3) - (3)].lval);
}
......@@ -2274,7 +2273,7 @@ yyreduce:
case 66:
/* Line 1455 of yacc.c */
#line 422 "a.y"
#line 421 "a.y"
{
(yyval.gen) = (yyvsp[(1) - (4)].gen);
(yyval.gen).reg = (yyvsp[(3) - (4)].lval);
......@@ -2284,7 +2283,7 @@ yyreduce:
case 67:
/* Line 1455 of yacc.c */
#line 427 "a.y"
#line 426 "a.y"
{
(yyval.gen) = nullgen;
(yyval.gen).type = D_PSR;
......@@ -2295,7 +2294,7 @@ yyreduce:
case 68:
/* Line 1455 of yacc.c */
#line 433 "a.y"
#line 432 "a.y"
{
(yyval.gen) = nullgen;
(yyval.gen).type = D_FPCR;
......@@ -2306,7 +2305,7 @@ yyreduce:
case 69:
/* Line 1455 of yacc.c */
#line 439 "a.y"
#line 438 "a.y"
{
(yyval.gen) = nullgen;
(yyval.gen).type = D_OREG;
......@@ -2317,7 +2316,7 @@ yyreduce:
case 73:
/* Line 1455 of yacc.c */
#line 450 "a.y"
#line 449 "a.y"
{
(yyval.gen) = (yyvsp[(1) - (1)].gen);
if((yyvsp[(1) - (1)].gen).name != D_EXTERN && (yyvsp[(1) - (1)].gen).name != D_STATIC) {
......@@ -2328,7 +2327,7 @@ yyreduce:
case 74:
/* Line 1455 of yacc.c */
#line 458 "a.y"
#line 457 "a.y"
{
(yyval.gen) = nullgen;
(yyval.gen).type = D_OREG;
......@@ -2340,7 +2339,7 @@ yyreduce:
case 76:
/* Line 1455 of yacc.c */
#line 468 "a.y"
#line 467 "a.y"
{
(yyval.gen) = nullgen;
(yyval.gen).type = D_OREG;
......@@ -2352,7 +2351,7 @@ yyreduce:
case 78:
/* Line 1455 of yacc.c */
#line 478 "a.y"
#line 477 "a.y"
{
(yyval.gen) = (yyvsp[(1) - (4)].gen);
(yyval.gen).type = D_OREG;
......@@ -2363,7 +2362,7 @@ yyreduce:
case 83:
/* Line 1455 of yacc.c */
#line 491 "a.y"
#line 490 "a.y"
{
(yyval.gen) = nullgen;
(yyval.gen).type = D_CONST;
......@@ -2374,7 +2373,7 @@ yyreduce:
case 84:
/* Line 1455 of yacc.c */
#line 499 "a.y"
#line 498 "a.y"
{
(yyval.gen) = nullgen;
(yyval.gen).type = D_REG;
......@@ -2385,7 +2384,7 @@ yyreduce:
case 85:
/* Line 1455 of yacc.c */
#line 507 "a.y"
#line 506 "a.y"
{
(yyval.gen) = nullgen;
(yyval.gen).type = D_REGREG;
......@@ -2397,7 +2396,7 @@ yyreduce:
case 86:
/* Line 1455 of yacc.c */
#line 516 "a.y"
#line 515 "a.y"
{
(yyval.gen) = nullgen;
(yyval.gen).type = D_SHIFT;
......@@ -2408,7 +2407,7 @@ yyreduce:
case 87:
/* Line 1455 of yacc.c */
#line 522 "a.y"
#line 521 "a.y"
{
(yyval.gen) = nullgen;
(yyval.gen).type = D_SHIFT;
......@@ -2419,7 +2418,7 @@ yyreduce:
case 88:
/* Line 1455 of yacc.c */
#line 528 "a.y"
#line 527 "a.y"
{
(yyval.gen) = nullgen;
(yyval.gen).type = D_SHIFT;
......@@ -2430,7 +2429,7 @@ yyreduce:
case 89:
/* Line 1455 of yacc.c */
#line 534 "a.y"
#line 533 "a.y"
{
(yyval.gen) = nullgen;
(yyval.gen).type = D_SHIFT;
......@@ -2441,7 +2440,7 @@ yyreduce:
case 90:
/* Line 1455 of yacc.c */
#line 542 "a.y"
#line 541 "a.y"
{
if((yyval.lval) < 0 || (yyval.lval) >= 16)
print("register value out of range\n");
......@@ -2452,7 +2451,7 @@ yyreduce:
case 91:
/* Line 1455 of yacc.c */
#line 548 "a.y"
#line 547 "a.y"
{
if((yyval.lval) < 0 || (yyval.lval) >= 32)
print("shift value out of range\n");
......@@ -2463,7 +2462,7 @@ yyreduce:
case 93:
/* Line 1455 of yacc.c */
#line 557 "a.y"
#line 556 "a.y"
{
(yyval.lval) = REGPC;
}
......@@ -2472,7 +2471,7 @@ yyreduce:
case 94:
/* Line 1455 of yacc.c */
#line 561 "a.y"
#line 560 "a.y"
{
if((yyvsp[(3) - (4)].lval) < 0 || (yyvsp[(3) - (4)].lval) >= NREG)
print("register value out of range\n");
......@@ -2483,7 +2482,7 @@ yyreduce:
case 96:
/* Line 1455 of yacc.c */
#line 570 "a.y"
#line 569 "a.y"
{
(yyval.lval) = REGSP;
}
......@@ -2492,7 +2491,7 @@ yyreduce:
case 98:
/* Line 1455 of yacc.c */
#line 577 "a.y"
#line 576 "a.y"
{
if((yyvsp[(3) - (4)].lval) < 0 || (yyvsp[(3) - (4)].lval) >= NREG)
print("register value out of range\n");
......@@ -2503,7 +2502,7 @@ yyreduce:
case 101:
/* Line 1455 of yacc.c */
#line 589 "a.y"
#line 588 "a.y"
{
(yyval.gen) = nullgen;
(yyval.gen).type = D_FREG;
......@@ -2514,7 +2513,7 @@ yyreduce:
case 102:
/* Line 1455 of yacc.c */
#line 595 "a.y"
#line 594 "a.y"
{
(yyval.gen) = nullgen;
(yyval.gen).type = D_FREG;
......@@ -2525,7 +2524,7 @@ yyreduce:
case 103:
/* Line 1455 of yacc.c */
#line 603 "a.y"
#line 602 "a.y"
{
(yyval.gen) = nullgen;
(yyval.gen).type = D_OREG;
......@@ -2538,7 +2537,7 @@ yyreduce:
case 104:
/* Line 1455 of yacc.c */
#line 611 "a.y"
#line 610 "a.y"
{
(yyval.gen) = nullgen;
(yyval.gen).type = D_OREG;
......@@ -2551,7 +2550,7 @@ yyreduce:
case 105:
/* Line 1455 of yacc.c */
#line 619 "a.y"
#line 618 "a.y"
{
(yyval.gen) = nullgen;
(yyval.gen).type = D_OREG;
......@@ -2564,7 +2563,7 @@ yyreduce:
case 106:
/* Line 1455 of yacc.c */
#line 628 "a.y"
#line 627 "a.y"
{
(yyval.lval) = 0;
}
......@@ -2573,7 +2572,7 @@ yyreduce:
case 107:
/* Line 1455 of yacc.c */
#line 632 "a.y"
#line 631 "a.y"
{
(yyval.lval) = (yyvsp[(2) - (2)].lval);
}
......@@ -2582,7 +2581,7 @@ yyreduce:
case 108:
/* Line 1455 of yacc.c */
#line 636 "a.y"
#line 635 "a.y"
{
(yyval.lval) = -(yyvsp[(2) - (2)].lval);
}
......@@ -2591,7 +2590,7 @@ yyreduce:
case 113:
/* Line 1455 of yacc.c */
#line 648 "a.y"
#line 647 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (1)].sym)->value;
}
......@@ -2600,7 +2599,7 @@ yyreduce:
case 114:
/* Line 1455 of yacc.c */
#line 652 "a.y"
#line 651 "a.y"
{
(yyval.lval) = -(yyvsp[(2) - (2)].lval);
}
......@@ -2609,7 +2608,7 @@ yyreduce:
case 115:
/* Line 1455 of yacc.c */
#line 656 "a.y"
#line 655 "a.y"
{
(yyval.lval) = (yyvsp[(2) - (2)].lval);
}
......@@ -2618,7 +2617,7 @@ yyreduce:
case 116:
/* Line 1455 of yacc.c */
#line 660 "a.y"
#line 659 "a.y"
{
(yyval.lval) = ~(yyvsp[(2) - (2)].lval);
}
......@@ -2627,7 +2626,7 @@ yyreduce:
case 117:
/* Line 1455 of yacc.c */
#line 664 "a.y"
#line 663 "a.y"
{
(yyval.lval) = (yyvsp[(2) - (3)].lval);
}
......@@ -2636,7 +2635,7 @@ yyreduce:
case 118:
/* Line 1455 of yacc.c */
#line 669 "a.y"
#line 668 "a.y"
{
(yyval.lval) = 0;
}
......@@ -2645,7 +2644,7 @@ yyreduce:
case 119:
/* Line 1455 of yacc.c */
#line 673 "a.y"
#line 672 "a.y"
{
(yyval.lval) = (yyvsp[(2) - (2)].lval);
}
......@@ -2654,7 +2653,7 @@ yyreduce:
case 121:
/* Line 1455 of yacc.c */
#line 680 "a.y"
#line 679 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (3)].lval) + (yyvsp[(3) - (3)].lval);
}
......@@ -2663,7 +2662,7 @@ yyreduce:
case 122:
/* Line 1455 of yacc.c */
#line 684 "a.y"
#line 683 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (3)].lval) - (yyvsp[(3) - (3)].lval);
}
......@@ -2672,7 +2671,7 @@ yyreduce:
case 123:
/* Line 1455 of yacc.c */
#line 688 "a.y"
#line 687 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (3)].lval) * (yyvsp[(3) - (3)].lval);
}
......@@ -2681,7 +2680,7 @@ yyreduce:
case 124:
/* Line 1455 of yacc.c */
#line 692 "a.y"
#line 691 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (3)].lval) / (yyvsp[(3) - (3)].lval);
}
......@@ -2690,7 +2689,7 @@ yyreduce:
case 125:
/* Line 1455 of yacc.c */
#line 696 "a.y"
#line 695 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (3)].lval) % (yyvsp[(3) - (3)].lval);
}
......@@ -2699,7 +2698,7 @@ yyreduce:
case 126:
/* Line 1455 of yacc.c */
#line 700 "a.y"
#line 699 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (4)].lval) << (yyvsp[(4) - (4)].lval);
}
......@@ -2708,7 +2707,7 @@ yyreduce:
case 127:
/* Line 1455 of yacc.c */
#line 704 "a.y"
#line 703 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (4)].lval) >> (yyvsp[(4) - (4)].lval);
}
......@@ -2717,7 +2716,7 @@ yyreduce:
case 128:
/* Line 1455 of yacc.c */
#line 708 "a.y"
#line 707 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (3)].lval) & (yyvsp[(3) - (3)].lval);
}
......@@ -2726,7 +2725,7 @@ yyreduce:
case 129:
/* Line 1455 of yacc.c */
#line 712 "a.y"
#line 711 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (3)].lval) ^ (yyvsp[(3) - (3)].lval);
}
......@@ -2735,7 +2734,7 @@ yyreduce:
case 130:
/* Line 1455 of yacc.c */
#line 716 "a.y"
#line 715 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (3)].lval) | (yyvsp[(3) - (3)].lval);
}
......@@ -2744,7 +2743,7 @@ yyreduce:
/* Line 1455 of yacc.c */
#line 2748 "y.tab.c"
#line 2747 "y.tab.c"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
......
......@@ -1067,6 +1067,7 @@ copyu(Prog *p, Adr *v, Adr *s)
case ABLT:
case ABGT:
case ABLE:
case APLD:
if(s != A) {
if(copysub(&p->from, v, s, 1))
return 1;
......
......@@ -190,6 +190,14 @@ regopt(Prog *p)
r->set.b[z] |= bit.b[z];
break;
/*
* right side read
*/
case APLD:
for(z=0; z<BITS; z++)
r->use2.b[z] |= bit.b[z];
break;
/*
* funny
*/
......
......@@ -1197,7 +1197,13 @@ gpseudo(int a, Sym *s, Node *n)
void
gprefetch(Node *n)
{
// nothing
Node n1;
regalloc(&n1, n, Z);
gmove(n, &n1);
n1.op = OINDREG;
gins(APLD, &n1, Z);
regfree(&n1);
}
int
......
......@@ -1429,9 +1429,14 @@ if(debug['G']) print("%ux: %s: arm %d\n", (uint32)(p->pc), p->from.sym->name, p-
break;
o2 = oshr(p->from.reg, 0, REGTMP, p->scond);
break;
case 95: /* PLD reg */
case 95: /* PLD off(reg) */
o1 = 0xf5d0f000;
o1 |= p->from.reg << 16;
if(p->from.offset < 0) {
o1 &= ~(1 << 23);
o1 |= (-p->from.offset) & 0xfff;
} else
o1 |= p->from.offset & 0xfff;
}
out[0] = o1;
......
......@@ -232,7 +232,7 @@ Optab optab[] =
{ ALDREXD, C_SOREG,C_NONE, C_REG, 91, 4, 0 },
{ ASTREXD, C_SOREG,C_REG, C_REG, 92, 4, 0 },
{ APLD, C_REG, C_NONE, C_NONE, 95, 4, 0 },
{ APLD, C_SOREG,C_NONE, C_NONE, 95, 4, 0 },
{ AXXX, C_NONE, C_NONE, C_NONE, 0, 4, 0 },
};
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment