001/* 002 * This file is part of the Jikes RVM project (http://jikesrvm.org). 003 * 004 * This file is licensed to You under the Eclipse Public License (EPL); 005 * You may not use this file except in compliance with the License. You 006 * may obtain a copy of the License at 007 * 008 * http://www.opensource.org/licenses/eclipse-1.0.php 009 * 010 * See the COPYRIGHT.txt file distributed with this work for information 011 * regarding copyright ownership. 012 */ 013/* 014 * NOTE: ArchOperator.java is mechanically generated from 015 * ArchOperator.template using the operator definitions in 016 * OperatorList.dat and ia32OperatorList.dat 017 * 018 * DO NOT MANUALLY EDIT THE JAVA FILE. 019 */ 020 021package org.jikesrvm.compilers.opt.ir.ia32; 022 023import org.jikesrvm.*; 024import org.jikesrvm.compilers.opt.ir.InstructionFormat; 025import org.jikesrvm.compilers.opt.ir.Operator; 026import org.jikesrvm.compilers.opt.ir.Operators; 027import org.jikesrvm.compilers.opt.*; 028import org.jikesrvm.util.Bits; 029import org.vmmagic.pragma.Pure; 030 031/** 032 * The implementation of operator that is specific to a particular 033 * architecture. 034 */ 035public final class ArchOperator extends Operator { 036 037 /** Array holding all singleton operators */ 038 private static final Operator[] OperatorArray = { 039 new ArchOperator((char)0, ArchInstructionFormat.Nullary_format, //GET_CAUGHT_EXCEPTION 040 (none | ArchInstructionFormat.Nullary_traits), 041 1, 0, 0, 042 PhysicalDefUse.mask, 043 PhysicalDefUse.mask), 044 new ArchOperator((char)1, ArchInstructionFormat.CacheOp_format, //SET_CAUGHT_EXCEPTION 045 (none | ArchInstructionFormat.CacheOp_traits), 046 0, 0, 1, 047 PhysicalDefUse.mask, 048 PhysicalDefUse.mask), 049 new ArchOperator((char)2, ArchInstructionFormat.New_format, //NEW 050 (alloc | immedPEI | ArchInstructionFormat.New_traits), 051 1, 0, 1, 052 PhysicalDefUse.mask, 053 PhysicalDefUse.mask), 054 new ArchOperator((char)3, ArchInstructionFormat.New_format, //NEW_UNRESOLVED 055 (alloc | immedPEI | dynLink | ArchInstructionFormat.New_traits), 056 1, 0, 1, 057 PhysicalDefUse.mask, 058 PhysicalDefUse.mask), 059 new ArchOperator((char)4, ArchInstructionFormat.NewArray_format, //NEWARRAY 060 (alloc | immedPEI | ArchInstructionFormat.NewArray_traits), 061 1, 0, 2, 062 PhysicalDefUse.mask, 063 PhysicalDefUse.mask), 064 new ArchOperator((char)5, ArchInstructionFormat.NewArray_format, //NEWARRAY_UNRESOLVED 065 (alloc | immedPEI | dynLink | ArchInstructionFormat.NewArray_traits), 066 1, 0, 2, 067 PhysicalDefUse.mask, 068 PhysicalDefUse.mask), 069 new ArchOperator((char)6, ArchInstructionFormat.Athrow_format, //ATHROW 070 (ethrow | ArchInstructionFormat.Athrow_traits), 071 0, 0, 1, 072 PhysicalDefUse.mask, 073 PhysicalDefUse.mask), 074 new ArchOperator((char)7, ArchInstructionFormat.TypeCheck_format, //CHECKCAST 075 (immedPEI | ArchInstructionFormat.TypeCheck_traits), 076 1, 0, 3, 077 PhysicalDefUse.mask, 078 PhysicalDefUse.mask), 079 new ArchOperator((char)8, ArchInstructionFormat.TypeCheck_format, //CHECKCAST_NOTNULL 080 (immedPEI | ArchInstructionFormat.TypeCheck_traits), 081 1, 0, 3, 082 PhysicalDefUse.mask, 083 PhysicalDefUse.mask), 084 new ArchOperator((char)9, ArchInstructionFormat.TypeCheck_format, //CHECKCAST_UNRESOLVED 085 (immedPEI | dynLink | ArchInstructionFormat.TypeCheck_traits), 086 1, 0, 3, 087 PhysicalDefUse.mask, 088 PhysicalDefUse.mask), 089 new ArchOperator((char)10, ArchInstructionFormat.TypeCheck_format, //MUST_IMPLEMENT_INTERFACE 090 (immedPEI | ArchInstructionFormat.TypeCheck_traits), 091 1, 0, 3, 092 PhysicalDefUse.mask, 093 PhysicalDefUse.mask), 094 new ArchOperator((char)11, ArchInstructionFormat.InstanceOf_format, //INSTANCEOF 095 (none | ArchInstructionFormat.InstanceOf_traits), 096 1, 0, 3, 097 PhysicalDefUse.mask, 098 PhysicalDefUse.mask), 099 new ArchOperator((char)12, ArchInstructionFormat.InstanceOf_format, //INSTANCEOF_NOTNULL 100 (none | ArchInstructionFormat.InstanceOf_traits), 101 1, 0, 3, 102 PhysicalDefUse.mask, 103 PhysicalDefUse.mask), 104 new ArchOperator((char)13, ArchInstructionFormat.InstanceOf_format, //INSTANCEOF_UNRESOLVED 105 (immedPEI | dynLink | ArchInstructionFormat.InstanceOf_traits), 106 1, 0, 3, 107 PhysicalDefUse.mask, 108 PhysicalDefUse.mask), 109 new ArchOperator((char)14, ArchInstructionFormat.MonitorOp_format, //MONITORENTER 110 (memAsLoad | memAsStore | acquire | tsp | ArchInstructionFormat.MonitorOp_traits), 111 0, 0, 2, 112 PhysicalDefUse.mask, 113 PhysicalDefUse.mask), 114 new ArchOperator((char)15, ArchInstructionFormat.MonitorOp_format, //MONITOREXIT 115 (memAsLoad | memAsStore | release | tsp | immedPEI | ArchInstructionFormat.MonitorOp_traits), 116 0, 0, 2, 117 PhysicalDefUse.mask, 118 PhysicalDefUse.mask), 119 new ArchOperator((char)16, ArchInstructionFormat.Multianewarray_format, //NEWOBJMULTIARRAY 120 (alloc | immedPEI | dynLink | ArchInstructionFormat.Multianewarray_traits), 121 1, 0, 1, 122 PhysicalDefUse.mask, 123 PhysicalDefUse.mask), 124 new ArchOperator((char)17, ArchInstructionFormat.GetStatic_format, //GETSTATIC 125 (load | ArchInstructionFormat.GetStatic_traits), 126 1, 0, 2, 127 PhysicalDefUse.mask, 128 PhysicalDefUse.mask), 129 new ArchOperator((char)18, ArchInstructionFormat.PutStatic_format, //PUTSTATIC 130 (store | ArchInstructionFormat.PutStatic_traits), 131 0, 0, 3, 132 PhysicalDefUse.mask, 133 PhysicalDefUse.mask), 134 new ArchOperator((char)19, ArchInstructionFormat.GetField_format, //GETFIELD 135 (load | ArchInstructionFormat.GetField_traits), 136 1, 0, 4, 137 PhysicalDefUse.mask, 138 PhysicalDefUse.mask), 139 new ArchOperator((char)20, ArchInstructionFormat.PutField_format, //PUTFIELD 140 (store | ArchInstructionFormat.PutField_traits), 141 0, 0, 5, 142 PhysicalDefUse.mask, 143 PhysicalDefUse.mask), 144 new ArchOperator((char)21, ArchInstructionFormat.ZeroCheck_format, //INT_ZERO_CHECK 145 (immedPEI | ArchInstructionFormat.ZeroCheck_traits), 146 1, 0, 1, 147 PhysicalDefUse.mask, 148 PhysicalDefUse.mask), 149 new ArchOperator((char)22, ArchInstructionFormat.ZeroCheck_format, //LONG_ZERO_CHECK 150 (immedPEI | ArchInstructionFormat.ZeroCheck_traits), 151 1, 0, 1, 152 PhysicalDefUse.mask, 153 PhysicalDefUse.mask), 154 new ArchOperator((char)23, ArchInstructionFormat.BoundsCheck_format, //BOUNDS_CHECK 155 (immedPEI | ArchInstructionFormat.BoundsCheck_traits), 156 1, 0, 3, 157 PhysicalDefUse.mask, 158 PhysicalDefUse.mask), 159 new ArchOperator((char)24, ArchInstructionFormat.StoreCheck_format, //OBJARRAY_STORE_CHECK 160 (immedPEI | ArchInstructionFormat.StoreCheck_traits), 161 1, 0, 3, 162 PhysicalDefUse.mask, 163 PhysicalDefUse.mask), 164 new ArchOperator((char)25, ArchInstructionFormat.StoreCheck_format, //OBJARRAY_STORE_CHECK_NOTNULL 165 (immedPEI | ArchInstructionFormat.StoreCheck_traits), 166 1, 0, 3, 167 PhysicalDefUse.mask, 168 PhysicalDefUse.mask), 169 new ArchOperator((char)26, ArchInstructionFormat.InlineGuard_format, //IG_PATCH_POINT 170 (branch | conditional | ArchInstructionFormat.InlineGuard_traits), 171 0, 0, 5, 172 PhysicalDefUse.mask, 173 PhysicalDefUse.mask), 174 new ArchOperator((char)27, ArchInstructionFormat.InlineGuard_format, //IG_CLASS_TEST 175 (branch | conditional | ArchInstructionFormat.InlineGuard_traits), 176 0, 0, 5, 177 PhysicalDefUse.mask, 178 PhysicalDefUse.mask), 179 new ArchOperator((char)28, ArchInstructionFormat.InlineGuard_format, //IG_METHOD_TEST 180 (branch | conditional | ArchInstructionFormat.InlineGuard_traits), 181 0, 0, 5, 182 PhysicalDefUse.mask, 183 PhysicalDefUse.mask), 184 new ArchOperator((char)29, ArchInstructionFormat.TableSwitch_format, //TABLESWITCH 185 (branch | ArchInstructionFormat.TableSwitch_traits), 186 0, 0, 7, 187 PhysicalDefUse.mask, 188 PhysicalDefUse.mask), 189 new ArchOperator((char)30, ArchInstructionFormat.LookupSwitch_format, //LOOKUPSWITCH 190 (branch | ArchInstructionFormat.LookupSwitch_traits), 191 0, 0, 5, 192 PhysicalDefUse.mask, 193 PhysicalDefUse.mask), 194 new ArchOperator((char)31, ArchInstructionFormat.ALoad_format, //INT_ALOAD 195 (load | ArchInstructionFormat.ALoad_traits), 196 1, 0, 4, 197 PhysicalDefUse.mask, 198 PhysicalDefUse.mask), 199 new ArchOperator((char)32, ArchInstructionFormat.ALoad_format, //LONG_ALOAD 200 (load | ArchInstructionFormat.ALoad_traits), 201 1, 0, 4, 202 PhysicalDefUse.mask, 203 PhysicalDefUse.mask), 204 new ArchOperator((char)33, ArchInstructionFormat.ALoad_format, //FLOAT_ALOAD 205 (load | ArchInstructionFormat.ALoad_traits), 206 1, 0, 4, 207 PhysicalDefUse.mask, 208 PhysicalDefUse.mask), 209 new ArchOperator((char)34, ArchInstructionFormat.ALoad_format, //DOUBLE_ALOAD 210 (load | ArchInstructionFormat.ALoad_traits), 211 1, 0, 4, 212 PhysicalDefUse.mask, 213 PhysicalDefUse.mask), 214 new ArchOperator((char)35, ArchInstructionFormat.ALoad_format, //REF_ALOAD 215 (load | ArchInstructionFormat.ALoad_traits), 216 1, 0, 4, 217 PhysicalDefUse.mask, 218 PhysicalDefUse.mask), 219 new ArchOperator((char)36, ArchInstructionFormat.ALoad_format, //UBYTE_ALOAD 220 (load | ArchInstructionFormat.ALoad_traits), 221 1, 0, 4, 222 PhysicalDefUse.mask, 223 PhysicalDefUse.mask), 224 new ArchOperator((char)37, ArchInstructionFormat.ALoad_format, //BYTE_ALOAD 225 (load | ArchInstructionFormat.ALoad_traits), 226 1, 0, 4, 227 PhysicalDefUse.mask, 228 PhysicalDefUse.mask), 229 new ArchOperator((char)38, ArchInstructionFormat.ALoad_format, //USHORT_ALOAD 230 (load | ArchInstructionFormat.ALoad_traits), 231 1, 0, 4, 232 PhysicalDefUse.mask, 233 PhysicalDefUse.mask), 234 new ArchOperator((char)39, ArchInstructionFormat.ALoad_format, //SHORT_ALOAD 235 (load | ArchInstructionFormat.ALoad_traits), 236 1, 0, 4, 237 PhysicalDefUse.mask, 238 PhysicalDefUse.mask), 239 new ArchOperator((char)40, ArchInstructionFormat.AStore_format, //INT_ASTORE 240 (store | ArchInstructionFormat.AStore_traits), 241 0, 0, 5, 242 PhysicalDefUse.mask, 243 PhysicalDefUse.mask), 244 new ArchOperator((char)41, ArchInstructionFormat.AStore_format, //LONG_ASTORE 245 (store | ArchInstructionFormat.AStore_traits), 246 0, 0, 5, 247 PhysicalDefUse.mask, 248 PhysicalDefUse.mask), 249 new ArchOperator((char)42, ArchInstructionFormat.AStore_format, //FLOAT_ASTORE 250 (store | ArchInstructionFormat.AStore_traits), 251 0, 0, 5, 252 PhysicalDefUse.mask, 253 PhysicalDefUse.mask), 254 new ArchOperator((char)43, ArchInstructionFormat.AStore_format, //DOUBLE_ASTORE 255 (store | ArchInstructionFormat.AStore_traits), 256 0, 0, 5, 257 PhysicalDefUse.mask, 258 PhysicalDefUse.mask), 259 new ArchOperator((char)44, ArchInstructionFormat.AStore_format, //REF_ASTORE 260 (store | ArchInstructionFormat.AStore_traits), 261 0, 0, 5, 262 PhysicalDefUse.mask, 263 PhysicalDefUse.mask), 264 new ArchOperator((char)45, ArchInstructionFormat.AStore_format, //BYTE_ASTORE 265 (store | ArchInstructionFormat.AStore_traits), 266 0, 0, 5, 267 PhysicalDefUse.mask, 268 PhysicalDefUse.mask), 269 new ArchOperator((char)46, ArchInstructionFormat.AStore_format, //SHORT_ASTORE 270 (store | ArchInstructionFormat.AStore_traits), 271 0, 0, 5, 272 PhysicalDefUse.mask, 273 PhysicalDefUse.mask), 274 new ArchOperator((char)47, ArchInstructionFormat.IfCmp_format, //INT_IFCMP 275 (branch | conditional | ArchInstructionFormat.IfCmp_traits), 276 1, 0, 5, 277 PhysicalDefUse.mask, 278 PhysicalDefUse.mask), 279 new ArchOperator((char)48, ArchInstructionFormat.IfCmp2_format, //INT_IFCMP2 280 (branch | conditional | ArchInstructionFormat.IfCmp2_traits), 281 1, 0, 8, 282 PhysicalDefUse.mask, 283 PhysicalDefUse.mask), 284 new ArchOperator((char)49, ArchInstructionFormat.IfCmp_format, //LONG_IFCMP 285 (branch | conditional | ArchInstructionFormat.IfCmp_traits), 286 1, 0, 5, 287 PhysicalDefUse.mask, 288 PhysicalDefUse.mask), 289 new ArchOperator((char)50, ArchInstructionFormat.IfCmp_format, //FLOAT_IFCMP 290 (branch | conditional | ArchInstructionFormat.IfCmp_traits), 291 1, 0, 5, 292 PhysicalDefUse.mask, 293 PhysicalDefUse.mask), 294 new ArchOperator((char)51, ArchInstructionFormat.IfCmp_format, //DOUBLE_IFCMP 295 (branch | conditional | ArchInstructionFormat.IfCmp_traits), 296 1, 0, 5, 297 PhysicalDefUse.mask, 298 PhysicalDefUse.mask), 299 new ArchOperator((char)52, ArchInstructionFormat.IfCmp_format, //REF_IFCMP 300 (branch | conditional | ArchInstructionFormat.IfCmp_traits), 301 1, 0, 5, 302 PhysicalDefUse.mask, 303 PhysicalDefUse.mask), 304 new ArchOperator((char)53, ArchInstructionFormat.Label_format, //LABEL 305 (none | ArchInstructionFormat.Label_traits), 306 0, 0, 1, 307 PhysicalDefUse.mask, 308 PhysicalDefUse.mask), 309 new ArchOperator((char)54, ArchInstructionFormat.BBend_format, //BBEND 310 (none | ArchInstructionFormat.BBend_traits), 311 0, 0, 1, 312 PhysicalDefUse.mask, 313 PhysicalDefUse.mask), 314 new ArchOperator((char)55, ArchInstructionFormat.Empty_format, //UNINT_BEGIN 315 (none | ArchInstructionFormat.Empty_traits), 316 0, 0, 0, 317 PhysicalDefUse.mask, 318 PhysicalDefUse.mask), 319 new ArchOperator((char)56, ArchInstructionFormat.Empty_format, //UNINT_END 320 (none | ArchInstructionFormat.Empty_traits), 321 0, 0, 0, 322 PhysicalDefUse.mask, 323 PhysicalDefUse.mask), 324 new ArchOperator((char)57, ArchInstructionFormat.Empty_format, //FENCE 325 (memAsLoad | memAsStore | release | acquire | ArchInstructionFormat.Empty_traits), 326 0, 0, 0, 327 PhysicalDefUse.mask, 328 PhysicalDefUse.mask), 329 new ArchOperator((char)58, ArchInstructionFormat.Empty_format, //READ_CEILING 330 (memAsLoad | memAsStore | acquire | ArchInstructionFormat.Empty_traits), 331 0, 0, 0, 332 PhysicalDefUse.mask, 333 PhysicalDefUse.mask), 334 new ArchOperator((char)59, ArchInstructionFormat.Empty_format, //WRITE_FLOOR 335 (memAsLoad | memAsStore | release | ArchInstructionFormat.Empty_traits), 336 0, 0, 0, 337 PhysicalDefUse.mask, 338 PhysicalDefUse.mask), 339 new ArchOperator((char)60, ArchInstructionFormat.Phi_format, //PHI 340 (none | ArchInstructionFormat.Phi_traits), 341 1, 0, 0, 342 PhysicalDefUse.mask, 343 PhysicalDefUse.mask), 344 new ArchOperator((char)61, ArchInstructionFormat.Unary_format, //SPLIT 345 (none | ArchInstructionFormat.Unary_traits), 346 1, 0, 1, 347 PhysicalDefUse.mask, 348 PhysicalDefUse.mask), 349 new ArchOperator((char)62, ArchInstructionFormat.GuardedUnary_format, //PI 350 (none | ArchInstructionFormat.GuardedUnary_traits), 351 1, 0, 2, 352 PhysicalDefUse.mask, 353 PhysicalDefUse.mask), 354 new ArchOperator((char)63, ArchInstructionFormat.Empty_format, //NOP 355 (none | ArchInstructionFormat.Empty_traits), 356 0, 0, 0, 357 PhysicalDefUse.mask, 358 PhysicalDefUse.mask), 359 new ArchOperator((char)64, ArchInstructionFormat.Move_format, //INT_MOVE 360 (move | ArchInstructionFormat.Move_traits), 361 1, 0, 1, 362 PhysicalDefUse.mask, 363 PhysicalDefUse.mask), 364 new ArchOperator((char)65, ArchInstructionFormat.Move_format, //LONG_MOVE 365 (move | ArchInstructionFormat.Move_traits), 366 1, 0, 1, 367 PhysicalDefUse.mask, 368 PhysicalDefUse.mask), 369 new ArchOperator((char)66, ArchInstructionFormat.Move_format, //FLOAT_MOVE 370 (move | ArchInstructionFormat.Move_traits), 371 1, 0, 1, 372 PhysicalDefUse.mask, 373 PhysicalDefUse.mask), 374 new ArchOperator((char)67, ArchInstructionFormat.Move_format, //DOUBLE_MOVE 375 (move | ArchInstructionFormat.Move_traits), 376 1, 0, 1, 377 PhysicalDefUse.mask, 378 PhysicalDefUse.mask), 379 new ArchOperator((char)68, ArchInstructionFormat.Move_format, //REF_MOVE 380 (move | ArchInstructionFormat.Move_traits), 381 1, 0, 1, 382 PhysicalDefUse.mask, 383 PhysicalDefUse.mask), 384 new ArchOperator((char)69, ArchInstructionFormat.Move_format, //GUARD_MOVE 385 (move | ArchInstructionFormat.Move_traits), 386 1, 0, 1, 387 PhysicalDefUse.mask, 388 PhysicalDefUse.mask), 389 new ArchOperator((char)70, ArchInstructionFormat.CondMove_format, //INT_COND_MOVE 390 (compare | ArchInstructionFormat.CondMove_traits), 391 1, 0, 5, 392 PhysicalDefUse.mask, 393 PhysicalDefUse.mask), 394 new ArchOperator((char)71, ArchInstructionFormat.CondMove_format, //LONG_COND_MOVE 395 (compare | ArchInstructionFormat.CondMove_traits), 396 1, 0, 5, 397 PhysicalDefUse.mask, 398 PhysicalDefUse.mask), 399 new ArchOperator((char)72, ArchInstructionFormat.CondMove_format, //FLOAT_COND_MOVE 400 (compare | ArchInstructionFormat.CondMove_traits), 401 1, 0, 5, 402 PhysicalDefUse.mask, 403 PhysicalDefUse.mask), 404 new ArchOperator((char)73, ArchInstructionFormat.CondMove_format, //DOUBLE_COND_MOVE 405 (compare | ArchInstructionFormat.CondMove_traits), 406 1, 0, 5, 407 PhysicalDefUse.mask, 408 PhysicalDefUse.mask), 409 new ArchOperator((char)74, ArchInstructionFormat.CondMove_format, //REF_COND_MOVE 410 (compare | ArchInstructionFormat.CondMove_traits), 411 1, 0, 5, 412 PhysicalDefUse.mask, 413 PhysicalDefUse.mask), 414 new ArchOperator((char)75, ArchInstructionFormat.CondMove_format, //GUARD_COND_MOVE 415 (compare | ArchInstructionFormat.CondMove_traits), 416 1, 0, 5, 417 PhysicalDefUse.mask, 418 PhysicalDefUse.mask), 419 new ArchOperator((char)76, ArchInstructionFormat.Binary_format, //GUARD_COMBINE 420 (none | ArchInstructionFormat.Binary_traits), 421 1, 0, 2, 422 PhysicalDefUse.mask, 423 PhysicalDefUse.mask), 424 new ArchOperator((char)77, ArchInstructionFormat.Binary_format, //REF_ADD 425 (commutative | ArchInstructionFormat.Binary_traits), 426 1, 0, 2, 427 PhysicalDefUse.mask, 428 PhysicalDefUse.mask), 429 new ArchOperator((char)78, ArchInstructionFormat.Binary_format, //INT_ADD 430 (commutative | ArchInstructionFormat.Binary_traits), 431 1, 0, 2, 432 PhysicalDefUse.mask, 433 PhysicalDefUse.mask), 434 new ArchOperator((char)79, ArchInstructionFormat.Binary_format, //LONG_ADD 435 (commutative | ArchInstructionFormat.Binary_traits), 436 1, 0, 2, 437 PhysicalDefUse.mask, 438 PhysicalDefUse.mask), 439 new ArchOperator((char)80, ArchInstructionFormat.Binary_format, //FLOAT_ADD 440 (commutative | ArchInstructionFormat.Binary_traits), 441 1, 0, 2, 442 PhysicalDefUse.mask, 443 PhysicalDefUse.mask), 444 new ArchOperator((char)81, ArchInstructionFormat.Binary_format, //DOUBLE_ADD 445 (commutative | ArchInstructionFormat.Binary_traits), 446 1, 0, 2, 447 PhysicalDefUse.mask, 448 PhysicalDefUse.mask), 449 new ArchOperator((char)82, ArchInstructionFormat.Binary_format, //REF_SUB 450 (none | ArchInstructionFormat.Binary_traits), 451 1, 0, 2, 452 PhysicalDefUse.mask, 453 PhysicalDefUse.mask), 454 new ArchOperator((char)83, ArchInstructionFormat.Binary_format, //INT_SUB 455 (none | ArchInstructionFormat.Binary_traits), 456 1, 0, 2, 457 PhysicalDefUse.mask, 458 PhysicalDefUse.mask), 459 new ArchOperator((char)84, ArchInstructionFormat.Binary_format, //LONG_SUB 460 (none | ArchInstructionFormat.Binary_traits), 461 1, 0, 2, 462 PhysicalDefUse.mask, 463 PhysicalDefUse.mask), 464 new ArchOperator((char)85, ArchInstructionFormat.Binary_format, //FLOAT_SUB 465 (none | ArchInstructionFormat.Binary_traits), 466 1, 0, 2, 467 PhysicalDefUse.mask, 468 PhysicalDefUse.mask), 469 new ArchOperator((char)86, ArchInstructionFormat.Binary_format, //DOUBLE_SUB 470 (none | ArchInstructionFormat.Binary_traits), 471 1, 0, 2, 472 PhysicalDefUse.mask, 473 PhysicalDefUse.mask), 474 new ArchOperator((char)87, ArchInstructionFormat.Binary_format, //INT_MUL 475 (commutative | ArchInstructionFormat.Binary_traits), 476 1, 0, 2, 477 PhysicalDefUse.mask, 478 PhysicalDefUse.mask), 479 new ArchOperator((char)88, ArchInstructionFormat.Binary_format, //LONG_MUL 480 (commutative | ArchInstructionFormat.Binary_traits), 481 1, 0, 2, 482 PhysicalDefUse.mask, 483 PhysicalDefUse.mask), 484 new ArchOperator((char)89, ArchInstructionFormat.Binary_format, //FLOAT_MUL 485 (commutative | ArchInstructionFormat.Binary_traits), 486 1, 0, 2, 487 PhysicalDefUse.mask, 488 PhysicalDefUse.mask), 489 new ArchOperator((char)90, ArchInstructionFormat.Binary_format, //DOUBLE_MUL 490 (commutative | ArchInstructionFormat.Binary_traits), 491 1, 0, 2, 492 PhysicalDefUse.mask, 493 PhysicalDefUse.mask), 494 new ArchOperator((char)91, ArchInstructionFormat.GuardedBinary_format, //INT_DIV 495 (none | ArchInstructionFormat.GuardedBinary_traits), 496 1, 0, 3, 497 PhysicalDefUse.mask, 498 PhysicalDefUse.mask), 499 new ArchOperator((char)92, ArchInstructionFormat.GuardedBinary_format, //LONG_DIV 500 (none | ArchInstructionFormat.GuardedBinary_traits), 501 1, 0, 3, 502 PhysicalDefUse.mask, 503 PhysicalDefUse.mask), 504 new ArchOperator((char)93, ArchInstructionFormat.Binary_format, //FLOAT_DIV 505 (none | ArchInstructionFormat.Binary_traits), 506 1, 0, 2, 507 PhysicalDefUse.mask, 508 PhysicalDefUse.mask), 509 new ArchOperator((char)94, ArchInstructionFormat.Binary_format, //DOUBLE_DIV 510 (none | ArchInstructionFormat.Binary_traits), 511 1, 0, 2, 512 PhysicalDefUse.mask, 513 PhysicalDefUse.mask), 514 new ArchOperator((char)95, ArchInstructionFormat.GuardedBinary_format, //INT_REM 515 (none | ArchInstructionFormat.GuardedBinary_traits), 516 1, 0, 3, 517 PhysicalDefUse.mask, 518 PhysicalDefUse.mask), 519 new ArchOperator((char)96, ArchInstructionFormat.GuardedBinary_format, //LONG_REM 520 (none | ArchInstructionFormat.GuardedBinary_traits), 521 1, 0, 3, 522 PhysicalDefUse.mask, 523 PhysicalDefUse.mask), 524 new ArchOperator((char)97, ArchInstructionFormat.Binary_format, //FLOAT_REM 525 (none | ArchInstructionFormat.Binary_traits), 526 1, 0, 2, 527 PhysicalDefUse.maskIEEEMagicUses, 528 PhysicalDefUse.mask), 529 new ArchOperator((char)98, ArchInstructionFormat.Binary_format, //DOUBLE_REM 530 (none | ArchInstructionFormat.Binary_traits), 531 1, 0, 2, 532 PhysicalDefUse.maskIEEEMagicUses, 533 PhysicalDefUse.mask), 534 new ArchOperator((char)99, ArchInstructionFormat.Unary_format, //REF_NEG 535 (none | ArchInstructionFormat.Unary_traits), 536 1, 0, 1, 537 PhysicalDefUse.mask, 538 PhysicalDefUse.mask), 539 new ArchOperator((char)100, ArchInstructionFormat.Unary_format, //INT_NEG 540 (none | ArchInstructionFormat.Unary_traits), 541 1, 0, 1, 542 PhysicalDefUse.mask, 543 PhysicalDefUse.mask), 544 new ArchOperator((char)101, ArchInstructionFormat.Unary_format, //LONG_NEG 545 (none | ArchInstructionFormat.Unary_traits), 546 1, 0, 1, 547 PhysicalDefUse.mask, 548 PhysicalDefUse.mask), 549 new ArchOperator((char)102, ArchInstructionFormat.Unary_format, //FLOAT_NEG 550 (none | ArchInstructionFormat.Unary_traits), 551 1, 0, 1, 552 PhysicalDefUse.mask, 553 PhysicalDefUse.mask), 554 new ArchOperator((char)103, ArchInstructionFormat.Unary_format, //DOUBLE_NEG 555 (none | ArchInstructionFormat.Unary_traits), 556 1, 0, 1, 557 PhysicalDefUse.mask, 558 PhysicalDefUse.mask), 559 new ArchOperator((char)104, ArchInstructionFormat.Unary_format, //FLOAT_SQRT 560 (none | ArchInstructionFormat.Unary_traits), 561 1, 0, 1, 562 PhysicalDefUse.mask, 563 PhysicalDefUse.mask), 564 new ArchOperator((char)105, ArchInstructionFormat.Unary_format, //DOUBLE_SQRT 565 (none | ArchInstructionFormat.Unary_traits), 566 1, 0, 1, 567 PhysicalDefUse.mask, 568 PhysicalDefUse.mask), 569 new ArchOperator((char)106, ArchInstructionFormat.Binary_format, //REF_SHL 570 (none | ArchInstructionFormat.Binary_traits), 571 1, 0, 2, 572 PhysicalDefUse.mask, 573 PhysicalDefUse.mask), 574 new ArchOperator((char)107, ArchInstructionFormat.Binary_format, //INT_SHL 575 (none | ArchInstructionFormat.Binary_traits), 576 1, 0, 2, 577 PhysicalDefUse.mask, 578 PhysicalDefUse.mask), 579 new ArchOperator((char)108, ArchInstructionFormat.Binary_format, //LONG_SHL 580 (none | ArchInstructionFormat.Binary_traits), 581 1, 0, 2, 582 PhysicalDefUse.mask, 583 PhysicalDefUse.mask), 584 new ArchOperator((char)109, ArchInstructionFormat.Binary_format, //REF_SHR 585 (none | ArchInstructionFormat.Binary_traits), 586 1, 0, 2, 587 PhysicalDefUse.mask, 588 PhysicalDefUse.mask), 589 new ArchOperator((char)110, ArchInstructionFormat.Binary_format, //INT_SHR 590 (none | ArchInstructionFormat.Binary_traits), 591 1, 0, 2, 592 PhysicalDefUse.mask, 593 PhysicalDefUse.mask), 594 new ArchOperator((char)111, ArchInstructionFormat.Binary_format, //LONG_SHR 595 (none | ArchInstructionFormat.Binary_traits), 596 1, 0, 2, 597 PhysicalDefUse.mask, 598 PhysicalDefUse.mask), 599 new ArchOperator((char)112, ArchInstructionFormat.Binary_format, //REF_USHR 600 (none | ArchInstructionFormat.Binary_traits), 601 1, 0, 2, 602 PhysicalDefUse.mask, 603 PhysicalDefUse.mask), 604 new ArchOperator((char)113, ArchInstructionFormat.Binary_format, //INT_USHR 605 (none | ArchInstructionFormat.Binary_traits), 606 1, 0, 2, 607 PhysicalDefUse.mask, 608 PhysicalDefUse.mask), 609 new ArchOperator((char)114, ArchInstructionFormat.Binary_format, //LONG_USHR 610 (none | ArchInstructionFormat.Binary_traits), 611 1, 0, 2, 612 PhysicalDefUse.mask, 613 PhysicalDefUse.mask), 614 new ArchOperator((char)115, ArchInstructionFormat.Binary_format, //REF_AND 615 (commutative | ArchInstructionFormat.Binary_traits), 616 1, 0, 2, 617 PhysicalDefUse.mask, 618 PhysicalDefUse.mask), 619 new ArchOperator((char)116, ArchInstructionFormat.Binary_format, //INT_AND 620 (commutative | ArchInstructionFormat.Binary_traits), 621 1, 0, 2, 622 PhysicalDefUse.mask, 623 PhysicalDefUse.mask), 624 new ArchOperator((char)117, ArchInstructionFormat.Binary_format, //LONG_AND 625 (commutative | ArchInstructionFormat.Binary_traits), 626 1, 0, 2, 627 PhysicalDefUse.mask, 628 PhysicalDefUse.mask), 629 new ArchOperator((char)118, ArchInstructionFormat.Binary_format, //REF_OR 630 (commutative | ArchInstructionFormat.Binary_traits), 631 1, 0, 2, 632 PhysicalDefUse.mask, 633 PhysicalDefUse.mask), 634 new ArchOperator((char)119, ArchInstructionFormat.Binary_format, //INT_OR 635 (commutative | ArchInstructionFormat.Binary_traits), 636 1, 0, 2, 637 PhysicalDefUse.mask, 638 PhysicalDefUse.mask), 639 new ArchOperator((char)120, ArchInstructionFormat.Binary_format, //LONG_OR 640 (commutative | ArchInstructionFormat.Binary_traits), 641 1, 0, 2, 642 PhysicalDefUse.mask, 643 PhysicalDefUse.mask), 644 new ArchOperator((char)121, ArchInstructionFormat.Binary_format, //REF_XOR 645 (commutative | ArchInstructionFormat.Binary_traits), 646 1, 0, 2, 647 PhysicalDefUse.mask, 648 PhysicalDefUse.mask), 649 new ArchOperator((char)122, ArchInstructionFormat.Binary_format, //INT_XOR 650 (commutative | ArchInstructionFormat.Binary_traits), 651 1, 0, 2, 652 PhysicalDefUse.mask, 653 PhysicalDefUse.mask), 654 new ArchOperator((char)123, ArchInstructionFormat.Unary_format, //REF_NOT 655 (none | ArchInstructionFormat.Unary_traits), 656 1, 0, 1, 657 PhysicalDefUse.mask, 658 PhysicalDefUse.mask), 659 new ArchOperator((char)124, ArchInstructionFormat.Unary_format, //INT_NOT 660 (none | ArchInstructionFormat.Unary_traits), 661 1, 0, 1, 662 PhysicalDefUse.mask, 663 PhysicalDefUse.mask), 664 new ArchOperator((char)125, ArchInstructionFormat.Unary_format, //LONG_NOT 665 (none | ArchInstructionFormat.Unary_traits), 666 1, 0, 1, 667 PhysicalDefUse.mask, 668 PhysicalDefUse.mask), 669 new ArchOperator((char)126, ArchInstructionFormat.Binary_format, //LONG_XOR 670 (commutative | ArchInstructionFormat.Binary_traits), 671 1, 0, 2, 672 PhysicalDefUse.mask, 673 PhysicalDefUse.mask), 674 new ArchOperator((char)127, ArchInstructionFormat.Unary_format, //INT_2ADDRSigExt 675 (none | ArchInstructionFormat.Unary_traits), 676 1, 0, 1, 677 PhysicalDefUse.mask, 678 PhysicalDefUse.mask), 679 new ArchOperator((char)128, ArchInstructionFormat.Unary_format, //INT_2ADDRZerExt 680 (none | ArchInstructionFormat.Unary_traits), 681 1, 0, 1, 682 PhysicalDefUse.mask, 683 PhysicalDefUse.mask), 684 new ArchOperator((char)129, ArchInstructionFormat.Unary_format, //LONG_2ADDR 685 (none | ArchInstructionFormat.Unary_traits), 686 1, 0, 1, 687 PhysicalDefUse.mask, 688 PhysicalDefUse.mask), 689 new ArchOperator((char)130, ArchInstructionFormat.Unary_format, //ADDR_2INT 690 (none | ArchInstructionFormat.Unary_traits), 691 1, 0, 1, 692 PhysicalDefUse.mask, 693 PhysicalDefUse.mask), 694 new ArchOperator((char)131, ArchInstructionFormat.Unary_format, //ADDR_2LONG 695 (none | ArchInstructionFormat.Unary_traits), 696 1, 0, 1, 697 PhysicalDefUse.mask, 698 PhysicalDefUse.mask), 699 new ArchOperator((char)132, ArchInstructionFormat.Unary_format, //INT_2LONG 700 (none | ArchInstructionFormat.Unary_traits), 701 1, 0, 1, 702 PhysicalDefUse.mask, 703 PhysicalDefUse.mask), 704 new ArchOperator((char)133, ArchInstructionFormat.Unary_format, //INT_2FLOAT 705 (none | ArchInstructionFormat.Unary_traits), 706 1, 0, 1, 707 PhysicalDefUse.maskIEEEMagicUses, 708 PhysicalDefUse.mask), 709 new ArchOperator((char)134, ArchInstructionFormat.Unary_format, //INT_2DOUBLE 710 (none | ArchInstructionFormat.Unary_traits), 711 1, 0, 1, 712 PhysicalDefUse.maskIEEEMagicUses, 713 PhysicalDefUse.mask), 714 new ArchOperator((char)135, ArchInstructionFormat.Unary_format, //LONG_2INT 715 (none | ArchInstructionFormat.Unary_traits), 716 1, 0, 1, 717 PhysicalDefUse.mask, 718 PhysicalDefUse.mask), 719 new ArchOperator((char)136, ArchInstructionFormat.Unary_format, //LONG_2FLOAT 720 (none | ArchInstructionFormat.Unary_traits), 721 1, 0, 1, 722 PhysicalDefUse.mask, 723 PhysicalDefUse.mask), 724 new ArchOperator((char)137, ArchInstructionFormat.Unary_format, //LONG_2DOUBLE 725 (none | ArchInstructionFormat.Unary_traits), 726 1, 0, 1, 727 PhysicalDefUse.mask, 728 PhysicalDefUse.mask), 729 new ArchOperator((char)138, ArchInstructionFormat.Unary_format, //FLOAT_2INT 730 (none | ArchInstructionFormat.Unary_traits), 731 1, 0, 1, 732 PhysicalDefUse.mask, 733 PhysicalDefUse.mask), 734 new ArchOperator((char)139, ArchInstructionFormat.Unary_format, //FLOAT_2LONG 735 (none | ArchInstructionFormat.Unary_traits), 736 1, 0, 1, 737 PhysicalDefUse.mask, 738 PhysicalDefUse.mask), 739 new ArchOperator((char)140, ArchInstructionFormat.Unary_format, //FLOAT_2DOUBLE 740 (none | ArchInstructionFormat.Unary_traits), 741 1, 0, 1, 742 PhysicalDefUse.mask, 743 PhysicalDefUse.mask), 744 new ArchOperator((char)141, ArchInstructionFormat.Unary_format, //DOUBLE_2INT 745 (none | ArchInstructionFormat.Unary_traits), 746 1, 0, 1, 747 PhysicalDefUse.mask, 748 PhysicalDefUse.mask), 749 new ArchOperator((char)142, ArchInstructionFormat.Unary_format, //DOUBLE_2LONG 750 (none | ArchInstructionFormat.Unary_traits), 751 1, 0, 1, 752 PhysicalDefUse.mask, 753 PhysicalDefUse.mask), 754 new ArchOperator((char)143, ArchInstructionFormat.Unary_format, //DOUBLE_2FLOAT 755 (none | ArchInstructionFormat.Unary_traits), 756 1, 0, 1, 757 PhysicalDefUse.mask, 758 PhysicalDefUse.mask), 759 new ArchOperator((char)144, ArchInstructionFormat.Unary_format, //INT_2BYTE 760 (none | ArchInstructionFormat.Unary_traits), 761 1, 0, 1, 762 PhysicalDefUse.mask, 763 PhysicalDefUse.mask), 764 new ArchOperator((char)145, ArchInstructionFormat.Unary_format, //INT_2USHORT 765 (none | ArchInstructionFormat.Unary_traits), 766 1, 0, 1, 767 PhysicalDefUse.mask, 768 PhysicalDefUse.mask), 769 new ArchOperator((char)146, ArchInstructionFormat.Unary_format, //INT_2SHORT 770 (none | ArchInstructionFormat.Unary_traits), 771 1, 0, 1, 772 PhysicalDefUse.mask, 773 PhysicalDefUse.mask), 774 new ArchOperator((char)147, ArchInstructionFormat.Binary_format, //LONG_CMP 775 (compare | ArchInstructionFormat.Binary_traits), 776 1, 0, 2, 777 PhysicalDefUse.mask, 778 PhysicalDefUse.mask), 779 new ArchOperator((char)148, ArchInstructionFormat.Binary_format, //FLOAT_CMPL 780 (compare | ArchInstructionFormat.Binary_traits), 781 1, 0, 2, 782 PhysicalDefUse.mask, 783 PhysicalDefUse.mask), 784 new ArchOperator((char)149, ArchInstructionFormat.Binary_format, //FLOAT_CMPG 785 (compare | ArchInstructionFormat.Binary_traits), 786 1, 0, 2, 787 PhysicalDefUse.mask, 788 PhysicalDefUse.mask), 789 new ArchOperator((char)150, ArchInstructionFormat.Binary_format, //DOUBLE_CMPL 790 (compare | ArchInstructionFormat.Binary_traits), 791 1, 0, 2, 792 PhysicalDefUse.mask, 793 PhysicalDefUse.mask), 794 new ArchOperator((char)151, ArchInstructionFormat.Binary_format, //DOUBLE_CMPG 795 (compare | ArchInstructionFormat.Binary_traits), 796 1, 0, 2, 797 PhysicalDefUse.mask, 798 PhysicalDefUse.mask), 799 new ArchOperator((char)152, ArchInstructionFormat.Return_format, //RETURN 800 (ret | ArchInstructionFormat.Return_traits), 801 0, 0, 1, 802 PhysicalDefUse.mask, 803 PhysicalDefUse.mask), 804 new ArchOperator((char)153, ArchInstructionFormat.NullCheck_format, //NULL_CHECK 805 (immedPEI | ArchInstructionFormat.NullCheck_traits), 806 1, 0, 1, 807 PhysicalDefUse.mask, 808 PhysicalDefUse.mask), 809 new ArchOperator((char)154, ArchInstructionFormat.Goto_format, //GOTO 810 (branch | ArchInstructionFormat.Goto_traits), 811 0, 0, 1, 812 PhysicalDefUse.mask, 813 PhysicalDefUse.mask), 814 new ArchOperator((char)155, ArchInstructionFormat.Unary_format, //BOOLEAN_NOT 815 (none | ArchInstructionFormat.Unary_traits), 816 1, 0, 1, 817 PhysicalDefUse.mask, 818 PhysicalDefUse.mask), 819 new ArchOperator((char)156, ArchInstructionFormat.BooleanCmp_format, //BOOLEAN_CMP_INT 820 (compare | ArchInstructionFormat.BooleanCmp_traits), 821 1, 0, 4, 822 PhysicalDefUse.mask, 823 PhysicalDefUse.mask), 824 new ArchOperator((char)157, ArchInstructionFormat.BooleanCmp_format, //BOOLEAN_CMP_ADDR 825 (compare | ArchInstructionFormat.BooleanCmp_traits), 826 1, 0, 4, 827 PhysicalDefUse.mask, 828 PhysicalDefUse.mask), 829 new ArchOperator((char)158, ArchInstructionFormat.BooleanCmp_format, //BOOLEAN_CMP_LONG 830 (compare | ArchInstructionFormat.BooleanCmp_traits), 831 1, 0, 4, 832 PhysicalDefUse.mask, 833 PhysicalDefUse.mask), 834 new ArchOperator((char)159, ArchInstructionFormat.BooleanCmp_format, //BOOLEAN_CMP_FLOAT 835 (compare | ArchInstructionFormat.BooleanCmp_traits), 836 1, 0, 4, 837 PhysicalDefUse.mask, 838 PhysicalDefUse.mask), 839 new ArchOperator((char)160, ArchInstructionFormat.BooleanCmp_format, //BOOLEAN_CMP_DOUBLE 840 (compare | ArchInstructionFormat.BooleanCmp_traits), 841 1, 0, 4, 842 PhysicalDefUse.mask, 843 PhysicalDefUse.mask), 844 new ArchOperator((char)161, ArchInstructionFormat.Load_format, //BYTE_LOAD 845 (load | ArchInstructionFormat.Load_traits), 846 1, 0, 4, 847 PhysicalDefUse.mask, 848 PhysicalDefUse.mask), 849 new ArchOperator((char)162, ArchInstructionFormat.Load_format, //UBYTE_LOAD 850 (load | ArchInstructionFormat.Load_traits), 851 1, 0, 4, 852 PhysicalDefUse.mask, 853 PhysicalDefUse.mask), 854 new ArchOperator((char)163, ArchInstructionFormat.Load_format, //SHORT_LOAD 855 (load | ArchInstructionFormat.Load_traits), 856 1, 0, 4, 857 PhysicalDefUse.mask, 858 PhysicalDefUse.mask), 859 new ArchOperator((char)164, ArchInstructionFormat.Load_format, //USHORT_LOAD 860 (load | ArchInstructionFormat.Load_traits), 861 1, 0, 4, 862 PhysicalDefUse.mask, 863 PhysicalDefUse.mask), 864 new ArchOperator((char)165, ArchInstructionFormat.Load_format, //REF_LOAD 865 (load | ArchInstructionFormat.Load_traits), 866 1, 0, 4, 867 PhysicalDefUse.mask, 868 PhysicalDefUse.mask), 869 new ArchOperator((char)166, ArchInstructionFormat.Store_format, //REF_STORE 870 (store | ArchInstructionFormat.Store_traits), 871 0, 0, 5, 872 PhysicalDefUse.mask, 873 PhysicalDefUse.mask), 874 new ArchOperator((char)167, ArchInstructionFormat.Load_format, //INT_LOAD 875 (load | ArchInstructionFormat.Load_traits), 876 1, 0, 4, 877 PhysicalDefUse.mask, 878 PhysicalDefUse.mask), 879 new ArchOperator((char)168, ArchInstructionFormat.Load_format, //LONG_LOAD 880 (load | ArchInstructionFormat.Load_traits), 881 1, 0, 4, 882 PhysicalDefUse.mask, 883 PhysicalDefUse.mask), 884 new ArchOperator((char)169, ArchInstructionFormat.Load_format, //FLOAT_LOAD 885 (load | ArchInstructionFormat.Load_traits), 886 1, 0, 4, 887 PhysicalDefUse.mask, 888 PhysicalDefUse.mask), 889 new ArchOperator((char)170, ArchInstructionFormat.Load_format, //DOUBLE_LOAD 890 (load | ArchInstructionFormat.Load_traits), 891 1, 0, 4, 892 PhysicalDefUse.mask, 893 PhysicalDefUse.mask), 894 new ArchOperator((char)171, ArchInstructionFormat.Store_format, //BYTE_STORE 895 (store | ArchInstructionFormat.Store_traits), 896 0, 0, 5, 897 PhysicalDefUse.mask, 898 PhysicalDefUse.mask), 899 new ArchOperator((char)172, ArchInstructionFormat.Store_format, //SHORT_STORE 900 (store | ArchInstructionFormat.Store_traits), 901 0, 0, 5, 902 PhysicalDefUse.mask, 903 PhysicalDefUse.mask), 904 new ArchOperator((char)173, ArchInstructionFormat.Store_format, //INT_STORE 905 (store | ArchInstructionFormat.Store_traits), 906 0, 0, 5, 907 PhysicalDefUse.mask, 908 PhysicalDefUse.mask), 909 new ArchOperator((char)174, ArchInstructionFormat.Store_format, //LONG_STORE 910 (store | ArchInstructionFormat.Store_traits), 911 0, 0, 5, 912 PhysicalDefUse.mask, 913 PhysicalDefUse.mask), 914 new ArchOperator((char)175, ArchInstructionFormat.Store_format, //FLOAT_STORE 915 (store | ArchInstructionFormat.Store_traits), 916 0, 0, 5, 917 PhysicalDefUse.mask, 918 PhysicalDefUse.mask), 919 new ArchOperator((char)176, ArchInstructionFormat.Store_format, //DOUBLE_STORE 920 (store | ArchInstructionFormat.Store_traits), 921 0, 0, 5, 922 PhysicalDefUse.mask, 923 PhysicalDefUse.mask), 924 new ArchOperator((char)177, ArchInstructionFormat.Prepare_format, //PREPARE_INT 925 (load | acquire | ArchInstructionFormat.Prepare_traits), 926 1, 0, 4, 927 PhysicalDefUse.mask, 928 PhysicalDefUse.mask), 929 new ArchOperator((char)178, ArchInstructionFormat.Prepare_format, //PREPARE_ADDR 930 (load | acquire | ArchInstructionFormat.Prepare_traits), 931 1, 0, 4, 932 PhysicalDefUse.mask, 933 PhysicalDefUse.mask), 934 new ArchOperator((char)179, ArchInstructionFormat.Prepare_format, //PREPARE_LONG 935 (load | acquire | ArchInstructionFormat.Prepare_traits), 936 1, 0, 4, 937 PhysicalDefUse.mask, 938 PhysicalDefUse.mask), 939 new ArchOperator((char)180, ArchInstructionFormat.Attempt_format, //ATTEMPT_INT 940 (load | store | compare | release | ArchInstructionFormat.Attempt_traits), 941 1, 0, 6, 942 PhysicalDefUse.mask, 943 PhysicalDefUse.mask), 944 new ArchOperator((char)181, ArchInstructionFormat.Attempt_format, //ATTEMPT_ADDR 945 (load | store | compare | release | ArchInstructionFormat.Attempt_traits), 946 1, 0, 6, 947 PhysicalDefUse.mask, 948 PhysicalDefUse.mask), 949 new ArchOperator((char)182, ArchInstructionFormat.Attempt_format, //ATTEMPT_LONG 950 (load | store | compare | release | ArchInstructionFormat.Attempt_traits), 951 1, 0, 6, 952 PhysicalDefUse.mask, 953 PhysicalDefUse.mask), 954 new ArchOperator((char)183, ArchInstructionFormat.Call_format, //CALL 955 (call | memAsLoad | memAsStore | dynLink | immedPEI | ArchInstructionFormat.Call_traits), 956 1, 0, 3, 957 PhysicalDefUse.maskcallDefs, 958 PhysicalDefUse.maskcallUses), 959 new ArchOperator((char)184, ArchInstructionFormat.Call_format, //SYSCALL 960 (call | memAsLoad | memAsStore | ArchInstructionFormat.Call_traits), 961 1, 0, 3, 962 PhysicalDefUse.maskcallDefs, 963 PhysicalDefUse.maskcallUses), 964 new ArchOperator((char)185, ArchInstructionFormat.Empty_format, //YIELDPOINT_PROLOGUE 965 (tsp | yieldPoint | ArchInstructionFormat.Empty_traits), 966 0, 0, 0, 967 PhysicalDefUse.mask, 968 PhysicalDefUse.mask), 969 new ArchOperator((char)186, ArchInstructionFormat.Empty_format, //YIELDPOINT_EPILOGUE 970 (tsp | yieldPoint | ArchInstructionFormat.Empty_traits), 971 0, 0, 0, 972 PhysicalDefUse.mask, 973 PhysicalDefUse.mask), 974 new ArchOperator((char)187, ArchInstructionFormat.Empty_format, //YIELDPOINT_BACKEDGE 975 (tsp | yieldPoint | ArchInstructionFormat.Empty_traits), 976 0, 0, 0, 977 PhysicalDefUse.mask, 978 PhysicalDefUse.mask), 979 new ArchOperator((char)188, ArchInstructionFormat.OsrPoint_format, //YIELDPOINT_OSR 980 (tsp | yieldPoint | ArchInstructionFormat.OsrPoint_traits), 981 0, 0, 1, 982 PhysicalDefUse.mask, 983 PhysicalDefUse.mask), 984 new ArchOperator((char)189, ArchInstructionFormat.OsrBarrier_format, //OSR_BARRIER 985 (none | ArchInstructionFormat.OsrBarrier_traits), 986 0, 0, 1, 987 PhysicalDefUse.mask, 988 PhysicalDefUse.mask), 989 new ArchOperator((char)190, ArchInstructionFormat.Prologue_format, //IR_PROLOGUE 990 (immedPEI | ArchInstructionFormat.Prologue_traits), 991 0, 0, 0, 992 PhysicalDefUse.mask, 993 PhysicalDefUse.mask), 994 new ArchOperator((char)191, ArchInstructionFormat.CacheOp_format, //RESOLVE 995 (tsp | dynLink | immedPEI | ArchInstructionFormat.CacheOp_traits), 996 0, 0, 1, 997 PhysicalDefUse.mask, 998 PhysicalDefUse.mask), 999 new ArchOperator((char)192, ArchInstructionFormat.Unary_format, //RESOLVE_MEMBER 1000 (tsp | dynLink | immedPEI | ArchInstructionFormat.Unary_traits), 1001 1, 0, 1, 1002 PhysicalDefUse.mask, 1003 PhysicalDefUse.mask), 1004 new ArchOperator((char)193, ArchInstructionFormat.Nullary_format, //GET_TIME_BASE 1005 (none | ArchInstructionFormat.Nullary_traits), 1006 1, 0, 0, 1007 PhysicalDefUse.mask, 1008 PhysicalDefUse.mask), 1009 new ArchOperator((char)194, ArchInstructionFormat.InstrumentedCounter_format, //INSTRUMENTED_EVENT_COUNTER 1010 (none | ArchInstructionFormat.InstrumentedCounter_traits), 1011 0, 0, 3, 1012 PhysicalDefUse.mask, 1013 PhysicalDefUse.mask), 1014 new ArchOperator((char)195, ArchInstructionFormat.TrapIf_format, //TRAP_IF 1015 (immedPEI | ArchInstructionFormat.TrapIf_traits), 1016 1, 0, 4, 1017 PhysicalDefUse.mask, 1018 PhysicalDefUse.mask), 1019 new ArchOperator((char)196, ArchInstructionFormat.Trap_format, //TRAP 1020 (immedPEI | ArchInstructionFormat.Trap_traits), 1021 1, 0, 1, 1022 PhysicalDefUse.mask, 1023 PhysicalDefUse.mask), 1024 new ArchOperator((char)197, ArchInstructionFormat.Unary_format, //FLOAT_AS_INT_BITS 1025 (none | ArchInstructionFormat.Unary_traits), 1026 1, 0, 1, 1027 PhysicalDefUse.mask, 1028 PhysicalDefUse.mask), 1029 new ArchOperator((char)198, ArchInstructionFormat.Unary_format, //INT_BITS_AS_FLOAT 1030 (none | ArchInstructionFormat.Unary_traits), 1031 1, 0, 1, 1032 PhysicalDefUse.mask, 1033 PhysicalDefUse.mask), 1034 new ArchOperator((char)199, ArchInstructionFormat.Unary_format, //DOUBLE_AS_LONG_BITS 1035 (none | ArchInstructionFormat.Unary_traits), 1036 1, 0, 1, 1037 PhysicalDefUse.mask, 1038 PhysicalDefUse.mask), 1039 new ArchOperator((char)200, ArchInstructionFormat.Unary_format, //LONG_BITS_AS_DOUBLE 1040 (none | ArchInstructionFormat.Unary_traits), 1041 1, 0, 1, 1042 PhysicalDefUse.mask, 1043 PhysicalDefUse.mask), 1044 new ArchOperator((char)201, ArchInstructionFormat.GuardedUnary_format, //ARRAYLENGTH 1045 (none | ArchInstructionFormat.GuardedUnary_traits), 1046 1, 0, 2, 1047 PhysicalDefUse.mask, 1048 PhysicalDefUse.mask), 1049 new ArchOperator((char)202, ArchInstructionFormat.GuardedUnary_format, //GET_OBJ_TIB 1050 (none | ArchInstructionFormat.GuardedUnary_traits), 1051 1, 0, 2, 1052 PhysicalDefUse.mask, 1053 PhysicalDefUse.mask), 1054 new ArchOperator((char)203, ArchInstructionFormat.Unary_format, //GET_CLASS_TIB 1055 (none | ArchInstructionFormat.Unary_traits), 1056 1, 0, 1, 1057 PhysicalDefUse.mask, 1058 PhysicalDefUse.mask), 1059 new ArchOperator((char)204, ArchInstructionFormat.Unary_format, //GET_TYPE_FROM_TIB 1060 (none | ArchInstructionFormat.Unary_traits), 1061 1, 0, 1, 1062 PhysicalDefUse.mask, 1063 PhysicalDefUse.mask), 1064 new ArchOperator((char)205, ArchInstructionFormat.Unary_format, //GET_SUPERCLASS_IDS_FROM_TIB 1065 (none | ArchInstructionFormat.Unary_traits), 1066 1, 0, 1, 1067 PhysicalDefUse.mask, 1068 PhysicalDefUse.mask), 1069 new ArchOperator((char)206, ArchInstructionFormat.Unary_format, //GET_DOES_IMPLEMENT_FROM_TIB 1070 (none | ArchInstructionFormat.Unary_traits), 1071 1, 0, 1, 1072 PhysicalDefUse.mask, 1073 PhysicalDefUse.mask), 1074 new ArchOperator((char)207, ArchInstructionFormat.Unary_format, //GET_ARRAY_ELEMENT_TIB_FROM_TIB 1075 (none | ArchInstructionFormat.Unary_traits), 1076 1, 0, 1, 1077 PhysicalDefUse.mask, 1078 PhysicalDefUse.mask), 1079 new ArchOperator((char)208, ArchInstructionFormat.LowTableSwitch_format, //LOWTABLESWITCH 1080 (branch | ArchInstructionFormat.LowTableSwitch_traits), 1081 0, 0, 1, 1082 PhysicalDefUse.mask, 1083 PhysicalDefUse.mask), 1084 new ArchOperator((char)209, ArchInstructionFormat.Unassigned_format, //ADDRESS_CONSTANT 1085 (none), 1086 0,0,0, 1087 PhysicalDefUse.mask, 1088 PhysicalDefUse.mask), 1089 new ArchOperator((char)210, ArchInstructionFormat.Unassigned_format, //INT_CONSTANT 1090 (none), 1091 0,0,0, 1092 PhysicalDefUse.mask, 1093 PhysicalDefUse.mask), 1094 new ArchOperator((char)211, ArchInstructionFormat.Unassigned_format, //LONG_CONSTANT 1095 (none), 1096 0,0,0, 1097 PhysicalDefUse.mask, 1098 PhysicalDefUse.mask), 1099 new ArchOperator((char)212, ArchInstructionFormat.Unassigned_format, //REGISTER 1100 (none), 1101 0,0,0, 1102 PhysicalDefUse.mask, 1103 PhysicalDefUse.mask), 1104 new ArchOperator((char)213, ArchInstructionFormat.Unassigned_format, //OTHER_OPERAND 1105 (none), 1106 0,0,0, 1107 PhysicalDefUse.mask, 1108 PhysicalDefUse.mask), 1109 new ArchOperator((char)214, ArchInstructionFormat.Unassigned_format, //NULL 1110 (none), 1111 0,0,0, 1112 PhysicalDefUse.mask, 1113 PhysicalDefUse.mask), 1114 new ArchOperator((char)215, ArchInstructionFormat.Unassigned_format, //BRANCH_TARGET 1115 (none), 1116 0,0,0, 1117 PhysicalDefUse.mask, 1118 PhysicalDefUse.mask), 1119 ////////////////////////// 1120 // END Architecture Independent opcodes. 1121 // BEGIN Architecture Dependent opcodes & MIR. 1122 ////////////////////////// 1123 new ArchOperator((char)(0 + Operators.ARCH_INDEPENDENT_END_opcode), //MATERIALIZE_FP_CONSTANT 1124 ArchInstructionFormat.Binary_format, 1125 (none | ArchInstructionFormat.Binary_traits), 1126 1, 0, 2, 1127 PhysicalDefUse.mask, 1128 PhysicalDefUse.mask), 1129 new ArchOperator((char)(1 + Operators.ARCH_INDEPENDENT_END_opcode), //ROUND_TO_ZERO 1130 ArchInstructionFormat.Empty_format, 1131 (none | ArchInstructionFormat.Empty_traits), 1132 0, 0, 0, 1133 PhysicalDefUse.mask, 1134 PhysicalDefUse.mask), 1135 new ArchOperator((char)(2 + Operators.ARCH_INDEPENDENT_END_opcode), //CLEAR_FLOATING_POINT_STATE 1136 ArchInstructionFormat.Empty_format, 1137 (none | ArchInstructionFormat.Empty_traits), 1138 0, 0, 0, 1139 PhysicalDefUse.mask, 1140 PhysicalDefUse.mask), 1141 new ArchOperator((char)(3 + Operators.ARCH_INDEPENDENT_END_opcode), //PREFETCH 1142 ArchInstructionFormat.CacheOp_format, 1143 (none | ArchInstructionFormat.CacheOp_traits), 1144 0, 0, 1, 1145 PhysicalDefUse.mask, 1146 PhysicalDefUse.mask), 1147 new ArchOperator((char)(4 + Operators.ARCH_INDEPENDENT_END_opcode), //PAUSE 1148 ArchInstructionFormat.Empty_format, 1149 (none | ArchInstructionFormat.Empty_traits), 1150 0, 0, 0, 1151 PhysicalDefUse.mask, 1152 PhysicalDefUse.mask), 1153 new ArchOperator((char)(5 + Operators.ARCH_INDEPENDENT_END_opcode), //FP_ADD 1154 ArchInstructionFormat.Binary_format, 1155 (none | ArchInstructionFormat.Binary_traits), 1156 1, 0, 2, 1157 PhysicalDefUse.mask, 1158 PhysicalDefUse.mask), 1159 new ArchOperator((char)(6 + Operators.ARCH_INDEPENDENT_END_opcode), //FP_SUB 1160 ArchInstructionFormat.Binary_format, 1161 (none | ArchInstructionFormat.Binary_traits), 1162 1, 0, 2, 1163 PhysicalDefUse.mask, 1164 PhysicalDefUse.mask), 1165 new ArchOperator((char)(7 + Operators.ARCH_INDEPENDENT_END_opcode), //FP_MUL 1166 ArchInstructionFormat.Binary_format, 1167 (none | ArchInstructionFormat.Binary_traits), 1168 1, 0, 2, 1169 PhysicalDefUse.mask, 1170 PhysicalDefUse.mask), 1171 new ArchOperator((char)(8 + Operators.ARCH_INDEPENDENT_END_opcode), //FP_DIV 1172 ArchInstructionFormat.Binary_format, 1173 (none | ArchInstructionFormat.Binary_traits), 1174 1, 0, 2, 1175 PhysicalDefUse.mask, 1176 PhysicalDefUse.mask), 1177 new ArchOperator((char)(9 + Operators.ARCH_INDEPENDENT_END_opcode), //FP_NEG 1178 ArchInstructionFormat.Unary_format, 1179 (none | ArchInstructionFormat.Unary_traits), 1180 1, 0, 1, 1181 PhysicalDefUse.mask, 1182 PhysicalDefUse.mask), 1183 new ArchOperator((char)(10 + Operators.ARCH_INDEPENDENT_END_opcode), //FP_REM 1184 ArchInstructionFormat.Binary_format, 1185 (none | ArchInstructionFormat.Binary_traits), 1186 1, 0, 2, 1187 PhysicalDefUse.mask, 1188 PhysicalDefUse.mask), 1189 new ArchOperator((char)(11 + Operators.ARCH_INDEPENDENT_END_opcode), //INT_2FP 1190 ArchInstructionFormat.Unary_format, 1191 (none | ArchInstructionFormat.Unary_traits), 1192 1, 0, 1, 1193 PhysicalDefUse.mask, 1194 PhysicalDefUse.mask), 1195 new ArchOperator((char)(12 + Operators.ARCH_INDEPENDENT_END_opcode), //LONG_2FP 1196 ArchInstructionFormat.Unary_format, 1197 (none | ArchInstructionFormat.Unary_traits), 1198 1, 0, 1, 1199 PhysicalDefUse.mask, 1200 PhysicalDefUse.mask), 1201 new ArchOperator((char)(13 + Operators.ARCH_INDEPENDENT_END_opcode), //CMP_CMOV 1202 ArchInstructionFormat.CondMove_format, 1203 (compare | ArchInstructionFormat.CondMove_traits), 1204 1, 0, 5, 1205 PhysicalDefUse.mask, 1206 PhysicalDefUse.mask), 1207 new ArchOperator((char)(14 + Operators.ARCH_INDEPENDENT_END_opcode), //FCMP_CMOV 1208 ArchInstructionFormat.CondMove_format, 1209 (compare | ArchInstructionFormat.CondMove_traits), 1210 1, 0, 5, 1211 PhysicalDefUse.mask, 1212 PhysicalDefUse.mask), 1213 new ArchOperator((char)(15 + Operators.ARCH_INDEPENDENT_END_opcode), //LCMP_CMOV 1214 ArchInstructionFormat.CondMove_format, 1215 (compare | ArchInstructionFormat.CondMove_traits), 1216 1, 0, 5, 1217 PhysicalDefUse.mask, 1218 PhysicalDefUse.mask), 1219 new ArchOperator((char)(16 + Operators.ARCH_INDEPENDENT_END_opcode), //CMP_FCMOV 1220 ArchInstructionFormat.CondMove_format, 1221 (compare | ArchInstructionFormat.CondMove_traits), 1222 1, 0, 5, 1223 PhysicalDefUse.mask, 1224 PhysicalDefUse.mask), 1225 new ArchOperator((char)(17 + Operators.ARCH_INDEPENDENT_END_opcode), //FCMP_FCMOV 1226 ArchInstructionFormat.CondMove_format, 1227 (compare | ArchInstructionFormat.CondMove_traits), 1228 1, 0, 5, 1229 PhysicalDefUse.mask, 1230 PhysicalDefUse.mask), 1231 new ArchOperator((char)(18 + Operators.ARCH_INDEPENDENT_END_opcode), //CALL_SAVE_VOLATILE 1232 ArchInstructionFormat.MIR_Call_format, 1233 (call | immedPEI | ArchInstructionFormat.MIR_Call_traits), 1234 2, 0, 2, 1235 PhysicalDefUse.maskcallDefs, 1236 PhysicalDefUse.maskcallUses), 1237 new ArchOperator((char)(19 + Operators.ARCH_INDEPENDENT_END_opcode), //MIR_START 1238 ArchInstructionFormat.Unassigned_format, 1239 (none), 1240 0,0,0, 1241 PhysicalDefUse.mask, 1242 PhysicalDefUse.mask), 1243 new ArchOperator((char)(20 + Operators.ARCH_INDEPENDENT_END_opcode), //REQUIRE_ESP 1244 ArchInstructionFormat.MIR_UnaryNoRes_format, 1245 (none | ArchInstructionFormat.MIR_UnaryNoRes_traits), 1246 0, 0, 1, 1247 PhysicalDefUse.mask, 1248 PhysicalDefUse.mask), 1249 new ArchOperator((char)(21 + Operators.ARCH_INDEPENDENT_END_opcode), //ADVISE_ESP 1250 ArchInstructionFormat.MIR_UnaryNoRes_format, 1251 (none | ArchInstructionFormat.MIR_UnaryNoRes_traits), 1252 0, 0, 1, 1253 PhysicalDefUse.mask, 1254 PhysicalDefUse.mask), 1255 new ArchOperator((char)(22 + Operators.ARCH_INDEPENDENT_END_opcode), //MIR_LOWTABLESWITCH 1256 ArchInstructionFormat.MIR_LowTableSwitch_format, 1257 (branch | ArchInstructionFormat.MIR_LowTableSwitch_traits), 1258 0, 1, 1, 1259 PhysicalDefUse.mask, 1260 PhysicalDefUse.mask), 1261 new ArchOperator((char)(23 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_METHODSTART 1262 ArchInstructionFormat.MIR_Nullary_format, 1263 (none | ArchInstructionFormat.MIR_Nullary_traits), 1264 1, 0, 0, 1265 PhysicalDefUse.mask, 1266 PhysicalDefUse.mask), 1267 new ArchOperator((char)(24 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_FCLEAR 1268 ArchInstructionFormat.MIR_UnaryNoRes_format, 1269 (none | ArchInstructionFormat.MIR_UnaryNoRes_traits), 1270 0, 0, 1, 1271 PhysicalDefUse.mask, 1272 PhysicalDefUse.mask), 1273 new ArchOperator((char)(25 + Operators.ARCH_INDEPENDENT_END_opcode), //DUMMY_DEF 1274 ArchInstructionFormat.MIR_Nullary_format, 1275 (none | ArchInstructionFormat.MIR_Nullary_traits), 1276 1, 0, 0, 1277 PhysicalDefUse.mask, 1278 PhysicalDefUse.mask), 1279 new ArchOperator((char)(26 + Operators.ARCH_INDEPENDENT_END_opcode), //DUMMY_USE 1280 ArchInstructionFormat.MIR_UnaryNoRes_format, 1281 (none | ArchInstructionFormat.MIR_UnaryNoRes_traits), 1282 0, 0, 1, 1283 PhysicalDefUse.mask, 1284 PhysicalDefUse.mask), 1285 new ArchOperator((char)(27 + Operators.ARCH_INDEPENDENT_END_opcode), //IMMQ_MOV 1286 ArchInstructionFormat.MIR_Move_format, 1287 (move | ArchInstructionFormat.MIR_Move_traits), 1288 1, 0, 1, 1289 PhysicalDefUse.mask, 1290 PhysicalDefUse.mask), 1291 new ArchOperator((char)(28 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_FMOV_ENDING_LIVE_RANGE 1292 ArchInstructionFormat.MIR_Move_format, 1293 (move | ArchInstructionFormat.MIR_Move_traits), 1294 1, 0, 1, 1295 PhysicalDefUse.mask, 1296 PhysicalDefUse.mask), 1297 new ArchOperator((char)(29 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_FMOV 1298 ArchInstructionFormat.MIR_Move_format, 1299 (move | ArchInstructionFormat.MIR_Move_traits), 1300 1, 0, 1, 1301 PhysicalDefUse.mask, 1302 PhysicalDefUse.mask), 1303 new ArchOperator((char)(30 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_TRAPIF 1304 ArchInstructionFormat.MIR_TrapIf_format, 1305 (immedPEI | ArchInstructionFormat.MIR_TrapIf_traits), 1306 1, 0, 4, 1307 PhysicalDefUse.maskAF_CF_OF_PF_SF_ZF, 1308 PhysicalDefUse.mask), 1309 new ArchOperator((char)(31 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_OFFSET 1310 ArchInstructionFormat.MIR_CaseLabel_format, 1311 (none | ArchInstructionFormat.MIR_CaseLabel_traits), 1312 0, 0, 2, 1313 PhysicalDefUse.mask, 1314 PhysicalDefUse.mask), 1315 new ArchOperator((char)(32 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_LOCK_CMPXCHG 1316 ArchInstructionFormat.MIR_CompareExchange_format, 1317 (compare | ArchInstructionFormat.MIR_CompareExchange_traits), 1318 0, 2, 1, 1319 PhysicalDefUse.maskAF_CF_OF_PF_SF_ZF, 1320 PhysicalDefUse.mask), 1321 new ArchOperator((char)(33 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_LOCK_CMPXCHG8B 1322 ArchInstructionFormat.MIR_CompareExchange8B_format, 1323 (compare | ArchInstructionFormat.MIR_CompareExchange8B_traits), 1324 0, 3, 2, 1325 PhysicalDefUse.maskAF_CF_OF_PF_SF_ZF, 1326 PhysicalDefUse.mask), 1327 new ArchOperator((char)(34 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_ADC 1328 ArchInstructionFormat.MIR_BinaryAcc_format, 1329 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 1330 0, 1, 1, 1331 PhysicalDefUse.maskAF_CF_OF_PF_SF_ZF, 1332 PhysicalDefUse.maskCF), 1333 new ArchOperator((char)(35 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_ADD 1334 ArchInstructionFormat.MIR_BinaryAcc_format, 1335 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 1336 0, 1, 1, 1337 PhysicalDefUse.maskAF_CF_OF_PF_SF_ZF, 1338 PhysicalDefUse.mask), 1339 new ArchOperator((char)(36 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_AND 1340 ArchInstructionFormat.MIR_BinaryAcc_format, 1341 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 1342 0, 1, 1, 1343 PhysicalDefUse.maskAF_CF_OF_PF_SF_ZF, 1344 PhysicalDefUse.mask), 1345 new ArchOperator((char)(37 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_BSWAP 1346 ArchInstructionFormat.MIR_UnaryAcc_format, 1347 (none | ArchInstructionFormat.MIR_UnaryAcc_traits), 1348 0, 1, 0, 1349 PhysicalDefUse.mask, 1350 PhysicalDefUse.mask), 1351 new ArchOperator((char)(38 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_BT 1352 ArchInstructionFormat.MIR_Test_format, 1353 (none | ArchInstructionFormat.MIR_Test_traits), 1354 0, 0, 2, 1355 PhysicalDefUse.maskCF, 1356 PhysicalDefUse.mask), 1357 new ArchOperator((char)(39 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_BTC 1358 ArchInstructionFormat.MIR_Test_format, 1359 (none | ArchInstructionFormat.MIR_Test_traits), 1360 0, 0, 2, 1361 PhysicalDefUse.maskCF, 1362 PhysicalDefUse.mask), 1363 new ArchOperator((char)(40 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_BTR 1364 ArchInstructionFormat.MIR_Test_format, 1365 (none | ArchInstructionFormat.MIR_Test_traits), 1366 0, 0, 2, 1367 PhysicalDefUse.maskCF, 1368 PhysicalDefUse.mask), 1369 new ArchOperator((char)(41 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_BTS 1370 ArchInstructionFormat.MIR_Test_format, 1371 (none | ArchInstructionFormat.MIR_Test_traits), 1372 0, 0, 2, 1373 PhysicalDefUse.maskCF, 1374 PhysicalDefUse.mask), 1375 new ArchOperator((char)(42 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_SYSCALL 1376 ArchInstructionFormat.MIR_Call_format, 1377 (call | ArchInstructionFormat.MIR_Call_traits), 1378 2, 0, 2, 1379 PhysicalDefUse.maskcallDefs, 1380 PhysicalDefUse.maskcallUses), 1381 new ArchOperator((char)(43 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_CALL 1382 ArchInstructionFormat.MIR_Call_format, 1383 (call | immedPEI | ArchInstructionFormat.MIR_Call_traits), 1384 2, 0, 2, 1385 PhysicalDefUse.maskcallDefs, 1386 PhysicalDefUse.maskcallUses), 1387 new ArchOperator((char)(44 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_CDQ 1388 ArchInstructionFormat.MIR_ConvertDW2QW_format, 1389 (none | ArchInstructionFormat.MIR_ConvertDW2QW_traits), 1390 1, 1, 0, 1391 PhysicalDefUse.mask, 1392 PhysicalDefUse.mask), 1393 new ArchOperator((char)(45 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_CDO 1394 ArchInstructionFormat.MIR_ConvertDW2QW_format, 1395 (none | ArchInstructionFormat.MIR_ConvertDW2QW_traits), 1396 1, 1, 0, 1397 PhysicalDefUse.mask, 1398 PhysicalDefUse.mask), 1399 new ArchOperator((char)(46 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_CDQE 1400 ArchInstructionFormat.MIR_ConvertDW2QW_format, 1401 (none | ArchInstructionFormat.MIR_ConvertDW2QW_traits), 1402 1, 1, 0, 1403 PhysicalDefUse.mask, 1404 PhysicalDefUse.mask), 1405 new ArchOperator((char)(47 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_CMOV 1406 ArchInstructionFormat.MIR_CondMove_format, 1407 (none | ArchInstructionFormat.MIR_CondMove_traits), 1408 0, 1, 2, 1409 PhysicalDefUse.mask, 1410 PhysicalDefUse.maskCF_OF_PF_SF_ZF), 1411 new ArchOperator((char)(48 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_CMP 1412 ArchInstructionFormat.MIR_Compare_format, 1413 (compare | ArchInstructionFormat.MIR_Compare_traits), 1414 0, 0, 2, 1415 PhysicalDefUse.maskAF_CF_OF_PF_SF_ZF, 1416 PhysicalDefUse.mask), 1417 new ArchOperator((char)(49 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_CMPXCHG 1418 ArchInstructionFormat.MIR_CompareExchange_format, 1419 (compare | ArchInstructionFormat.MIR_CompareExchange_traits), 1420 0, 2, 1, 1421 PhysicalDefUse.maskAF_CF_OF_PF_SF_ZF, 1422 PhysicalDefUse.mask), 1423 new ArchOperator((char)(50 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_CMPXCHG8B 1424 ArchInstructionFormat.MIR_CompareExchange8B_format, 1425 (compare | ArchInstructionFormat.MIR_CompareExchange8B_traits), 1426 0, 3, 2, 1427 PhysicalDefUse.maskAF_CF_OF_PF_SF_ZF, 1428 PhysicalDefUse.mask), 1429 new ArchOperator((char)(51 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_DEC 1430 ArchInstructionFormat.MIR_UnaryAcc_format, 1431 (none | ArchInstructionFormat.MIR_UnaryAcc_traits), 1432 0, 1, 0, 1433 PhysicalDefUse.maskAF_OF_PF_SF_ZF, 1434 PhysicalDefUse.mask), 1435 new ArchOperator((char)(52 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_DIV 1436 ArchInstructionFormat.MIR_Divide_format, 1437 (none | ArchInstructionFormat.MIR_Divide_traits), 1438 0, 2, 2, 1439 PhysicalDefUse.maskAF_CF_OF_PF_SF_ZF, 1440 PhysicalDefUse.mask), 1441 new ArchOperator((char)(53 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_FADD 1442 ArchInstructionFormat.MIR_BinaryAcc_format, 1443 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 1444 0, 1, 1, 1445 PhysicalDefUse.maskC0_C1_C2_C3, 1446 PhysicalDefUse.mask), 1447 new ArchOperator((char)(54 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_FADDP 1448 ArchInstructionFormat.MIR_BinaryAcc_format, 1449 (fpPop | ArchInstructionFormat.MIR_BinaryAcc_traits), 1450 0, 1, 1, 1451 PhysicalDefUse.maskC0_C1_C2_C3, 1452 PhysicalDefUse.mask), 1453 new ArchOperator((char)(55 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_FCHS 1454 ArchInstructionFormat.MIR_UnaryAcc_format, 1455 (none | ArchInstructionFormat.MIR_UnaryAcc_traits), 1456 0, 1, 0, 1457 PhysicalDefUse.maskC0_C1_C2_C3, 1458 PhysicalDefUse.mask), 1459 new ArchOperator((char)(56 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_FCMOV 1460 ArchInstructionFormat.MIR_CondMove_format, 1461 (none | ArchInstructionFormat.MIR_CondMove_traits), 1462 0, 1, 2, 1463 PhysicalDefUse.maskC0_C1_C2_C3, 1464 PhysicalDefUse.maskCF_PF_ZF), 1465 new ArchOperator((char)(57 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_FCOMI 1466 ArchInstructionFormat.MIR_Compare_format, 1467 (compare | ArchInstructionFormat.MIR_Compare_traits), 1468 0, 0, 2, 1469 PhysicalDefUse.maskCF_PF_ZF, 1470 PhysicalDefUse.mask), 1471 new ArchOperator((char)(58 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_FCOMIP 1472 ArchInstructionFormat.MIR_Compare_format, 1473 (compare | fpPop | ArchInstructionFormat.MIR_Compare_traits), 1474 0, 0, 2, 1475 PhysicalDefUse.maskCF_PF_ZF, 1476 PhysicalDefUse.mask), 1477 new ArchOperator((char)(59 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_FDIV 1478 ArchInstructionFormat.MIR_BinaryAcc_format, 1479 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 1480 0, 1, 1, 1481 PhysicalDefUse.maskC0_C1_C2_C3, 1482 PhysicalDefUse.mask), 1483 new ArchOperator((char)(60 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_FDIVP 1484 ArchInstructionFormat.MIR_BinaryAcc_format, 1485 (fpPop | ArchInstructionFormat.MIR_BinaryAcc_traits), 1486 0, 1, 1, 1487 PhysicalDefUse.maskC0_C1_C2_C3, 1488 PhysicalDefUse.mask), 1489 new ArchOperator((char)(61 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_FDIVR 1490 ArchInstructionFormat.MIR_BinaryAcc_format, 1491 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 1492 0, 1, 1, 1493 PhysicalDefUse.maskC0_C1_C2_C3, 1494 PhysicalDefUse.mask), 1495 new ArchOperator((char)(62 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_FDIVRP 1496 ArchInstructionFormat.MIR_BinaryAcc_format, 1497 (fpPop | ArchInstructionFormat.MIR_BinaryAcc_traits), 1498 0, 1, 1, 1499 PhysicalDefUse.maskC0_C1_C2_C3, 1500 PhysicalDefUse.mask), 1501 new ArchOperator((char)(63 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_FEXAM 1502 ArchInstructionFormat.MIR_UnaryNoRes_format, 1503 (none | ArchInstructionFormat.MIR_UnaryNoRes_traits), 1504 0, 0, 1, 1505 PhysicalDefUse.maskC0_C1_C2_C3, 1506 PhysicalDefUse.mask), 1507 new ArchOperator((char)(64 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_FXCH 1508 ArchInstructionFormat.MIR_XChng_format, 1509 (none | ArchInstructionFormat.MIR_XChng_traits), 1510 0, 2, 0, 1511 PhysicalDefUse.maskC0_C1_C2_C3, 1512 PhysicalDefUse.mask), 1513 new ArchOperator((char)(65 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_FFREE 1514 ArchInstructionFormat.MIR_Nullary_format, 1515 (none | ArchInstructionFormat.MIR_Nullary_traits), 1516 1, 0, 0, 1517 PhysicalDefUse.maskC0_C1_C2_C3, 1518 PhysicalDefUse.mask), 1519 new ArchOperator((char)(66 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_FFREEP 1520 ArchInstructionFormat.MIR_Nullary_format, 1521 (none | ArchInstructionFormat.MIR_Nullary_traits), 1522 1, 0, 0, 1523 PhysicalDefUse.maskC0_C1_C2_C3, 1524 PhysicalDefUse.mask), 1525 new ArchOperator((char)(67 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_FIADD 1526 ArchInstructionFormat.MIR_BinaryAcc_format, 1527 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 1528 0, 1, 1, 1529 PhysicalDefUse.maskC0_C1_C2_C3, 1530 PhysicalDefUse.mask), 1531 new ArchOperator((char)(68 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_FIDIV 1532 ArchInstructionFormat.MIR_BinaryAcc_format, 1533 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 1534 0, 1, 1, 1535 PhysicalDefUse.maskC0_C1_C2_C3, 1536 PhysicalDefUse.mask), 1537 new ArchOperator((char)(69 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_FIDIVR 1538 ArchInstructionFormat.MIR_BinaryAcc_format, 1539 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 1540 0, 1, 1, 1541 PhysicalDefUse.maskC0_C1_C2_C3, 1542 PhysicalDefUse.mask), 1543 new ArchOperator((char)(70 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_FILD 1544 ArchInstructionFormat.MIR_Move_format, 1545 (fpPush | ArchInstructionFormat.MIR_Move_traits), 1546 1, 0, 1, 1547 PhysicalDefUse.maskC0_C1_C2_C3, 1548 PhysicalDefUse.mask), 1549 new ArchOperator((char)(71 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_FIMUL 1550 ArchInstructionFormat.MIR_BinaryAcc_format, 1551 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 1552 0, 1, 1, 1553 PhysicalDefUse.maskC0_C1_C2_C3, 1554 PhysicalDefUse.mask), 1555 new ArchOperator((char)(72 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_FINIT 1556 ArchInstructionFormat.MIR_Empty_format, 1557 (none | ArchInstructionFormat.MIR_Empty_traits), 1558 0, 0, 0, 1559 PhysicalDefUse.maskC0_C1_C2_C3, 1560 PhysicalDefUse.mask), 1561 new ArchOperator((char)(73 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_FIST 1562 ArchInstructionFormat.MIR_Move_format, 1563 (none | ArchInstructionFormat.MIR_Move_traits), 1564 1, 0, 1, 1565 PhysicalDefUse.maskC0_C1_C2_C3, 1566 PhysicalDefUse.mask), 1567 new ArchOperator((char)(74 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_FISTP 1568 ArchInstructionFormat.MIR_Move_format, 1569 (fpPop | ArchInstructionFormat.MIR_Move_traits), 1570 1, 0, 1, 1571 PhysicalDefUse.maskC0_C1_C2_C3, 1572 PhysicalDefUse.mask), 1573 new ArchOperator((char)(75 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_FISUB 1574 ArchInstructionFormat.MIR_BinaryAcc_format, 1575 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 1576 0, 1, 1, 1577 PhysicalDefUse.maskC0_C1_C2_C3, 1578 PhysicalDefUse.mask), 1579 new ArchOperator((char)(76 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_FISUBR 1580 ArchInstructionFormat.MIR_BinaryAcc_format, 1581 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 1582 0, 1, 1, 1583 PhysicalDefUse.maskC0_C1_C2_C3, 1584 PhysicalDefUse.mask), 1585 new ArchOperator((char)(77 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_FLD 1586 ArchInstructionFormat.MIR_Move_format, 1587 (fpPush | ArchInstructionFormat.MIR_Move_traits), 1588 1, 0, 1, 1589 PhysicalDefUse.maskC0_C1_C2_C3, 1590 PhysicalDefUse.mask), 1591 new ArchOperator((char)(78 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_FLDCW 1592 ArchInstructionFormat.MIR_UnaryNoRes_format, 1593 (none | ArchInstructionFormat.MIR_UnaryNoRes_traits), 1594 0, 0, 1, 1595 PhysicalDefUse.maskC0_C1_C2_C3, 1596 PhysicalDefUse.mask), 1597 new ArchOperator((char)(79 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_FLD1 1598 ArchInstructionFormat.MIR_Nullary_format, 1599 (fpPush | ArchInstructionFormat.MIR_Nullary_traits), 1600 1, 0, 0, 1601 PhysicalDefUse.maskC0_C1_C2_C3, 1602 PhysicalDefUse.mask), 1603 new ArchOperator((char)(80 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_FLDL2T 1604 ArchInstructionFormat.MIR_Nullary_format, 1605 (fpPush | ArchInstructionFormat.MIR_Nullary_traits), 1606 1, 0, 0, 1607 PhysicalDefUse.maskC0_C1_C2_C3, 1608 PhysicalDefUse.mask), 1609 new ArchOperator((char)(81 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_FLDL2E 1610 ArchInstructionFormat.MIR_Nullary_format, 1611 (fpPush | ArchInstructionFormat.MIR_Nullary_traits), 1612 1, 0, 0, 1613 PhysicalDefUse.maskC0_C1_C2_C3, 1614 PhysicalDefUse.mask), 1615 new ArchOperator((char)(82 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_FLDPI 1616 ArchInstructionFormat.MIR_Nullary_format, 1617 (fpPush | ArchInstructionFormat.MIR_Nullary_traits), 1618 1, 0, 0, 1619 PhysicalDefUse.maskC0_C1_C2_C3, 1620 PhysicalDefUse.mask), 1621 new ArchOperator((char)(83 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_FLDLG2 1622 ArchInstructionFormat.MIR_Nullary_format, 1623 (fpPush | ArchInstructionFormat.MIR_Nullary_traits), 1624 1, 0, 0, 1625 PhysicalDefUse.maskC0_C1_C2_C3, 1626 PhysicalDefUse.mask), 1627 new ArchOperator((char)(84 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_FLDLN2 1628 ArchInstructionFormat.MIR_Nullary_format, 1629 (fpPush | ArchInstructionFormat.MIR_Nullary_traits), 1630 1, 0, 0, 1631 PhysicalDefUse.maskC0_C1_C2_C3, 1632 PhysicalDefUse.mask), 1633 new ArchOperator((char)(85 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_FLDZ 1634 ArchInstructionFormat.MIR_Nullary_format, 1635 (fpPush | ArchInstructionFormat.MIR_Nullary_traits), 1636 1, 0, 0, 1637 PhysicalDefUse.maskC0_C1_C2_C3, 1638 PhysicalDefUse.mask), 1639 new ArchOperator((char)(86 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_FMUL 1640 ArchInstructionFormat.MIR_BinaryAcc_format, 1641 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 1642 0, 1, 1, 1643 PhysicalDefUse.maskC0_C1_C2_C3, 1644 PhysicalDefUse.mask), 1645 new ArchOperator((char)(87 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_FMULP 1646 ArchInstructionFormat.MIR_BinaryAcc_format, 1647 (fpPop | ArchInstructionFormat.MIR_BinaryAcc_traits), 1648 0, 1, 1, 1649 PhysicalDefUse.maskC0_C1_C2_C3, 1650 PhysicalDefUse.mask), 1651 new ArchOperator((char)(88 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_FNSTCW 1652 ArchInstructionFormat.MIR_UnaryNoRes_format, 1653 (none | ArchInstructionFormat.MIR_UnaryNoRes_traits), 1654 0, 0, 1, 1655 PhysicalDefUse.maskC0_C1_C2_C3, 1656 PhysicalDefUse.mask), 1657 new ArchOperator((char)(89 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_FNSTSW 1658 ArchInstructionFormat.MIR_Unary_format, 1659 (none | ArchInstructionFormat.MIR_Unary_traits), 1660 1, 0, 1, 1661 PhysicalDefUse.maskC0_C1_C2_C3, 1662 PhysicalDefUse.maskC0_C1_C2_C3), 1663 new ArchOperator((char)(90 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_FNINIT 1664 ArchInstructionFormat.MIR_Empty_format, 1665 (none | ArchInstructionFormat.MIR_Empty_traits), 1666 0, 0, 0, 1667 PhysicalDefUse.maskC0_C1_C2_C3, 1668 PhysicalDefUse.mask), 1669 new ArchOperator((char)(91 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_FNSAVE 1670 ArchInstructionFormat.MIR_FSave_format, 1671 (none | ArchInstructionFormat.MIR_FSave_traits), 1672 0, 0, 1, 1673 PhysicalDefUse.maskC0_C1_C2_C3, 1674 PhysicalDefUse.mask), 1675 new ArchOperator((char)(92 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_FPREM 1676 ArchInstructionFormat.MIR_BinaryAcc_format, 1677 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 1678 0, 1, 1, 1679 PhysicalDefUse.maskC0_C1_C2_C3, 1680 PhysicalDefUse.mask), 1681 new ArchOperator((char)(93 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_FRSTOR 1682 ArchInstructionFormat.MIR_FSave_format, 1683 (none | ArchInstructionFormat.MIR_FSave_traits), 1684 0, 0, 1, 1685 PhysicalDefUse.maskC0_C1_C2_C3, 1686 PhysicalDefUse.mask), 1687 new ArchOperator((char)(94 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_FST 1688 ArchInstructionFormat.MIR_Move_format, 1689 (none | ArchInstructionFormat.MIR_Move_traits), 1690 1, 0, 1, 1691 PhysicalDefUse.maskC0_C1_C2_C3, 1692 PhysicalDefUse.mask), 1693 new ArchOperator((char)(95 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_FSTCW 1694 ArchInstructionFormat.MIR_UnaryNoRes_format, 1695 (none | ArchInstructionFormat.MIR_UnaryNoRes_traits), 1696 0, 0, 1, 1697 PhysicalDefUse.maskC0_C1_C2_C3, 1698 PhysicalDefUse.mask), 1699 new ArchOperator((char)(96 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_FSTSW 1700 ArchInstructionFormat.MIR_Unary_format, 1701 (none | ArchInstructionFormat.MIR_Unary_traits), 1702 1, 0, 1, 1703 PhysicalDefUse.maskC0_C1_C2_C3, 1704 PhysicalDefUse.maskC0_C1_C2_C3), 1705 new ArchOperator((char)(97 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_FSTP 1706 ArchInstructionFormat.MIR_Move_format, 1707 (fpPop | ArchInstructionFormat.MIR_Move_traits), 1708 1, 0, 1, 1709 PhysicalDefUse.maskC0_C1_C2_C3, 1710 PhysicalDefUse.mask), 1711 new ArchOperator((char)(98 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_FSUB 1712 ArchInstructionFormat.MIR_BinaryAcc_format, 1713 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 1714 0, 1, 1, 1715 PhysicalDefUse.maskC0_C1_C2_C3, 1716 PhysicalDefUse.mask), 1717 new ArchOperator((char)(99 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_FSUBP 1718 ArchInstructionFormat.MIR_BinaryAcc_format, 1719 (fpPop | ArchInstructionFormat.MIR_BinaryAcc_traits), 1720 0, 1, 1, 1721 PhysicalDefUse.maskC0_C1_C2_C3, 1722 PhysicalDefUse.mask), 1723 new ArchOperator((char)(100 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_FSUBR 1724 ArchInstructionFormat.MIR_BinaryAcc_format, 1725 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 1726 0, 1, 1, 1727 PhysicalDefUse.maskC0_C1_C2_C3, 1728 PhysicalDefUse.mask), 1729 new ArchOperator((char)(101 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_FSUBRP 1730 ArchInstructionFormat.MIR_BinaryAcc_format, 1731 (fpPop | ArchInstructionFormat.MIR_BinaryAcc_traits), 1732 0, 1, 1, 1733 PhysicalDefUse.maskC0_C1_C2_C3, 1734 PhysicalDefUse.mask), 1735 new ArchOperator((char)(102 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_FUCOMI 1736 ArchInstructionFormat.MIR_Compare_format, 1737 (compare | ArchInstructionFormat.MIR_Compare_traits), 1738 0, 0, 2, 1739 PhysicalDefUse.maskCF_PF_ZF, 1740 PhysicalDefUse.mask), 1741 new ArchOperator((char)(103 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_FUCOMIP 1742 ArchInstructionFormat.MIR_Compare_format, 1743 (compare | ArchInstructionFormat.MIR_Compare_traits), 1744 0, 0, 2, 1745 PhysicalDefUse.maskCF_PF_ZF, 1746 PhysicalDefUse.mask), 1747 new ArchOperator((char)(104 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_IDIV 1748 ArchInstructionFormat.MIR_Divide_format, 1749 (none | ArchInstructionFormat.MIR_Divide_traits), 1750 0, 2, 2, 1751 PhysicalDefUse.maskAF_CF_OF_PF_SF_ZF, 1752 PhysicalDefUse.mask), 1753 new ArchOperator((char)(105 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_IMUL1 1754 ArchInstructionFormat.MIR_Multiply_format, 1755 (none | ArchInstructionFormat.MIR_Multiply_traits), 1756 1, 1, 1, 1757 PhysicalDefUse.maskAF_CF_OF_PF_SF_ZF, 1758 PhysicalDefUse.mask), 1759 new ArchOperator((char)(106 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_IMUL2 1760 ArchInstructionFormat.MIR_BinaryAcc_format, 1761 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 1762 0, 1, 1, 1763 PhysicalDefUse.maskAF_CF_OF_PF_SF_ZF, 1764 PhysicalDefUse.mask), 1765 new ArchOperator((char)(107 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_INC 1766 ArchInstructionFormat.MIR_UnaryAcc_format, 1767 (none | ArchInstructionFormat.MIR_UnaryAcc_traits), 1768 0, 1, 0, 1769 PhysicalDefUse.maskAF_OF_PF_SF_ZF, 1770 PhysicalDefUse.mask), 1771 new ArchOperator((char)(108 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_INT 1772 ArchInstructionFormat.MIR_Trap_format, 1773 (immedPEI | ArchInstructionFormat.MIR_Trap_traits), 1774 1, 0, 1, 1775 PhysicalDefUse.mask, 1776 PhysicalDefUse.mask), 1777 new ArchOperator((char)(109 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_JCC 1778 ArchInstructionFormat.MIR_CondBranch_format, 1779 (branch | conditional | ArchInstructionFormat.MIR_CondBranch_traits), 1780 0, 0, 3, 1781 PhysicalDefUse.mask, 1782 PhysicalDefUse.maskAF_CF_OF_PF_SF_ZF), 1783 new ArchOperator((char)(110 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_JCC2 1784 ArchInstructionFormat.MIR_CondBranch2_format, 1785 (branch | conditional | ArchInstructionFormat.MIR_CondBranch2_traits), 1786 0, 0, 6, 1787 PhysicalDefUse.mask, 1788 PhysicalDefUse.maskAF_CF_OF_PF_SF_ZF), 1789 new ArchOperator((char)(111 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_JMP 1790 ArchInstructionFormat.MIR_Branch_format, 1791 (branch | ArchInstructionFormat.MIR_Branch_traits), 1792 0, 0, 1, 1793 PhysicalDefUse.mask, 1794 PhysicalDefUse.mask), 1795 new ArchOperator((char)(112 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_LEA 1796 ArchInstructionFormat.MIR_Lea_format, 1797 (none | ArchInstructionFormat.MIR_Lea_traits), 1798 1, 0, 1, 1799 PhysicalDefUse.mask, 1800 PhysicalDefUse.mask), 1801 new ArchOperator((char)(113 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_LOCK 1802 ArchInstructionFormat.MIR_Empty_format, 1803 (none | ArchInstructionFormat.MIR_Empty_traits), 1804 0, 0, 0, 1805 PhysicalDefUse.mask, 1806 PhysicalDefUse.mask), 1807 new ArchOperator((char)(114 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_MOV 1808 ArchInstructionFormat.MIR_Move_format, 1809 (move | ArchInstructionFormat.MIR_Move_traits), 1810 1, 0, 1, 1811 PhysicalDefUse.mask, 1812 PhysicalDefUse.mask), 1813 new ArchOperator((char)(115 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_MOVZX__B 1814 ArchInstructionFormat.MIR_Unary_format, 1815 (move | ArchInstructionFormat.MIR_Unary_traits), 1816 1, 0, 1, 1817 PhysicalDefUse.mask, 1818 PhysicalDefUse.mask), 1819 new ArchOperator((char)(116 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_MOVSX__B 1820 ArchInstructionFormat.MIR_Unary_format, 1821 (move | ArchInstructionFormat.MIR_Unary_traits), 1822 1, 0, 1, 1823 PhysicalDefUse.mask, 1824 PhysicalDefUse.mask), 1825 new ArchOperator((char)(117 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_MOVZX__W 1826 ArchInstructionFormat.MIR_Unary_format, 1827 (move | ArchInstructionFormat.MIR_Unary_traits), 1828 1, 0, 1, 1829 PhysicalDefUse.mask, 1830 PhysicalDefUse.mask), 1831 new ArchOperator((char)(118 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_MOVSX__W 1832 ArchInstructionFormat.MIR_Unary_format, 1833 (move | ArchInstructionFormat.MIR_Unary_traits), 1834 1, 0, 1, 1835 PhysicalDefUse.mask, 1836 PhysicalDefUse.mask), 1837 new ArchOperator((char)(119 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_MOVZXQ__B 1838 ArchInstructionFormat.MIR_Unary_format, 1839 (move | ArchInstructionFormat.MIR_Unary_traits), 1840 1, 0, 1, 1841 PhysicalDefUse.mask, 1842 PhysicalDefUse.mask), 1843 new ArchOperator((char)(120 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_MOVSXQ__B 1844 ArchInstructionFormat.MIR_Unary_format, 1845 (move | ArchInstructionFormat.MIR_Unary_traits), 1846 1, 0, 1, 1847 PhysicalDefUse.mask, 1848 PhysicalDefUse.mask), 1849 new ArchOperator((char)(121 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_MOVZXQ__W 1850 ArchInstructionFormat.MIR_Unary_format, 1851 (move | ArchInstructionFormat.MIR_Unary_traits), 1852 1, 0, 1, 1853 PhysicalDefUse.mask, 1854 PhysicalDefUse.mask), 1855 new ArchOperator((char)(122 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_MOVSXQ__W 1856 ArchInstructionFormat.MIR_Unary_format, 1857 (move | ArchInstructionFormat.MIR_Unary_traits), 1858 1, 0, 1, 1859 PhysicalDefUse.mask, 1860 PhysicalDefUse.mask), 1861 new ArchOperator((char)(123 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_MOVSXDQ 1862 ArchInstructionFormat.MIR_Unary_format, 1863 (move | ArchInstructionFormat.MIR_Unary_traits), 1864 1, 0, 1, 1865 PhysicalDefUse.mask, 1866 PhysicalDefUse.mask), 1867 new ArchOperator((char)(124 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_MUL 1868 ArchInstructionFormat.MIR_Multiply_format, 1869 (none | ArchInstructionFormat.MIR_Multiply_traits), 1870 1, 1, 1, 1871 PhysicalDefUse.maskAF_CF_OF_PF_SF_ZF, 1872 PhysicalDefUse.mask), 1873 new ArchOperator((char)(125 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_NEG 1874 ArchInstructionFormat.MIR_UnaryAcc_format, 1875 (none | ArchInstructionFormat.MIR_UnaryAcc_traits), 1876 0, 1, 0, 1877 PhysicalDefUse.maskAF_CF_OF_PF_SF_ZF, 1878 PhysicalDefUse.mask), 1879 new ArchOperator((char)(126 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_NOT 1880 ArchInstructionFormat.MIR_UnaryAcc_format, 1881 (none | ArchInstructionFormat.MIR_UnaryAcc_traits), 1882 0, 1, 0, 1883 PhysicalDefUse.mask, 1884 PhysicalDefUse.mask), 1885 new ArchOperator((char)(127 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_OR 1886 ArchInstructionFormat.MIR_BinaryAcc_format, 1887 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 1888 0, 1, 1, 1889 PhysicalDefUse.maskAF_CF_OF_PF_SF_ZF, 1890 PhysicalDefUse.mask), 1891 new ArchOperator((char)(128 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_MFENCE 1892 ArchInstructionFormat.MIR_Empty_format, 1893 (none | ArchInstructionFormat.MIR_Empty_traits), 1894 0, 0, 0, 1895 PhysicalDefUse.mask, 1896 PhysicalDefUse.mask), 1897 new ArchOperator((char)(129 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_PAUSE 1898 ArchInstructionFormat.MIR_Empty_format, 1899 (none | ArchInstructionFormat.MIR_Empty_traits), 1900 0, 0, 0, 1901 PhysicalDefUse.mask, 1902 PhysicalDefUse.mask), 1903 new ArchOperator((char)(130 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_PREFETCHNTA 1904 ArchInstructionFormat.MIR_CacheOp_format, 1905 (none | ArchInstructionFormat.MIR_CacheOp_traits), 1906 0, 0, 1, 1907 PhysicalDefUse.mask, 1908 PhysicalDefUse.mask), 1909 new ArchOperator((char)(131 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_POP 1910 ArchInstructionFormat.MIR_Nullary_format, 1911 (none | ArchInstructionFormat.MIR_Nullary_traits), 1912 1, 0, 0, 1913 PhysicalDefUse.maskESP, 1914 PhysicalDefUse.maskESP), 1915 new ArchOperator((char)(132 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_PUSH 1916 ArchInstructionFormat.MIR_UnaryNoRes_format, 1917 (none | ArchInstructionFormat.MIR_UnaryNoRes_traits), 1918 0, 0, 1, 1919 PhysicalDefUse.maskESP, 1920 PhysicalDefUse.maskESP), 1921 new ArchOperator((char)(133 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_RCL 1922 ArchInstructionFormat.MIR_BinaryAcc_format, 1923 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 1924 0, 1, 1, 1925 PhysicalDefUse.maskCF_OF, 1926 PhysicalDefUse.maskCF), 1927 new ArchOperator((char)(134 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_RCR 1928 ArchInstructionFormat.MIR_BinaryAcc_format, 1929 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 1930 0, 1, 1, 1931 PhysicalDefUse.maskCF_OF, 1932 PhysicalDefUse.maskCF), 1933 new ArchOperator((char)(135 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_ROL 1934 ArchInstructionFormat.MIR_BinaryAcc_format, 1935 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 1936 0, 1, 1, 1937 PhysicalDefUse.maskCF_OF, 1938 PhysicalDefUse.mask), 1939 new ArchOperator((char)(136 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_ROR 1940 ArchInstructionFormat.MIR_BinaryAcc_format, 1941 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 1942 0, 1, 1, 1943 PhysicalDefUse.maskCF_OF, 1944 PhysicalDefUse.mask), 1945 new ArchOperator((char)(137 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_RET 1946 ArchInstructionFormat.MIR_Return_format, 1947 (ret | ArchInstructionFormat.MIR_Return_traits), 1948 0, 0, 3, 1949 PhysicalDefUse.maskESP, 1950 PhysicalDefUse.maskESP), 1951 new ArchOperator((char)(138 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_SAL 1952 ArchInstructionFormat.MIR_BinaryAcc_format, 1953 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 1954 0, 1, 1, 1955 PhysicalDefUse.maskAF_CF_OF_PF_SF_ZF, 1956 PhysicalDefUse.mask), 1957 new ArchOperator((char)(139 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_SAR 1958 ArchInstructionFormat.MIR_BinaryAcc_format, 1959 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 1960 0, 1, 1, 1961 PhysicalDefUse.maskAF_CF_OF_PF_SF_ZF, 1962 PhysicalDefUse.mask), 1963 new ArchOperator((char)(140 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_SHL 1964 ArchInstructionFormat.MIR_BinaryAcc_format, 1965 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 1966 0, 1, 1, 1967 PhysicalDefUse.maskAF_CF_OF_PF_SF_ZF, 1968 PhysicalDefUse.mask), 1969 new ArchOperator((char)(141 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_SHR 1970 ArchInstructionFormat.MIR_BinaryAcc_format, 1971 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 1972 0, 1, 1, 1973 PhysicalDefUse.maskAF_CF_OF_PF_SF_ZF, 1974 PhysicalDefUse.mask), 1975 new ArchOperator((char)(142 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_SBB 1976 ArchInstructionFormat.MIR_BinaryAcc_format, 1977 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 1978 0, 1, 1, 1979 PhysicalDefUse.maskAF_CF_OF_PF_SF_ZF, 1980 PhysicalDefUse.maskCF), 1981 new ArchOperator((char)(143 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_SET__B 1982 ArchInstructionFormat.MIR_Set_format, 1983 (none | ArchInstructionFormat.MIR_Set_traits), 1984 1, 0, 1, 1985 PhysicalDefUse.mask, 1986 PhysicalDefUse.maskAF_CF_OF_PF_SF_ZF), 1987 new ArchOperator((char)(144 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_SHLD 1988 ArchInstructionFormat.MIR_DoubleShift_format, 1989 (none | ArchInstructionFormat.MIR_DoubleShift_traits), 1990 0, 1, 2, 1991 PhysicalDefUse.maskAF_CF_OF_PF_SF_ZF, 1992 PhysicalDefUse.mask), 1993 new ArchOperator((char)(145 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_SHRD 1994 ArchInstructionFormat.MIR_DoubleShift_format, 1995 (none | ArchInstructionFormat.MIR_DoubleShift_traits), 1996 0, 1, 2, 1997 PhysicalDefUse.maskAF_CF_OF_PF_SF_ZF, 1998 PhysicalDefUse.mask), 1999 new ArchOperator((char)(146 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_SUB 2000 ArchInstructionFormat.MIR_BinaryAcc_format, 2001 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 2002 0, 1, 1, 2003 PhysicalDefUse.maskAF_CF_OF_PF_SF_ZF, 2004 PhysicalDefUse.mask), 2005 new ArchOperator((char)(147 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_TEST 2006 ArchInstructionFormat.MIR_Test_format, 2007 (none | ArchInstructionFormat.MIR_Test_traits), 2008 0, 0, 2, 2009 PhysicalDefUse.maskAF_CF_OF_PF_SF_ZF, 2010 PhysicalDefUse.mask), 2011 new ArchOperator((char)(148 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_XOR 2012 ArchInstructionFormat.MIR_BinaryAcc_format, 2013 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 2014 0, 1, 1, 2015 PhysicalDefUse.maskAF_CF_OF_PF_SF_ZF, 2016 PhysicalDefUse.mask), 2017 new ArchOperator((char)(149 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_RDTSC 2018 ArchInstructionFormat.MIR_RDTSC_format, 2019 (none | ArchInstructionFormat.MIR_RDTSC_traits), 2020 2, 0, 0, 2021 PhysicalDefUse.maskCF_OF, 2022 PhysicalDefUse.mask), 2023 new ArchOperator((char)(150 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_ADDSS 2024 ArchInstructionFormat.MIR_BinaryAcc_format, 2025 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 2026 0, 1, 1, 2027 PhysicalDefUse.mask, 2028 PhysicalDefUse.mask), 2029 new ArchOperator((char)(151 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_SUBSS 2030 ArchInstructionFormat.MIR_BinaryAcc_format, 2031 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 2032 0, 1, 1, 2033 PhysicalDefUse.mask, 2034 PhysicalDefUse.mask), 2035 new ArchOperator((char)(152 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_MULSS 2036 ArchInstructionFormat.MIR_BinaryAcc_format, 2037 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 2038 0, 1, 1, 2039 PhysicalDefUse.mask, 2040 PhysicalDefUse.mask), 2041 new ArchOperator((char)(153 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_DIVSS 2042 ArchInstructionFormat.MIR_BinaryAcc_format, 2043 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 2044 0, 1, 1, 2045 PhysicalDefUse.mask, 2046 PhysicalDefUse.mask), 2047 new ArchOperator((char)(154 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_ADDSD 2048 ArchInstructionFormat.MIR_BinaryAcc_format, 2049 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 2050 0, 1, 1, 2051 PhysicalDefUse.mask, 2052 PhysicalDefUse.mask), 2053 new ArchOperator((char)(155 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_SUBSD 2054 ArchInstructionFormat.MIR_BinaryAcc_format, 2055 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 2056 0, 1, 1, 2057 PhysicalDefUse.mask, 2058 PhysicalDefUse.mask), 2059 new ArchOperator((char)(156 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_MULSD 2060 ArchInstructionFormat.MIR_BinaryAcc_format, 2061 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 2062 0, 1, 1, 2063 PhysicalDefUse.mask, 2064 PhysicalDefUse.mask), 2065 new ArchOperator((char)(157 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_DIVSD 2066 ArchInstructionFormat.MIR_BinaryAcc_format, 2067 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 2068 0, 1, 1, 2069 PhysicalDefUse.mask, 2070 PhysicalDefUse.mask), 2071 new ArchOperator((char)(158 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_ANDPS 2072 ArchInstructionFormat.MIR_BinaryAcc_format, 2073 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 2074 0, 1, 1, 2075 PhysicalDefUse.mask, 2076 PhysicalDefUse.mask), 2077 new ArchOperator((char)(159 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_ANDPD 2078 ArchInstructionFormat.MIR_BinaryAcc_format, 2079 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 2080 0, 1, 1, 2081 PhysicalDefUse.mask, 2082 PhysicalDefUse.mask), 2083 new ArchOperator((char)(160 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_ANDNPS 2084 ArchInstructionFormat.MIR_BinaryAcc_format, 2085 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 2086 0, 1, 1, 2087 PhysicalDefUse.mask, 2088 PhysicalDefUse.mask), 2089 new ArchOperator((char)(161 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_ANDNPD 2090 ArchInstructionFormat.MIR_BinaryAcc_format, 2091 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 2092 0, 1, 1, 2093 PhysicalDefUse.mask, 2094 PhysicalDefUse.mask), 2095 new ArchOperator((char)(162 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_ORPS 2096 ArchInstructionFormat.MIR_BinaryAcc_format, 2097 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 2098 0, 1, 1, 2099 PhysicalDefUse.mask, 2100 PhysicalDefUse.mask), 2101 new ArchOperator((char)(163 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_ORPD 2102 ArchInstructionFormat.MIR_BinaryAcc_format, 2103 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 2104 0, 1, 1, 2105 PhysicalDefUse.mask, 2106 PhysicalDefUse.mask), 2107 new ArchOperator((char)(164 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_XORPS 2108 ArchInstructionFormat.MIR_BinaryAcc_format, 2109 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 2110 0, 1, 1, 2111 PhysicalDefUse.mask, 2112 PhysicalDefUse.mask), 2113 new ArchOperator((char)(165 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_XORPD 2114 ArchInstructionFormat.MIR_BinaryAcc_format, 2115 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 2116 0, 1, 1, 2117 PhysicalDefUse.mask, 2118 PhysicalDefUse.mask), 2119 new ArchOperator((char)(166 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_UCOMISS 2120 ArchInstructionFormat.MIR_Compare_format, 2121 (compare | ArchInstructionFormat.MIR_Compare_traits), 2122 0, 0, 2, 2123 PhysicalDefUse.maskCF_PF_ZF, 2124 PhysicalDefUse.mask), 2125 new ArchOperator((char)(167 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_UCOMISD 2126 ArchInstructionFormat.MIR_Compare_format, 2127 (compare | ArchInstructionFormat.MIR_Compare_traits), 2128 0, 0, 2, 2129 PhysicalDefUse.maskCF_PF_ZF, 2130 PhysicalDefUse.mask), 2131 new ArchOperator((char)(168 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_CMPEQSS 2132 ArchInstructionFormat.MIR_BinaryAcc_format, 2133 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 2134 0, 1, 1, 2135 PhysicalDefUse.mask, 2136 PhysicalDefUse.mask), 2137 new ArchOperator((char)(169 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_CMPLTSS 2138 ArchInstructionFormat.MIR_BinaryAcc_format, 2139 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 2140 0, 1, 1, 2141 PhysicalDefUse.mask, 2142 PhysicalDefUse.mask), 2143 new ArchOperator((char)(170 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_CMPLESS 2144 ArchInstructionFormat.MIR_BinaryAcc_format, 2145 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 2146 0, 1, 1, 2147 PhysicalDefUse.mask, 2148 PhysicalDefUse.mask), 2149 new ArchOperator((char)(171 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_CMPUNORDSS 2150 ArchInstructionFormat.MIR_BinaryAcc_format, 2151 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 2152 0, 1, 1, 2153 PhysicalDefUse.mask, 2154 PhysicalDefUse.mask), 2155 new ArchOperator((char)(172 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_CMPNESS 2156 ArchInstructionFormat.MIR_BinaryAcc_format, 2157 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 2158 0, 1, 1, 2159 PhysicalDefUse.mask, 2160 PhysicalDefUse.mask), 2161 new ArchOperator((char)(173 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_CMPNLTSS 2162 ArchInstructionFormat.MIR_BinaryAcc_format, 2163 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 2164 0, 1, 1, 2165 PhysicalDefUse.mask, 2166 PhysicalDefUse.mask), 2167 new ArchOperator((char)(174 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_CMPNLESS 2168 ArchInstructionFormat.MIR_BinaryAcc_format, 2169 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 2170 0, 1, 1, 2171 PhysicalDefUse.mask, 2172 PhysicalDefUse.mask), 2173 new ArchOperator((char)(175 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_CMPORDSS 2174 ArchInstructionFormat.MIR_BinaryAcc_format, 2175 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 2176 0, 1, 1, 2177 PhysicalDefUse.mask, 2178 PhysicalDefUse.mask), 2179 new ArchOperator((char)(176 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_CMPEQSD 2180 ArchInstructionFormat.MIR_BinaryAcc_format, 2181 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 2182 0, 1, 1, 2183 PhysicalDefUse.mask, 2184 PhysicalDefUse.mask), 2185 new ArchOperator((char)(177 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_CMPLTSD 2186 ArchInstructionFormat.MIR_BinaryAcc_format, 2187 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 2188 0, 1, 1, 2189 PhysicalDefUse.mask, 2190 PhysicalDefUse.mask), 2191 new ArchOperator((char)(178 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_CMPLESD 2192 ArchInstructionFormat.MIR_BinaryAcc_format, 2193 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 2194 0, 1, 1, 2195 PhysicalDefUse.mask, 2196 PhysicalDefUse.mask), 2197 new ArchOperator((char)(179 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_CMPUNORDSD 2198 ArchInstructionFormat.MIR_BinaryAcc_format, 2199 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 2200 0, 1, 1, 2201 PhysicalDefUse.mask, 2202 PhysicalDefUse.mask), 2203 new ArchOperator((char)(180 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_CMPNESD 2204 ArchInstructionFormat.MIR_BinaryAcc_format, 2205 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 2206 0, 1, 1, 2207 PhysicalDefUse.mask, 2208 PhysicalDefUse.mask), 2209 new ArchOperator((char)(181 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_CMPNLTSD 2210 ArchInstructionFormat.MIR_BinaryAcc_format, 2211 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 2212 0, 1, 1, 2213 PhysicalDefUse.mask, 2214 PhysicalDefUse.mask), 2215 new ArchOperator((char)(182 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_CMPNLESD 2216 ArchInstructionFormat.MIR_BinaryAcc_format, 2217 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 2218 0, 1, 1, 2219 PhysicalDefUse.mask, 2220 PhysicalDefUse.mask), 2221 new ArchOperator((char)(183 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_CMPORDSD 2222 ArchInstructionFormat.MIR_BinaryAcc_format, 2223 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 2224 0, 1, 1, 2225 PhysicalDefUse.mask, 2226 PhysicalDefUse.mask), 2227 new ArchOperator((char)(184 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_MOVAPD 2228 ArchInstructionFormat.MIR_Move_format, 2229 (move | ArchInstructionFormat.MIR_Move_traits), 2230 1, 0, 1, 2231 PhysicalDefUse.mask, 2232 PhysicalDefUse.mask), 2233 new ArchOperator((char)(185 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_MOVAPS 2234 ArchInstructionFormat.MIR_Move_format, 2235 (move | ArchInstructionFormat.MIR_Move_traits), 2236 1, 0, 1, 2237 PhysicalDefUse.mask, 2238 PhysicalDefUse.mask), 2239 new ArchOperator((char)(186 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_MOVLPD 2240 ArchInstructionFormat.MIR_Move_format, 2241 (move | ArchInstructionFormat.MIR_Move_traits), 2242 1, 0, 1, 2243 PhysicalDefUse.mask, 2244 PhysicalDefUse.mask), 2245 new ArchOperator((char)(187 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_MOVLPS 2246 ArchInstructionFormat.MIR_Move_format, 2247 (move | ArchInstructionFormat.MIR_Move_traits), 2248 1, 0, 1, 2249 PhysicalDefUse.mask, 2250 PhysicalDefUse.mask), 2251 new ArchOperator((char)(188 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_MOVSS 2252 ArchInstructionFormat.MIR_Move_format, 2253 (move | ArchInstructionFormat.MIR_Move_traits), 2254 1, 0, 1, 2255 PhysicalDefUse.mask, 2256 PhysicalDefUse.mask), 2257 new ArchOperator((char)(189 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_MOVSD 2258 ArchInstructionFormat.MIR_Move_format, 2259 (move | ArchInstructionFormat.MIR_Move_traits), 2260 1, 0, 1, 2261 PhysicalDefUse.mask, 2262 PhysicalDefUse.mask), 2263 new ArchOperator((char)(190 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_MOVD 2264 ArchInstructionFormat.MIR_Move_format, 2265 (move | ArchInstructionFormat.MIR_Move_traits), 2266 1, 0, 1, 2267 PhysicalDefUse.mask, 2268 PhysicalDefUse.mask), 2269 new ArchOperator((char)(191 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_MOVQ 2270 ArchInstructionFormat.MIR_Move_format, 2271 (move | ArchInstructionFormat.MIR_Move_traits), 2272 1, 0, 1, 2273 PhysicalDefUse.mask, 2274 PhysicalDefUse.mask), 2275 new ArchOperator((char)(192 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_PSLLQ 2276 ArchInstructionFormat.MIR_BinaryAcc_format, 2277 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 2278 0, 1, 1, 2279 PhysicalDefUse.mask, 2280 PhysicalDefUse.mask), 2281 new ArchOperator((char)(193 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_PSRLQ 2282 ArchInstructionFormat.MIR_BinaryAcc_format, 2283 (none | ArchInstructionFormat.MIR_BinaryAcc_traits), 2284 0, 1, 1, 2285 PhysicalDefUse.mask, 2286 PhysicalDefUse.mask), 2287 new ArchOperator((char)(194 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_SQRTSS 2288 ArchInstructionFormat.MIR_Unary_format, 2289 (none | ArchInstructionFormat.MIR_Unary_traits), 2290 1, 0, 1, 2291 PhysicalDefUse.maskC0_C1_C2_C3, 2292 PhysicalDefUse.mask), 2293 new ArchOperator((char)(195 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_SQRTSD 2294 ArchInstructionFormat.MIR_Unary_format, 2295 (none | ArchInstructionFormat.MIR_Unary_traits), 2296 1, 0, 1, 2297 PhysicalDefUse.maskC0_C1_C2_C3, 2298 PhysicalDefUse.mask), 2299 new ArchOperator((char)(196 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_CVTSI2SS 2300 ArchInstructionFormat.MIR_Unary_format, 2301 (move | ArchInstructionFormat.MIR_Unary_traits), 2302 1, 0, 1, 2303 PhysicalDefUse.mask, 2304 PhysicalDefUse.mask), 2305 new ArchOperator((char)(197 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_CVTSS2SD 2306 ArchInstructionFormat.MIR_Unary_format, 2307 (move | ArchInstructionFormat.MIR_Unary_traits), 2308 1, 0, 1, 2309 PhysicalDefUse.mask, 2310 PhysicalDefUse.mask), 2311 new ArchOperator((char)(198 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_CVTSS2SI 2312 ArchInstructionFormat.MIR_Unary_format, 2313 (move | ArchInstructionFormat.MIR_Unary_traits), 2314 1, 0, 1, 2315 PhysicalDefUse.mask, 2316 PhysicalDefUse.mask), 2317 new ArchOperator((char)(199 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_CVTTSS2SI 2318 ArchInstructionFormat.MIR_Unary_format, 2319 (move | ArchInstructionFormat.MIR_Unary_traits), 2320 1, 0, 1, 2321 PhysicalDefUse.mask, 2322 PhysicalDefUse.mask), 2323 new ArchOperator((char)(200 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_CVTSI2SD 2324 ArchInstructionFormat.MIR_Unary_format, 2325 (move | ArchInstructionFormat.MIR_Unary_traits), 2326 1, 0, 1, 2327 PhysicalDefUse.mask, 2328 PhysicalDefUse.mask), 2329 new ArchOperator((char)(201 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_CVTSD2SS 2330 ArchInstructionFormat.MIR_Unary_format, 2331 (move | ArchInstructionFormat.MIR_Unary_traits), 2332 1, 0, 1, 2333 PhysicalDefUse.mask, 2334 PhysicalDefUse.mask), 2335 new ArchOperator((char)(202 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_CVTSD2SI 2336 ArchInstructionFormat.MIR_Unary_format, 2337 (move | ArchInstructionFormat.MIR_Unary_traits), 2338 1, 0, 1, 2339 PhysicalDefUse.mask, 2340 PhysicalDefUse.mask), 2341 new ArchOperator((char)(203 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_CVTTSD2SI 2342 ArchInstructionFormat.MIR_Unary_format, 2343 (move | ArchInstructionFormat.MIR_Unary_traits), 2344 1, 0, 1, 2345 PhysicalDefUse.mask, 2346 PhysicalDefUse.mask), 2347 new ArchOperator((char)(204 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_CVTSI2SDQ 2348 ArchInstructionFormat.MIR_Unary_format, 2349 (move | ArchInstructionFormat.MIR_Unary_traits), 2350 1, 0, 1, 2351 PhysicalDefUse.mask, 2352 PhysicalDefUse.mask), 2353 new ArchOperator((char)(205 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_CVTSD2SIQ 2354 ArchInstructionFormat.MIR_Unary_format, 2355 (move | ArchInstructionFormat.MIR_Unary_traits), 2356 1, 0, 1, 2357 PhysicalDefUse.mask, 2358 PhysicalDefUse.mask), 2359 new ArchOperator((char)(206 + Operators.ARCH_INDEPENDENT_END_opcode), //IA32_CVTTSD2SIQ 2360 ArchInstructionFormat.MIR_Unary_format, 2361 (move | ArchInstructionFormat.MIR_Unary_traits), 2362 1, 0, 1, 2363 PhysicalDefUse.mask, 2364 PhysicalDefUse.mask), 2365 new ArchOperator((char)(207 + Operators.ARCH_INDEPENDENT_END_opcode), //MIR_END 2366 ArchInstructionFormat.Unassigned_format, 2367 (none), 2368 0,0,0, 2369 PhysicalDefUse.mask, 2370 PhysicalDefUse.mask), 2371 null }; 2372 2373 2374 @Pure 2375 public static Operator lookupOpcode(int opcode) { 2376 return OperatorArray[opcode]; 2377 } 2378 2379 /** @return array that holds all operators for this architecture */ 2380 public static Operator[] operatorArray() { 2381 return OperatorArray; 2382 } 2383 2384 /** 2385 * Instruction template used by the assembler to 2386 * generate binary code. Only valid on MIR operators. 2387 */ 2388 @Override 2389 public int instTemplate() { 2390 org.jikesrvm.compilers.opt.OptimizingCompilerException.UNREACHABLE(); 2391 return 0; 2392 } 2393 2394 /* Constructor for HIR/LIR */ 2395 private ArchOperator(char opcode, byte format, int traits, 2396 int numDefs, int numDefUses, int numUses, 2397 int iDefs, int iUses) { 2398 super(opcode, format, traits, numDefs, numDefUses, numUses, iDefs, iUses); 2399 } 2400 2401}