Added some eye-candy for Subtarget type checking
Added X86 StdCall & FastCall calling conventions. Codegen will follow.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30446 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/AsmParser/Lexer.cpp.cvs b/lib/AsmParser/Lexer.cpp.cvs
index 93748f9..43b8d10 100644
--- a/lib/AsmParser/Lexer.cpp.cvs
+++ b/lib/AsmParser/Lexer.cpp.cvs
@@ -380,8 +380,8 @@
 	*yy_cp = '\0'; \
 	(yy_c_buf_p) = yy_cp;
 
-#define YY_NUM_RULES 111
-#define YY_END_OF_BUFFER 112
+#define YY_NUM_RULES 113
+#define YY_END_OF_BUFFER 114
 /* This struct is not used in this scanner,
    but its presence is necessary. */
 struct yy_trans_info
@@ -389,60 +389,63 @@
 	flex_int32_t yy_verify;
 	flex_int32_t yy_nxt;
 	};
-static yyconst flex_int16_t yy_accept[479] =
+static yyconst flex_int16_t yy_accept[501] =
     {   0,
-        0,    0,  112,  110,  109,  109,  110,  110,  110,  110,
-      110,  110,  102,  102,    1,  110,  110,  110,  110,  110,
-      110,  110,  110,  110,  110,  110,  110,  110,  110,  110,
-      110,  110,  110,  110,  110,  110,    0,  101,    0,   99,
-       98,   98,  105,    0,  103,    0,  107,  102,    0,    1,
-        0,    0,    0,    0,    0,    0,    0,    0,   84,    0,
+        0,    0,  114,  112,  111,  111,  112,  112,  112,  112,
+      112,  112,  104,  104,    1,  112,  112,  112,  112,  112,
+      112,  112,  112,  112,  112,  112,  112,  112,  112,  112,
+      112,  112,  112,  112,  112,  112,    0,  103,    0,  101,
+      100,  100,  107,    0,  105,    0,  109,  104,    0,    1,
+        0,    0,    0,    0,    0,    0,    0,    0,   86,    0,
        40,    0,    0,    0,    0,    0,    0,    0,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,   66,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,   68,    0,    0,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,   23,    0,
 
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,  101,   98,   98,  107,   20,  107,    0,  108,   60,
-        0,    0,   65,    0,   38,    0,   33,    0,    0,    0,
-       41,    0,    0,    0,    0,    0,   63,    0,    0,    3,
+        0,    0,  103,  100,  100,  109,   20,  109,    0,  110,
+       62,    0,    0,   67,    0,   38,    0,   33,    0,    0,
+        0,   41,    0,    0,    0,    0,    0,   65,    0,    0,
+        3,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,   53,    0,    0,    0,    0,    0,    0,    0,    0,
+       64,   25,    0,    0,   76,    0,   66,   85,    0,    0,
+        0,    0,    0,   80,    0,   81,    0,    0,    0,   63,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-       51,    0,    0,    0,    0,    0,    0,    0,    0,   62,
-       25,    0,    0,   74,    0,   64,   83,    0,    0,    0,
-        0,    0,   78,    0,   79,    0,    0,    0,   61,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,   67,
 
-        0,  100,  107,    0,    0,    0,  107,    0,    0,    0,
-        0,   46,   75,   76,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,   91,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,   92,
-       53,    0,    0,   22,    0,    0,  104,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,   26,
-        0,    0,    4,   58,    0,   52,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,   45,    0,   11,    0,  107,
-       35,    0,    0,    2,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    5,    0,   55,    0,
-
-        0,    0,    0,    0,    0,   57,    0,    0,    0,    0,
-        0,    0,   47,    0,    0,   69,   73,   71,   72,   70,
-       68,   49,    0,    0,   93,    0,    0,    0,   48,   54,
-       21,    0,    0,    0,    0,    0,   81,    0,    0,    0,
-       90,    0,   44,    0,    0,    0,    0,    0,    0,   56,
-       30,   24,    0,    0,   43,    0,    7,    0,    0,    0,
-       86,    0,   32,   89,   37,   59,    0,    0,   77,    0,
-        0,   85,   27,   28,    0,    0,   87,   50,   82,   80,
-        0,    0,    0,    0,   42,    6,   29,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,   36,    0,
-
-        0,    0,    0,    0,    0,    0,    8,    0,    0,    0,
-       17,    0,    0,    0,    0,    9,   10,    0,    0,    0,
-        0,    0,   34,    0,   12,   14,   13,    0,    0,    0,
+        0,   69,    0,  102,  109,    0,    0,    0,  109,    0,
+        0,    0,    0,   48,   77,   78,    0,    0,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,   39,    0,    0,    0,   15,
-        0,    0,    0,    0,   31,    0,    0,   88,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,   94,    0,   96,
-       97,   16,    0,   95,   18,    0,   19,    0
+        0,   93,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,   94,   55,    0,    0,   22,    0,    0,  106,    0,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,   26,    0,    0,    4,   60,    0,   54,    0,    0,
+        0,    0,    0,    0,    0,    0,    0,   47,    0,   11,
+        0,    0,  109,   35,    0,    0,    2,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,    5,
+
+        0,   57,    0,    0,    0,    0,    0,    0,   59,    0,
+        0,    0,    0,    0,    0,   49,    0,    0,   71,   75,
+       73,   74,   72,   70,   51,    0,    0,   95,    0,    0,
+        0,   50,   56,   21,    0,    0,    0,    0,    0,   83,
+        0,    0,    0,    0,    0,   92,    0,   44,    0,    0,
+        0,    0,    0,    0,   58,   30,   24,    0,    0,   43,
+        0,    7,    0,    0,    0,   88,    0,   32,   91,   37,
+       61,    0,    0,   79,    0,    0,   87,   27,   28,    0,
+        0,   89,   52,   84,   82,    0,    0,    0,    0,    0,
+        0,   42,    6,   29,    0,    0,    0,    0,    0,    0,
+
+        0,    0,    0,    0,    0,   36,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,    8,    0,    0,    0,   17,
+        0,    0,    0,    0,    9,   10,    0,    0,    0,    0,
+        0,   34,    0,    0,    0,   12,   14,   13,    0,    0,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,    0,    0,   39,    0,
+        0,    0,    0,    0,   15,    0,    0,    0,    0,   31,
+        0,    0,   90,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,   96,    0,   98,   99,
+       16,    0,   45,    0,   97,   18,   46,    0,   19,    0
+
     } ;
 
 static yyconst flex_int32_t yy_ec[256] =
@@ -452,15 +455,15 @@
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    2,    1,    4,    1,    5,    6,    1,    1,    1,
         1,    1,    7,    1,    8,    9,    1,   10,   11,   11,
-       11,   11,   11,   11,   11,   11,   11,   12,   13,    1,
-        1,    1,    1,    1,   14,   14,   14,   14,   15,   14,
+       11,   11,   11,   12,   11,   13,   11,   14,   15,    1,
+        1,    1,    1,    1,   16,   16,   16,   16,   17,   16,
         5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
         5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
-        1,    1,    1,    1,   16,    1,   17,   18,   19,   20,
+        1,    1,    1,    1,   18,    1,   19,   20,   21,   22,
 
-       21,   22,   23,   24,   25,    5,   26,   27,   28,   29,
-       30,   31,   32,   33,   34,   35,   36,   37,   38,   39,
-       40,   41,    1,    1,    1,    1,    1,    1,    1,    1,
+       23,   24,   25,   26,   27,    5,   28,   29,   30,   31,
+       32,   33,   34,   35,   36,   37,   38,   39,   40,   41,
+       42,   43,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
@@ -477,374 +480,402 @@
         1,    1,    1,    1,    1
     } ;
 
-static yyconst flex_int32_t yy_meta[42] =
+static yyconst flex_int32_t yy_meta[44] =
     {   0,
         1,    1,    2,    1,    3,    1,    1,    3,    3,    3,
-        3,    4,    1,    3,    3,    3,    3,    3,    3,    3,
+        3,    3,    3,    4,    1,    3,    3,    3,    3,    3,
         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
-        3
+        3,    3,    3
     } ;
 
