/* YYNNTS -- Number of nonterminals.  */
 #define YYNNTS  42
 /* YYNRULES -- Number of rules.  */
-#define YYNRULES  136
+#define YYNRULES  137
 /* YYNRULES -- Number of states.  */
-#define YYNSTATES  273
+#define YYNSTATES  277
 
 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
 #define YYUNDEFTOK  2
      219,   222,   225,   227,   229,   231,   233,   238,   241,   244,
      246,   248,   250,   252,   254,   256,   258,   261,   264,   267,
      270,   273,   278,   284,   288,   290,   292,   294,   299,   304,
-     309,   316,   326,   330,   334,   340,   349,   351,   358,   364,
-     372,   373,   376,   379,   381,   383,   385,   387,   389,   392,
-     395,   398,   402,   404,   407,   411,   416,   418,   422,   426,
-     430,   434,   438,   443,   448,   452,   456
+     309,   316,   326,   336,   340,   344,   350,   359,   361,   368,
+     374,   382,   383,   386,   389,   391,   393,   395,   397,   399,
+     402,   405,   408,   412,   414,   417,   421,   426,   428,   432,
+     436,   440,   444,   448,   453,   458,   462,   466
 };
 
 /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
       91,    -1,    95,    -1,    95,    52,    37,    53,    -1,    95,
       52,    44,    53,    -1,    95,    52,    38,    53,    -1,    95,
       52,    37,    10,    95,    53,    -1,    95,    52,    37,    53,
-      52,    37,    10,    95,    53,    -1,    52,    37,    53,    -1,
+      52,    37,    10,    95,    53,    -1,    95,    52,    37,    53,
+      52,    38,    10,    95,    53,    -1,    52,    37,    53,    -1,
       52,    44,    53,    -1,    52,    37,    10,    95,    53,    -1,
       52,    37,    53,    52,    37,    10,    95,    53,    -1,    92,
       -1,    92,    52,    37,    10,    95,    53,    -1,    45,    93,
      342,   346,   350,   351,   354,   355,   358,   364,   373,   382,
      387,   392,   397,   402,   407,   412,   418,   426,   432,   443,
      449,   455,   461,   467,   475,   476,   479,   485,   491,   497,
-     503,   512,   521,   526,   531,   539,   549,   553,   562,   569,
-     578,   581,   585,   591,   592,   596,   599,   600,   604,   608,
-     612,   616,   622,   627,   632,   637,   644,   645,   649,   653,
-     657,   661,   665,   669,   673,   677,   681
+     503,   512,   521,   530,   535,   540,   548,   558,   562,   571,
+     578,   587,   590,   594,   600,   601,   605,   608,   609,   613,
+     617,   621,   625,   631,   636,   641,   646,   653,   654,   658,
+     662,   666,   670,   674,   678,   682,   686,   690
 };
 #endif
 
       83,    83,    83,    83,    84,    84,    85,    85,    85,    86,
       86,    86,    86,    86,    86,    86,    87,    88,    88,    88,
       88,    88,    88,    88,    89,    89,    90,    90,    90,    90,
-      90,    90,    90,    90,    90,    90,    91,    91,    92,    92,
-      93,    93,    93,    94,    94,    94,    95,    95,    95,    95,
-      95,    95,    96,    96,    96,    96,    97,    97,    97,    97,
-      97,    97,    97,    97,    97,    97,    97
+      90,    90,    90,    90,    90,    90,    90,    91,    91,    92,
+      92,    93,    93,    93,    94,    94,    94,    95,    95,    95,
+      95,    95,    95,    96,    96,    96,    96,    97,    97,    97,
+      97,    97,    97,    97,    97,    97,    97,    97
 };
 
 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
        2,     2,     1,     1,     1,     1,     4,     2,     2,     1,
        1,     1,     1,     1,     1,     1,     2,     2,     2,     2,
        2,     4,     5,     3,     1,     1,     1,     4,     4,     4,
