~ubuntu-branches/ubuntu/gutsy/binutils/gutsy

« back to all changes in this revision

Viewing changes to opcodes/i386-dis.c

  • Committer: Bazaar Package Importer
  • Author(s): Matthias Klose
  • Date: 2007-08-01 18:46:10 UTC
  • mfrom: (1.1.13 upstream)
  • Revision ID: james.westby@ubuntu.com-20070801184610-o2erg3m3n7bjofvj
Tags: 2.17.20070801cvs-0ubuntu1
* CVS snapshot 20070801, taken from the trunk.
  - Fixes objcopy --only-keep-debug on amd64.

Show diffs side-by-side

added added

removed removed

Lines of Context:
207
207
#define Edqw { OP_E, dqw_mode }
208
208
#define Edqb { OP_E, dqb_mode }
209
209
#define Edqd { OP_E, dqd_mode }
 
210
#define Eq { OP_E, q_mode }
210
211
#define indirEv { OP_indirE, stack_v_mode }
211
212
#define indirEp { OP_indirE, f_mode }
212
213
#define stackEv { OP_E, stack_v_mode }
310
311
#define EM { OP_EM, v_mode }
311
312
#define EMd { OP_EM, d_mode }
312
313
#define EMx { OP_EM, x_mode }
 
314
#define EXw { OP_EX, w_mode }
313
315
#define EXd { OP_EX, d_mode }
314
316
#define EXq { OP_EX, q_mode }
315
317
#define EXx { OP_EX, x_mode }
316
318
#define MS { OP_MS, v_mode }
317
319
#define XS { OP_XS, v_mode }
318
 
#define EMC { OP_EMC, v_mode }
 
320
#define EMCq { OP_EMC, q_mode }
319
321
#define MXC { OP_MXC, 0 }
320
322
#define VM { OP_VMX, q_mode }
321
323
#define OPSUF { OP_3DNowSuffix, 0 }
1019
1021
  { "packssdw",         { MX, EM } },
1020
1022
  { PREGRP26 },
1021
1023
  { PREGRP24 },
1022
 
  { "movd",             { MX, Edq } },
 
1024
  { "movK",             { MX, Edq } },
1023
1025
  { PREGRP19 },
1024
1026
  /* 70 */
1025
1027
  { PREGRP22 },
1847
1849
  /* PREGRP1 */
1848
1850
  {
1849
1851
    { "", { XM, EXx, OPSIMD } },        /* See OP_SIMD_SUFFIX.  */
1850
 
    { "", { XM, EXx, OPSIMD } },
1851
 
    { "", { XM, EXx, OPSIMD } },
1852
 
    { "", { XM, EXx, OPSIMD } },
 
1852
    { "", { XM, EXd, OPSIMD } },
 
1853
    { "", { XM, EXx, OPSIMD } },
 
1854
    { "", { XM, EXq, OPSIMD } },
1853
1855
  },
1854
1856
  /* PREGRP2 */
1855
1857
  {
1856
 
    { "cvtpi2ps", { XM, EMC } },
 
1858
    { "cvtpi2ps", { XM, EMCq } },
1857
1859
    { "cvtsi2ssY", { XM, Ev } },
1858
 
    { "cvtpi2pd", { XM, EMC } },
 
1860
    { "cvtpi2pd", { XM, EMCq } },
1859
1861
    { "cvtsi2sdY", { XM, Ev } },
1860
1862
  },
1861
1863
  /* PREGRP3 */
1862
1864
  {
1863
 
    { "cvtps2pi", { MXC, EXx } },
1864
 
    { "cvtss2siY", { Gv, EXx } },
 
1865
    { "cvtps2pi", { MXC, EXq } },
 
1866
    { "cvtss2siY", { Gv, EXd } },
1865
1867
    { "cvtpd2pi", { MXC, EXx } },
1866
 
    { "cvtsd2siY", { Gv, EXx } },
 
1868
    { "cvtsd2siY", { Gv, EXq } },
1867
1869
  },
1868
1870
  /* PREGRP4 */