-static yyconst flex_int16_t yy_base[484] =
+static yyconst flex_int16_t yy_base[506] =
     {   0,
-        0,    0,  998,  999,  999,  999,  993,  984,   34,   36,
-       38,   42,   46,   50,    0,   52,   57,   54,   68,   62,
-       80,   82,   87,   93,   94,   40,   88,   84,   56,  121,
-      108,  150,  105,  115,  114,  116,  991,  999,  982,  999,
-        0,  139,  141,  144,  154,  120,  159,  176,  179,    0,
-       55,  180,   92,  164,  155,  135,  149,  190,  981,  191,
-      192,  194,  196,  197,  198,  200,  201,  161,  203,  205,
-      212,  122,  214,  218,  202,  219,  222,  229,  233,  224,
-      232,  234,  231,  243,  248,  980,  247,  251,  245,  235,
-      255,  256,  257,  259,  266,  270,  269,  273,  979,  274,
+        0,    0, 1090, 1091, 1091, 1091, 1085, 1074,   36,   40,
+       44,   50,   56,   62,    0,   63,   66,   81,   89,   47,
+       90,   91,   76,   96,  108,   49,   97,  110,   68,  137,
+      120,  168,  112,  115,  135,  127, 1083, 1091, 1072, 1091,
+        0,  158,  173,  180,  196,   70,  201,  216,  221,    0,
+      121,  152,  123,  139,  166,  140,  162,  184, 1071,  222,
+      180,   31,  186,  232,   69,  144,  209,  234,  236,  225,
+      188,  241,  119,  235,  189,  238,  246,  245,  249,  255,
+      248,  257,  258,  264,  269, 1070,  265,  267,  271,  273,
+      275,  276,  277,  282,  284,  304,  293,  296, 1069,  305,
 
-      277,  265,  280,  285,  291,   41,  301,  295,  302,  288,
-      290,  978,    0,  315,  317,  977,  324,  336,    0,  976,
-      289,  319,  975,  321,  974,  325,  973,  328,  329,  339,
-      972,  340,  341,  342,  345,  346,  971,  355,  347,  352,
-      349,  350,  354,  356,  367,  357,  369,  374,  370,  373,
-      375,  377,  381,  383,  386,  388,  387,  389,  391,  970,
-      969,  392,   31,  968,  393,  967,  966,  418,  399,  406,
-      394,  430,  965,  411,  964,  402,  405,  413,  963,  408,
-      418,  435,  400,  440,  442,  436,  437,  438,  443,  444,
-      448,  450,  453,  462,  454,  456,  458,  464,  468,  962,
+      288,  285,  297,  308,  311,  315,  316,  323,  325,  147,
+      322,  328, 1068,    0,  343,  348, 1067,  362,  379,    0,
+     1066,  352,  335, 1065,  355, 1064,  354, 1063,  366,  368,
+      289, 1062,  348,  369,  380,  370,  382, 1061,  386,  384,
+      374,  392,  393,  388,  394,  398,  396,  400,  406,  404,
+      407,  411,  408,  413,  415,  418,  423,  421,  424,  425,
+     1060, 1059,  427,  428, 1058,  430, 1057, 1056,  454,  435,
+      443,  436,  465, 1055,  433, 1054,  434,  437,  467, 1053,
+      455,  468,  470,  331,  475,  477,  469,  471,  472,  487,
+      473,  491,  485,  479,  499,  493,  501,  495,  502,  505,
 
-      470,  999,  474,  491,  480,  493,  496,  480,  474,  484,
-      485,  961,  960,  959,  498,  476,  500,  503,  504,  506,
-      509,  507,  510,  511,  513,  514,  512,  520,  516,  958,
-      526,  524,  528,  531,  532,  535,  536,  538,  540,  957,
-      956,  542,  543,  955,  544,  546,    0,  545,  548,  550,
-      547,  562,  563,  564,  559,  565,  570,  574,  577,  954,
-      578,  566,  953,  952,  580,  951,  588,  590,  591,  592,
-      576,  594,  595,  596,  598,  950,  601,  949,  605,  604,
-      948,  606,  609,  947,  612,  608,  614,  610,  620,  622,
-      623,  627,  628,  629,  630,  632,  946,  633,  945,  634,
+      508, 1052,  506, 1091,  519,  533,  537,  541,  546,  547,
+      513,  548,  549, 1051, 1050, 1049,  550,  551,  552,  553,
+      554,  555,  509,  556,  563,  559,  560,  572,  561,  562,
+      573, 1048,  576,  579,  580,  583,  585,  586,  587,  590,
+      588, 1047, 1046,  592,  594, 1045,  593,  595,    0,  598,
+      599,  613,  601,  605,  615,  616,  611,  511,  622,  623,
+      619, 1044,  627,  629, 1043, 1042,  630, 1041,  635,  633,
+      637,  640,  641,  642,  647,  648,  649, 1040,  651, 1039,
+      655,  653,  673, 1038,  652,  654, 1037,  660,  656,  673,
+      664,  675,  678,  679,  682,  683,  684,  686,  687, 1036,
 
-      635,  637,  638,  646,  648,  944,  649,  651,  655,  656,
-      658,  659,  943,  654,  664,  942,  941,  940,  939,  938,
-      937,  936,  669,  670,  935,  671,  673,  676,  934,  933,
-      932,  674,  675,  678,  677,  679,  931,  681,  688,  689,
-      930,  692,  929,  691,  695,  694,  693,  698,  699,  928,
-      927,  926,  707,  709,  925,  710,  924,  713,  714,  719,
-      923,  718,  922,  921,  920,  919,  720,  721,  918,  727,
-      729,  917,  916,  915,  730,  728,  914,  913,  912,  911,
-      731,  734,  733,  735,  910,  907,  898,  742,  744,  745,
-      737,  748,  751,  749,  753,  754,  755,  756,  896,  759,
+      688, 1035,  690,  689,  692,  693,  696,  701, 1034,  702,
+      705,  711,  706,  712,  717, 1033,  709,  720, 1032, 1031,
+     1030, 1029, 1028, 1027, 1026,  722,  723, 1025,  724,  725,
+      729, 1024, 1023, 1022,  728,  732,  734,  730,  735, 1021,
+      731,  744,  740,  741,  749, 1020,  747, 1019,  750,  752,
+      756,  755,  758,  761, 1018, 1017, 1016,  768,  762, 1015,
+      770, 1014,  769,  771,  782, 1013,  774, 1012, 1011, 1010,
+     1009,  763,  775, 1008,  788,  783, 1007, 1006, 1005,  789,
+      791, 1004, 1003, 1002, 1001,  790,  794,  796,  795,  798,
+      799, 1000,  999,  998,  800,  806,  807,  809,  801,  811,
 
-      761,  762,  772,  773,  774,  775,  895,  776,  779,  780,
-      894,  781,  783,  785,  792,  893,  891,  790,  795,  787,
-      791,  805,  890,  807,  888,  887,  884,  788,  809,  798,
-      810,  812,  813,  816,  814,  817,  819,  822,  824,  825,
-      826,  829,  831,  835,  832,  882,  833,  839,  836,  881,
-      847,  843,  846,  850,  880,  853,  849,  876,  857,  860,
-      854,  861,  863,  864,  865,  868,  869,  644,  872,  518,
-      401,  292,  874,  207,  170,  878,  166,  999,  911,  913,
-      137,  917,   99
+      812,  813,  817,  814,  818,  995,  819,  825,  826,  830,
+      836,  837,  839,  838,  841,  986,  842,  843,  847,  984,
+      848,  850,  849,  853,  983,  982,  851,  859,  869,  855,
+      871,  981,  873,  874,  875,  979,  978,  977,  878,  881,
+      882,  884,  885,  857,  887,  891,  893,  892,  895,  896,
+      897,  898,  899,  903,  904,  908,  909,  910,  975,  913,
+      916,  919,  920,  921,  971,  923,  924,  926,  928,  969,
+      930,  929,  968,  931,  937,  940,  941,  943,  949,  950,
+      951,  952,  954,  955,  956,  957,  858,  959,  854,  597,
+      523,  963,  440,  965,  438,  334,  286,  966,  205, 1091,
+
+     1001, 1003,  214, 1007,   83
     } ;
 
-static yyconst flex_int16_t yy_def[484] =
+static yyconst flex_int16_t yy_def[506] =
     {   0,
-      478,    1,  478,  478,  478,  478,  479,  480,  481,  478,
-      480,  480,  480,  480,  482,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  479,  478,  480,  478,
-      483,  483,  478,  478,  480,  480,  480,  480,  480,  482,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
+      500,    1,  500,  500,  500,  500,  501,  502,  503,  500,
+      502,  502,  502,  502,  504,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  501,  500,  502,  500,
+      505,  505,  500,  500,  502,  502,  502,  502,  502,  504,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
 
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  478,  483,  483,  478,  480,  480,  480,   49,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,   49,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  500,  505,  505,  500,  502,  502,  502,   49,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,   49,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
 
-      480,  478,  478,  478,  478,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  168,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  478,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
+      502,  502,  502,  500,  500,  500,  500,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  169,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  500,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
 
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
 
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,    0,  478,  478,
-      478,  478,  478
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,    0,
+
+      500,  500,  500,  500,  500
     } ;
 