-       6,     9,     3,     3,     5,     8,     1,     6,     5,     7,
-       0,     2,     2,     1,     1,     1,     1,     1,     2,     2,
-       2,     3,     1,     2,     3,     4,     1,     3,     3,     3,
-       3,     3,     4,     4,     3,     3,     3
+       6,     9,     9,     3,     3,     5,     8,     1,     6,     5,
+       7,     0,     2,     2,     1,     1,     1,     1,     1,     2,
+       2,     2,     3,     1,     2,     3,     4,     1,     3,     3,
+       3,     3,     3,     4,     4,     3,     3,     3
 };
 
 /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
        2,     3,     1,     0,     0,    33,     0,     0,     0,     0,
        0,     0,    33,     0,     0,     0,     0,     0,     0,     0,
        0,     0,    60,     0,     0,     0,     0,     9,     4,     0,
-      11,    34,    14,     0,     0,   116,    79,    81,    84,    80,
-      82,    85,    83,   110,   117,     0,     0,     0,    15,    40,
-      66,    67,    94,    95,   106,    96,     0,    16,    74,    38,
-      75,    17,     0,    18,     0,     0,   110,   110,     0,    22,
+      11,    34,    14,     0,     0,   117,    79,    81,    84,    80,
+      82,    85,    83,   111,   118,     0,     0,     0,    15,    40,
+      66,    67,    94,    95,   107,    96,     0,    16,    74,    38,
+      75,    17,     0,    18,     0,     0,   111,   111,     0,    22,
       48,    68,    72,    73,    69,    96,    20,     0,    34,    49,
-      50,    23,   110,     0,     0,    19,    42,     0,     0,    21,
+      50,    23,   111,     0,     0,    19,    42,     0,     0,    21,
        0,    30,     0,    31,     0,    24,     0,    25,     0,    26,
       56,    27,     0,    28,     0,    29,    61,    32,     0,     7,
-       0,     5,     0,    10,   119,   118,     0,     0,     0,     0,
-      39,     0,     0,   126,     0,   120,     0,     0,     0,    90,
+       0,     5,     0,    10,   120,   119,     0,     0,     0,     0,
+      39,     0,     0,   127,     0,   121,     0,     0,     0,    90,
       89,     0,    88,    87,    37,     0,     0,    70,    71,    77,
       78,    47,     0,     0,    77,    41,     0,     0,     0,     0,
        0,     0,     0,    55,     0,     0,     0,     0,    12,     0,
-      13,   110,   111,   112,     0,     0,   102,   103,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   121,     0,
+      13,   111,   112,   113,     0,     0,   103,   104,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   122,     0,
        0,     0,     0,    93,     0,     0,    35,    36,     0,     0,
       43,     0,    45,     0,    62,     0,    64,    51,    53,    57,