1869
1871
  {
1870
 
    { "cvttps2pi", { MXC, EXx } },
1871
 
    { "cvttss2siY", { Gv, EXx } },
 
1872
    { "cvttps2pi", { MXC, EXq } },
 
1873
    { "cvttss2siY", { Gv, EXd } },
1872
1874
    { "cvttpd2pi", { MXC, EXx } },
1873
 
    { "cvttsd2siY", { Gv, EXx } },
 
1875
    { "cvttsd2siY", { Gv, EXq } },
1874
1876
  },
1875
1877
  /* PREGRP5 */
1876
1878
  {
1877
1879
    { "divps",  { XM, EXx } },
1878
 
    { "divss",  { XM, EXx } },
 
1880
    { "divss",  { XM, EXd } },
1879
1881
    { "divpd",  { XM, EXx } },
1880
 
    { "divsd",  { XM, EXx } },
 
1882
    { "divsd",  { XM, EXq } },
1881
1883
  },
1882
1884
  /* PREGRP6 */
1883
1885
  {
1884
1886
    { "maxps",  { XM, EXx } },
1885
 
    { "maxss",  { XM, EXx } },
 
1887
    { "maxss",  { XM, EXd } },
1886
1888
    { "maxpd",  { XM, EXx } },
1887
 
    { "maxsd",  { XM, EXx } },
 
1889
    { "maxsd",  { XM, EXq } },
1888
1890
  },
1889
1891
  /* PREGRP7 */
1890
1892
  {
1891
1893
    { "minps",  { XM, EXx } },
1892
 
    { "minss",  { XM, EXx } },
 
1894
    { "minss",  { XM, EXd } },
1893
1895
    { "minpd",  { XM, EXx } },
1894
 
    { "minsd",  { XM, EXx } },
 
1896
    { "minsd",  { XM, EXq } },
1895
1897
  },
1896
1898
  /* PREGRP8 */
1897
1899
  {
1898
1900
    { "movups", { XM, EXx } },
1899
 
    { "movss",  { XM, EXx } },
 
1901
    { "movss",  { XM, EXd } },
1900
1902
    { "movupd", { XM, EXx } },
1901
 
    { "movsd",  { XM, EXx } },
 
1903
    { "movsd",  { XM, EXq } },
1902
1904
  },
1903
1905
  /* PREGRP9 */
1904
1906
  {
1905
1907
    { "movups", { EXx,  XM } },
1906
 
    { "movss",  { EXx,  XM } },
 
1908
    { "movss",  { EXd,  XM } },
1907
1909
    { "movupd", { EXx,  XM } },
1908
 
    { "movsd",  { EXx,  XM } },
 
1910
    { "movsd",  { EXq,  XM } },
1909
1911
  },
1910
1912
  /* PREGRP10 */
1911
1913
  {
1912
1914
    { "mulps",  { XM, EXx } },
1913
 
    { "mulss",  { XM, EXx } },
 
1915
    { "mulss",  { XM, EXd } },
1914
1916
    { "mulpd",  { XM, EXx } },
1915
 
    { "mulsd",  { XM, EXx } },
 
1917
    { "mulsd",  { XM, EXq } },
1916
1918
  },
1917
1919
  /* PREGRP11 */
1918
1920
  {
1919
1921
    { "rcpps",  { XM, EXx } },
1920
 
    { "rcpss",  { XM, EXx } },
 
1922
    { "rcpss",  { XM, EXd } },
1921
1923
    { "(bad)",  { XM, EXx } },
1922
1924
    { "(bad)",  { XM, EXx } },
1923
1925
  },
1924
1926
  /* PREGRP12 */
1925
1927
  {
1926
1928
    { "rsqrtps",{ XM, EXx } },
1927
 
    { "rsqrtss",{ XM, EXx } },
 
1929
    { "rsqrtss",{ XM, EXd } },
1928
1930
    { "(bad)",  { XM, EXx } },
1929
1931
    { "(bad)",  { XM, EXx } },
1930
1932
  },
1931
1933
  /* PREGRP13 */