-static yyconst flex_int16_t yy_nxt[1041] =
+static yyconst flex_int16_t yy_nxt[1135] =
     {   0,
         4,    5,    6,    7,    8,    9,   10,   11,   12,   13,
-       14,    4,   15,    8,    8,    8,   16,   17,   18,   19,
-       20,   21,   22,    8,   23,    8,   24,   25,   26,   27,
-       28,    8,   29,   30,   31,   32,   33,   34,   35,    8,
-       36,   42,   40,   43,   43,   44,   44,   45,   45,   40,
-       46,   40,   40,   40,   47,   48,   48,   40,   47,   48,
-       48,   40,  245,   40,  193,   40,   40,   40,   40,   83,
-       60,   51,   61,   40,  120,   84,   89,   56,   52,   40,
-       53,   57,   54,   62,   49,   55,   58,   63,   64,   59,
-       68,   40,   65,   40,   66,   40,   70,   67,   40,   40,
+       14,   14,   14,    4,   15,    8,    8,    8,   16,   17,
+       18,   19,   20,   21,   22,    8,   23,    8,   24,   25,
+       26,   27,   28,    8,   29,   30,   31,   32,   33,   34,
+       35,    8,   36,   42,   40,   43,   43,   43,   43,   44,
+       44,   44,   44,   45,   45,   45,   45,   40,   46,  133,
+       40,  134,   40,   40,   47,   48,   48,   48,   48,   40,
+       47,   48,   48,   48,   48,   40,   40,   68,  117,   40,
+       83,   40,   40,   40,   51,  114,   84,   69,   56,   40,
+       89,   52,   57,   53,   40,   54,   49,   58,   55,   60,
 
-       69,  113,   73,   40,   40,   40,   71,   87,   74,   77,
-       80,  123,   72,   88,   75,   76,   40,   78,   85,   40,
-       86,  107,   79,   81,   98,   40,   40,   40,  116,   82,
-       90,   40,   40,   40,  108,  109,  111,   99,   91,   41,
-      100,   92,  146,  110,   93,   94,   40,  101,  114,  114,
-       43,   43,  115,   44,   44,   95,   96,  126,   97,   90,
-       40,   40,   47,   45,   45,   40,   40,  102,  117,  117,
-       40,  127,   40,  118,  103,   40,  104,   40,  105,  118,
-      140,   40,  125,  106,   47,   48,   48,   40,  119,  119,
-       40,   40,  119,  119,  124,  119,  119,  119,  119,  119,
+       59,   61,   40,   40,   40,   75,   76,  138,   70,   40,
+       40,   64,   62,   73,   77,   65,   63,   66,   71,   74,
+       67,   40,   78,   40,   72,   40,   80,   79,   40,   85,
+      107,   86,   40,   40,   40,   87,   40,  109,   98,   81,
+       40,   88,  121,  108,  124,   82,   90,  110,   40,  112,
+       40,   99,   40,   40,  100,  148,   91,   40,  201,   92,
+       40,  101,   93,   94,  127,   40,  111,  115,  115,  115,
+      115,  125,  139,   95,   96,   40,   97,   90,  122,   40,
+      123,   40,   43,   43,   43,   43,  128,  102,  116,   44,
+       44,   44,   44,   40,  103,  126,  104,   40,  105,   40,
 
-      119,   40,   40,   40,  121,   40,  122,   40,   40,   40,
-      131,   40,   40,   40,   40,  135,   40,  129,   40,  128,
-      132,  141,  133,   40,  130,   40,  138,  136,  134,   40,
-       40,  143,  149,   40,  137,   40,  139,  142,  144,  153,
-       40,  145,   40,   40,   40,   40,   40,  148,  147,  156,
-      158,  159,  150,  151,   40,  152,   40,  154,   40,   40,
-      160,  157,   40,  155,  163,  161,   40,   40,   40,  162,
-       40,  164,  166,  168,  170,  165,   40,   40,  177,  167,
-       40,   40,  171,  173,   40,   40,  174,  179,   40,  175,
-      172,   40,  176,  180,  169,  178,   40,  181,  183,   40,
+      132,   40,   40,  106,   47,   45,   45,   45,   45,   40,
+      118,  118,  118,  118,   40,  129,   41,  119,   40,  146,
+      135,  150,   40,  119,   47,   48,   48,   48,   48,   40,
+      120,  120,  120,  120,   40,   40,  120,  120,   40,  120,
+      120,  120,  120,  120,  120,   40,  140,   40,   40,   40,
+      130,   40,  136,  144,   40,  141,  142,  131,   40,   40,
+      145,   40,   40,  147,  137,  154,  149,  157,   40,  160,
+       40,   40,  143,  151,  152,  155,  153,   40,   40,  158,
+       40,  156,   40,  159,   40,  161,   40,  164,   40,   40,
+       40,  165,  163,  166,  162,   40,  171,   40,   40,   40,
 
-       40,   40,   40,   40,  186,  182,   40,  185,  187,  184,
-      189,  208,   40,   40,  188,  190,  194,  195,  199,  197,
-      200,  198,  201,  191,  114,  114,  203,  203,  192,  196,
-       40,  204,   40,  117,  117,   40,   40,  204,  118,   40,
-       40,  210,  205,  206,  118,  207,  207,   40,  209,  211,
-       40,   40,   40,   40,  212,  213,   40,   40,   40,  215,
-       40,   40,  217,   40,  222,   40,   40,   40,   40,  224,
-      225,  218,  219,  214,  216,  220,  223,  230,   40,  221,
-       40,   40,  226,  229,   40,   40,   40,  227,   40,  231,
-      228,  232,   40,  234,   40,  235,  233,   40,   40,   40,
+      167,   40,   40,  178,  172,  174,   40,  168,  175,   40,
+       40,  176,  173,  169,  177,  179,  170,   40,   40,  181,
+      186,   40,  182,  180,   40,  216,  187,  188,   40,   40,
+      183,  184,  190,  195,  196,   40,   40,  191,   40,  189,
+      194,   40,  185,  200,   40,  192,  197,   40,   40,  198,
+      193,  199,  115,  115,  115,  115,  202,  205,  205,  205,
+      205,   40,  203,  264,  206,   40,  211,   40,   40,  217,
+      206,  118,  118,  118,  118,   40,  210,  212,  119,   40,
+      213,   40,   40,   40,  119,  207,  208,   40,  209,  209,
+      209,  209,   40,   40,  214,   40,  215,   40,  220,   40,
 
-       40,  237,   40,   40,   40,   40,  236,  240,  238,  241,
-       40,   40,   40,   40,  250,  242,   40,   40,  244,   40,
-      239,  246,   40,  256,   40,  257,  243,  247,  247,   40,
-      262,  247,  247,  248,  247,  247,  247,  247,  247,  247,
-      249,   40,  259,  255,  260,  258,   40,   40,   40,   40,
-      251,   40,  252,   40,   40,   40,  253,  261,  254,   40,
-      263,   40,  264,  268,   40,   40,  267,   40,  270,   40,
-      265,  266,  269,   40,  271,   40,  275,  276,  273,   40,
-      277,   40,  272,  203,  203,   40,  274,   40,  204,  280,
-      280,   40,  282,  278,  204,   40,   40,  205,  205,  279,
+      225,   40,  219,  224,  218,   40,   40,   40,  222,   40,
+      221,   40,  223,   40,  226,  227,  231,   40,  232,   40,
+       40,   40,  233,  229,   40,  234,   40,  228,   40,  236,
+      230,   40,  235,  237,   40,  239,   40,   40,   40,  238,
+       40,   40,  240,   40,  242,  243,   40,   40,   40,   40,
+       40,   40,  244,   40,  241,  246,   40,  258,  252,  259,
+      248,  247,  245,  249,  249,  249,  249,  257,   40,  249,
+      249,  250,  249,  249,  249,  249,  249,  249,   40,  251,
+       40,   40,   40,   40,   40,   40,   40,  253,   40,  254,
+       40,  261,   40,  255,  263,  256,  262,  265,   40,  266,
 
-      280,  280,  207,  207,   40,  207,  207,   40,  281,   40,
-      286,   40,  283,  284,   40,   40,  285,   40,   40,  288,
-       40,   40,   40,   40,   40,   40,  293,   40,  289,   40,
-      296,   40,  297,  292,  287,   40,  291,   40,  298,   40,
-      301,  294,   40,   40,  290,  295,   40,   40,  302,   40,
-      299,   40,  300,   40,   40,   40,   40,   40,   40,   40,
-      305,   40,  306,  303,  304,  313,  308,  307,  315,  310,
-       40,  309,  314,   40,   40,   40,   40,   40,  316,  311,
-      312,   40,  317,  319,  321,   40,  323,   40,   40,   40,
-      324,   40,  328,  322,  325,  326,  318,  320,  327,   40,
+       40,  260,  269,  271,   40,  267,   40,  268,   40,  270,
+      274,  273,   40,  272,   40,   40,  278,  275,   40,   40,
+      279,   40,   40,  277,   40,  281,   40,  276,  205,  205,
+      205,  205,  280,  285,  326,  206,   40,  282,  294,  207,
+      207,  206,  283,  283,  283,  283,  283,  283,  283,  283,
+      209,  209,  209,  209,   40,  209,  209,  209,  209,   40,
+       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
+      288,  291,   40,   40,   40,   40,   40,  284,  286,  287,
+      292,  296,  301,  300,  295,   40,   40,  289,  290,   40,
+      299,  297,   40,   40,  298,  293,   40,  304,   40,   40,
 
-      329,   40,   40,   40,  334,   40,   40,   40,  333,   40,
-      330,  331,   40,  280,  280,  332,   40,   40,  337,   40,
-       40,   40,  341,   40,  344,   40,  335,  336,  342,  340,
-      343,   40,  345,   40,   40,  339,  338,  347,   40,   40,
-       40,   40,  346,   40,   40,   40,   40,  350,   40,   40,
-      354,  355,  348,  349,  356,   40,  351,   40,  353,   40,
-       40,  357,   40,  352,  358,   40,   40,   40,  361,   40,
-       40,  363,  359,  364,  360,   40,  365,  362,  366,  367,
-       40,   40,   40,  368,   40,   40,   40,   40,   40,   40,
-       40,  371,   40,  376,  372,  370,  374,  377,  369,   40,
+       40,   40,  305,   40,  303,   40,   40,   40,   40,  302,
+       40,   40,   40,  308,   40,  309,  311,  306,   40,  307,
+      316,  310,  313,  312,   40,  317,   40,  320,   40,   40,
+      314,  315,   40,  318,  319,   40,   40,  322,  324,  329,
+       40,  321,   40,   40,  327,  328,   40,  325,   40,  330,
+       40,  323,  332,   40,   40,   40,  334,  331,  336,  333,
+       40,   40,   40,  335,   40,   40,   40,   40,   40,   40,
+      346,  337,  340,   40,  349,  347,  338,   40,  343,  345,
+      348,  339,  283,  283,  283,  283,   40,  342,   40,  341,
+      344,   40,   40,  350,  352,   40,   40,   40,  351,   40,
 
-       40,  379,   40,   40,   40,   40,   40,  373,  375,   40,
-       40,  378,  381,  385,  386,  380,  383,  382,   40,  384,
-       40,   40,  390,  391,   40,   40,  387,  388,  389,   40,
-       40,   40,   40,  394,  395,  396,  397,  393,   40,   40,
-       40,   40,   40,  392,   40,   40,   40,  400,   40,  399,
-      401,  403,  398,   40,  402,   40,   40,  404,  405,   40,
-       40,  406,   40,  411,   40,   40,   40,   40,  412,  407,
-       40,  413,   40,   40,  408,  417,  409,  414,  421,  415,
-      416,  420,  410,   40,   40,   40,   40,   40,  422,  418,
-       40,   40,   40,  423,   40,  419,   40,  425,   40,   40,
+       40,   40,   40,   40,  355,   40,   40,  359,  360,   40,
+      353,  354,  361,  356,   40,   40,  358,  362,   40,   40,
+      357,  363,   40,  366,   40,   40,  365,  368,  370,  364,
+       40,  369,  367,   40,  371,   40,   40,   40,   40,  372,
+      373,   40,   40,   40,   40,   40,  376,   40,   40,  377,
+      375,  379,  381,   40,   40,  382,  374,   40,  387,  384,
+       40,  378,   40,   40,  380,   40,  383,  385,   40,   40,
+      386,   40,  392,  390,   40,   40,   40,  388,  393,  389,
+      391,   40,   40,   40,   40,  397,  398,   40,   40,  395,
+      394,  401,  396,  402,  404,   40,   40,  405,  399,  400,
 
-      428,   40,   40,   40,  439,  435,   40,  429,  424,   40,
-      426,  430,  432,  427,  433,  434,   40,  436,   40,  431,
-       40,   40,  437,   40,   40,   40,  442,   40,   40,  440,
-       40,  438,  441,   40,  445,   40,   40,   40,  449,  443,
-       40,  447,   40,   40,   40,  448,   40,   40,  446,  450,
-       40,  454,  451,  444,   40,  455,  452,   40,   40,  458,
-       40,   40,  459,  453,   40,   40,  456,  460,   40,  465,
-      462,   40,   40,  457,   40,   40,   40,  461,  463,   40,
-       40,  466,  464,   40,  472,   40,  468,   40,  467,   40,
-      469,   40,   40,   40,  476,   40,  471,  470,   40,   40,
+      403,   40,   40,   40,   40,  406,  408,   40,   40,   40,
+      407,   40,   40,   40,   40,  409,  410,  413,  411,   40,
+       40,  414,   40,  421,   40,   40,   40,   40,  415,  412,
+       40,   40,   40,  422,  417,  416,  426,  420,   40,   40,
+      418,  424,  423,   40,  430,  425,  419,  429,  431,   40,
+       40,   40,   40,  427,   40,   40,   40,  428,  432,  434,
+       40,   40,   40,   40,   40,  436,   40,   40,   40,  439,
+       40,   40,   40,  433,  435,  443,  440,  444,  437,  438,
+      441,  445,   40,  447,   40,  442,   40,   40,   40,  446,
+      448,   40,  450,  449,   40,   40,  452,   40,   40,  457,
 
-      475,   40,   40,  474,   40,   40,   40,   40,  473,   40,
-      477,   37,   37,   37,   37,   39,   39,   50,   40,   50,
+       40,  451,  455,  453,   40,   40,   40,  458,   40,   40,
+       40,   40,   40,  462,  456,  464,   40,   40,  454,  460,
+      461,   40,   40,   40,  463,  465,   40,  459,  466,   40,
+      469,  470,   40,   40,   40,  467,   40,   40,  473,   40,
+      468,   40,   40,   40,   40,  477,  471,  474,  475,  476,
+       40,  482,  479,   40,   40,  472,   40,  484,  480,  483,
+      478,  481,   40,   40,   40,   40,  485,   40,   40,   40,
+       40,  486,   40,  491,  492,  493,   40,  487,   40,   40,
+      488,   40,   40,  497,   40,  490,  489,  498,   40,  496,
+       40,   40,   40,  495,   40,   40,   40,   40,  494,   40,
+
+      499,   37,   37,   37,   37,   39,   39,   50,   40,   50,
        50,   40,   40,   40,   40,   40,   40,   40,   40,   40,
        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
-       40,   40,   40,   40,   40,   40,   40,   40,   40,  202,
-       40,   40,   40,   40,  112,   40,   38,  478,    3,  478,
+       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
+       40,  204,   40,   40,   40,   40,  113,   40,   38,  500,
+        3,  500,  500,  500,  500,  500,  500,  500,  500,  500,
 
-      478,  478,  478,  478,  478,  478,  478,  478,  478,  478,
-      478,  478,  478,  478,  478,  478,  478,  478,  478,  478,
-      478,  478,  478,  478,  478,  478,  478,  478,  478,  478,
-      478,  478,  478,  478,  478,  478,  478,  478,  478,  478
+      500,  500,  500,  500,  500,  500,  500,  500,  500,  500,
+      500,  500,  500,  500,  500,  500,  500,  500,  500,  500,
+      500,  500,  500,  500,  500,  500,  500,  500,  500,  500,
+      500,  500,  500,  500
     } ;
 