-       0,     0,    65,     8,     6,     0,   115,   113,   114,     0,
-       0,     0,   136,   135,   134,     0,     0,   127,   128,   129,
-     130,   131,     0,     0,    97,    99,    98,     0,    91,    76,
-       0,     0,   122,    86,     0,     0,     0,     0,     0,     0,
-       0,   108,   104,     0,   132,   133,     0,     0,     0,    92,
-      44,   123,     0,    46,    63,    52,    54,    58,    59,     0,
-       0,   107,   100,     0,     0,   124,   109,     0,     0,   125,
-     105,     0,   101
+       0,     0,    65,     8,     6,     0,   116,   114,   115,     0,
+       0,     0,   137,   136,   135,     0,     0,   128,   129,   130,
+     131,   132,     0,     0,    97,    99,    98,     0,    91,    76,
+       0,     0,   123,    86,     0,     0,     0,     0,     0,     0,
+       0,   109,   105,     0,   133,   134,     0,     0,     0,    92,
+      44,   124,     0,    46,    63,    52,    54,    58,    59,     0,
+       0,   108,   100,     0,     0,     0,   125,   110,     0,     0,
+       0,   126,   106,     0,     0,   101,   102
 };
 
 /* YYDEFGOTO[NTERM-NUM].  */
 {
      -94,    15,   -94,   218,   -28,   -25,   264,   285,   285,   340,
      163,     2,   319,    97,   415,   415,   285,   285,   285,   285,
-     306,   -24,   -24,   285,   -17,   -14,     4,   -94,   -94,    36,
+     306,   -24,   -24,   285,   -17,   -14,     4,   -94,   -94,    48,
      -94,   -94,   -94,   481,   481,   -94,   -94,   -94,   -94,   -94,
      -94,   -94,   -94,    19,   -94,   340,   399,   481,   -94,   -94,
-     -94,   -94,   -94,   -94,    34,    45,   385,   -94,   -94,    47,
-     -94,   -94,    48,   -94,    52,   374,    19,    56,   243,   -94,
-     -94,   -94,   -94,   -94,   -94,    59,   -94,    99,   340,   -94,
-     -94,   -94,    56,   138,   481,   -94,   -94,    66,    63,   -94,
-      69,   -94,    73,   -94,    74,   -94,    76,   -94,    77,   -94,
-      79,   -94,    80,   -94,    81,   -94,   -94,   -94,    83,   -94,
-     481,   -94,   481,   -94,   -94,   -94,   119,   481,   481,    88,
-     -94,    -1,    92,   -94,    84,   -94,   113,    23,   426,   -94,
-     -94,   433,   -94,   -94,   -94,   340,   285,   -94,   -94,    88,
-     -94,   -94,    75,   481,   -94,   -94,   138,   120,   440,   444,
+     -94,   -94,   -94,   -94,    46,    47,   385,   -94,   -94,    52,
+     -94,   -94,    59,   -94,    60,   374,    19,    56,   243,   -94,
+     -94,   -94,   -94,   -94,   -94,    63,   -94,   106,   340,   -94,
+     -94,   -94,    56,   138,   481,   -94,   -94,    69,    72,   -94,
+      74,   -94,    76,   -94,    77,   -94,    79,   -94,    80,   -94,
+      81,   -94,    83,   -94,    89,   -94,   -94,   -94,    94,   -94,
+     481,   -94,   481,   -94,   -94,   -94,   119,   481,   481,    98,
+     -94,    -1,   100,   -94,    84,   -94,   117,    23,   426,   -94,
+     -94,   433,   -94,   -94,   -94,   340,   285,   -94,   -94,    98,
+     -94,   -94,    75,   481,   -94,   -94,   138,   122,   440,   444,
      285,   340,   340,   340,   340,   340,   285,   218,   393,   218,
-     393,    56,   -94,   -94,   -15,   481,   101,   -94,   481,   481,
-     481,   150,   155,   481,   481,   481,   481,   481,   -94,   147,
-       0,   116,   122,   -94,   474,   123,   -94,   -94,   133,   136,
-     -94,     7,   -94,   140,   -94,   141,   -94,   146,   148,   -94,
-     160,   165,   -94,   -94,   -94,   137,   -94,   -94,   -94,   144,
-     145,   180,   533,   541,   548,   481,   481,    58,    58,   -94,
-     -94,   -94,   481,   481,   168,   -94,   -94,   170,   -94,   -94,
-     -24,   189,   215,   -94,   171,   -24,   192,   188,   481,   306,
-     219,   -94,   -94,   245,    33,    33,   203,   204,   222,   -94,
-     -94,   251,   229,   -94,   -94,   -94,   -94,   -94,   -94,   209,
-     481,   -94,   -94,   256,   236,   -94,   -94,   216,   481,   -94,
-     -94,   217,   -94
+     393,    56,   -94,   -94,   -15,   481,   105,   -94,   481,   481,
+     481,   156,   162,   481,   481,   481,   481,   481,   -94,   165,
+       0,   123,   133,   -94,   474,   134,   -94,   -94,   136,   140,
+     -94,     7,   -94,   141,   -94,   143,   -94,   148,   149,   -94,
+     147,   160,   -94,   -94,   -94,   164,   -94,   -94,   -94,   167,
+     168,   180,   533,   541,   548,   481,   481,    58,    58,   -94,
+     -94,   -94,   481,   481,   171,   -94,   -94,   172,   -94,   -94,
+     -24,   192,   217,   -94,   175,   -24,   219,   216,   481,   306,
+     220,   -94,   -94,   247,    33,    33,   205,   208,    41,   -94,
+     -94,   253,   234,   -94,   -94,   -94,   -94,   -94,   -94,   215,
+     481,   -94,   -94,   259,   260,   239,   -94,   -94,   221,   481,
+     481,   -94,   -94,   223,   224,   -94,   -94
 };
 
 /* YYPGOTO[NTERM-NUM].  */
 static const yytype_int16 yypgoto[] =
 {
-     -94,   -94,   -94,   -43,   -94,   -94,   -94,   259,   -94,   -94,
-     -94,   262,   -94,   -94,   -94,   -94,   -94,   -94,   -94,   -94,
-     -94,   -94,   -94,   -94,   -94,   -94,    26,   208,    32,   -11,
-      -9,    43,    -8,    64,    -2,    -6,     1,   -60,   -94,   -10,
+     -94,   -94,   -94,   -43,   -94,   -94,   -94,   266,   -94,   -94,
+     -94,   273,   -94,   -94,   -94,   -94,   -94,   -94,   -94,   -94,
+     -94,   -94,   -94,   -94,   -94,   -94,    26,   229,    32,   -11,
+      -9,    57,    -8,    71,    -2,    -6,     1,   -60,   -94,   -10,
      -94,   -93
 };
 
       62,   173,   174,   175,   176,   177,   133,    43,    94,    96,
       98,   100,   166,   224,   112,   108,   137,   132,    75,    72,
      180,   181,    74,   138,   117,   118,    73,   182,   175,   176,