1932
1934
  {
1933
1935
    { "sqrtps", { XM, EXx } },
1934
 
    { "sqrtss", { XM, EXx } },
 
1936
    { "sqrtss", { XM, EXd } },
1935
1937
    { "sqrtpd", { XM, EXx } },
1936
 
    { "sqrtsd", { XM, EXx } },
 
1938
    { "sqrtsd", { XM, EXq } },
1937
1939
  },
1938
1940
  /* PREGRP14 */
1939
1941
  {
1940
1942
    { "subps",  { XM, EXx } },
1941
 
    { "subss",  { XM, EXx } },
 
1943
    { "subss",  { XM, EXd } },
1942
1944
    { "subpd",  { XM, EXx } },
1943
 
    { "subsd",  { XM, EXx } },
 
1945
    { "subsd",  { XM, EXq } },
1944
1946
  },
1945
1947
  /* PREGRP15 */
1946
1948
  {
1959
1961
  /* PREGRP17 */
1960
1962
  {
1961
1963
    { "cvtps2pd", { XM, EXq } },
1962
 
    { "cvtss2sd", { XM, EXx } },
 
1964
    { "cvtss2sd", { XM, EXd } },
1963
1965
    { "cvtpd2ps", { XM, EXx } },
1964
 
    { "cvtsd2ss", { XM, EXx } },
 
1966
    { "cvtsd2ss", { XM, EXq } },
1965
1967
  },
1966
1968
  /* PREGRP18 */
1967
1969
  {
1988
1990
  {
1989
1991
    { "(bad)",  { EXx,  XM } },
1990
1992
    { "movq2dq",{ XM, MS } },
1991
 
    { "movq",   { EXx,  XM } },
 
1993
    { "movq",   { EXq, XM } },
1992
1994
    { "movdq2q",{ MX, XS } },
1993
1995
  },
1994
1996
  /* PREGRP22 */
2000
2002
  },
2001
2003
  /* PREGRP23 */
2002
2004
  {
2003
 
    { "movd",   { Edq, MX } },
2004
 
    { "movq",   { XM, EXx } },
2005
 
    { "movd",   { Edq, XM } },
 
2005
    { "movK",   { Edq, MX } },
 
2006
    { "movq",   { XM, EXq } },
 
2007
    { "movK",   { Edq, XM } },
2006
2008
    { "(bad)",  { Ed, XM } },
2007
2009
  },
2008
2010
  /* PREGRP24 */
2071
2073
  /* PREGRP33 */
2072
2074
  {
2073
2075
    {"movntps", { Ev, XM } },
2074
 
    {"movntss", { Ev, XM } },
 
2076
    {"movntss", { Ed, XM } },
2075
2077
    {"movntpd", { Ev, XM } },
2076
 
    {"movntsd", { Ev, XM } },
 
2078
    {"movntsd", { Eq, XM } },
2077
2079
  },
2078
2080
 
2079
2081
  /* PREGRP34 */
2152
2154
  {
2153
2155
    { "(bad)",  { XX } },
2154
2156
    { "(bad)",  { XX } },
2155
 
    { "pmovsxbw", { XM, EXx } },
 
2157
    { "pmovsxbw", { XM, EXq } },
2156
2158
    { "(bad)",  { XX } },
2157
2159
  },
2158
2160
 
2160
2162
  {
2161
2163
    { "(bad)",  { XX } },
2162
2164
    { "(bad)",  { XX } },
2163
 
    { "pmovsxbd", { XM, EXx } },
 
2165
    { "pmovsxbd", { XM, EXd } },
2164
2166
    { "(bad)",  { XX } },
2165
2167
  },
2166
2168
 
2168
2170
  {
2169
2171
    { "(bad)",  { XX } },
2170
2172
    { "(bad)",  { XX } },
2171
 
    { "pmovsxbq", { XM, EXx } },
 
2173
    { "pmovsxbq", { XM, EXw } },
2172
2174
    { "(bad)",  { XX } },
2173
2175
  },
2174
2176
 
2176
2178
  {
2177
2179
    { "(bad)",  { XX } },
2178
2180
    { "(bad)",  { XX } },
2179
 
    { "pmovsxwd", { XM, EXx } },
 
2181
    { "pmovsxwd", { XM, EXq } },
2180
2182
    { "(bad)",  { XX } },
2181
2183
  },
2182
2184
 
2184
2186
  {
2185
2187
    { "(bad)",  { XX } },
2186
2188
    { "(bad)",  { XX } },
2187
 
    { "pmovsxwq", { XM, EXx } },
 
2189
    { "pmovsxwq", { XM, EXd } },
2188
2190
    { "(bad)",  { XX } },
2189
2191
  },
2190
2192
 
2192
2194
  {
2193
2195
    { "(bad)",  { XX } },
2194
2196
    { "(bad)",  { XX } },
2195
 
    { "pmovsxdq", { XM, EXx } },
 
2197
    { "pmovsxdq", { XM, EXq } },
2196
2198
    { "(bad)",  { XX } },
2197
2199
  },
2198
2200
 
2232
2234
  {
2233
2235
    { "(bad)",  { XX } },
2234
2236
    { "(bad)",  { XX } },
2235
 
    { "pmovzxbw", { XM, EXx } },
 
2237
    { "pmovzxbw", { XM, EXq } },
2236
2238
    { "(bad)",  { XX } },
2237
2239
  },
2238
2240
 
2240
2242
  {
2241
2243
    { "(bad)",  { XX } },
2242
2244
    { "(bad)",  { XX } },
2243
 
    { "pmovzxbd", { XM, EXx } },
 
2245
    { "pmovzxbd", { XM, EXd } },
2244
2246
    { "(bad)",  { XX } },
2245
2247
  },
2246
2248
 
2248
2250
  {
2249
2251
    { "(bad)",  { XX } },
2250
2252
    { "(bad)",  { XX } },
2251
 
    { "pmovzxbq", { XM, EXx } },
 
2253
    { "pmovzxbq", { XM, EXw } },
2252
2254
    { "(bad)",  { XX } },
2253
2255
  },
2254
2256
 
2256
2258
  {
2257
2259
    { "(bad)",  { XX } },
2258
2260
    { "(bad)",  { XX } },
2259
 
    { "pmovzxwd", { XM, EXx } },
 
2261
    { "pmovzxwd", { XM, EXq } },
2260
2262
    { "(bad)",  { XX } },
2261
2263
  },
2262
2264
 
2264
2266
  {
2265
2267
    { "(bad)",  { XX } },
2266
2268
    { "(bad)",  { XX } },
2267
 
    { "pmovzxwq", { XM, EXx } },
 
2269
    { "pmovzxwq", { XM, EXd } },
2268
2270
    { "(bad)",  { XX } },
2269
2271
  },
2270
2272
 
2272
2274
  {
2273
2275
    { "(bad)",  { XX } },
2274
2276
    { "(bad)",  { XX } },
2275
 
    { "pmovzxdq", { XM, EXx } },
 
2277
    { "pmovzxdq", { XM, EXq } },
2276
2278
    { "(bad)",  { XX } },
2277
2279
  },
2278
2280
 
2376
2378
  {
2377
2379
    { "(bad)",  { XX } },
2378
2380
    { "(bad)",  { XX } },
2379
 
    { "roundss", { XM, EXx, Ib } },
 
2381
    { "roundss", { XM, EXd, Ib } },
2380
2382
    { "(bad)",  { XX } },
2381
2383
  },
2382
2384
 
2384
2386
  {
2385
2387
    { "(bad)",  { XX } },
2386
2388
    { "(bad)",  { XX } },
2387
 
    { "roundsd", { XM, EXx, Ib } },
 
2389
    { "roundsd", { XM, EXq, Ib } },
2388
2390
    { "(bad)",  { XX } },
2389
2391
  },
2390
2392
 
2456
2458
  {
2457
2459
    { "(bad)",  { XX } },
2458
2460
    { "(bad)",  { XX } },
2459
 
    { "insertps", { XM, EXx, Ib } },
 
2461
    { "insertps", { XM, EXd, Ib } },
2460
2462
    { "(bad)",  { XX } },
2461
2463
  },
2462
2464