-static yyconst flex_int16_t yy_chk[1041] =
+static yyconst flex_int16_t yy_chk[1135] =
     {   0,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    9,  163,    9,    9,   10,   10,   11,   11,   11,
-       12,   26,  106,   12,   13,   13,   13,   13,   14,   14,
-       14,   14,  163,   16,  106,   18,   51,   29,   17,   26,
-       18,   16,   18,   20,   51,   26,   29,   17,   16,   19,
-       16,   17,   16,   18,   13,   16,   17,   18,   19,   17,
-       20,   21,   19,   22,   19,   28,   21,   19,   23,   27,
+        1,    1,    1,    9,   62,    9,    9,    9,    9,   10,
+       10,   10,   10,   11,   11,   11,   11,   11,   12,   62,
+       20,   62,   26,   12,   13,   13,   13,   13,   13,   13,
+       14,   14,   14,   14,   14,   14,   16,   20,   46,   17,
+       26,   29,   65,   46,   16,  505,   26,   20,   17,   23,
+       29,   16,   17,   16,   18,   16,   13,   17,   16,   18,
 
-       20,  483,   22,   53,   24,   25,   21,   28,   22,   24,
-       25,   53,   21,   28,   23,   23,   33,   24,   27,   31,
-       27,   33,   24,   25,   31,   35,   34,   36,   46,   25,
-       30,   46,   30,   72,   33,   34,   36,   31,   30,  481,
-       31,   30,   72,   35,   30,   30,   56,   31,   42,   42,
-       43,   43,   44,   44,   44,   30,   30,   56,   30,   32,
-       57,   32,   45,   45,   45,   45,   55,   32,   47,   47,
-       47,   57,   68,   47,   32,   54,   32,  477,   32,   47,
-       68,  475,   55,   32,   48,   48,   48,   48,   49,   49,
-       49,   52,   49,   49,   54,   49,   49,   49,   49,   49,
+       17,   18,   19,   21,   22,   23,   23,   65,   21,   24,
+       27,   19,   18,   22,   24,   19,   18,   19,   21,   22,
+       19,   25,   24,   28,   21,   33,   25,   24,   34,   27,
+       33,   27,   73,   31,   51,   28,   53,   34,   31,   25,
+       36,   28,   51,   33,   53,   25,   30,   35,   35,   36,
+       30,   31,   54,   56,   31,   73,   30,   66,  110,   30,
+      110,   31,   30,   30,   56,   52,   35,   42,   42,   42,
+       42,   54,   66,   30,   30,   57,   30,   32,   52,   55,
+       52,   32,   43,   43,   43,   43,   57,   32,   44,   44,
+       44,   44,   44,   61,   32,   55,   32,   58,   32,   63,
 
-       49,   58,   60,   61,   52,   62,   52,   63,   64,   65,
-       61,   66,   67,   75,   69,   64,   70,   60,  474,   58,
-       62,   69,   62,   71,   60,   73,   66,   64,   63,   74,
-       76,   70,   75,   77,   65,   80,   67,   69,   70,   77,
-       78,   71,   83,   81,   79,   82,   90,   74,   73,   79,
-       80,   81,   76,   76,   84,   76,   89,   78,   87,   85,
-       82,   79,   88,   78,   85,   83,   91,   92,   93,   84,
-       94,   87,   89,   90,   92,   88,  102,   95,   94,   89,
-       97,   96,   92,   93,   98,  100,   93,   96,  101,   93,
-       92,  103,   93,   97,   91,   95,  104,   98,  100,  110,
+       61,   71,   75,   32,   45,   45,   45,   45,   45,   45,
+       47,   47,   47,   47,   47,   58,  503,   47,  499,   71,
+       63,   75,   67,   47,   48,   48,   48,   48,   48,   48,
+       49,   49,   49,   49,   49,   60,   49,   49,   70,   49,
+       49,   49,   49,   49,   49,   64,   67,   68,   74,   69,
+       60,   76,   64,   70,   72,   68,   69,   60,   78,   77,
+       70,   81,   79,   72,   64,   77,   74,   79,   80,   81,
+       82,   83,   69,   76,   76,   78,   76,   84,   87,   79,
+       88,   78,   85,   80,   89,   82,   90,   85,   91,   92,
+       93,   87,   84,   88,   83,   94,   92,   95,  102,  497,
 
-      121,  111,  105,  472,  102,   98,  108,  101,  103,  100,
-      105,  121,  107,  109,  104,  105,  107,  107,  109,  108,
-      110,  108,  111,  105,  114,  114,  115,  115,  105,  107,
-      122,  115,  124,  117,  117,  117,  126,  115,  117,  128,
-      129,  124,  118,  118,  117,  118,  118,  118,  122,  126,
-      130,  132,  133,  134,  128,  129,  135,  136,  139,  132,
-      141,  142,  134,  140,  139,  143,  138,  144,  146,  141,
-      142,  135,  136,  130,  133,  138,  140,  146,  145,  138,
-      147,  149,  142,  145,  150,  148,  151,  143,  152,  147,
-      144,  148,  153,  150,  154,  151,  149,  155,  157,  156,
+       89,  101,  131,   94,   92,   93,   97,   89,   93,   98,
+      103,   93,   92,   90,   93,   95,   91,   96,  100,   97,
+      101,  104,   98,   96,  105,  131,  102,  103,  106,  107,
+       98,  100,  105,  107,  107,  111,  108,  105,  109,  104,
+      106,  112,  100,  109,  184,  105,  107,  496,  123,  108,
+      105,  108,  115,  115,  115,  115,  111,  116,  116,  116,
+      116,  133,  112,  184,  116,  122,  123,  127,  125,  133,
+      116,  118,  118,  118,  118,  118,  122,  125,  118,  129,
+      127,  130,  134,  136,  118,  119,  119,  141,  119,  119,
+      119,  119,  119,  135,  129,  137,  130,  140,  136,  139,
 
-      158,  153,  159,  162,  165,  171,  152,  156,  154,  157,
-      169,  183,  471,  176,  171,  158,  177,  170,  162,  180,
-      155,  165,  174,  176,  178,  177,  159,  168,  168,  181,
-      183,  168,  168,  169,  168,  168,  168,  168,  168,  168,
-      170,  172,  180,  174,  181,  178,  182,  186,  187,  188,
-      172,  184,  172,  185,  189,  190,  172,  182,  172,  191,
-      184,  192,  185,  189,  193,  195,  188,  196,  191,  197,
-      186,  187,  190,  194,  192,  198,  196,  197,  194,  199,
-      198,  201,  193,  203,  203,  209,  195,  216,  203,  205,
-      205,  208,  209,  199,  203,  210,  211,  204,  204,  201,
+      141,  144,  135,  140,  134,  142,  143,  145,  139,  147,
+      137,  146,  139,  148,  142,  143,  146,  150,  147,  149,
+      151,  153,  148,  144,  152,  149,  154,  143,  155,  151,
+      145,  156,  150,  152,  158,  154,  157,  159,  160,  153,
+      163,  164,  155,  166,  157,  158,  175,  177,  170,  172,
+      178,  495,  159,  493,  156,  163,  171,  177,  172,  178,
+      166,  164,  160,  169,  169,  169,  169,  175,  181,  169,
+      169,  170,  169,  169,  169,  169,  169,  169,  173,  171,
+      179,  182,  187,  183,  188,  189,  191,  173,  185,  173,
+      186,  181,  194,  173,  183,  173,  182,  185,  193,  186,
 
-      204,  204,  206,  206,  206,  207,  207,  207,  208,  215,
-      216,  217,  210,  211,  218,  219,  215,  220,  222,  218,
-      221,  223,  224,  227,  225,  226,  223,  229,  219,  470,
-      226,  228,  227,  222,  217,  232,  221,  231,  228,  233,
-      232,  224,  234,  235,  220,  225,  236,  237,  233,  238,
-      229,  239,  231,  242,  243,  245,  248,  246,  251,  249,
-      236,  250,  237,  234,  235,  248,  239,  238,  250,  243,
-      255,  242,  249,  252,  253,  254,  256,  262,  251,  245,
-      246,  257,  252,  253,  254,  258,  256,  271,  259,  261,
-      257,  265,  262,  255,  258,  259,  252,  253,  261,  267,
+      190,  179,  189,  191,  192,  187,  196,  188,  198,  190,
+      194,  193,  195,  192,  197,  199,  198,  195,  200,  203,
+      199,  201,  223,  197,  258,  201,  211,  196,  205,  205,
+      205,  205,  200,  211,  258,  205,  491,  203,  223,  206,
+      206,  205,  206,  206,  206,  206,  207,  207,  207,  207,
+      208,  208,  208,  208,  208,  209,  209,  209,  209,  209,
+      210,  212,  213,  217,  218,  219,  220,  221,  222,  224,
+      217,  220,  226,  227,  229,  230,  225,  210,  212,  213,
+      221,  225,  230,  229,  224,  228,  231,  218,  219,  233,
+      228,  226,  234,  235,  227,  222,  236,  234,  237,  238,
 
-      265,  268,  269,  270,  271,  272,  273,  274,  270,  275,
-      267,  268,  277,  280,  280,  269,  279,  282,  274,  286,
-      283,  288,  282,  285,  286,  287,  272,  273,  283,  279,
-      285,  289,  287,  290,  291,  277,  275,  289,  292,  293,
-      294,  295,  288,  296,  298,  300,  301,  292,  302,  303,
-      296,  298,  290,  291,  300,  468,  293,  304,  295,  305,
-      307,  301,  308,  294,  302,  314,  309,  310,  305,  311,
-      312,  308,  303,  309,  304,  315,  310,  307,  311,  312,
-      323,  324,  326,  314,  327,  332,  333,  328,  335,  334,
-      336,  324,  338,  333,  326,  323,  328,  334,  315,  339,
+      239,  241,  235,  240,  233,  244,  247,  245,  248,  231,
+      490,  250,  251,  238,  253,  239,  241,  236,  254,  237,
+      250,  240,  245,  244,  257,  251,  252,  254,  255,  256,
+      247,  248,  261,  252,  253,  259,  260,  255,  256,  261,
+      263,  254,  264,  267,  259,  260,  270,  257,  269,  263,
+      271,  255,  267,  272,  273,  274,  270,  264,  272,  269,
+      275,  276,  277,  271,  279,  285,  282,  286,  281,  289,
+      285,  273,  276,  288,  289,  286,  274,  291,  281,  282,
+      288,  275,  283,  283,  283,  283,  290,  279,  292,  277,
+      281,  293,  294,  290,  292,  295,  296,  297,  291,  298,
 
-      340,  336,  344,  342,  347,  346,  345,  327,  332,  348,
-      349,  335,  339,  345,  346,  338,  342,  340,  353,  344,
-      354,  356,  353,  353,  358,  359,  347,  348,  349,  362,
-      360,  367,  368,  358,  359,  360,  362,  356,  370,  376,
-      371,  375,  381,  354,  383,  382,  384,  370,  391,  368,
-      371,  376,  367,  388,  375,  389,  390,  381,  382,  392,
-      394,  383,  393,  391,  395,  396,  397,  398,  392,  384,
-      400,  393,  401,  402,  388,  397,  389,  394,  402,  395,
-      396,  401,  390,  403,  404,  405,  406,  408,  403,  398,
-      409,  410,  412,  404,  413,  400,  414,  406,  420,  428,
+      299,  301,  304,  303,  295,  305,  306,  299,  301,  307,
+      293,  294,  303,  296,  308,  310,  298,  304,  311,  313,
+      297,  305,  317,  308,  312,  314,  307,  311,  313,  306,
+      315,  312,  310,  318,  314,  326,  327,  329,  330,  315,
+      317,  335,  331,  338,  341,  336,  327,  337,  339,  329,
+      326,  331,  336,  343,  344,  337,  318,  342,  343,  339,
+      347,  330,  345,  349,  335,  350,  338,  341,  352,  351,
+      342,  353,  350,  347,  354,  359,  372,  344,  351,  345,
+      349,  358,  363,  361,  364,  358,  358,  367,  373,  353,
+      352,  363,  354,  364,  367,  365,  376,  372,  359,  361,
 
-      410,  418,  421,  415,  428,  420,  419,  412,  405,  430,
-      408,  413,  415,  409,  418,  419,  422,  421,  424,  414,
-      429,  431,  422,  432,  433,  435,  431,  434,  436,  429,
-      437,  424,  430,  438,  434,  439,  440,  441,  438,  432,
-      442,  436,  443,  445,  447,  437,  444,  449,  435,  439,
-      448,  443,  440,  433,  452,  444,  441,  453,  451,  448,
-      457,  454,  449,  442,  456,  461,  445,  451,  459,  457,
-      453,  460,  462,  447,  463,  464,  465,  452,  454,  466,
-      467,  459,  456,  469,  465,  473,  461,  458,  460,  476,
-      462,  455,  450,  446,  473,  427,  464,  463,  426,  425,
+      365,  375,  380,  386,  381,  373,  376,  387,  389,  388,
+      375,  390,  391,  395,  399,  380,  381,  388,  386,  396,
+      397,  389,  398,  399,  400,  401,  402,  404,  390,  387,
+      403,  405,  407,  400,  395,  391,  404,  398,  408,  409,
+      396,  402,  401,  410,  409,  403,  397,  408,  410,  411,
+      412,  414,  413,  405,  415,  417,  418,  407,  411,  413,
+      419,  421,  423,  422,  427,  415,  424,  489,  430,  419,
+      444,  487,  428,  412,  414,  424,  421,  427,  417,  418,
+      422,  428,  429,  430,  431,  423,  433,  434,  435,  429,
+      431,  439,  434,  433,  440,  441,  439,  442,  443,  444,
 
-      469,  423,  417,  467,  416,  411,  407,  399,  466,  387,
-      476,  479,  479,  479,  479,  480,  480,  482,  386,  482,
-      482,  385,  380,  379,  378,  377,  374,  373,  372,  369,
-      366,  365,  364,  363,  361,  357,  355,  352,  351,  350,
-      343,  341,  337,  331,  330,  329,  325,  322,  321,  320,
-      319,  318,  317,  316,  313,  306,  299,  297,  284,  281,
-      278,  276,  266,  264,  263,  260,  244,  241,  240,  230,
-      214,  213,  212,  200,  179,  175,  173,  167,  166,  164,
-      161,  160,  137,  131,  127,  125,  123,  120,  116,  112,
-       99,   86,   59,   39,   37,    8,    7,    3,  478,  478,
+      445,  435,  442,  440,  446,  448,  447,  445,  449,  450,
+      451,  452,  453,  449,  443,  451,  454,  455,  441,  447,
+      448,  456,  457,  458,  450,  452,  460,  446,  453,  461,
+      456,  457,  462,  463,  464,  454,  466,  467,  461,  468,
+      455,  469,  472,  471,  474,  466,  458,  462,  463,  464,
+      475,  472,  468,  476,  477,  460,  478,  475,  469,  474,
+      467,  471,  479,  480,  481,  482,  476,  483,  484,  485,
+      486,  477,  488,  482,  483,  484,  492,  478,  494,  498,
+      479,  473,  470,  492,  465,  481,  480,  494,  459,  488,
+      438,  437,  436,  486,  432,  426,  425,  420,  485,  416,
 
-      478,  478,  478,  478,  478,  478,  478,  478,  478,  478,
-      478,  478,  478,  478,  478,  478,  478,  478,  478,  478,
-      478,  478,  478,  478,  478,  478,  478,  478,  478,  478,
-      478,  478,  478,  478,  478,  478,  478,  478,  478,  478
+      498,  501,  501,  501,  501,  502,  502,  504,  406,  504,
+      504,  394,  393,  392,  385,  384,  383,  382,  379,  378,
+      377,  374,  371,  370,  369,  368,  366,  362,  360,  357,
+      356,  355,  348,  346,  340,  334,  333,  332,  328,  325,
+      324,  323,  322,  321,  320,  319,  316,  309,  302,  300,
+      287,  284,  280,  278,  268,  266,  265,  262,  246,  243,
+      242,  232,  216,  215,  214,  202,  180,  176,  174,  168,
+      167,  165,  162,  161,  138,  132,  128,  126,  124,  121,
+      117,  113,   99,   86,   59,   39,   37,    8,    7,    3,
+      500,  500,  500,  500,  500,  500,  500,  500,  500,  500,
+
+      500,  500,  500,  500,  500,  500,  500,  500,  500,  500,
+      500,  500,  500,  500,  500,  500,  500,  500,  500,  500,
+      500,  500,  500,  500,  500,  500,  500,  500,  500,  500,
+      500,  500,  500,  500
     } ;
 
 /* Table of booleans, true if rule could match eol. */