-     177,   120,   145,    88,   123,   212,   213,   214,    90,    92,
-     217,   218,   219,   220,   221,   113,   126,   168,   169,   170,
-     171,   172,   173,   174,   175,   176,   177,   127,   134,   135,
-     123,   205,   123,   136,   120,    33,    34,   162,   163,   188,
-     143,   142,   180,   181,   203,   147,   204,   146,   115,   182,
-     148,   123,   244,   245,   149,   150,   161,   151,   152,    35,
-     153,   154,   155,   189,   156,   190,    88,   178,   193,   195,
-     164,   194,    82,    67,    44,   167,    33,    34,    83,    84,
-     179,    56,    47,   211,   188,   210,   215,   222,   123,   123,
-     123,   186,   216,   123,   123,   123,   123,   123,   187,   225,
-      35,    33,    34,    65,   115,   226,   228,   197,   198,   199,
-     200,   201,   196,    82,    67,    44,   229,   230,   202,   240,
-      84,   234,   235,    47,   236,    35,   237,   241,   242,    36,
+     177,   120,   145,    88,   123,   212,   213,   214,   263,   264,
+     217,   218,   219,   220,   221,    90,    92,   168,   169,   170,
+     171,   172,   173,   174,   175,   176,   177,   113,   126,   127,
+     123,   205,   123,   134,   120,    33,    34,   162,   163,   188,
+     135,   136,   180,   181,   203,   142,   204,   143,   115,   182,
+     146,   123,   244,   245,   147,   148,   161,   149,   150,    35,
+     151,   152,   153,   189,   154,   190,    88,   178,   193,   195,
+     155,   194,    82,    67,    44,   156,    33,    34,    83,    84,
+     164,    56,    47,   167,   179,   210,   188,   211,   123,   123,
+     123,   186,   215,   123,   123,   123,   123,   123,   187,   216,
+      35,    33,    34,    65,   115,   222,   225,   197,   198,   199,
+     200,   201,   196,    82,    67,    44,   226,   228,   202,   229,
+      84,   230,   234,    47,   235,    35,   236,   237,   238,    36,
       37,    38,    39,    40,    41,   123,   123,    42,    66,    67,
