github.com/rohankumardubey/syslog-redirector-golang@v0.0.0-20140320174030-4859f03d829a/src/cmd/8l/optab.c (about)

     1  // Inferno utils/8l/optab.c
     2  // http://code.google.com/p/inferno-os/source/browse/utils/8l/optab.c
     3  //
     4  //	Copyright © 1994-1999 Lucent Technologies Inc.  All rights reserved.
     5  //	Portions Copyright © 1995-1997 C H Forsyth (forsyth@terzarima.net)
     6  //	Portions Copyright © 1997-1999 Vita Nuova Limited
     7  //	Portions Copyright © 2000-2007 Vita Nuova Holdings Limited (www.vitanuova.com)
     8  //	Portions Copyright © 2004,2006 Bruce Ellis
     9  //	Portions Copyright © 2005-2007 C H Forsyth (forsyth@terzarima.net)
    10  //	Revisions Copyright © 2000-2007 Lucent Technologies Inc. and others
    11  //	Portions Copyright © 2009 The Go Authors.  All rights reserved.
    12  //
    13  // Permission is hereby granted, free of charge, to any person obtaining a copy
    14  // of this software and associated documentation files (the "Software"), to deal
    15  // in the Software without restriction, including without limitation the rights
    16  // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    17  // copies of the Software, and to permit persons to whom the Software is
    18  // furnished to do so, subject to the following conditions:
    19  //
    20  // The above copyright notice and this permission notice shall be included in
    21  // all copies or substantial portions of the Software.
    22  //
    23  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    24  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    25  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
    26  // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    27  // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    28  // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    29  // THE SOFTWARE.
    30  
    31  #include	"l.h"
    32  
    33  uchar	ynone[] =
    34  {
    35  	Ynone,	Ynone,	Zlit,	1,
    36  	0
    37  };
    38  uchar	ytext[] =
    39  {
    40  	Ymb,	Yi32,	Zpseudo,1,
    41  	0
    42  };
    43  uchar	ynop[] =
    44  {
    45  	Ynone,	Ynone,	Zpseudo,1,
    46  	Ynone,	Yml,	Zpseudo,1,
    47  	Ynone,	Yrf,	Zpseudo,1,
    48  	Yml,	Ynone,	Zpseudo,1,
    49  	Yrf,	Ynone,	Zpseudo,1,
    50  	0
    51  };
    52  uchar	yfuncdata[] =
    53  {
    54  	Yi32,	Ym,	Zpseudo,	0,
    55  	0
    56  };
    57  uchar	ypcdata[] =
    58  {
    59  	Yi32,	Yi32,	Zpseudo,	0,
    60  	0,
    61  };
    62  uchar	yxorb[] =
    63  {
    64  	Yi32,	Yal,	Zib_,	1,
    65  	Yi32,	Ymb,	Zibo_m,	2,
    66  	Yrb,	Ymb,	Zr_m,	1,
    67  	Ymb,	Yrb,	Zm_r,	1,
    68  	0
    69  };
    70  uchar	yxorl[] =
    71  {
    72  	Yi8,	Yml,	Zibo_m,	2,
    73  	Yi32,	Yax,	Zil_,	1,
    74  	Yi32,	Yml,	Zilo_m,	2,
    75  	Yrl,	Yml,	Zr_m,	1,
    76  	Yml,	Yrl,	Zm_r,	1,
    77  	0
    78  };
    79  uchar	yaddl[] =
    80  {
    81  	Yi8,	Yml,	Zibo_m,	2,
    82  	Yi32,	Yax,	Zil_,	1,
    83  	Yi32,	Yml,	Zilo_m,	2,
    84  	Yrl,	Yml,	Zr_m,	1,
    85  	Yml,	Yrl,	Zm_r,	1,
    86  	0
    87  };
    88  uchar	yincb[] =
    89  {
    90  	Ynone,	Ymb,	Zo_m,	2,
    91  	0
    92  };
    93  uchar	yincl[] =
    94  {
    95  	Ynone,	Yrl,	Z_rp,	1,
    96  	Ynone,	Yml,	Zo_m,	2,
    97  	0
    98  };
    99  uchar	ycmpb[] =
   100  {
   101  	Yal,	Yi32,	Z_ib,	1,
   102  	Ymb,	Yi32,	Zm_ibo,	2,
   103  	Ymb,	Yrb,	Zm_r,	1,
   104  	Yrb,	Ymb,	Zr_m,	1,
   105  	0
   106  };
   107  uchar	ycmpl[] =
   108  {
   109  	Yml,	Yi8,	Zm_ibo,	2,
   110  	Yax,	Yi32,	Z_il,	1,
   111  	Yml,	Yi32,	Zm_ilo,	2,
   112  	Yml,	Yrl,	Zm_r,	1,
   113  	Yrl,	Yml,	Zr_m,	1,
   114  	0
   115  };
   116  uchar	yshb[] =
   117  {
   118  	Yi1,	Ymb,	Zo_m,	2,
   119  	Yi32,	Ymb,	Zibo_m,	2,
   120  	Ycx,	Ymb,	Zo_m,	2,
   121  	0
   122  };
   123  uchar	yshl[] =
   124  {
   125  	Yi1,	Yml,	Zo_m,	2,
   126  	Yi32,	Yml,	Zibo_m,	2,
   127  	Ycl,	Yml,	Zo_m,	2,
   128  	Ycx,	Yml,	Zo_m,	2,
   129  	0
   130  };
   131  uchar	ytestb[] =
   132  {
   133  	Yi32,	Yal,	Zib_,	1,
   134  	Yi32,	Ymb,	Zibo_m,	2,
   135  	Yrb,	Ymb,	Zr_m,	1,
   136  	Ymb,	Yrb,	Zm_r,	1,
   137  	0
   138  };
   139  uchar	ytestl[] =
   140  {
   141  	Yi32,	Yax,	Zil_,	1,
   142  	Yi32,	Yml,	Zilo_m,	2,
   143  	Yrl,	Yml,	Zr_m,	1,
   144  	Yml,	Yrl,	Zm_r,	1,
   145  	0
   146  };
   147  uchar	ymovb[] =
   148  {
   149  	Yrb,	Ymb,	Zr_m,	1,
   150  	Ymb,	Yrb,	Zm_r,	1,
   151  	Yi32,	Yrb,	Zib_rp,	1,
   152  	Yi32,	Ymb,	Zibo_m,	2,
   153  	0
   154  };
   155  uchar	ymovw[] =
   156  {
   157  	Yrl,	Yml,	Zr_m,	1,
   158  	Yml,	Yrl,	Zm_r,	1,
   159  	Yi0,	Yrl,	Zclr,	1+2,
   160  //	Yi0,	Yml,	Zibo_m,	2,	// shorter but slower AND $0,dst
   161  	Yi32,	Yrl,	Zil_rp,	1,
   162  	Yi32,	Yml,	Zilo_m,	2,
   163  	Yiauto,	Yrl,	Zaut_r,	1,
   164  	0
   165  };
   166  uchar	ymovl[] =
   167  {
   168  	Yrl,	Yml,	Zr_m,	1,
   169  	Yml,	Yrl,	Zm_r,	1,
   170  	Yi0,	Yrl,	Zclr,	1+2,
   171  //	Yi0,	Yml,	Zibo_m,	2,	// shorter but slower AND $0,dst
   172  	Yi32,	Yrl,	Zil_rp,	1,
   173  	Yi32,	Yml,	Zilo_m,	2,
   174  	Yml,	Yxr,	Zm_r_xm,	2,	// XMM MOVD (32 bit)
   175  	Yxr,	Yml,	Zr_m_xm,	2,	// XMM MOVD (32 bit)
   176  	Yiauto,	Yrl,	Zaut_r,	1,
   177  	0
   178  };
   179  uchar	ymovq[] =
   180  {
   181  	Yml,	Yxr,	Zm_r_xm,	2,
   182  	0
   183  };
   184  uchar	ym_rl[] =
   185  {
   186  	Ym,	Yrl,	Zm_r,	1,
   187  	0
   188  };
   189  uchar	yrl_m[] =
   190  {
   191  	Yrl,	Ym,	Zr_m,	1,
   192  	0
   193  };
   194  uchar	ymb_rl[] =
   195  {
   196  	Ymb,	Yrl,	Zm_r,	1,
   197  	0
   198  };
   199  uchar	yml_rl[] =
   200  {
   201  	Yml,	Yrl,	Zm_r,	1,
   202  	0
   203  };
   204  uchar	yrb_mb[] =
   205  {
   206  	Yrb,	Ymb,	Zr_m,	1,
   207  	0
   208  };
   209  uchar	yrl_ml[] =
   210  {
   211  	Yrl,	Yml,	Zr_m,	1,
   212  	0
   213  };
   214  uchar	yml_mb[] =
   215  {
   216  	Yrb,	Ymb,	Zr_m,	1,
   217  	Ymb,	Yrb,	Zm_r,	1,
   218  	0
   219  };
   220  uchar	yxchg[] =
   221  {
   222  	Yax,	Yrl,	Z_rp,	1,
   223  	Yrl,	Yax,	Zrp_,	1,
   224  	Yrl,	Yml,	Zr_m,	1,
   225  	Yml,	Yrl,	Zm_r,	1,
   226  	0
   227  };
   228  uchar	ydivl[] =
   229  {
   230  	Yml,	Ynone,	Zm_o,	2,
   231  	0
   232  };
   233  uchar	ydivb[] =
   234  {
   235  	Ymb,	Ynone,	Zm_o,	2,
   236  	0
   237  };
   238  uchar	yimul[] =
   239  {
   240  	Yml,	Ynone,	Zm_o,	2,
   241  	Yi8,	Yrl,	Zib_rr,	1,
   242  	Yi32,	Yrl,	Zil_rr,	1,
   243  	0
   244  };
   245  uchar	ybyte[] =
   246  {
   247  	Yi32,	Ynone,	Zbyte,	1,
   248  	0
   249  };
   250  uchar	yin[] =
   251  {
   252  	Yi32,	Ynone,	Zib_,	1,
   253  	Ynone,	Ynone,	Zlit,	1,
   254  	0
   255  };
   256  uchar	yint[] =
   257  {
   258  	Yi32,	Ynone,	Zib_,	1,
   259  	0
   260  };
   261  uchar	ypushl[] =
   262  {
   263  	Yrl,	Ynone,	Zrp_,	1,
   264  	Ym,	Ynone,	Zm_o,	2,
   265  	Yi8,	Ynone,	Zib_,	1,
   266  	Yi32,	Ynone,	Zil_,	1,
   267  	0
   268  };
   269  uchar	ypopl[] =
   270  {
   271  	Ynone,	Yrl,	Z_rp,	1,
   272  	Ynone,	Ym,	Zo_m,	2,
   273  	0
   274  };
   275  uchar	ybswap[] =
   276  {
   277  	Ynone,	Yrl,	Z_rp,	1,
   278  	0,
   279  };
   280  uchar	yscond[] =
   281  {
   282  	Ynone,	Ymb,	Zo_m,	2,
   283  	0
   284  };
   285  uchar	yjcond[] =
   286  {
   287  	Ynone,	Ybr,	Zbr,	0,
   288  	Yi0,	Ybr,	Zbr,	0,
   289  	Yi1,	Ybr,	Zbr,	1,
   290  	0
   291  };
   292  uchar	yloop[] =
   293  {
   294  	Ynone,	Ybr,	Zloop,	1,
   295  	0
   296  };
   297  uchar	ycall[] =
   298  {
   299  	Ynone,	Yml,	Zo_m,	0,
   300  	Yrx,	Yrx,	Zo_m,	2,
   301  	Ynone,	Ycol,	Zcallind,	2,
   302  	Ynone,	Ybr,	Zcall,	0,
   303  	Ynone,	Yi32,	Zcallcon,	1,
   304  	0
   305  };
   306  uchar	yjmp[] =
   307  {
   308  	Ynone,	Yml,	Zo_m,	2,
   309  	Ynone,	Ybr,	Zjmp,	0,
   310  	Ynone,	Yi32,	Zjmpcon,	1,
   311  	0
   312  };
   313  
   314  uchar	yfmvd[] =
   315  {
   316  	Ym,	Yf0,	Zm_o,	2,
   317  	Yf0,	Ym,	Zo_m,	2,
   318  	Yrf,	Yf0,	Zm_o,	2,
   319  	Yf0,	Yrf,	Zo_m,	2,
   320  	0
   321  };
   322  uchar	yfmvdp[] =
   323  {
   324  	Yf0,	Ym,	Zo_m,	2,
   325  	Yf0,	Yrf,	Zo_m,	2,
   326  	0
   327  };
   328  uchar	yfmvf[] =
   329  {
   330  	Ym,	Yf0,	Zm_o,	2,
   331  	Yf0,	Ym,	Zo_m,	2,
   332  	0
   333  };
   334  uchar	yfmvx[] =
   335  {
   336  	Ym,	Yf0,	Zm_o,	2,
   337  	0
   338  };
   339  uchar	yfmvp[] =
   340  {
   341  	Yf0,	Ym,	Zo_m,	2,
   342  	0
   343  };
   344  uchar	yfcmv[] =
   345  {
   346  	Yrf,	Yf0,	Zm_o,	2,
   347  	0
   348  };
   349  uchar	yfadd[] =
   350  {
   351  	Ym,	Yf0,	Zm_o,	2,
   352  	Yrf,	Yf0,	Zm_o,	2,
   353  	Yf0,	Yrf,	Zo_m,	2,
   354  	0
   355  };
   356  uchar	yfaddp[] =
   357  {
   358  	Yf0,	Yrf,	Zo_m,	2,
   359  	0
   360  };
   361  uchar	yfxch[] =
   362  {
   363  	Yf0,	Yrf,	Zo_m,	2,
   364  	Yrf,	Yf0,	Zm_o,	2,
   365  	0
   366  };
   367  uchar	ycompp[] =
   368  {
   369  	Yf0,	Yrf,	Zo_m,	2,	/* botch is really f0,f1 */
   370  	0
   371  };
   372  uchar	ystsw[] =
   373  {
   374  	Ynone,	Ym,	Zo_m,	2,
   375  	Ynone,	Yax,	Zlit,	1,
   376  	0
   377  };
   378  uchar	ystcw[] =
   379  {
   380  	Ynone,	Ym,	Zo_m,	2,
   381  	Ym,	Ynone,	Zm_o,	2,
   382  	0
   383  };
   384  uchar	ysvrs[] =
   385  {
   386  	Ynone,	Ym,	Zo_m,	2,
   387  	Ym,	Ynone,	Zm_o,	2,
   388  	0
   389  };
   390  uchar	ymskb[] =
   391  {
   392  	Yxr,	Yrl,	Zm_r_xm,	2,
   393  	Ymr,	Yrl,	Zm_r_xm,	1,
   394  	0
   395  };
   396  uchar	yxm[] = 
   397  {
   398  	Yxm,	Yxr,	Zm_r_xm,	1,
   399  	0
   400  };
   401  uchar	yxcvm1[] = 
   402  {
   403  	Yxm,	Yxr,	Zm_r_xm,	2,
   404  	Yxm,	Ymr,	Zm_r_xm,	2,
   405  	0
   406  };
   407  uchar	yxcvm2[] =
   408  {
   409  	Yxm,	Yxr,	Zm_r_xm,	2,
   410  	Ymm,	Yxr,	Zm_r_xm,	2,
   411  	0
   412  };
   413  uchar	yxmq[] = 
   414  {
   415  	Yxm,	Yxr,	Zm_r_xm,	2,
   416  	0
   417  };
   418  uchar	yxr[] = 
   419  {
   420  	Yxr,	Yxr,	Zm_r_xm,	1,
   421  	0
   422  };
   423  uchar	yxr_ml[] =
   424  {
   425  	Yxr,	Yml,	Zr_m_xm,	1,
   426  	0
   427  };
   428  uchar	yxcmp[] =
   429  {
   430  	Yxm,	Yxr, Zm_r_xm,	1,
   431  	0
   432  };
   433  uchar	yxcmpi[] =
   434  {
   435  	Yxm,	Yxr, Zm_r_i_xm,	2,
   436  	0
   437  };
   438  uchar	yxmov[] =
   439  {
   440  	Yxm,	Yxr,	Zm_r_xm,	1,
   441  	Yxr,	Yxm,	Zr_m_xm,	1,
   442  	0
   443  };
   444  uchar	yxcvfl[] = 
   445  {
   446  	Yxm,	Yrl,	Zm_r_xm,	1,
   447  	0
   448  };
   449  uchar	yxcvlf[] =
   450  {
   451  	Yml,	Yxr,	Zm_r_xm,	1,
   452  	0
   453  };
   454  uchar	yxcvfq[] = 
   455  {
   456  	Yxm,	Yrl,	Zm_r_xm,	2,
   457  	0
   458  };
   459  uchar	yxcvqf[] =
   460  {
   461  	Yml,	Yxr,	Zm_r_xm,	2,
   462  	0
   463  };
   464  uchar	yxrrl[] =
   465  {
   466  	Yxr,	Yrl,	Zm_r,	1,
   467  	0
   468  };
   469  uchar	yprefetch[] =
   470  {
   471  	Ym,	Ynone,	Zm_o,	2,
   472  	0,
   473  };
   474  uchar	yaes[] =
   475  {
   476  	Yxm,	Yxr,	Zlitm_r,	2,
   477  	0
   478  };
   479  uchar	yinsrd[] =
   480  {
   481  	Yml,	Yxr,	Zibm_r,	2,
   482  	0
   483  };
   484  uchar	ymshufb[] =
   485  {
   486  	Yxm,	Yxr,	Zm2_r,	2,
   487  	0
   488  };
   489  
   490  Optab optab[] =
   491  /*	as, ytab, andproto, opcode */
   492  {
   493  	{ AXXX },
   494  	{ AAAA,		ynone,	Px, 0x37 },
   495  	{ AAAD,		ynone,	Px, 0xd5,0x0a },
   496  	{ AAAM,		ynone,	Px, 0xd4,0x0a },
   497  	{ AAAS,		ynone,	Px, 0x3f },
   498  	{ AADCB,	yxorb,	Pb, 0x14,0x80,(02),0x10,0x10 },
   499  	{ AADCL,	yxorl,	Px, 0x83,(02),0x15,0x81,(02),0x11,0x13 },
   500  	{ AADCW,	yxorl,	Pe, 0x83,(02),0x15,0x81,(02),0x11,0x13 },
   501  	{ AADDB,	yxorb,	Px, 0x04,0x80,(00),0x00,0x02 },
   502  	{ AADDL,	yaddl,	Px, 0x83,(00),0x05,0x81,(00),0x01,0x03 },
   503  	{ AADDW,	yaddl,	Pe, 0x83,(00),0x05,0x81,(00),0x01,0x03 },
   504  	{ AADJSP },
   505  	{ AANDB,	yxorb,	Pb, 0x24,0x80,(04),0x20,0x22 },
   506  	{ AANDL,	yxorl,	Px, 0x83,(04),0x25,0x81,(04),0x21,0x23 },
   507  	{ AANDW,	yxorl,	Pe, 0x83,(04),0x25,0x81,(04),0x21,0x23 },
   508  	{ AARPL,	yrl_ml,	Px, 0x63 },
   509  	{ ABOUNDL,	yrl_m,	Px, 0x62 },
   510  	{ ABOUNDW,	yrl_m,	Pe, 0x62 },
   511  	{ ABSFL,	yml_rl,	Pm, 0xbc },
   512  	{ ABSFW,	yml_rl,	Pq, 0xbc },
   513  	{ ABSRL,	yml_rl,	Pm, 0xbd },
   514  	{ ABSRW,	yml_rl,	Pq, 0xbd },
   515  	{ ABTL,		yml_rl,	Pm, 0xa3 },
   516  	{ ABTW,		yml_rl,	Pq, 0xa3 },
   517  	{ ABTCL,	yml_rl,	Pm, 0xbb },
   518  	{ ABTCW,	yml_rl,	Pq, 0xbb },
   519  	{ ABTRL,	yml_rl,	Pm, 0xb3 },
   520  	{ ABTRW,	yml_rl,	Pq, 0xb3 },
   521  	{ ABTSL,	yml_rl,	Pm, 0xab },
   522  	{ ABTSW,	yml_rl,	Pq, 0xab },
   523  	{ ABYTE,	ybyte,	Px, 1 },
   524  	{ ACALL,	ycall,	Px, 0xff,(02),0xff,(0x15),0xe8 },
   525  	{ ACLC,		ynone,	Px, 0xf8 },
   526  	{ ACLD,		ynone,	Px, 0xfc },
   527  	{ ACLI,		ynone,	Px, 0xfa },
   528  	{ ACLTS,	ynone,	Pm, 0x06 },
   529  	{ ACMC,		ynone,	Px, 0xf5 },
   530  	{ ACMPB,	ycmpb,	Pb, 0x3c,0x80,(07),0x38,0x3a },
   531  	{ ACMPL,	ycmpl,	Px, 0x83,(07),0x3d,0x81,(07),0x39,0x3b },
   532  	{ ACMPW,	ycmpl,	Pe, 0x83,(07),0x3d,0x81,(07),0x39,0x3b },
   533  	{ ACMPSB,	ynone,	Pb, 0xa6 },
   534  	{ ACMPSL,	ynone,	Px, 0xa7 },
   535  	{ ACMPSW,	ynone,	Pe, 0xa7 },
   536  	{ ADAA,		ynone,	Px, 0x27 },
   537  	{ ADAS,		ynone,	Px, 0x2f },
   538  	{ ADATA },
   539  	{ ADECB,	yincb,	Pb, 0xfe,(01) },
   540  	{ ADECL,	yincl,	Px, 0x48,0xff,(01) },
   541  	{ ADECW,	yincl,	Pe, 0x48,0xff,(01) },
   542  	{ ADIVB,	ydivb,	Pb, 0xf6,(06) },
   543  	{ ADIVL,	ydivl,	Px, 0xf7,(06) },
   544  	{ ADIVW,	ydivl,	Pe, 0xf7,(06) },
   545  	{ AENTER },				/* botch */
   546  	{ AGLOBL },
   547  	{ AGOK },
   548  	{ AHISTORY },
   549  	{ AHLT,		ynone,	Px, 0xf4 },
   550  	{ AIDIVB,	ydivb,	Pb, 0xf6,(07) },
   551  	{ AIDIVL,	ydivl,	Px, 0xf7,(07) },
   552  	{ AIDIVW,	ydivl,	Pe, 0xf7,(07) },
   553  	{ AIMULB,	ydivb,	Pb, 0xf6,(05) },
   554  	{ AIMULL,	yimul,	Px, 0xf7,(05),0x6b,0x69 },
   555  	{ AIMULW,	yimul,	Pe, 0xf7,(05),0x6b,0x69 },
   556  	{ AINB,		yin,	Pb, 0xe4,0xec },
   557  	{ AINL,		yin,	Px, 0xe5,0xed },
   558  	{ AINW,		yin,	Pe, 0xe5,0xed },
   559  	{ AINCB,	yincb,	Pb, 0xfe,(00) },
   560  	{ AINCL,	yincl,	Px, 0x40,0xff,(00) },
   561  	{ AINCW,	yincl,	Pe, 0x40,0xff,(00) },
   562  	{ AINSB,	ynone,	Pb, 0x6c },
   563  	{ AINSL,	ynone,	Px, 0x6d },
   564  	{ AINSW,	ynone,	Pe, 0x6d },
   565  	{ AINT,		yint,	Px, 0xcd },
   566  	{ AINTO,	ynone,	Px, 0xce },
   567  	{ AIRETL,	ynone,	Px, 0xcf },
   568  	{ AIRETW,	ynone,	Pe, 0xcf },
   569  	{ AJCC,		yjcond,	Px, 0x73,0x83,(00) },
   570  	{ AJCS,		yjcond,	Px, 0x72,0x82 },
   571  	{ AJCXZL,	yloop,	Px, 0xe3 },
   572  	{ AJCXZW,	yloop,	Px, 0xe3 },
   573  	{ AJEQ,		yjcond,	Px, 0x74,0x84 },
   574  	{ AJGE,		yjcond,	Px, 0x7d,0x8d },
   575  	{ AJGT,		yjcond,	Px, 0x7f,0x8f },
   576  	{ AJHI,		yjcond,	Px, 0x77,0x87 },
   577  	{ AJLE,		yjcond,	Px, 0x7e,0x8e },
   578  	{ AJLS,		yjcond,	Px, 0x76,0x86 },
   579  	{ AJLT,		yjcond,	Px, 0x7c,0x8c },
   580  	{ AJMI,		yjcond,	Px, 0x78,0x88 },
   581  	{ AJMP,		yjmp,	Px, 0xff,(04),0xeb,0xe9 },
   582  	{ AJNE,		yjcond,	Px, 0x75,0x85 },
   583  	{ AJOC,		yjcond,	Px, 0x71,0x81,(00) },
   584  	{ AJOS,		yjcond,	Px, 0x70,0x80,(00) },
   585  	{ AJPC,		yjcond,	Px, 0x7b,0x8b },
   586  	{ AJPL,		yjcond,	Px, 0x79,0x89 },
   587  	{ AJPS,		yjcond,	Px, 0x7a,0x8a },
   588  	{ ALAHF,	ynone,	Px, 0x9f },
   589  	{ ALARL,	yml_rl,	Pm, 0x02 },
   590  	{ ALARW,	yml_rl,	Pq, 0x02 },
   591  	{ ALEAL,	ym_rl,	Px, 0x8d },
   592  	{ ALEAW,	ym_rl,	Pe, 0x8d },
   593  	{ ALEAVEL,	ynone,	Px, 0xc9 },
   594  	{ ALEAVEW,	ynone,	Pe, 0xc9 },
   595  	{ ALOCK,	ynone,	Px, 0xf0 },
   596  	{ ALODSB,	ynone,	Pb, 0xac },
   597  	{ ALODSL,	ynone,	Px, 0xad },
   598  	{ ALODSW,	ynone,	Pe, 0xad },
   599  	{ ALONG,	ybyte,	Px, 4 },
   600  	{ ALOOP,	yloop,	Px, 0xe2 },
   601  	{ ALOOPEQ,	yloop,	Px, 0xe1 },
   602  	{ ALOOPNE,	yloop,	Px, 0xe0 },
   603  	{ ALSLL,	yml_rl,	Pm, 0x03  },
   604  	{ ALSLW,	yml_rl,	Pq, 0x03  },
   605  	{ AMOVB,	ymovb,	Pb, 0x88,0x8a,0xb0,0xc6,(00) },
   606  	{ AMOVL,	ymovl,	Px, 0x89,0x8b,0x31,0x83,(04),0xb8,0xc7,(00),Pe,0x6e,Pe,0x7e,0 },
   607  	{ AMOVW,	ymovw,	Pe, 0x89,0x8b,0x31,0x83,(04),0xb8,0xc7,(00),0 },
   608  	{ AMOVQ,	ymovq,	Pf3, 0x7e },
   609  	{ AMOVBLSX,	ymb_rl,	Pm, 0xbe },
   610  	{ AMOVBLZX,	ymb_rl,	Pm, 0xb6 },
   611  	{ AMOVBWSX,	ymb_rl,	Pq, 0xbe },
   612  	{ AMOVBWZX,	ymb_rl,	Pq, 0xb6 },
   613  	{ AMOVWLSX,	yml_rl,	Pm, 0xbf },
   614  	{ AMOVWLZX,	yml_rl,	Pm, 0xb7 },
   615  	{ AMOVSB,	ynone,	Pb, 0xa4 },
   616  	{ AMOVSL,	ynone,	Px, 0xa5 },
   617  	{ AMOVSW,	ynone,	Pe, 0xa5 },
   618  	{ AMULB,	ydivb,	Pb, 0xf6,(04) },
   619  	{ AMULL,	ydivl,	Px, 0xf7,(04) },
   620  	{ AMULW,	ydivl,	Pe, 0xf7,(04) },
   621  	{ ANAME },
   622  	{ ANEGB,	yscond,	Px, 0xf6,(03) },
   623  	{ ANEGL,	yscond,	Px, 0xf7,(03) },
   624  	{ ANEGW,	yscond,	Pe, 0xf7,(03) },
   625  	{ ANOP,		ynop,	Px,0,0 },
   626  	{ ANOTB,	yscond,	Px, 0xf6,(02) },
   627  	{ ANOTL,	yscond,	Px, 0xf7,(02) },
   628  	{ ANOTW,	yscond,	Pe, 0xf7,(02) },
   629  	{ AORB,		yxorb,	Pb, 0x0c,0x80,(01),0x08,0x0a },
   630  	{ AORL,		yxorl,	Px, 0x83,(01),0x0d,0x81,(01),0x09,0x0b },
   631  	{ AORW,		yxorl,	Pe, 0x83,(01),0x0d,0x81,(01),0x09,0x0b },
   632  	{ AOUTB,	yin,	Pb, 0xe6,0xee },
   633  	{ AOUTL,	yin,	Px, 0xe7,0xef },
   634  	{ AOUTW,	yin,	Pe, 0xe7,0xef },
   635  	{ AOUTSB,	ynone,	Pb, 0x6e },
   636  	{ AOUTSL,	ynone,	Px, 0x6f },
   637  	{ AOUTSW,	ynone,	Pe, 0x6f },
   638  	{ APAUSE,	ynone,	Px, 0xf3,0x90 },
   639  	{ APOPAL,	ynone,	Px, 0x61 },
   640  	{ APOPAW,	ynone,	Pe, 0x61 },
   641  	{ APOPFL,	ynone,	Px, 0x9d },
   642  	{ APOPFW,	ynone,	Pe, 0x9d },
   643  	{ APOPL,	ypopl,	Px, 0x58,0x8f,(00) },
   644  	{ APOPW,	ypopl,	Pe, 0x58,0x8f,(00) },
   645  	{ APUSHAL,	ynone,	Px, 0x60 },
   646  	{ APUSHAW,	ynone,	Pe, 0x60 },
   647  	{ APUSHFL,	ynone,	Px, 0x9c },
   648  	{ APUSHFW,	ynone,	Pe, 0x9c },
   649  	{ APUSHL,	ypushl,	Px, 0x50,0xff,(06),0x6a,0x68 },
   650  	{ APUSHW,	ypushl,	Pe, 0x50,0xff,(06),0x6a,0x68 },
   651  	{ ARCLB,	yshb,	Pb, 0xd0,(02),0xc0,(02),0xd2,(02) },
   652  	{ ARCLL,	yshl,	Px, 0xd1,(02),0xc1,(02),0xd3,(02),0xd3,(02) },
   653  	{ ARCLW,	yshl,	Pe, 0xd1,(02),0xc1,(02),0xd3,(02),0xd3,(02) },
   654  	{ ARCRB,	yshb,	Pb, 0xd0,(03),0xc0,(03),0xd2,(03) },
   655  	{ ARCRL,	yshl,	Px, 0xd1,(03),0xc1,(03),0xd3,(03),0xd3,(03) },
   656  	{ ARCRW,	yshl,	Pe, 0xd1,(03),0xc1,(03),0xd3,(03),0xd3,(03) },
   657  	{ AREP,		ynone,	Px, 0xf3 },
   658  	{ AREPN,	ynone,	Px, 0xf2 },
   659  	{ ARET,		ynone,	Px, 0xc3 },
   660  	{ AROLB,	yshb,	Pb, 0xd0,(00),0xc0,(00),0xd2,(00) },
   661  	{ AROLL,	yshl,	Px, 0xd1,(00),0xc1,(00),0xd3,(00),0xd3,(00) },
   662  	{ AROLW,	yshl,	Pe, 0xd1,(00),0xc1,(00),0xd3,(00),0xd3,(00) },
   663  	{ ARORB,	yshb,	Pb, 0xd0,(01),0xc0,(01),0xd2,(01) },
   664  	{ ARORL,	yshl,	Px, 0xd1,(01),0xc1,(01),0xd3,(01),0xd3,(01) },
   665  	{ ARORW,	yshl,	Pe, 0xd1,(01),0xc1,(01),0xd3,(01),0xd3,(01) },
   666  	{ ASAHF,	ynone,	Px, 0x9e },
   667  	{ ASALB,	yshb,	Pb, 0xd0,(04),0xc0,(04),0xd2,(04) },
   668  	{ ASALL,	yshl,	Px, 0xd1,(04),0xc1,(04),0xd3,(04),0xd3,(04) },
   669  	{ ASALW,	yshl,	Pe, 0xd1,(04),0xc1,(04),0xd3,(04),0xd3,(04) },
   670  	{ ASARB,	yshb,	Pb, 0xd0,(07),0xc0,(07),0xd2,(07) },
   671  	{ ASARL,	yshl,	Px, 0xd1,(07),0xc1,(07),0xd3,(07),0xd3,(07) },
   672  	{ ASARW,	yshl,	Pe, 0xd1,(07),0xc1,(07),0xd3,(07),0xd3,(07) },
   673  	{ ASBBB,	yxorb,	Pb, 0x1c,0x80,(03),0x18,0x1a },
   674  	{ ASBBL,	yxorl,	Px, 0x83,(03),0x1d,0x81,(03),0x19,0x1b },
   675  	{ ASBBW,	yxorl,	Pe, 0x83,(03),0x1d,0x81,(03),0x19,0x1b },
   676  	{ ASCASB,	ynone,	Pb, 0xae },
   677  	{ ASCASL,	ynone,	Px, 0xaf },
   678  	{ ASCASW,	ynone,	Pe, 0xaf },
   679  	{ ASETCC,	yscond,	Pm, 0x93,(00) },
   680  	{ ASETCS,	yscond,	Pm, 0x92,(00) },
   681  	{ ASETEQ,	yscond,	Pm, 0x94,(00) },
   682  	{ ASETGE,	yscond,	Pm, 0x9d,(00) },
   683  	{ ASETGT,	yscond,	Pm, 0x9f,(00) },
   684  	{ ASETHI,	yscond,	Pm, 0x97,(00) },
   685  	{ ASETLE,	yscond,	Pm, 0x9e,(00) },
   686  	{ ASETLS,	yscond,	Pm, 0x96,(00) },
   687  	{ ASETLT,	yscond,	Pm, 0x9c,(00) },
   688  	{ ASETMI,	yscond,	Pm, 0x98,(00) },
   689  	{ ASETNE,	yscond,	Pm, 0x95,(00) },
   690  	{ ASETOC,	yscond,	Pm, 0x91,(00) },
   691  	{ ASETOS,	yscond,	Pm, 0x90,(00) },
   692  	{ ASETPC,	yscond,	Pm, 0x96,(00) },
   693  	{ ASETPL,	yscond,	Pm, 0x99,(00) },
   694  	{ ASETPS,	yscond,	Pm, 0x9a,(00) },
   695  	{ ACDQ,		ynone,	Px, 0x99 },
   696  	{ ACWD,		ynone,	Pe, 0x99 },
   697  	{ ASHLB,	yshb,	Pb, 0xd0,(04),0xc0,(04),0xd2,(04) },
   698  	{ ASHLL,	yshl,	Px, 0xd1,(04),0xc1,(04),0xd3,(04),0xd3,(04) },
   699  	{ ASHLW,	yshl,	Pe, 0xd1,(04),0xc1,(04),0xd3,(04),0xd3,(04) },
   700  	{ ASHRB,	yshb,	Pb, 0xd0,(05),0xc0,(05),0xd2,(05) },
   701  	{ ASHRL,	yshl,	Px, 0xd1,(05),0xc1,(05),0xd3,(05),0xd3,(05) },
   702  	{ ASHRW,	yshl,	Pe, 0xd1,(05),0xc1,(05),0xd3,(05),0xd3,(05) },
   703  	{ ASTC,		ynone,	Px, 0xf9 },
   704  	{ ASTD,		ynone,	Px, 0xfd },
   705  	{ ASTI,		ynone,	Px, 0xfb },
   706  	{ ASTOSB,	ynone,	Pb, 0xaa },
   707  	{ ASTOSL,	ynone,	Px, 0xab },
   708  	{ ASTOSW,	ynone,	Pe, 0xab },
   709  	{ ASUBB,	yxorb,	Pb, 0x2c,0x80,(05),0x28,0x2a },
   710  	{ ASUBL,	yaddl,	Px, 0x83,(05),0x2d,0x81,(05),0x29,0x2b },
   711  	{ ASUBW,	yaddl,	Pe, 0x83,(05),0x2d,0x81,(05),0x29,0x2b },
   712  	{ ASYSCALL,	ynone,	Px, 0xcd,100 },
   713  	{ ATESTB,	ytestb,	Pb, 0xa8,0xf6,(00),0x84,0x84 },
   714  	{ ATESTL,	ytestl,	Px, 0xa9,0xf7,(00),0x85,0x85 },
   715  	{ ATESTW,	ytestl,	Pe, 0xa9,0xf7,(00),0x85,0x85 },
   716  	{ ATEXT,	ytext,	Px },
   717  	{ AVERR,	ydivl,	Pm, 0x00,(04) },
   718  	{ AVERW,	ydivl,	Pm, 0x00,(05) },
   719  	{ AWAIT,	ynone,	Px, 0x9b },
   720  	{ AWORD,	ybyte,	Px, 2 },
   721  	{ AXCHGB,	yml_mb,	Pb, 0x86,0x86 },
   722  	{ AXCHGL,	yxchg,	Px, 0x90,0x90,0x87,0x87 },
   723  	{ AXCHGW,	yxchg,	Pe, 0x90,0x90,0x87,0x87 },
   724  	{ AXLAT,	ynone,	Px, 0xd7 },
   725  	{ AXORB,	yxorb,	Pb, 0x34,0x80,(06),0x30,0x32 },
   726  	{ AXORL,	yxorl,	Px, 0x83,(06),0x35,0x81,(06),0x31,0x33 },
   727  	{ AXORW,	yxorl,	Pe, 0x83,(06),0x35,0x81,(06),0x31,0x33 },
   728  
   729  	{ AFMOVB,	yfmvx,	Px, 0xdf,(04) },
   730  	{ AFMOVBP,	yfmvp,	Px, 0xdf,(06) },
   731  	{ AFMOVD,	yfmvd,	Px, 0xdd,(00),0xdd,(02),0xd9,(00),0xdd,(02) },
   732  	{ AFMOVDP,	yfmvdp,	Px, 0xdd,(03),0xdd,(03) },
   733  	{ AFMOVF,	yfmvf,	Px, 0xd9,(00),0xd9,(02) },
   734  	{ AFMOVFP,	yfmvp,	Px, 0xd9,(03) },
   735  	{ AFMOVL,	yfmvf,	Px, 0xdb,(00),0xdb,(02) },
   736  	{ AFMOVLP,	yfmvp,	Px, 0xdb,(03) },
   737  	{ AFMOVV,	yfmvx,	Px, 0xdf,(05) },
   738  	{ AFMOVVP,	yfmvp,	Px, 0xdf,(07) },
   739  	{ AFMOVW,	yfmvf,	Px, 0xdf,(00),0xdf,(02) },
   740  	{ AFMOVWP,	yfmvp,	Px, 0xdf,(03) },
   741  	{ AFMOVX,	yfmvx,	Px, 0xdb,(05) },
   742  	{ AFMOVXP,	yfmvp,	Px, 0xdb,(07) },
   743  
   744  	{ AFCOMB },
   745  	{ AFCOMBP },
   746  	{ AFCOMD,	yfadd,	Px, 0xdc,(02),0xd8,(02),0xdc,(02) },	/* botch */
   747  	{ AFCOMDP,	yfadd,	Px, 0xdc,(03),0xd8,(03),0xdc,(03) },	/* botch */
   748  	{ AFCOMDPP,	ycompp,	Px, 0xde,(03) },
   749  	{ AFCOMF,	yfmvx,	Px, 0xd8,(02) },
   750  	{ AFCOMFP,	yfmvx,	Px, 0xd8,(03) },
   751  	{ AFCOMI,	yfmvx,	Px, 0xdb,(06) },
   752  	{ AFCOMIP,	yfmvx,	Px, 0xdf,(06) },
   753  	{ AFCOML,	yfmvx,	Px, 0xda,(02) },
   754  	{ AFCOMLP,	yfmvx,	Px, 0xda,(03) },
   755  	{ AFCOMW,	yfmvx,	Px, 0xde,(02) },
   756  	{ AFCOMWP,	yfmvx,	Px, 0xde,(03) },
   757  
   758  	{ AFUCOM,	ycompp,	Px, 0xdd,(04) },
   759  	{ AFUCOMI,	ycompp,	Px, 0xdb,(05) },
   760  	{ AFUCOMIP,	ycompp,	Px, 0xdf,(05) },
   761  	{ AFUCOMP,	ycompp,	Px, 0xdd,(05) },
   762  	{ AFUCOMPP,	ycompp,	Px, 0xda,(13) },
   763  
   764  	{ AFADDDP,	yfaddp,	Px, 0xde,(00) },
   765  	{ AFADDW,	yfmvx,	Px, 0xde,(00) },
   766  	{ AFADDL,	yfmvx,	Px, 0xda,(00) },
   767  	{ AFADDF,	yfmvx,	Px, 0xd8,(00) },
   768  	{ AFADDD,	yfadd,	Px, 0xdc,(00),0xd8,(00),0xdc,(00) },
   769  
   770  	{ AFMULDP,	yfaddp,	Px, 0xde,(01) },
   771  	{ AFMULW,	yfmvx,	Px, 0xde,(01) },
   772  	{ AFMULL,	yfmvx,	Px, 0xda,(01) },
   773  	{ AFMULF,	yfmvx,	Px, 0xd8,(01) },
   774  	{ AFMULD,	yfadd,	Px, 0xdc,(01),0xd8,(01),0xdc,(01) },
   775  
   776  	{ AFSUBDP,	yfaddp,	Px, 0xde,(05) },
   777  	{ AFSUBW,	yfmvx,	Px, 0xde,(04) },
   778  	{ AFSUBL,	yfmvx,	Px, 0xda,(04) },
   779  	{ AFSUBF,	yfmvx,	Px, 0xd8,(04) },
   780  	{ AFSUBD,	yfadd,	Px, 0xdc,(04),0xd8,(04),0xdc,(05) },
   781  
   782  	{ AFSUBRDP,	yfaddp,	Px, 0xde,(04) },
   783  	{ AFSUBRW,	yfmvx,	Px, 0xde,(05) },
   784  	{ AFSUBRL,	yfmvx,	Px, 0xda,(05) },
   785  	{ AFSUBRF,	yfmvx,	Px, 0xd8,(05) },
   786  	{ AFSUBRD,	yfadd,	Px, 0xdc,(05),0xd8,(05),0xdc,(04) },
   787  
   788  	{ AFDIVDP,	yfaddp,	Px, 0xde,(07) },
   789  	{ AFDIVW,	yfmvx,	Px, 0xde,(06) },
   790  	{ AFDIVL,	yfmvx,	Px, 0xda,(06) },
   791  	{ AFDIVF,	yfmvx,	Px, 0xd8,(06) },
   792  	{ AFDIVD,	yfadd,	Px, 0xdc,(06),0xd8,(06),0xdc,(07) },
   793  
   794  	{ AFDIVRDP,	yfaddp,	Px, 0xde,(06) },
   795  	{ AFDIVRW,	yfmvx,	Px, 0xde,(07) },
   796  	{ AFDIVRL,	yfmvx,	Px, 0xda,(07) },
   797  	{ AFDIVRF,	yfmvx,	Px, 0xd8,(07) },
   798  	{ AFDIVRD,	yfadd,	Px, 0xdc,(07),0xd8,(07),0xdc,(06) },
   799  
   800  	{ AFXCHD,	yfxch,	Px, 0xd9,(01),0xd9,(01) },
   801  	{ AFFREE },
   802  	{ AFLDCW,	ystcw,	Px, 0xd9,(05),0xd9,(05) },
   803  	{ AFLDENV,	ystcw,	Px, 0xd9,(04),0xd9,(04) },
   804  	{ AFRSTOR,	ysvrs,	Px, 0xdd,(04),0xdd,(04) },
   805  	{ AFSAVE,	ysvrs,	Px, 0xdd,(06),0xdd,(06) },
   806  	{ AFSTCW,	ystcw,	Px, 0xd9,(07),0xd9,(07) },
   807  	{ AFSTENV,	ystcw,	Px, 0xd9,(06),0xd9,(06) },
   808  	{ AFSTSW,	ystsw,	Px, 0xdd,(07),0xdf,0xe0 },
   809  	{ AF2XM1,	ynone,	Px, 0xd9, 0xf0 },
   810  	{ AFABS,	ynone,	Px, 0xd9, 0xe1 },
   811  	{ AFCHS,	ynone,	Px, 0xd9, 0xe0 },
   812  	{ AFCLEX,	ynone,	Px, 0xdb, 0xe2 },
   813  	{ AFCOS,	ynone,	Px, 0xd9, 0xff },
   814  	{ AFDECSTP,	ynone,	Px, 0xd9, 0xf6 },
   815  	{ AFINCSTP,	ynone,	Px, 0xd9, 0xf7 },
   816  	{ AFINIT,	ynone,	Px, 0xdb, 0xe3 },
   817  	{ AFLD1,	ynone,	Px, 0xd9, 0xe8 },
   818  	{ AFLDL2E,	ynone,	Px, 0xd9, 0xea },
   819  	{ AFLDL2T,	ynone,	Px, 0xd9, 0xe9 },
   820  	{ AFLDLG2,	ynone,	Px, 0xd9, 0xec },
   821  	{ AFLDLN2,	ynone,	Px, 0xd9, 0xed },
   822  	{ AFLDPI,	ynone,	Px, 0xd9, 0xeb },
   823  	{ AFLDZ,	ynone,	Px, 0xd9, 0xee },
   824  	{ AFNOP,	ynone,	Px, 0xd9, 0xd0 },
   825  	{ AFPATAN,	ynone,	Px, 0xd9, 0xf3 },
   826  	{ AFPREM,	ynone,	Px, 0xd9, 0xf8 },
   827  	{ AFPREM1,	ynone,	Px, 0xd9, 0xf5 },
   828  	{ AFPTAN,	ynone,	Px, 0xd9, 0xf2 },
   829  	{ AFRNDINT,	ynone,	Px, 0xd9, 0xfc },
   830  	{ AFSCALE,	ynone,	Px, 0xd9, 0xfd },
   831  	{ AFSIN,	ynone,	Px, 0xd9, 0xfe },
   832  	{ AFSINCOS,	ynone,	Px, 0xd9, 0xfb },
   833  	{ AFSQRT,	ynone,	Px, 0xd9, 0xfa },
   834  	{ AFTST,	ynone,	Px, 0xd9, 0xe4 },
   835  	{ AFXAM,	ynone,	Px, 0xd9, 0xe5 },
   836  	{ AFXTRACT,	ynone,	Px, 0xd9, 0xf4 },
   837  	{ AFYL2X,	ynone,	Px, 0xd9, 0xf1 },
   838  	{ AFYL2XP1,	ynone,	Px, 0xd9, 0xf9 },
   839  	{ AEND },
   840  	{ ADYNT_ },
   841  	{ AINIT_ },
   842  	{ ASIGNAME },
   843  	{ ACMPXCHGB,	yrb_mb,	Pm, 0xb0 },
   844  	{ ACMPXCHGL,	yrl_ml,	Pm, 0xb1 },
   845  	{ ACMPXCHGW,	yrl_ml,	Pm, 0xb1 },
   846  	{ ACMPXCHG8B,	yscond,	Pm, 0xc7,(01) },
   847  
   848  	{ ACPUID,	ynone,	Pm, 0xa2 },
   849  	{ ARDTSC,	ynone,	Pm, 0x31 },
   850  
   851  	{ AXADDB,	yrb_mb,	Pb, 0x0f,0xc0 },
   852  	{ AXADDL,	yrl_ml,	Pm, 0xc1 },
   853  	{ AXADDW,	yrl_ml,	Pe, 0x0f,0xc1 },
   854  
   855  	{ ACMOVLCC,	yml_rl,	Pm, 0x43 },
   856  	{ ACMOVLCS,	yml_rl,	Pm, 0x42 },
   857  	{ ACMOVLEQ,	yml_rl,	Pm, 0x44 },
   858  	{ ACMOVLGE,	yml_rl,	Pm, 0x4d },
   859  	{ ACMOVLGT,	yml_rl,	Pm, 0x4f },
   860  	{ ACMOVLHI,	yml_rl,	Pm, 0x47 },
   861  	{ ACMOVLLE,	yml_rl,	Pm, 0x4e },
   862  	{ ACMOVLLS,	yml_rl,	Pm, 0x46 },
   863  	{ ACMOVLLT,	yml_rl,	Pm, 0x4c },
   864  	{ ACMOVLMI,	yml_rl,	Pm, 0x48 },
   865  	{ ACMOVLNE,	yml_rl,	Pm, 0x45 },
   866  	{ ACMOVLOC,	yml_rl,	Pm, 0x41 },
   867  	{ ACMOVLOS,	yml_rl,	Pm, 0x40 },
   868  	{ ACMOVLPC,	yml_rl,	Pm, 0x4b },
   869  	{ ACMOVLPL,	yml_rl,	Pm, 0x49 },
   870  	{ ACMOVLPS,	yml_rl,	Pm, 0x4a },
   871  	{ ACMOVWCC,	yml_rl,	Pq, 0x43 },
   872  	{ ACMOVWCS,	yml_rl,	Pq, 0x42 },
   873  	{ ACMOVWEQ,	yml_rl,	Pq, 0x44 },
   874  	{ ACMOVWGE,	yml_rl,	Pq, 0x4d },
   875  	{ ACMOVWGT,	yml_rl,	Pq, 0x4f },
   876  	{ ACMOVWHI,	yml_rl,	Pq, 0x47 },
   877  	{ ACMOVWLE,	yml_rl,	Pq, 0x4e },
   878  	{ ACMOVWLS,	yml_rl,	Pq, 0x46 },
   879  	{ ACMOVWLT,	yml_rl,	Pq, 0x4c },
   880  	{ ACMOVWMI,	yml_rl,	Pq, 0x48 },
   881  	{ ACMOVWNE,	yml_rl,	Pq, 0x45 },
   882  	{ ACMOVWOC,	yml_rl,	Pq, 0x41 },
   883  	{ ACMOVWOS,	yml_rl,	Pq, 0x40 },
   884  	{ ACMOVWPC,	yml_rl,	Pq, 0x4b },
   885  	{ ACMOVWPL,	yml_rl,	Pq, 0x49 },
   886  	{ ACMOVWPS,	yml_rl,	Pq, 0x4a },
   887  
   888  	{ AFCMOVCC,	yfcmv,	Px, 0xdb,(00) },
   889  	{ AFCMOVCS,	yfcmv,	Px, 0xda,(00) },
   890  	{ AFCMOVEQ,	yfcmv,	Px, 0xda,(01) },
   891  	{ AFCMOVHI,	yfcmv,	Px, 0xdb,(02) },
   892  	{ AFCMOVLS,	yfcmv,	Px, 0xda,(02) },
   893  	{ AFCMOVNE,	yfcmv,	Px, 0xdb,(01) },
   894  	{ AFCMOVNU,	yfcmv,	Px, 0xdb,(03) },
   895  	{ AFCMOVUN,	yfcmv,	Px, 0xda,(03) },
   896  
   897  	{ ALFENCE, ynone, Pm, 0xae,0xe8 },
   898  	{ AMFENCE, ynone, Pm, 0xae,0xf0 },
   899  	{ ASFENCE, ynone, Pm, 0xae,0xf8 },
   900  
   901  	{ AEMMS, ynone, Pm, 0x77 },
   902  
   903  	{ APREFETCHT0,	yprefetch,	Pm,	0x18,(01) },
   904  	{ APREFETCHT1,	yprefetch,	Pm,	0x18,(02) },
   905  	{ APREFETCHT2,	yprefetch,	Pm,	0x18,(03) },
   906  	{ APREFETCHNTA,	yprefetch,	Pm,	0x18,(00) },
   907  
   908  	{ ABSWAPL,	ybswap,	Pm,	0xc8 },
   909  	
   910  	{ AUNDEF,		ynone,	Px,	0x0f, 0x0b },
   911  
   912  	{ AADDPD,	yxm,	Pq, 0x58 },
   913  	{ AADDPS,	yxm,	Pm, 0x58 },
   914  	{ AADDSD,	yxm,	Pf2, 0x58 },
   915  	{ AADDSS,	yxm,	Pf3, 0x58 },
   916  	{ AANDNPD,	yxm,	Pq, 0x55 },
   917  	{ AANDNPS,	yxm,	Pm, 0x55 },
   918  	{ AANDPD,	yxm,	Pq, 0x54 },
   919  	{ AANDPS,	yxm,	Pq, 0x54 },
   920  	{ ACMPPD,	yxcmpi,	Px, Pe,0xc2 },
   921  	{ ACMPPS,	yxcmpi,	Pm, 0xc2,0 },
   922  	{ ACMPSD,	yxcmpi,	Px, Pf2,0xc2 },
   923  	{ ACMPSS,	yxcmpi,	Px, Pf3,0xc2 },
   924  	{ ACOMISD,	yxcmp,	Pe, 0x2f },
   925  	{ ACOMISS,	yxcmp,	Pm, 0x2f },
   926  	{ ACVTPL2PD,	yxcvm2,	Px, Pf3,0xe6,Pe,0x2a },
   927  	{ ACVTPL2PS,	yxcvm2,	Pm, 0x5b,0,0x2a,0, },
   928  	{ ACVTPD2PL,	yxcvm1,	Px, Pf2,0xe6,Pe,0x2d },
   929  	{ ACVTPD2PS,	yxm,	Pe, 0x5a },
   930  	{ ACVTPS2PL,	yxcvm1, Px, Pe,0x5b,Pm,0x2d },
   931  	{ ACVTPS2PD,	yxm,	Pm, 0x5a },
   932  	{ ACVTSD2SL,	yxcvfl, Pf2, 0x2d },
   933   	{ ACVTSD2SS,	yxm,	Pf2, 0x5a },
   934  	{ ACVTSL2SD,	yxcvlf, Pf2, 0x2a },
   935  	{ ACVTSL2SS,	yxcvlf, Pf3, 0x2a },
   936  	{ ACVTSS2SD,	yxm,	Pf3, 0x5a },
   937  	{ ACVTSS2SL,	yxcvfl, Pf3, 0x2d },
   938  	{ ACVTTPD2PL,	yxcvm1,	Px, Pe,0xe6,Pe,0x2c },
   939  	{ ACVTTPS2PL,	yxcvm1,	Px, Pf3,0x5b,Pm,0x2c },
   940  	{ ACVTTSD2SL,	yxcvfl, Pf2, 0x2c },
   941  	{ ACVTTSS2SL,	yxcvfl,	Pf3, 0x2c },
   942  	{ ADIVPD,	yxm,	Pe, 0x5e },
   943  	{ ADIVPS,	yxm,	Pm, 0x5e },
   944  	{ ADIVSD,	yxm,	Pf2, 0x5e },
   945  	{ ADIVSS,	yxm,	Pf3, 0x5e },
   946  	{ AMASKMOVOU,	yxr,	Pe, 0xf7 },
   947  	{ AMAXPD,	yxm,	Pe, 0x5f },
   948  	{ AMAXPS,	yxm,	Pm, 0x5f },
   949  	{ AMAXSD,	yxm,	Pf2, 0x5f },
   950  	{ AMAXSS,	yxm,	Pf3, 0x5f },
   951  	{ AMINPD,	yxm,	Pe, 0x5d },
   952  	{ AMINPS,	yxm,	Pm, 0x5d },
   953  	{ AMINSD,	yxm,	Pf2, 0x5d },
   954  	{ AMINSS,	yxm,	Pf3, 0x5d },
   955  	{ AMOVAPD,	yxmov,	Pe, 0x28,0x29 },
   956  	{ AMOVAPS,	yxmov,	Pm, 0x28,0x29 },
   957  	{ AMOVO,	yxmov,	Pe, 0x6f,0x7f },
   958  	{ AMOVOU,	yxmov,	Pf3, 0x6f,0x7f },
   959  	{ AMOVHLPS,	yxr,	Pm, 0x12 },
   960  	{ AMOVHPD,	yxmov,	Pe, 0x16,0x17 },
   961  	{ AMOVHPS,	yxmov,	Pm, 0x16,0x17 },
   962  	{ AMOVLHPS,	yxr,	Pm, 0x16 },
   963  	{ AMOVLPD,	yxmov,	Pe, 0x12,0x13 },
   964  	{ AMOVLPS,	yxmov,	Pm, 0x12,0x13 },
   965  	{ AMOVMSKPD,	yxrrl,	Pq, 0x50 },
   966  	{ AMOVMSKPS,	yxrrl,	Pm, 0x50 },
   967  	{ AMOVNTO,	yxr_ml,	Pe, 0xe7 },
   968  	{ AMOVNTPD,	yxr_ml,	Pe, 0x2b },
   969  	{ AMOVNTPS,	yxr_ml,	Pm, 0x2b },
   970  	{ AMOVSD,	yxmov,	Pf2, 0x10,0x11 },
   971  	{ AMOVSS,	yxmov,	Pf3, 0x10,0x11 },
   972  	{ AMOVUPD,	yxmov,	Pe, 0x10,0x11 },
   973  	{ AMOVUPS,	yxmov,	Pm, 0x10,0x11 },
   974  	{ AMULPD,	yxm,	Pe, 0x59 },
   975  	{ AMULPS,	yxm,	Ym, 0x59 },
   976  	{ AMULSD,	yxm,	Pf2, 0x59 },
   977  	{ AMULSS,	yxm,	Pf3, 0x59 },
   978  	{ AORPD,	yxm,	Pq, 0x56 },
   979  	{ AORPS,	yxm,	Pm, 0x56 },
   980  	{ APADDQ,	yxm,	Pe, 0xd4 },
   981  	{ APAND,	yxm,	Pe, 0xdb },
   982  	{ APCMPEQB,	yxmq,	Pe ,0x74 },
   983  	{ APMAXSW,	yxm,	Pe, 0xee },
   984  	{ APMAXUB,	yxm,	Pe, 0xde },
   985  	{ APMINSW,	yxm,	Pe, 0xea },
   986  	{ APMINUB,	yxm,	Pe, 0xda },
   987  	{ APMOVMSKB,	ymskb,	Px, Pe,0xd7,0xd7 },
   988  	{ APSADBW,	yxm,	Pq, 0xf6 },
   989  	{ APSUBB,	yxm,	Pe, 0xf8 },
   990  	{ APSUBL,	yxm,	Pe, 0xfa },
   991  	{ APSUBQ,	yxm,	Pe, 0xfb },
   992  	{ APSUBSB,	yxm,	Pe, 0xe8 },
   993  	{ APSUBSW,	yxm,	Pe, 0xe9 },
   994  	{ APSUBUSB,	yxm,	Pe, 0xd8 },
   995  	{ APSUBUSW,	yxm,	Pe, 0xd9 },
   996  	{ APSUBW,	yxm,	Pe, 0xf9 },
   997  	{ APUNPCKHQDQ,	yxm,	Pe, 0x6d },
   998  	{ APUNPCKLQDQ,	yxm,	Pe, 0x6c },
   999  	{ ARCPPS,	yxm,	Pm, 0x53 },
  1000  	{ ARCPSS,	yxm,	Pf3, 0x53 },
  1001  	{ ARSQRTPS,	yxm,	Pm, 0x52 },
  1002  	{ ARSQRTSS,	yxm,	Pf3, 0x52 },
  1003  	{ ASQRTPD,	yxm,	Pe, 0x51 },
  1004  	{ ASQRTPS,	yxm,	Pm, 0x51 },
  1005  	{ ASQRTSD,	yxm,	Pf2, 0x51 },
  1006  	{ ASQRTSS,	yxm,	Pf3, 0x51 },
  1007  	{ ASUBPD,	yxm,	Pe, 0x5c },
  1008  	{ ASUBPS,	yxm,	Pm, 0x5c },
  1009  	{ ASUBSD,	yxm,	Pf2, 0x5c },
  1010  	{ ASUBSS,	yxm,	Pf3, 0x5c },
  1011  	{ AUCOMISD,	yxcmp,	Pe, 0x2e },
  1012  	{ AUCOMISS,	yxcmp,	Pm, 0x2e },
  1013  	{ AUNPCKHPD,	yxm,	Pe, 0x15 },
  1014  	{ AUNPCKHPS,	yxm,	Pm, 0x15 },
  1015  	{ AUNPCKLPD,	yxm,	Pe, 0x14 },
  1016  	{ AUNPCKLPS,	yxm,	Pm, 0x14 },
  1017  	{ AXORPD,	yxm,	Pe, 0x57 },
  1018  	{ AXORPS,	yxm,	Pm, 0x57 },
  1019  
  1020  	{ AAESENC,	yaes,	Pq, 0x38,0xdc,(0) },
  1021  	{ APINSRD,	yinsrd,	Pq, 0x3a, 0x22, (00) },
  1022  	{ APSHUFB,	ymshufb,Pq, 0x38, 0x00 },
  1023  
  1024  	{ AUSEFIELD,	ynop,	Px, 0,0 },
  1025  	{ ATYPE },
  1026  	{ AFUNCDATA,	yfuncdata,	Px, 0,0 },
  1027  	{ APCDATA,	ypcdata,	Px, 0,0 },
  1028  
  1029  	0
  1030  };