-static yyconst flex_int32_t yy_rule_can_match_eol[112] =
+static yyconst flex_int32_t yy_rule_can_match_eol[114] =
     {   0,
 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,     };
+    0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,     };
 
 static yy_state_type yy_last_accepting_state;
 static char *yy_last_accepting_cpos;
@@ -999,7 +1030,7 @@
 /* HexIntConstant - Hexadecimal constant generated by the CFE to avoid forcing
  * it to deal with 64 bit numbers.
  */
-#line 1003 "Lexer.cpp"
+#line 1034 "Lexer.cpp"
 
 #define INITIAL 0
 
@@ -1155,7 +1186,7 @@
 #line 179 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 
 
-#line 1159 "Lexer.cpp"
+#line 1190 "Lexer.cpp"
 
 	if ( !(yy_init) )
 		{
@@ -1208,13 +1239,13 @@
 			while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
 				{
 				yy_current_state = (int) yy_def[yy_current_state];
-				if ( yy_current_state >= 479 )
+				if ( yy_current_state >= 501 )
 					yy_c = yy_meta[(unsigned int) yy_c];
 				}
 			yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
 			++yy_cp;
 			}
-		while ( yy_current_state != 478 );
+		while ( yy_current_state != 500 );
 		yy_cp = (yy_last_accepting_cpos);
 		yy_current_state = (yy_last_accepting_state);
 