-      44,   238,   246,   247,    68,    46,   239,   243,    47,     4,
-     248,   251,   250,   249,   252,   191,   256,   254,   257,   255,
+      44,   239,   246,   247,    68,    46,   240,   243,    47,     4,
+     241,   242,   250,   248,   251,   249,   252,   254,   257,   191,
      258,     5,     6,     7,     8,     9,    10,    11,    12,    13,
       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
-     267,    33,    34,    65,   259,   260,   261,   262,   271,   263,
-     264,   265,   266,    24,    25,    26,   268,    27,   269,   270,
-     272,    79,    33,    34,    80,    35,   141,   253,     0,    36,
-      37,    38,    39,    40,    41,     0,     0,    42,    66,    67,
-      44,     0,     0,    33,    34,    46,    35,     0,    47,     0,
+     268,    33,    34,    65,   256,   259,   255,   260,   261,   273,
+     274,   262,   265,    24,    25,    26,   266,    27,   267,   269,
+     270,   271,    33,    34,   272,    35,   275,   276,    79,    36,
+      37,    38,    39,    40,    41,    80,     0,    42,    66,    67,
+      44,   253,     0,    33,    34,    46,    35,   141,    47,     0,
       36,    37,    38,    39,    40,    41,     0,     0,    42,    43,
        0,    44,     0,     0,     0,    45,    46,    35,     0,    47,
        0,    36,    37,    38,    39,    40,    41,    33,    34,    42,
        8,     8,     9,    10,    11,    12,    56,    45,    16,    17,
       18,    19,    53,    53,    50,    23,    65,    56,    68,    68,
       37,    38,    68,    65,     8,     9,    68,    44,    10,    11,
-      12,    45,    83,    83,    84,   168,   169,   170,    14,    15,
-     173,   174,   175,   176,   177,    49,    52,     3,     4,     5,
-       6,     7,     8,     9,    10,    11,    12,    52,    51,    51,
+      12,    45,    83,    83,    84,   168,   169,   170,    37,    38,
+     173,   174,   175,   176,   177,    14,    15,     3,     4,     5,
+       6,     7,     8,     9,    10,    11,    12,    49,    52,    52,
      110,   161,   112,    51,    78,     8,     9,   117,   118,    34,
-      11,    52,    37,    38,   157,    52,   159,    51,   128,    44,
-      51,   131,   215,   216,    51,    51,     7,    51,    51,    32,
+      51,    51,    37,    38,   157,    52,   159,    11,   128,    44,
+      51,   131,   215,   216,    52,    51,     7,    51,    51,    32,
       51,    51,    51,   143,    51,   146,   146,    53,   148,   149,
-      52,   149,    45,    46,    47,    53,     8,     9,    51,    52,
-      37,    54,    55,    52,    34,   165,     6,    10,   168,   169,
-     170,   135,     7,   173,   174,   175,   176,   177,   136,    53,
-      32,     8,     9,    10,   184,    53,    53,   151,   152,   153,
-     154,   155,   150,    45,    46,    47,    53,    51,   156,    52,
-      52,    51,    51,    55,    48,    32,    48,    53,    53,    36,
+      51,   149,    45,    46,    47,    51,     8,     9,    51,    52,
+      52,    54,    55,    53,    37,   165,    34,    52,   168,   169,
+     170,   135,     6,   173,   174,   175,   176,   177,   136,     7,
+      32,     8,     9,    10,   184,    10,    53,   151,   152,   153,
+     154,   155,   150,    45,    46,    47,    53,    53,   156,    53,
+      52,    51,    51,    55,    51,    32,    48,    48,    51,    36,
       37,    38,    39,    40,    41,   215,   216,    44,    45,    46,
-      47,    51,   222,   223,    51,    52,    51,    37,    55,     1,
-      52,    32,   230,    53,     9,    54,    38,   235,   238,    37,
+      47,    51,   222,   223,    51,    52,    52,    37,    55,     1,
+      53,    53,   230,    52,    32,    53,     9,   235,   238,    54,
      239,    13,    14,    15,    16,    17,    18,    19,    20,    21,
       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
-     260,     8,     9,    10,    35,    10,    53,    53,   268,    37,
-       9,    32,    53,    45,    46,    47,    10,    49,    32,    53,
-      53,    12,     8,     9,    12,    32,    68,   234,    -1,    36,
-      37,    38,    39,    40,    41,    -1,    -1,    44,    45,    46,
-      47,    -1,    -1,     8,     9,    52,    32,    -1,    55,    -1,
+     260,     8,     9,    10,    38,    35,    37,    10,    53,   269,
+     270,    53,     9,    45,    46,    47,    32,    49,    53,    10,
+      10,    32,     8,     9,    53,    32,    53,    53,    12,    36,
+      37,    38,    39,    40,    41,    12,    -1,    44,    45,    46,
+      47,   234,    -1,     8,     9,    52,    32,    68,    55,    -1,
       36,    37,    38,    39,    40,    41,    -1,    -1,    44,    45,
       -1,    47,    -1,    -1,    -1,    51,    52,    32,    -1,    55,
       -1,    36,    37,    38,    39,    40,    41,     8,     9,    44,
       51,     9,    32,    96,    51,    51,    48,    48,    51,    51,
       52,    53,    53,    37,    97,    97,    95,    95,    52,    53,
       88,    32,     9,    87,    88,    37,    38,    95,    86,    35,
-      10,    53,    53,    37,     9,    32,    53,    95,    10,    32,
-      53,    95,    53
+      10,    53,    53,    37,    38,     9,    32,    53,    95,    10,
+      10,    32,    53,    95,    95,    53,    53
 };
 
 #define yyerrok                (yyerrstatus = 0)
 #line 522 "a.y"
     {
                (yyval.gen) = nullgen;
-               (yyval.gen).type = D_INDIR+(yyvsp[(2) - (3)].lval);
+               (yyval.gen).type = D_INDIR+(yyvsp[(3) - (9)].lval);
+               (yyval.gen).offset = (yyvsp[(1) - (9)].lval);
+               (yyval.gen).index = (yyvsp[(6) - (9)].lval);
+               (yyval.gen).scale = (yyvsp[(8) - (9)].lval);
+               checkscale((yyval.gen).scale);
        }
     break;
 
   case 103:
 
 /* Line 1806 of yacc.c  */
-#line 527 "a.y"
+#line 531 "a.y"
     {
                (yyval.gen) = nullgen;
-               (yyval.gen).type = D_INDIR+D_SP;
+               (yyval.gen).type = D_INDIR+(yyvsp[(2) - (3)].lval);
        }
     break;
 
   case 104:
 
 /* Line 1806 of yacc.c  */
-#line 532 "a.y"
+#line 536 "a.y"
+    {
+               (yyval.gen) = nullgen;
+               (yyval.gen).type = D_INDIR+D_SP;
+       }
+    break;
+
+  case 105:
+
+/* Line 1806 of yacc.c  */
+#line 541 "a.y"
     {
                (yyval.gen) = nullgen;
                (yyval.gen).type = D_INDIR+D_NONE;
        }
     break;
 
-  case 105:
+  case 106:
 
 /* Line 1806 of yacc.c  */
-#line 540 "a.y"
+#line 549 "a.y"
     {
                (yyval.gen) = nullgen;
                (yyval.gen).type = D_INDIR+(yyvsp[(2) - (8)].lval);
        }
     break;
 
-  case 106:
+  case 107:
 
 /* Line 1806 of yacc.c  */