@@ -1466,281 +1497,291 @@
 	YY_BREAK
 case 45:
 YY_RULE_SETUP
-#line 228 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.PrimType = Type::VoidTy  ; return VOID;   }
+#line 227 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ return X86_STDCALLCC_TOK; }
 	YY_BREAK
 case 46:
 YY_RULE_SETUP
-#line 229 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.PrimType = Type::BoolTy  ; return BOOL;   }
+#line 228 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ return X86_FASTCALLCC_TOK; }
 	YY_BREAK
 case 47:
 YY_RULE_SETUP
 #line 230 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.PrimType = Type::SByteTy ; return SBYTE;  }
+{ llvmAsmlval.PrimType = Type::VoidTy  ; return VOID;   }
 	YY_BREAK
 case 48:
 YY_RULE_SETUP
 #line 231 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.PrimType = Type::UByteTy ; return UBYTE;  }
+{ llvmAsmlval.PrimType = Type::BoolTy  ; return BOOL;   }
 	YY_BREAK
 case 49:
 YY_RULE_SETUP
 #line 232 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.PrimType = Type::ShortTy ; return SHORT;  }
+{ llvmAsmlval.PrimType = Type::SByteTy ; return SBYTE;  }
 	YY_BREAK
 case 50:
 YY_RULE_SETUP
 #line 233 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.PrimType = Type::UShortTy; return USHORT; }
+{ llvmAsmlval.PrimType = Type::UByteTy ; return UBYTE;  }
 	YY_BREAK
 case 51:
 YY_RULE_SETUP
 #line 234 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.PrimType = Type::IntTy   ; return INT;    }
+{ llvmAsmlval.PrimType = Type::ShortTy ; return SHORT;  }
 	YY_BREAK
 case 52:
 YY_RULE_SETUP
 #line 235 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.PrimType = Type::UIntTy  ; return UINT;   }
+{ llvmAsmlval.PrimType = Type::UShortTy; return USHORT; }
 	YY_BREAK
 case 53:
 YY_RULE_SETUP
 #line 236 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.PrimType = Type::LongTy  ; return LONG;   }
+{ llvmAsmlval.PrimType = Type::IntTy   ; return INT;    }
 	YY_BREAK
 case 54:
 YY_RULE_SETUP
 #line 237 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.PrimType = Type::ULongTy ; return ULONG;  }
+{ llvmAsmlval.PrimType = Type::UIntTy  ; return UINT;   }
 	YY_BREAK
 case 55:
 YY_RULE_SETUP
 #line 238 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.PrimType = Type::FloatTy ; return FLOAT;  }
+{ llvmAsmlval.PrimType = Type::LongTy  ; return LONG;   }
 	YY_BREAK
 case 56:
 YY_RULE_SETUP
 #line 239 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.PrimType = Type::DoubleTy; return DOUBLE; }
+{ llvmAsmlval.PrimType = Type::ULongTy ; return ULONG;  }
 	YY_BREAK
 case 57:
 YY_RULE_SETUP
 #line 240 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.PrimType = Type::LabelTy ; return LABEL;  }
+{ llvmAsmlval.PrimType = Type::FloatTy ; return FLOAT;  }
 	YY_BREAK
 case 58:
 YY_RULE_SETUP
 #line 241 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ return TYPE;   }
+{ llvmAsmlval.PrimType = Type::DoubleTy; return DOUBLE; }
 	YY_BREAK
 case 59:
 YY_RULE_SETUP
 #line 242 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ return OPAQUE; }
+{ llvmAsmlval.PrimType = Type::LabelTy ; return LABEL;  }
 	YY_BREAK
 case 60:
 YY_RULE_SETUP
-#line 244 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, Add, ADD); }
+#line 243 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ return TYPE;   }
 	YY_BREAK
 case 61:
 YY_RULE_SETUP
-#line 245 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, Sub, SUB); }
+#line 244 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ return OPAQUE; }
 	YY_BREAK
 case 62:
 YY_RULE_SETUP
 #line 246 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, Mul, MUL); }
+{ RET_TOK(BinaryOpVal, Add, ADD); }
 	YY_BREAK
 case 63:
 YY_RULE_SETUP
 #line 247 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, Div, DIV); }
+{ RET_TOK(BinaryOpVal, Sub, SUB); }
 	YY_BREAK
 case 64:
 YY_RULE_SETUP
 #line 248 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, Rem, REM); }
+{ RET_TOK(BinaryOpVal, Mul, MUL); }
 	YY_BREAK
 case 65:
 YY_RULE_SETUP
 #line 249 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, And, AND); }
+{ RET_TOK(BinaryOpVal, Div, DIV); }
 	YY_BREAK
 case 66:
 YY_RULE_SETUP
 #line 250 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, Or , OR ); }
+{ RET_TOK(BinaryOpVal, Rem, REM); }
 	YY_BREAK
 case 67:
 YY_RULE_SETUP
 #line 251 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, Xor, XOR); }
+{ RET_TOK(BinaryOpVal, And, AND); }
 	YY_BREAK
 case 68:
 YY_RULE_SETUP
 #line 252 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, SetNE, SETNE); }
+{ RET_TOK(BinaryOpVal, Or , OR ); }
 	YY_BREAK
 case 69:
 YY_RULE_SETUP
 #line 253 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, SetEQ, SETEQ); }
+{ RET_TOK(BinaryOpVal, Xor, XOR); }
 	YY_BREAK
 case 70:
 YY_RULE_SETUP
 #line 254 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, SetLT, SETLT); }
+{ RET_TOK(BinaryOpVal, SetNE, SETNE); }
 	YY_BREAK
 case 71:
 YY_RULE_SETUP
 #line 255 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, SetGT, SETGT); }
+{ RET_TOK(BinaryOpVal, SetEQ, SETEQ); }
 	YY_BREAK
 case 72:
 YY_RULE_SETUP
 #line 256 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, SetLE, SETLE); }
+{ RET_TOK(BinaryOpVal, SetLT, SETLT); }
 	YY_BREAK
 case 73:
 YY_RULE_SETUP
 #line 257 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, SetGE, SETGE); }
+{ RET_TOK(BinaryOpVal, SetGT, SETGT); }
 	YY_BREAK
 case 74:
 YY_RULE_SETUP
-#line 259 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, PHI, PHI_TOK); }
+#line 258 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, SetLE, SETLE); }
 	YY_BREAK
 case 75:
 YY_RULE_SETUP
-#line 260 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, Call, CALL); }
+#line 259 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, SetGE, SETGE); }
 	YY_BREAK
 case 76:
 YY_RULE_SETUP
 #line 261 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, Cast, CAST); }
+{ RET_TOK(OtherOpVal, PHI, PHI_TOK); }
 	YY_BREAK
 case 77:
 YY_RULE_SETUP
 #line 262 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, Select, SELECT); }
+{ RET_TOK(OtherOpVal, Call, CALL); }
 	YY_BREAK
 case 78:
 YY_RULE_SETUP
 #line 263 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, Shl, SHL); }
+{ RET_TOK(OtherOpVal, Cast, CAST); }
 	YY_BREAK
 case 79:
 YY_RULE_SETUP
 #line 264 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, Shr, SHR); }
+{ RET_TOK(OtherOpVal, Select, SELECT); }
 	YY_BREAK
 case 80:
 YY_RULE_SETUP
 #line 265 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ return VANEXT_old; }
+{ RET_TOK(OtherOpVal, Shl, SHL); }
 	YY_BREAK
 case 81:
 YY_RULE_SETUP
 #line 266 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ return VAARG_old; }
+{ RET_TOK(OtherOpVal, Shr, SHR); }
 	YY_BREAK
 case 82:
 YY_RULE_SETUP
 #line 267 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, VAArg , VAARG); }
+{ return VANEXT_old; }
 	YY_BREAK
 case 83:
 YY_RULE_SETUP
 #line 268 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(TermOpVal, Ret, RET); }
+{ return VAARG_old; }
 	YY_BREAK
 case 84:
 YY_RULE_SETUP
 #line 269 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(TermOpVal, Br, BR); }