-#line 550 "a.y"
+#line 559 "a.y"
     {
                (yyval.gen) = (yyvsp[(1) - (1)].gen);
        }
     break;
 
-  case 107:
+  case 108:
 
 /* Line 1806 of yacc.c  */
-#line 554 "a.y"
+#line 563 "a.y"
     {
                (yyval.gen) = (yyvsp[(1) - (6)].gen);
                (yyval.gen).index = (yyvsp[(3) - (6)].lval);
        }
     break;
 
-  case 108:
+  case 109:
 
 /* Line 1806 of yacc.c  */
-#line 563 "a.y"
+#line 572 "a.y"
     {
                (yyval.gen) = nullgen;
                (yyval.gen).type = (yyvsp[(4) - (5)].lval);
        }
     break;
 
-  case 109:
+  case 110:
 
 /* Line 1806 of yacc.c  */
-#line 570 "a.y"
+#line 579 "a.y"
     {
                (yyval.gen) = nullgen;
                (yyval.gen).type = D_STATIC;
        }
     break;
 
-  case 110:
+  case 111:
 
 /* Line 1806 of yacc.c  */
-#line 578 "a.y"
+#line 587 "a.y"
     {
                (yyval.lval) = 0;
        }
     break;
 
-  case 111:
+  case 112:
 
 /* Line 1806 of yacc.c  */
-#line 582 "a.y"
+#line 591 "a.y"
     {
                (yyval.lval) = (yyvsp[(2) - (2)].lval);
        }
     break;
 
-  case 112:
+  case 113:
 
 /* Line 1806 of yacc.c  */
-#line 586 "a.y"
+#line 595 "a.y"
     {
                (yyval.lval) = -(yyvsp[(2) - (2)].lval);
        }
     break;
 
-  case 114:
+  case 115:
 
 /* Line 1806 of yacc.c  */
-#line 593 "a.y"
+#line 602 "a.y"
     {
                (yyval.lval) = D_AUTO;
        }
     break;
 
-  case 117:
+  case 118:
 
 /* Line 1806 of yacc.c  */
-#line 601 "a.y"
+#line 610 "a.y"
     {
                (yyval.lval) = (yyvsp[(1) - (1)].sym)->value;
        }
     break;
 
-  case 118:
+  case 119:
 
 /* Line 1806 of yacc.c  */
-#line 605 "a.y"
+#line 614 "a.y"
     {
                (yyval.lval) = -(yyvsp[(2) - (2)].lval);
        }
     break;
 
-  case 119:
+  case 120:
 
 /* Line 1806 of yacc.c  */
-#line 609 "a.y"
+#line 618 "a.y"
     {
                (yyval.lval) = (yyvsp[(2) - (2)].lval);
        }
     break;
 
-  case 120:
+  case 121:
 
 /* Line 1806 of yacc.c  */
-#line 613 "a.y"
+#line 622 "a.y"
     {
                (yyval.lval) = ~(yyvsp[(2) - (2)].lval);
        }
     break;
 
-  case 121:
+  case 122:
 
 /* Line 1806 of yacc.c  */
-#line 617 "a.y"
+#line 626 "a.y"
     {
                (yyval.lval) = (yyvsp[(2) - (3)].lval);
        }
     break;
 
-  case 122:
+  case 123:
 
 /* Line 1806 of yacc.c  */
-#line 623 "a.y"
+#line 632 "a.y"
     {
                (yyval.lval) = ((yyvsp[(1) - (1)].lval) & 0xffffffffLL) +
                        ((vlong)ArgsSizeUnknown << 32);
        }
     break;
 
-  case 123:
+  case 124:
 
 /* Line 1806 of yacc.c  */
-#line 628 "a.y"
+#line 637 "a.y"
     {
                (yyval.lval) = (-(yyvsp[(2) - (2)].lval) & 0xffffffffLL) +
                        ((vlong)ArgsSizeUnknown << 32);
        }
     break;
 