+{ RET_TOK(OtherOpVal, VAArg , VAARG); }
 	YY_BREAK
 case 85:
 YY_RULE_SETUP
 #line 270 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(TermOpVal, Switch, SWITCH); }
+{ RET_TOK(TermOpVal, Ret, RET); }
 	YY_BREAK
 case 86:
 YY_RULE_SETUP
 #line 271 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(TermOpVal, Invoke, INVOKE); }
+{ RET_TOK(TermOpVal, Br, BR); }
 	YY_BREAK
 case 87:
 YY_RULE_SETUP
 #line 272 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(TermOpVal, Unwind, UNWIND); }
+{ RET_TOK(TermOpVal, Switch, SWITCH); }
 	YY_BREAK
 case 88:
 YY_RULE_SETUP
 #line 273 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(TermOpVal, Unreachable, UNREACHABLE); }
+{ RET_TOK(TermOpVal, Invoke, INVOKE); }
 	YY_BREAK
 case 89:
 YY_RULE_SETUP
-#line 275 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(MemOpVal, Malloc, MALLOC); }
+#line 274 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ RET_TOK(TermOpVal, Unwind, UNWIND); }
 	YY_BREAK
 case 90:
 YY_RULE_SETUP
-#line 276 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(MemOpVal, Alloca, ALLOCA); }
+#line 275 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ RET_TOK(TermOpVal, Unreachable, UNREACHABLE); }
 	YY_BREAK
 case 91:
 YY_RULE_SETUP
 #line 277 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(MemOpVal, Free, FREE); }
+{ RET_TOK(MemOpVal, Malloc, MALLOC); }
 	YY_BREAK
 case 92:
 YY_RULE_SETUP
 #line 278 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(MemOpVal, Load, LOAD); }
+{ RET_TOK(MemOpVal, Alloca, ALLOCA); }
 	YY_BREAK
 case 93:
 YY_RULE_SETUP
 #line 279 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(MemOpVal, Store, STORE); }
+{ RET_TOK(MemOpVal, Free, FREE); }
 	YY_BREAK
 case 94:
 YY_RULE_SETUP
 #line 280 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); }
+{ RET_TOK(MemOpVal, Load, LOAD); }
 	YY_BREAK
 case 95:
 YY_RULE_SETUP
-#line 282 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, ExtractElement, EXTRACTELEMENT); }
+#line 281 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ RET_TOK(MemOpVal, Store, STORE); }
 	YY_BREAK
 case 96:
 YY_RULE_SETUP
-#line 283 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, InsertElement, INSERTELEMENT); }
+#line 282 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); }
 	YY_BREAK
 case 97:
 YY_RULE_SETUP
 #line 284 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, ShuffleVector, SHUFFLEVECTOR); }
+{ RET_TOK(OtherOpVal, ExtractElement, EXTRACTELEMENT); }
 	YY_BREAK
 case 98:
 YY_RULE_SETUP
-#line 287 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 285 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ RET_TOK(OtherOpVal, InsertElement, INSERTELEMENT); }
+	YY_BREAK
+case 99:
+YY_RULE_SETUP
+#line 286 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ RET_TOK(OtherOpVal, ShuffleVector, SHUFFLEVECTOR); }
+	YY_BREAK
+case 100:
+YY_RULE_SETUP
+#line 289 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 {
                   UnEscapeLexed(llvmAsmtext+1);
                   llvmAsmlval.StrVal = strdup(llvmAsmtext+1);             // Skip %
                   return VAR_ID;
                 }
 	YY_BREAK
-case 99:
+case 101:
 YY_RULE_SETUP
-#line 292 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 294 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 {
                   llvmAsmtext[strlen(llvmAsmtext)-1] = 0;  // nuke colon
                   UnEscapeLexed(llvmAsmtext);
@@ -1748,10 +1789,10 @@
                   return LABELSTR;
                 }
 	YY_BREAK
-case 100:
-/* rule 100 can match eol */
+case 102:
+/* rule 102 can match eol */
 YY_RULE_SETUP
-#line 298 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 300 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 {
                   llvmAsmtext[strlen(llvmAsmtext)-2] = 0;  // nuke colon, end quote
                   UnEscapeLexed(llvmAsmtext+1);
@@ -1759,10 +1800,10 @@
                   return LABELSTR;
                 }
 	YY_BREAK
-case 101:
-/* rule 101 can match eol */
+case 103:
+/* rule 103 can match eol */
 YY_RULE_SETUP
-#line 305 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 307 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { // Note that we cannot unescape a string constant here!  The
                    // string constant might contain a \00 which would not be
                    // understood by the string stuff.  It is valid to make a
@@ -1773,14 +1814,14 @@
                    return STRINGCONSTANT;
                  }
 	YY_BREAK
-case 102:
+case 104:
 YY_RULE_SETUP
-#line 316 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 318 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { llvmAsmlval.UInt64Val = atoull(llvmAsmtext); return EUINT64VAL; }
 	YY_BREAK
-case 103:
+case 105:
 YY_RULE_SETUP
-#line 317 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 319 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 {
                   uint64_t Val = atoull(llvmAsmtext+1);
                   // +1:  we have bigger negative range
@@ -1790,17 +1831,17 @@
                   return ESINT64VAL;
                 }
 	YY_BREAK
-case 104:
+case 106:
 YY_RULE_SETUP
-#line 325 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 327 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 {
                    llvmAsmlval.UInt64Val = HexIntToVal(llvmAsmtext+3);
                    return llvmAsmtext[0] == 's' ? ESINT64VAL : EUINT64VAL;
                  }
 	YY_BREAK
-case 105:
+case 107:
 YY_RULE_SETUP
-#line 330 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 332 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 {
                   uint64_t Val = atoull(llvmAsmtext+1);
                   if ((unsigned)Val != Val)
@@ -1809,9 +1850,9 @@
                   return UINTVAL;
                 }
 	YY_BREAK
-case 106:
+case 108:
 YY_RULE_SETUP
-#line 337 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 339 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 {
                   uint64_t Val = atoull(llvmAsmtext+2);
                   // +1:  we have bigger negative range
@@ -1821,18 +1862,18 @@
                   return SINTVAL;
                 }
 	YY_BREAK
-case 107:
+case 109:
 YY_RULE_SETUP
-#line 346 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 348 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { llvmAsmlval.FPVal = atof(llvmAsmtext); return FPVAL; }
 	YY_BREAK
-case 108:
+case 110:
 YY_RULE_SETUP
-#line 347 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 349 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { llvmAsmlval.FPVal = HexToFP(llvmAsmtext); return FPVAL; }
 	YY_BREAK
 case YY_STATE_EOF(INITIAL):
-#line 349 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 351 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 {
                   /* Make sure to free the internal buffers for flex when we are
                    * done reading our input!
@@ -1841,23 +1882,23 @@
                   return EOF;
                 }
 	YY_BREAK
-case 109:
-/* rule 109 can match eol */
+case 111:
+/* rule 111 can match eol */
 YY_RULE_SETUP
-#line 357 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 359 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { /* Ignore whitespace */ }
 	YY_BREAK
-case 110:
-YY_RULE_SETUP
-#line 358 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ return llvmAsmtext[0]; }
-	YY_BREAK
-case 111:
+case 112:
 YY_RULE_SETUP
 #line 360 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ return llvmAsmtext[0]; }
+	YY_BREAK
+case 113:
+YY_RULE_SETUP
+#line 362 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 YY_FATAL_ERROR( "flex scanner jammed" );
 	YY_BREAK
-#line 1861 "Lexer.cpp"
+#line 1902 "Lexer.cpp"
 
 	case YY_END_OF_BUFFER:
 		{
@@ -2140,7 +2181,7 @@
 		while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
 			{
 			yy_current_state = (int) yy_def[yy_current_state];
-			if ( yy_current_state >= 479 )
+			if ( yy_current_state >= 501 )
 				yy_c = yy_meta[(unsigned int) yy_c];
 			}
 		yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -2168,11 +2209,11 @@
 	while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
 		{
 		yy_current_state = (int) yy_def[yy_current_state];
-		if ( yy_current_state >= 479 )
+		if ( yy_current_state >= 501 )
 			yy_c = yy_meta[(unsigned int) yy_c];
 		}
 	yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-	yy_is_jam = (yy_current_state == 478);
+	yy_is_jam = (yy_current_state == 500);
 
 	return yy_is_jam ? 0 : yy_current_state;
 }
@@ -2850,7 +2891,7 @@
 
 #define YYTABLES_NAME "yytables"
 
-#line 360 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 362 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"