-  case 124:
+  case 125:
 
 /* Line 1806 of yacc.c  */
-#line 633 "a.y"
+#line 642 "a.y"
     {
                (yyval.lval) = ((yyvsp[(1) - (3)].lval) & 0xffffffffLL) +
                        (((yyvsp[(3) - (3)].lval) & 0xffffLL) << 32);
        }
     break;
 
-  case 125:
+  case 126:
 
 /* Line 1806 of yacc.c  */
-#line 638 "a.y"
+#line 647 "a.y"
     {
                (yyval.lval) = (-(yyvsp[(2) - (4)].lval) & 0xffffffffLL) +
                        (((yyvsp[(4) - (4)].lval) & 0xffffLL) << 32);
        }
     break;
 
-  case 127:
+  case 128:
 
 /* Line 1806 of yacc.c  */
-#line 646 "a.y"
+#line 655 "a.y"
     {
                (yyval.lval) = (yyvsp[(1) - (3)].lval) + (yyvsp[(3) - (3)].lval);
        }
     break;
 
-  case 128:
+  case 129:
 
 /* Line 1806 of yacc.c  */
-#line 650 "a.y"
+#line 659 "a.y"
     {
                (yyval.lval) = (yyvsp[(1) - (3)].lval) - (yyvsp[(3) - (3)].lval);
        }
     break;
 
-  case 129:
+  case 130:
 
 /* Line 1806 of yacc.c  */
-#line 654 "a.y"
+#line 663 "a.y"
     {
                (yyval.lval) = (yyvsp[(1) - (3)].lval) * (yyvsp[(3) - (3)].lval);
        }
     break;
 
-  case 130:
+  case 131:
 
 /* Line 1806 of yacc.c  */
-#line 658 "a.y"
+#line 667 "a.y"
     {
                (yyval.lval) = (yyvsp[(1) - (3)].lval) / (yyvsp[(3) - (3)].lval);
        }
     break;
 
-  case 131:
+  case 132:
 
 /* Line 1806 of yacc.c  */
-#line 662 "a.y"
+#line 671 "a.y"
     {
                (yyval.lval) = (yyvsp[(1) - (3)].lval) % (yyvsp[(3) - (3)].lval);
        }
     break;
 
-  case 132:
+  case 133:
 
 /* Line 1806 of yacc.c  */
-#line 666 "a.y"
+#line 675 "a.y"
     {
                (yyval.lval) = (yyvsp[(1) - (4)].lval) << (yyvsp[(4) - (4)].lval);
        }
     break;
 
-  case 133:
+  case 134:
 
 /* Line 1806 of yacc.c  */
-#line 670 "a.y"
+#line 679 "a.y"
     {
                (yyval.lval) = (yyvsp[(1) - (4)].lval) >> (yyvsp[(4) - (4)].lval);
        }
     break;
 
-  case 134:
+  case 135:
 
 /* Line 1806 of yacc.c  */
-#line 674 "a.y"
+#line 683 "a.y"
     {
                (yyval.lval) = (yyvsp[(1) - (3)].lval) & (yyvsp[(3) - (3)].lval);
        }
     break;
 
-  case 135:
+  case 136:
 
 /* Line 1806 of yacc.c  */
-#line 678 "a.y"
+#line 687 "a.y"
     {
                (yyval.lval) = (yyvsp[(1) - (3)].lval) ^ (yyvsp[(3) - (3)].lval);
        }
     break;
 
-  case 136:
+  case 137:
 
 /* Line 1806 of yacc.c  */
-#line 682 "a.y"
+#line 691 "a.y"
     {
                (yyval.lval) = (yyvsp[(1) - (3)].lval) | (yyvsp[(3) - (3)].lval);
        }
 
 
 /* Line 1806 of yacc.c  */
-#line 2845 "y.tab.c"
+#line 2860 "y.tab.c"
       default: break;
     }
   /* User semantic actions sometimes alter yychar, and that requires