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 ppcOperatorList.dat 017 * 018 * DO NOT MANUALLY EDIT THE JAVA FILE. 019 */ 020 021package org.jikesrvm.compilers.opt.ir.ppc; 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), //DCBF 1124 ArchInstructionFormat.CacheOp_format, 1125 (memAsLoad | memAsStore | ArchInstructionFormat.CacheOp_traits), 1126 0, 0, 1, 1127 PhysicalDefUse.mask, 1128 PhysicalDefUse.mask, 1129 -1), 1130 new ArchOperator((char)(1 + Operators.ARCH_INDEPENDENT_END_opcode), //DCBST 1131 ArchInstructionFormat.CacheOp_format, 1132 (memAsLoad | memAsStore | ArchInstructionFormat.CacheOp_traits), 1133 0, 0, 1, 1134 PhysicalDefUse.mask, 1135 PhysicalDefUse.mask, 1136 -1), 1137 new ArchOperator((char)(2 + Operators.ARCH_INDEPENDENT_END_opcode), //DCBT 1138 ArchInstructionFormat.CacheOp_format, 1139 (memAsLoad | memAsStore | ArchInstructionFormat.CacheOp_traits), 1140 0, 0, 1, 1141 PhysicalDefUse.mask, 1142 PhysicalDefUse.mask, 1143 -1), 1144 new ArchOperator((char)(3 + Operators.ARCH_INDEPENDENT_END_opcode), //DCBTST 1145 ArchInstructionFormat.CacheOp_format, 1146 (memAsLoad | memAsStore | ArchInstructionFormat.CacheOp_traits), 1147 0, 0, 1, 1148 PhysicalDefUse.mask, 1149 PhysicalDefUse.mask, 1150 -1), 1151 new ArchOperator((char)(4 + Operators.ARCH_INDEPENDENT_END_opcode), //DCBZ 1152 ArchInstructionFormat.CacheOp_format, 1153 (memAsLoad | memAsStore | ArchInstructionFormat.CacheOp_traits), 1154 0, 0, 1, 1155 PhysicalDefUse.mask, 1156 PhysicalDefUse.mask, 1157 -1), 1158 new ArchOperator((char)(5 + Operators.ARCH_INDEPENDENT_END_opcode), //DCBZL 1159 ArchInstructionFormat.CacheOp_format, 1160 (memAsLoad | memAsStore | ArchInstructionFormat.CacheOp_traits), 1161 0, 0, 1, 1162 PhysicalDefUse.mask, 1163 PhysicalDefUse.mask, 1164 -1), 1165 new ArchOperator((char)(6 + Operators.ARCH_INDEPENDENT_END_opcode), //ICBI 1166 ArchInstructionFormat.CacheOp_format, 1167 (memAsLoad | memAsStore | ArchInstructionFormat.CacheOp_traits), 1168 0, 0, 1, 1169 PhysicalDefUse.mask, 1170 PhysicalDefUse.mask, 1171 -1), 1172 new ArchOperator((char)(7 + Operators.ARCH_INDEPENDENT_END_opcode), //CALL_SAVE_VOLATILE 1173 ArchInstructionFormat.MIR_Call_format, 1174 (call | immedPEI | ArchInstructionFormat.MIR_Call_traits), 1175 2, 0, 2, 1176 PhysicalDefUse.mask, 1177 PhysicalDefUse.mask, 1178 -1), 1179 new ArchOperator((char)(8 + Operators.ARCH_INDEPENDENT_END_opcode), //MIR_START 1180 ArchInstructionFormat.Unassigned_format, 1181 (none), 1182 0,0,0, 1183 PhysicalDefUse.mask, 1184 PhysicalDefUse.mask, 1185 -1), 1186 new ArchOperator((char)(9 + Operators.ARCH_INDEPENDENT_END_opcode), //MIR_LOWTABLESWITCH 1187 ArchInstructionFormat.MIR_LowTableSwitch_format, 1188 (branch | ArchInstructionFormat.MIR_LowTableSwitch_traits), 1189 0, 1, 0, 1190 PhysicalDefUse.mask, 1191 PhysicalDefUse.mask, 1192 -1), 1193 new ArchOperator((char)(10 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_DATA_INT 1194 ArchInstructionFormat.MIR_DataInt_format, 1195 (none | ArchInstructionFormat.MIR_DataInt_traits), 1196 0, 0, 1, 1197 PhysicalDefUse.mask, 1198 PhysicalDefUse.mask, 1199 -1), 1200 new ArchOperator((char)(11 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_DATA_LABEL 1201 ArchInstructionFormat.MIR_DataLabel_format, 1202 (none | ArchInstructionFormat.MIR_DataLabel_traits), 1203 0, 0, 1, 1204 PhysicalDefUse.mask, 1205 PhysicalDefUse.mask, 1206 -1), 1207 new ArchOperator((char)(12 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_ADD 1208 ArchInstructionFormat.MIR_Binary_format, 1209 (none | ArchInstructionFormat.MIR_Binary_traits), 1210 1, 0, 2, 1211 PhysicalDefUse.mask, 1212 PhysicalDefUse.mask, 1213 (31<<26 | 266<<1)), 1214 new ArchOperator((char)(13 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_ADDr 1215 ArchInstructionFormat.MIR_Binary_format, 1216 (compare | ArchInstructionFormat.MIR_Binary_traits), 1217 1, 0, 2, 1218 PhysicalDefUse.maskC0, 1219 PhysicalDefUse.mask, 1220 (31<<26 | 266<<1 | 1)), 1221 new ArchOperator((char)(14 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_ADDC 1222 ArchInstructionFormat.MIR_Binary_format, 1223 (none | ArchInstructionFormat.MIR_Binary_traits), 1224 1, 0, 2, 1225 PhysicalDefUse.maskXER, 1226 PhysicalDefUse.mask, 1227 (31<<26 | 10<<1)), 1228 new ArchOperator((char)(15 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_ADDE 1229 ArchInstructionFormat.MIR_Binary_format, 1230 (none | ArchInstructionFormat.MIR_Binary_traits), 1231 1, 0, 2, 1232 PhysicalDefUse.mask, 1233 PhysicalDefUse.maskXER, 1234 (31<<26 | 138<<1)), 1235 new ArchOperator((char)(16 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_ADDZE 1236 ArchInstructionFormat.MIR_Unary_format, 1237 (none | ArchInstructionFormat.MIR_Unary_traits), 1238 1, 0, 1, 1239 PhysicalDefUse.mask, 1240 PhysicalDefUse.maskXER, 1241 (31<<26 | 202<<1)), 1242 new ArchOperator((char)(17 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_ADDME 1243 ArchInstructionFormat.MIR_Unary_format, 1244 (none | ArchInstructionFormat.MIR_Unary_traits), 1245 1, 0, 1, 1246 PhysicalDefUse.mask, 1247 PhysicalDefUse.maskXER, 1248 (31<<26 | 234<<1)), 1249 new ArchOperator((char)(18 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_ADDIC 1250 ArchInstructionFormat.MIR_Binary_format, 1251 (none | ArchInstructionFormat.MIR_Binary_traits), 1252 1, 0, 2, 1253 PhysicalDefUse.maskXER, 1254 PhysicalDefUse.mask, 1255 (12<<26)), 1256 new ArchOperator((char)(19 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_ADDICr 1257 ArchInstructionFormat.MIR_Binary_format, 1258 (compare | ArchInstructionFormat.MIR_Binary_traits), 1259 1, 0, 2, 1260 PhysicalDefUse.maskC0_XER, 1261 PhysicalDefUse.mask, 1262 (13<<26)), 1263 new ArchOperator((char)(20 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_SUBF 1264 ArchInstructionFormat.MIR_Binary_format, 1265 (none | ArchInstructionFormat.MIR_Binary_traits), 1266 1, 0, 2, 1267 PhysicalDefUse.mask, 1268 PhysicalDefUse.mask, 1269 (31<<26 | 40<<1)), 1270 new ArchOperator((char)(21 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_SUBFr 1271 ArchInstructionFormat.MIR_Binary_format, 1272 (compare | ArchInstructionFormat.MIR_Binary_traits), 1273 1, 0, 2, 1274 PhysicalDefUse.maskC0, 1275 PhysicalDefUse.mask, 1276 (31<<26 | 40<<1 | 1)), 1277 new ArchOperator((char)(22 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_SUBFC 1278 ArchInstructionFormat.MIR_Binary_format, 1279 (none | ArchInstructionFormat.MIR_Binary_traits), 1280 1, 0, 2, 1281 PhysicalDefUse.maskXER, 1282 PhysicalDefUse.mask, 1283 (31<<26 | 8<<1)), 1284 new ArchOperator((char)(23 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_SUBFCr 1285 ArchInstructionFormat.MIR_Binary_format, 1286 (compare | ArchInstructionFormat.MIR_Binary_traits), 1287 1, 0, 2, 1288 PhysicalDefUse.maskC0_XER, 1289 PhysicalDefUse.mask, 1290 (31<<26 | 8<<1 | 1)), 1291 new ArchOperator((char)(24 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_SUBFIC 1292 ArchInstructionFormat.MIR_Binary_format, 1293 (none | ArchInstructionFormat.MIR_Binary_traits), 1294 1, 0, 2, 1295 PhysicalDefUse.maskXER, 1296 PhysicalDefUse.mask, 1297 (8<<26)), 1298 new ArchOperator((char)(25 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_SUBFE 1299 ArchInstructionFormat.MIR_Binary_format, 1300 (none | ArchInstructionFormat.MIR_Binary_traits), 1301 1, 0, 2, 1302 PhysicalDefUse.mask, 1303 PhysicalDefUse.maskXER, 1304 (31<<26 | 136<<1)), 1305 new ArchOperator((char)(26 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_SUBFZE 1306 ArchInstructionFormat.MIR_Unary_format, 1307 (none | ArchInstructionFormat.MIR_Unary_traits), 1308 1, 0, 1, 1309 PhysicalDefUse.mask, 1310 PhysicalDefUse.maskXER, 1311 (31<<26 | 200<<1)), 1312 new ArchOperator((char)(27 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_SUBFME 1313 ArchInstructionFormat.MIR_Unary_format, 1314 (none | ArchInstructionFormat.MIR_Unary_traits), 1315 1, 0, 1, 1316 PhysicalDefUse.mask, 1317 PhysicalDefUse.maskXER, 1318 (31<<26 | 232<<1)), 1319 new ArchOperator((char)(28 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_AND 1320 ArchInstructionFormat.MIR_Binary_format, 1321 (none | ArchInstructionFormat.MIR_Binary_traits), 1322 1, 0, 2, 1323 PhysicalDefUse.mask, 1324 PhysicalDefUse.mask, 1325 (31<<26 | 28<<1)), 1326 new ArchOperator((char)(29 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_ANDr 1327 ArchInstructionFormat.MIR_Binary_format, 1328 (compare | ArchInstructionFormat.MIR_Binary_traits), 1329 1, 0, 2, 1330 PhysicalDefUse.maskC0, 1331 PhysicalDefUse.mask, 1332 (31<<26 | 28<<1 | 1)), 1333 new ArchOperator((char)(30 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_ANDIr 1334 ArchInstructionFormat.MIR_Binary_format, 1335 (compare | ArchInstructionFormat.MIR_Binary_traits), 1336 1, 0, 2, 1337 PhysicalDefUse.maskC0, 1338 PhysicalDefUse.mask, 1339 (28<<26)), 1340 new ArchOperator((char)(31 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_ANDISr 1341 ArchInstructionFormat.MIR_Binary_format, 1342 (compare | ArchInstructionFormat.MIR_Binary_traits), 1343 1, 0, 2, 1344 PhysicalDefUse.maskC0, 1345 PhysicalDefUse.mask, 1346 (29<<26)), 1347 new ArchOperator((char)(32 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_NAND 1348 ArchInstructionFormat.MIR_Binary_format, 1349 (none | ArchInstructionFormat.MIR_Binary_traits), 1350 1, 0, 2, 1351 PhysicalDefUse.mask, 1352 PhysicalDefUse.mask, 1353 (31<<26 | 476<<1)), 1354 new ArchOperator((char)(33 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_NANDr 1355 ArchInstructionFormat.MIR_Binary_format, 1356 (compare | ArchInstructionFormat.MIR_Binary_traits), 1357 1, 0, 2, 1358 PhysicalDefUse.maskC0, 1359 PhysicalDefUse.mask, 1360 (31<<26 | 476<<1 | 1)), 1361 new ArchOperator((char)(34 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_ANDC 1362 ArchInstructionFormat.MIR_Binary_format, 1363 (none | ArchInstructionFormat.MIR_Binary_traits), 1364 1, 0, 2, 1365 PhysicalDefUse.mask, 1366 PhysicalDefUse.mask, 1367 (31<<26 | 60<<1)), 1368 new ArchOperator((char)(35 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_ANDCr 1369 ArchInstructionFormat.MIR_Binary_format, 1370 (compare | ArchInstructionFormat.MIR_Binary_traits), 1371 1, 0, 2, 1372 PhysicalDefUse.maskC0, 1373 PhysicalDefUse.mask, 1374 (31<<26 | 60<<1 | 1)), 1375 new ArchOperator((char)(36 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_OR 1376 ArchInstructionFormat.MIR_Binary_format, 1377 (none | ArchInstructionFormat.MIR_Binary_traits), 1378 1, 0, 2, 1379 PhysicalDefUse.mask, 1380 PhysicalDefUse.mask, 1381 (31<<26 | 444<<1)), 1382 new ArchOperator((char)(37 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_ORr 1383 ArchInstructionFormat.MIR_Binary_format, 1384 (compare | ArchInstructionFormat.MIR_Binary_traits), 1385 1, 0, 2, 1386 PhysicalDefUse.maskC0, 1387 PhysicalDefUse.mask, 1388 (31<<26 | 444<<1 | 1)), 1389 new ArchOperator((char)(38 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_MOVE 1390 ArchInstructionFormat.MIR_Move_format, 1391 (move | ArchInstructionFormat.MIR_Move_traits), 1392 1, 0, 1, 1393 PhysicalDefUse.mask, 1394 PhysicalDefUse.mask, 1395 (24<<26)), 1396 new ArchOperator((char)(39 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_ORI 1397 ArchInstructionFormat.MIR_Binary_format, 1398 (none | ArchInstructionFormat.MIR_Binary_traits), 1399 1, 0, 2, 1400 PhysicalDefUse.mask, 1401 PhysicalDefUse.mask, 1402 (24<<26)), 1403 new ArchOperator((char)(40 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_ORIS 1404 ArchInstructionFormat.MIR_Binary_format, 1405 (none | ArchInstructionFormat.MIR_Binary_traits), 1406 1, 0, 2, 1407 PhysicalDefUse.mask, 1408 PhysicalDefUse.mask, 1409 (25<<26)), 1410 new ArchOperator((char)(41 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_NOR 1411 ArchInstructionFormat.MIR_Binary_format, 1412 (none | ArchInstructionFormat.MIR_Binary_traits), 1413 1, 0, 2, 1414 PhysicalDefUse.mask, 1415 PhysicalDefUse.mask, 1416 (31<<26 | 124<<1)), 1417 new ArchOperator((char)(42 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_NORr 1418 ArchInstructionFormat.MIR_Binary_format, 1419 (compare | ArchInstructionFormat.MIR_Binary_traits), 1420 1, 0, 2, 1421 PhysicalDefUse.maskC0, 1422 PhysicalDefUse.mask, 1423 (31<<26 | 124<<1 | 1)), 1424 new ArchOperator((char)(43 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_ORC 1425 ArchInstructionFormat.MIR_Binary_format, 1426 (none | ArchInstructionFormat.MIR_Binary_traits), 1427 1, 0, 2, 1428 PhysicalDefUse.mask, 1429 PhysicalDefUse.mask, 1430 (31<<26 | 412<<1)), 1431 new ArchOperator((char)(44 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_ORCr 1432 ArchInstructionFormat.MIR_Binary_format, 1433 (compare | ArchInstructionFormat.MIR_Binary_traits), 1434 1, 0, 2, 1435 PhysicalDefUse.maskC0, 1436 PhysicalDefUse.mask, 1437 (31<<26 | 412<<1 | 1)), 1438 new ArchOperator((char)(45 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_XOR 1439 ArchInstructionFormat.MIR_Binary_format, 1440 (none | ArchInstructionFormat.MIR_Binary_traits), 1441 1, 0, 2, 1442 PhysicalDefUse.mask, 1443 PhysicalDefUse.mask, 1444 (31<<26 | 316<<1)), 1445 new ArchOperator((char)(46 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_XORr 1446 ArchInstructionFormat.MIR_Binary_format, 1447 (compare | ArchInstructionFormat.MIR_Binary_traits), 1448 1, 0, 2, 1449 PhysicalDefUse.maskC0, 1450 PhysicalDefUse.mask, 1451 (31<<26 | 316<<1 | 1)), 1452 new ArchOperator((char)(47 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_XORI 1453 ArchInstructionFormat.MIR_Binary_format, 1454 (none | ArchInstructionFormat.MIR_Binary_traits), 1455 1, 0, 2, 1456 PhysicalDefUse.mask, 1457 PhysicalDefUse.mask, 1458 (26<<26)), 1459 new ArchOperator((char)(48 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_XORIS 1460 ArchInstructionFormat.MIR_Binary_format, 1461 (none | ArchInstructionFormat.MIR_Binary_traits), 1462 1, 0, 2, 1463 PhysicalDefUse.mask, 1464 PhysicalDefUse.mask, 1465 (27<<26)), 1466 new ArchOperator((char)(49 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_EQV 1467 ArchInstructionFormat.MIR_Binary_format, 1468 (none | ArchInstructionFormat.MIR_Binary_traits), 1469 1, 0, 2, 1470 PhysicalDefUse.mask, 1471 PhysicalDefUse.mask, 1472 (31<<26 | 284<<1)), 1473 new ArchOperator((char)(50 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_EQVr 1474 ArchInstructionFormat.MIR_Binary_format, 1475 (compare | ArchInstructionFormat.MIR_Binary_traits), 1476 1, 0, 2, 1477 PhysicalDefUse.maskC0, 1478 PhysicalDefUse.mask, 1479 (31<<26 | 284<<1 | 1)), 1480 new ArchOperator((char)(51 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_NEG 1481 ArchInstructionFormat.MIR_Unary_format, 1482 (none | ArchInstructionFormat.MIR_Unary_traits), 1483 1, 0, 1, 1484 PhysicalDefUse.mask, 1485 PhysicalDefUse.mask, 1486 (31<<26 | 104<<1)), 1487 new ArchOperator((char)(52 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_NEGr 1488 ArchInstructionFormat.MIR_Unary_format, 1489 (compare | ArchInstructionFormat.MIR_Unary_traits), 1490 1, 0, 1, 1491 PhysicalDefUse.maskC0, 1492 PhysicalDefUse.mask, 1493 (31<<26 | 104<<1 | 1)), 1494 new ArchOperator((char)(53 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_CNTLZW 1495 ArchInstructionFormat.MIR_Unary_format, 1496 (none | ArchInstructionFormat.MIR_Unary_traits), 1497 1, 0, 1, 1498 PhysicalDefUse.mask, 1499 PhysicalDefUse.mask, 1500 (31<<26 | 26<<1)), 1501 new ArchOperator((char)(54 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_EXTSB 1502 ArchInstructionFormat.MIR_Unary_format, 1503 (none | ArchInstructionFormat.MIR_Unary_traits), 1504 1, 0, 1, 1505 PhysicalDefUse.mask, 1506 PhysicalDefUse.mask, 1507 (31<<26 | 954<<1)), 1508 new ArchOperator((char)(55 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_EXTSBr 1509 ArchInstructionFormat.MIR_Unary_format, 1510 (compare | ArchInstructionFormat.MIR_Unary_traits), 1511 1, 0, 1, 1512 PhysicalDefUse.maskC0, 1513 PhysicalDefUse.mask, 1514 (31<<26 | 954<<1 | 1)), 1515 new ArchOperator((char)(56 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_EXTSH 1516 ArchInstructionFormat.MIR_Unary_format, 1517 (none | ArchInstructionFormat.MIR_Unary_traits), 1518 1, 0, 1, 1519 PhysicalDefUse.mask, 1520 PhysicalDefUse.mask, 1521 (31<<26 | 922<<1)), 1522 new ArchOperator((char)(57 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_EXTSHr 1523 ArchInstructionFormat.MIR_Unary_format, 1524 (compare | ArchInstructionFormat.MIR_Unary_traits), 1525 1, 0, 1, 1526 PhysicalDefUse.maskC0, 1527 PhysicalDefUse.mask, 1528 (31<<26 | 922<<1 | 1)), 1529 new ArchOperator((char)(58 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_SLW 1530 ArchInstructionFormat.MIR_Binary_format, 1531 (none | ArchInstructionFormat.MIR_Binary_traits), 1532 1, 0, 2, 1533 PhysicalDefUse.mask, 1534 PhysicalDefUse.mask, 1535 (31<<26 | 24<<1)), 1536 new ArchOperator((char)(59 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_SLWr 1537 ArchInstructionFormat.MIR_Binary_format, 1538 (compare | ArchInstructionFormat.MIR_Binary_traits), 1539 1, 0, 2, 1540 PhysicalDefUse.maskC0, 1541 PhysicalDefUse.mask, 1542 (31<<26 | 24<<1 | 1)), 1543 new ArchOperator((char)(60 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_SLWI 1544 ArchInstructionFormat.MIR_Binary_format, 1545 (none | ArchInstructionFormat.MIR_Binary_traits), 1546 1, 0, 2, 1547 PhysicalDefUse.mask, 1548 PhysicalDefUse.mask, 1549 (21<<26)), 1550 new ArchOperator((char)(61 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_SLWIr 1551 ArchInstructionFormat.MIR_Binary_format, 1552 (compare | ArchInstructionFormat.MIR_Binary_traits), 1553 1, 0, 2, 1554 PhysicalDefUse.maskC0, 1555 PhysicalDefUse.mask, 1556 (21<<26 | 1)), 1557 new ArchOperator((char)(62 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_SRW 1558 ArchInstructionFormat.MIR_Binary_format, 1559 (none | ArchInstructionFormat.MIR_Binary_traits), 1560 1, 0, 2, 1561 PhysicalDefUse.maskXER, 1562 PhysicalDefUse.mask, 1563 (31<<26 | 536<<1)), 1564 new ArchOperator((char)(63 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_SRWr 1565 ArchInstructionFormat.MIR_Binary_format, 1566 (compare | ArchInstructionFormat.MIR_Binary_traits), 1567 1, 0, 2, 1568 PhysicalDefUse.maskC0_XER, 1569 PhysicalDefUse.mask, 1570 (31<<26 | 536<<1 | 1)), 1571 new ArchOperator((char)(64 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_SRWI 1572 ArchInstructionFormat.MIR_Binary_format, 1573 (none | ArchInstructionFormat.MIR_Binary_traits), 1574 1, 0, 2, 1575 PhysicalDefUse.maskXER, 1576 PhysicalDefUse.mask, 1577 (21<<26 | 31<<1)), 1578 new ArchOperator((char)(65 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_SRWIr 1579 ArchInstructionFormat.MIR_Binary_format, 1580 (compare | ArchInstructionFormat.MIR_Binary_traits), 1581 1, 0, 2, 1582 PhysicalDefUse.maskC0_XER, 1583 PhysicalDefUse.mask, 1584 (21<<26 | 31<<1 | 1)), 1585 new ArchOperator((char)(66 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_SRAW 1586 ArchInstructionFormat.MIR_Binary_format, 1587 (none | ArchInstructionFormat.MIR_Binary_traits), 1588 1, 0, 2, 1589 PhysicalDefUse.maskXER, 1590 PhysicalDefUse.mask, 1591 (31<<26 | 792<<1)), 1592 new ArchOperator((char)(67 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_SRAWr 1593 ArchInstructionFormat.MIR_Binary_format, 1594 (compare | ArchInstructionFormat.MIR_Binary_traits), 1595 1, 0, 2, 1596 PhysicalDefUse.maskC0_XER, 1597 PhysicalDefUse.mask, 1598 (31<<26 | 792<<1 | 1)), 1599 new ArchOperator((char)(68 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_SRAWI 1600 ArchInstructionFormat.MIR_Binary_format, 1601 (none | ArchInstructionFormat.MIR_Binary_traits), 1602 1, 0, 2, 1603 PhysicalDefUse.maskXER, 1604 PhysicalDefUse.mask, 1605 (31<<26 | 824<<1)), 1606 new ArchOperator((char)(69 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_SRAWIr 1607 ArchInstructionFormat.MIR_Binary_format, 1608 (compare | ArchInstructionFormat.MIR_Binary_traits), 1609 1, 0, 2, 1610 PhysicalDefUse.maskC0_XER, 1611 PhysicalDefUse.mask, 1612 (31<<26 | 824<<1 | 1)), 1613 new ArchOperator((char)(70 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_RLWINM 1614 ArchInstructionFormat.MIR_RotateAndMask_format, 1615 (none | ArchInstructionFormat.MIR_RotateAndMask_traits), 1616 1, 0, 5, 1617 PhysicalDefUse.mask, 1618 PhysicalDefUse.mask, 1619 (21<<26)), 1620 new ArchOperator((char)(71 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_RLWINMr 1621 ArchInstructionFormat.MIR_RotateAndMask_format, 1622 (compare | ArchInstructionFormat.MIR_RotateAndMask_traits), 1623 1, 0, 5, 1624 PhysicalDefUse.maskC0, 1625 PhysicalDefUse.mask, 1626 (21<<26 | 1)), 1627 new ArchOperator((char)(72 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_RLWIMI 1628 ArchInstructionFormat.MIR_RotateAndMask_format, 1629 (none | ArchInstructionFormat.MIR_RotateAndMask_traits), 1630 1, 0, 5, 1631 PhysicalDefUse.mask, 1632 PhysicalDefUse.mask, 1633 (20<<26)), 1634 new ArchOperator((char)(73 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_RLWIMIr 1635 ArchInstructionFormat.MIR_RotateAndMask_format, 1636 (compare | ArchInstructionFormat.MIR_RotateAndMask_traits), 1637 1, 0, 5, 1638 PhysicalDefUse.maskC0, 1639 PhysicalDefUse.mask, 1640 (20<<26 | 1)), 1641 new ArchOperator((char)(74 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_RLWNM 1642 ArchInstructionFormat.MIR_RotateAndMask_format, 1643 (none | ArchInstructionFormat.MIR_RotateAndMask_traits), 1644 1, 0, 5, 1645 PhysicalDefUse.mask, 1646 PhysicalDefUse.mask, 1647 (23<<26)), 1648 new ArchOperator((char)(75 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_RLWNMr 1649 ArchInstructionFormat.MIR_RotateAndMask_format, 1650 (compare | ArchInstructionFormat.MIR_RotateAndMask_traits), 1651 1, 0, 5, 1652 PhysicalDefUse.maskC0, 1653 PhysicalDefUse.mask, 1654 (23<<26)), 1655 new ArchOperator((char)(76 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_B 1656 ArchInstructionFormat.MIR_Branch_format, 1657 (branch | ArchInstructionFormat.MIR_Branch_traits), 1658 0, 0, 1, 1659 PhysicalDefUse.mask, 1660 PhysicalDefUse.mask, 1661 (18<<26)), 1662 new ArchOperator((char)(77 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_BL 1663 ArchInstructionFormat.MIR_Call_format, 1664 (call | dynLink | immedPEI | ArchInstructionFormat.MIR_Call_traits), 1665 2, 0, 2, 1666 PhysicalDefUse.maskLR, 1667 PhysicalDefUse.maskJTOC, 1668 (18<<26 | 1)), 1669 new ArchOperator((char)(78 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_BL_SYS 1670 ArchInstructionFormat.MIR_Call_format, 1671 (call | dynLink | immedPEI | ArchInstructionFormat.MIR_Call_traits), 1672 2, 0, 2, 1673 PhysicalDefUse.maskLR, 1674 PhysicalDefUse.maskJTOC, 1675 (18<<26 | 1)), 1676 new ArchOperator((char)(79 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_BLR 1677 ArchInstructionFormat.MIR_Return_format, 1678 (ret | ArchInstructionFormat.MIR_Return_traits), 1679 0, 0, 2, 1680 PhysicalDefUse.mask, 1681 PhysicalDefUse.maskLR, 1682 (19<<26 | 0x14<<21 | 16<<1)), 1683 new ArchOperator((char)(80 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_BCTR 1684 ArchInstructionFormat.MIR_Branch_format, 1685 (branch | indirect | ArchInstructionFormat.MIR_Branch_traits), 1686 0, 0, 1, 1687 PhysicalDefUse.mask, 1688 PhysicalDefUse.maskCTR, 1689 (19<<26 | 0x14<<21 | 528<<1)), 1690 new ArchOperator((char)(81 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_BCTRL 1691 ArchInstructionFormat.MIR_Call_format, 1692 (call | indirect | dynLink | immedPEI | ArchInstructionFormat.MIR_Call_traits), 1693 2, 0, 2, 1694 PhysicalDefUse.maskLR, 1695 PhysicalDefUse.maskJTOC_CTR, 1696 (19<<26 | 0x14<<21 | 528<<1 | 1)), 1697 new ArchOperator((char)(82 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_BCTRL_SYS 1698 ArchInstructionFormat.MIR_Call_format, 1699 (call | indirect | dynLink | immedPEI | ArchInstructionFormat.MIR_Call_traits), 1700 2, 0, 2, 1701 PhysicalDefUse.maskLR, 1702 PhysicalDefUse.maskJTOC_CTR, 1703 (19<<26 | 0x14<<21 | 528<<1 | 1)), 1704 new ArchOperator((char)(83 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_BCLR 1705 ArchInstructionFormat.MIR_CondBranch_format, 1706 (branch | conditional | indirect | ArchInstructionFormat.MIR_CondBranch_traits), 1707 0, 0, 4, 1708 PhysicalDefUse.mask, 1709 PhysicalDefUse.maskLR, 1710 (19<<26 | 16<<1)), 1711 new ArchOperator((char)(84 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_BLRL 1712 ArchInstructionFormat.MIR_Call_format, 1713 (call | indirect | dynLink | immedPEI | ArchInstructionFormat.MIR_Call_traits), 1714 2, 0, 2, 1715 PhysicalDefUse.maskLR, 1716 PhysicalDefUse.maskJTOC_LR, 1717 (19<<26 | 0x14<<21 | 16<<1 | 1)), 1718 new ArchOperator((char)(85 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_BCLRL 1719 ArchInstructionFormat.MIR_CondCall_format, 1720 (call | conditional | indirect | dynLink | immedPEI | ArchInstructionFormat.MIR_CondCall_traits), 1721 2, 0, 3, 1722 PhysicalDefUse.maskLR, 1723 PhysicalDefUse.maskJTOC_LR, 1724 (19<<26 | 16<<1 | 1)), 1725 new ArchOperator((char)(86 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_BC 1726 ArchInstructionFormat.MIR_CondBranch_format, 1727 (branch | conditional | ArchInstructionFormat.MIR_CondBranch_traits), 1728 0, 0, 4, 1729 PhysicalDefUse.mask, 1730 PhysicalDefUse.mask, 1731 (16<<26)), 1732 new ArchOperator((char)(87 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_BCL 1733 ArchInstructionFormat.MIR_CondCall_format, 1734 (call | conditional | dynLink | immedPEI | ArchInstructionFormat.MIR_CondCall_traits), 1735 2, 0, 3, 1736 PhysicalDefUse.maskLR, 1737 PhysicalDefUse.maskJTOC, 1738 (16<<26 | 1)), 1739 new ArchOperator((char)(88 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_BCOND 1740 ArchInstructionFormat.MIR_CondBranch_format, 1741 (branch | conditional | ArchInstructionFormat.MIR_CondBranch_traits), 1742 0, 0, 4, 1743 PhysicalDefUse.mask, 1744 PhysicalDefUse.mask, 1745 (16<<26)), 1746 new ArchOperator((char)(89 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_BCOND2 1747 ArchInstructionFormat.MIR_CondBranch2_format, 1748 (branch | conditional | ArchInstructionFormat.MIR_CondBranch2_traits), 1749 0, 0, 7, 1750 PhysicalDefUse.mask, 1751 PhysicalDefUse.mask, 1752 -1), 1753 new ArchOperator((char)(90 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_BCCTR 1754 ArchInstructionFormat.MIR_CondBranch_format, 1755 (branch | conditional | indirect | ArchInstructionFormat.MIR_CondBranch_traits), 1756 0, 0, 4, 1757 PhysicalDefUse.mask, 1758 PhysicalDefUse.maskCTR, 1759 (19<<26) | (528<<1)), 1760 new ArchOperator((char)(91 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_BCC 1761 ArchInstructionFormat.MIR_CondBranch_format, 1762 (branch | conditional | ArchInstructionFormat.MIR_CondBranch_traits), 1763 0, 0, 4, 1764 PhysicalDefUse.maskCTR, 1765 PhysicalDefUse.mask, 1766 (16<<26)), 1767 new ArchOperator((char)(92 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_ADDI 1768 ArchInstructionFormat.MIR_Binary_format, 1769 (none | ArchInstructionFormat.MIR_Binary_traits), 1770 1, 0, 2, 1771 PhysicalDefUse.mask, 1772 PhysicalDefUse.mask, 1773 (14<<26)), 1774 new ArchOperator((char)(93 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_ADDIS 1775 ArchInstructionFormat.MIR_Binary_format, 1776 (none | ArchInstructionFormat.MIR_Binary_traits), 1777 1, 0, 2, 1778 PhysicalDefUse.mask, 1779 PhysicalDefUse.mask, 1780 (15<<26)), 1781 new ArchOperator((char)(94 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_LDI 1782 ArchInstructionFormat.MIR_Unary_format, 1783 (none | ArchInstructionFormat.MIR_Unary_traits), 1784 1, 0, 1, 1785 PhysicalDefUse.mask, 1786 PhysicalDefUse.mask, 1787 (14<<26)), 1788 new ArchOperator((char)(95 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_LDIS 1789 ArchInstructionFormat.MIR_Unary_format, 1790 (none | ArchInstructionFormat.MIR_Unary_traits), 1791 1, 0, 1, 1792 PhysicalDefUse.mask, 1793 PhysicalDefUse.mask, 1794 (15<<26)), 1795 new ArchOperator((char)(96 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_CMP 1796 ArchInstructionFormat.MIR_Binary_format, 1797 (compare | ArchInstructionFormat.MIR_Binary_traits), 1798 1, 0, 2, 1799 PhysicalDefUse.mask, 1800 PhysicalDefUse.mask, 1801 (31<<26 | 0<<1)), 1802 new ArchOperator((char)(97 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_CMPI 1803 ArchInstructionFormat.MIR_Binary_format, 1804 (compare | ArchInstructionFormat.MIR_Binary_traits), 1805 1, 0, 2, 1806 PhysicalDefUse.mask, 1807 PhysicalDefUse.mask, 1808 (11<<26)), 1809 new ArchOperator((char)(98 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_CMPL 1810 ArchInstructionFormat.MIR_Binary_format, 1811 (compare | ArchInstructionFormat.MIR_Binary_traits), 1812 1, 0, 2, 1813 PhysicalDefUse.mask, 1814 PhysicalDefUse.mask, 1815 (31<<26 | 32<<1)), 1816 new ArchOperator((char)(99 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_CMPLI 1817 ArchInstructionFormat.MIR_Binary_format, 1818 (compare | ArchInstructionFormat.MIR_Binary_traits), 1819 1, 0, 2, 1820 PhysicalDefUse.mask, 1821 PhysicalDefUse.mask, 1822 (10<<26)), 1823 new ArchOperator((char)(100 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_CRAND 1824 ArchInstructionFormat.MIR_Condition_format, 1825 (none | ArchInstructionFormat.MIR_Condition_traits), 1826 1, 0, 2, 1827 PhysicalDefUse.mask, 1828 PhysicalDefUse.mask, 1829 (19<<26 | 257<<1)), 1830 new ArchOperator((char)(101 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_CRANDC 1831 ArchInstructionFormat.MIR_Condition_format, 1832 (none | ArchInstructionFormat.MIR_Condition_traits), 1833 1, 0, 2, 1834 PhysicalDefUse.mask, 1835 PhysicalDefUse.mask, 1836 (19<<26 | 129<<1)), 1837 new ArchOperator((char)(102 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_CROR 1838 ArchInstructionFormat.MIR_Condition_format, 1839 (none | ArchInstructionFormat.MIR_Condition_traits), 1840 1, 0, 2, 1841 PhysicalDefUse.mask, 1842 PhysicalDefUse.mask, 1843 (19<<26 | 449<<1)), 1844 new ArchOperator((char)(103 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_CRORC 1845 ArchInstructionFormat.MIR_Condition_format, 1846 (none | ArchInstructionFormat.MIR_Condition_traits), 1847 1, 0, 2, 1848 PhysicalDefUse.mask, 1849 PhysicalDefUse.mask, 1850 (19<<26 | 417<<1)), 1851 new ArchOperator((char)(104 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_FMR 1852 ArchInstructionFormat.MIR_Move_format, 1853 (move | ArchInstructionFormat.MIR_Move_traits), 1854 1, 0, 1, 1855 PhysicalDefUse.mask, 1856 PhysicalDefUse.mask, 1857 (63<<26 | 72<<1)), 1858 new ArchOperator((char)(105 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_FRSP 1859 ArchInstructionFormat.MIR_Unary_format, 1860 (none | ArchInstructionFormat.MIR_Unary_traits), 1861 1, 0, 1, 1862 PhysicalDefUse.mask, 1863 PhysicalDefUse.mask, 1864 (63<<26 | 12<<1)), 1865 new ArchOperator((char)(106 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_FCTIW 1866 ArchInstructionFormat.MIR_Unary_format, 1867 (none | ArchInstructionFormat.MIR_Unary_traits), 1868 1, 0, 1, 1869 PhysicalDefUse.mask, 1870 PhysicalDefUse.mask, 1871 (63<<26 | 14<<1)), 1872 new ArchOperator((char)(107 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_FCTIWZ 1873 ArchInstructionFormat.MIR_Unary_format, 1874 (none | ArchInstructionFormat.MIR_Unary_traits), 1875 1, 0, 1, 1876 PhysicalDefUse.mask, 1877 PhysicalDefUse.mask, 1878 (63<<26 | 15<<1)), 1879 new ArchOperator((char)(108 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_FADD 1880 ArchInstructionFormat.MIR_Binary_format, 1881 (none | ArchInstructionFormat.MIR_Binary_traits), 1882 1, 0, 2, 1883 PhysicalDefUse.mask, 1884 PhysicalDefUse.mask, 1885 (63<<26 | 21<<1)), 1886 new ArchOperator((char)(109 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_FADDS 1887 ArchInstructionFormat.MIR_Binary_format, 1888 (none | ArchInstructionFormat.MIR_Binary_traits), 1889 1, 0, 2, 1890 PhysicalDefUse.mask, 1891 PhysicalDefUse.mask, 1892 (59<<26 | 21<<1)), 1893 new ArchOperator((char)(110 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_FSQRT 1894 ArchInstructionFormat.MIR_Unary_format, 1895 (none | ArchInstructionFormat.MIR_Unary_traits), 1896 1, 0, 1, 1897 PhysicalDefUse.mask, 1898 PhysicalDefUse.mask, 1899 (63<<26 | 22<<1)), 1900 new ArchOperator((char)(111 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_FSQRTS 1901 ArchInstructionFormat.MIR_Unary_format, 1902 (none | ArchInstructionFormat.MIR_Unary_traits), 1903 1, 0, 1, 1904 PhysicalDefUse.mask, 1905 PhysicalDefUse.mask, 1906 (59<<26 | 22<<1)), 1907 new ArchOperator((char)(112 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_FABS 1908 ArchInstructionFormat.MIR_Unary_format, 1909 (none | ArchInstructionFormat.MIR_Unary_traits), 1910 1, 0, 1, 1911 PhysicalDefUse.mask, 1912 PhysicalDefUse.mask, 1913 (63<<26 | 264<<1)), 1914 new ArchOperator((char)(113 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_FCMPO 1915 ArchInstructionFormat.MIR_Binary_format, 1916 (compare | ArchInstructionFormat.MIR_Binary_traits), 1917 1, 0, 2, 1918 PhysicalDefUse.mask, 1919 PhysicalDefUse.mask, 1920 (63<<26 | 32<<1)), 1921 new ArchOperator((char)(114 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_FCMPU 1922 ArchInstructionFormat.MIR_Binary_format, 1923 (compare | ArchInstructionFormat.MIR_Binary_traits), 1924 1, 0, 2, 1925 PhysicalDefUse.mask, 1926 PhysicalDefUse.mask, 1927 (63<<26)), 1928 new ArchOperator((char)(115 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_FDIV 1929 ArchInstructionFormat.MIR_Binary_format, 1930 (none | ArchInstructionFormat.MIR_Binary_traits), 1931 1, 0, 2, 1932 PhysicalDefUse.mask, 1933 PhysicalDefUse.mask, 1934 (63<<26 | 18<<1)), 1935 new ArchOperator((char)(116 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_FDIVS 1936 ArchInstructionFormat.MIR_Binary_format, 1937 (none | ArchInstructionFormat.MIR_Binary_traits), 1938 1, 0, 2, 1939 PhysicalDefUse.mask, 1940 PhysicalDefUse.mask, 1941 (59<<26 | 18<<1)), 1942 new ArchOperator((char)(117 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_DIVW 1943 ArchInstructionFormat.MIR_Binary_format, 1944 (none | ArchInstructionFormat.MIR_Binary_traits), 1945 1, 0, 2, 1946 PhysicalDefUse.mask, 1947 PhysicalDefUse.mask, 1948 (31<<26 | 491<<1)), 1949 new ArchOperator((char)(118 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_DIVWU 1950 ArchInstructionFormat.MIR_Binary_format, 1951 (none | ArchInstructionFormat.MIR_Binary_traits), 1952 1, 0, 2, 1953 PhysicalDefUse.mask, 1954 PhysicalDefUse.mask, 1955 (31<<26 | 459<<1)), 1956 new ArchOperator((char)(119 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_FMUL 1957 ArchInstructionFormat.MIR_Binary_format, 1958 (none | ArchInstructionFormat.MIR_Binary_traits), 1959 1, 0, 2, 1960 PhysicalDefUse.mask, 1961 PhysicalDefUse.mask, 1962 (63<<26 | 25<<1)), 1963 new ArchOperator((char)(120 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_FMULS 1964 ArchInstructionFormat.MIR_Binary_format, 1965 (none | ArchInstructionFormat.MIR_Binary_traits), 1966 1, 0, 2, 1967 PhysicalDefUse.mask, 1968 PhysicalDefUse.mask, 1969 (59<<26 | 25<<1)), 1970 new ArchOperator((char)(121 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_FSEL 1971 ArchInstructionFormat.MIR_Ternary_format, 1972 (none | ArchInstructionFormat.MIR_Ternary_traits), 1973 1, 0, 3, 1974 PhysicalDefUse.mask, 1975 PhysicalDefUse.mask, 1976 (63<<26 | 23<<1)), 1977 new ArchOperator((char)(122 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_FMADD 1978 ArchInstructionFormat.MIR_Ternary_format, 1979 (none | ArchInstructionFormat.MIR_Ternary_traits), 1980 1, 0, 3, 1981 PhysicalDefUse.mask, 1982 PhysicalDefUse.mask, 1983 (63<<26 | 29<<1)), 1984 new ArchOperator((char)(123 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_FMADDS 1985 ArchInstructionFormat.MIR_Ternary_format, 1986 (none | ArchInstructionFormat.MIR_Ternary_traits), 1987 1, 0, 3, 1988 PhysicalDefUse.mask, 1989 PhysicalDefUse.mask, 1990 (59<<26 | 29<<1)), 1991 new ArchOperator((char)(124 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_FMSUB 1992 ArchInstructionFormat.MIR_Ternary_format, 1993 (none | ArchInstructionFormat.MIR_Ternary_traits), 1994 1, 0, 3, 1995 PhysicalDefUse.mask, 1996 PhysicalDefUse.mask, 1997 (63<<26 | 28<<1)), 1998 new ArchOperator((char)(125 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_FMSUBS 1999 ArchInstructionFormat.MIR_Ternary_format, 2000 (none | ArchInstructionFormat.MIR_Ternary_traits), 2001 1, 0, 3, 2002 PhysicalDefUse.mask, 2003 PhysicalDefUse.mask, 2004 (59<<26 | 28<<1)), 2005 new ArchOperator((char)(126 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_FNMADD 2006 ArchInstructionFormat.MIR_Ternary_format, 2007 (none | ArchInstructionFormat.MIR_Ternary_traits), 2008 1, 0, 3, 2009 PhysicalDefUse.mask, 2010 PhysicalDefUse.mask, 2011 (63<<26 | 31<<1)), 2012 new ArchOperator((char)(127 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_FNMADDS 2013 ArchInstructionFormat.MIR_Ternary_format, 2014 (none | ArchInstructionFormat.MIR_Ternary_traits), 2015 1, 0, 3, 2016 PhysicalDefUse.mask, 2017 PhysicalDefUse.mask, 2018 (59<<26 | 31<<1)), 2019 new ArchOperator((char)(128 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_FNMSUB 2020 ArchInstructionFormat.MIR_Ternary_format, 2021 (none | ArchInstructionFormat.MIR_Ternary_traits), 2022 1, 0, 3, 2023 PhysicalDefUse.mask, 2024 PhysicalDefUse.mask, 2025 (63<<26 | 30<<1)), 2026 new ArchOperator((char)(129 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_FNMSUBS 2027 ArchInstructionFormat.MIR_Ternary_format, 2028 (none | ArchInstructionFormat.MIR_Ternary_traits), 2029 1, 0, 3, 2030 PhysicalDefUse.mask, 2031 PhysicalDefUse.mask, 2032 (59<<26 | 30<<1)), 2033 new ArchOperator((char)(130 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_MULLI 2034 ArchInstructionFormat.MIR_Binary_format, 2035 (none | ArchInstructionFormat.MIR_Binary_traits), 2036 1, 0, 2, 2037 PhysicalDefUse.mask, 2038 PhysicalDefUse.mask, 2039 (7<<26)), 2040 new ArchOperator((char)(131 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_MULLW 2041 ArchInstructionFormat.MIR_Binary_format, 2042 (none | ArchInstructionFormat.MIR_Binary_traits), 2043 1, 0, 2, 2044 PhysicalDefUse.mask, 2045 PhysicalDefUse.mask, 2046 (31<<26 | 235<<1)), 2047 new ArchOperator((char)(132 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_MULHW 2048 ArchInstructionFormat.MIR_Binary_format, 2049 (none | ArchInstructionFormat.MIR_Binary_traits), 2050 1, 0, 2, 2051 PhysicalDefUse.mask, 2052 PhysicalDefUse.mask, 2053 (31<<26 | 75<<1)), 2054 new ArchOperator((char)(133 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_MULHWU 2055 ArchInstructionFormat.MIR_Binary_format, 2056 (none | ArchInstructionFormat.MIR_Binary_traits), 2057 1, 0, 2, 2058 PhysicalDefUse.mask, 2059 PhysicalDefUse.mask, 2060 (31<<26 | 11<<1)), 2061 new ArchOperator((char)(134 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_FNEG 2062 ArchInstructionFormat.MIR_Unary_format, 2063 (none | ArchInstructionFormat.MIR_Unary_traits), 2064 1, 0, 1, 2065 PhysicalDefUse.mask, 2066 PhysicalDefUse.mask, 2067 (63<<26 | 40<<1)), 2068 new ArchOperator((char)(135 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_FSUB 2069 ArchInstructionFormat.MIR_Binary_format, 2070 (none | ArchInstructionFormat.MIR_Binary_traits), 2071 1, 0, 2, 2072 PhysicalDefUse.mask, 2073 PhysicalDefUse.mask, 2074 (63<<26 | 20<<1)), 2075 new ArchOperator((char)(136 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_FSUBS 2076 ArchInstructionFormat.MIR_Binary_format, 2077 (none | ArchInstructionFormat.MIR_Binary_traits), 2078 1, 0, 2, 2079 PhysicalDefUse.mask, 2080 PhysicalDefUse.mask, 2081 (59<<26 | 20<<1)), 2082 new ArchOperator((char)(137 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_LWZ 2083 ArchInstructionFormat.MIR_Load_format, 2084 (load | ArchInstructionFormat.MIR_Load_traits), 2085 1, 0, 4, 2086 PhysicalDefUse.mask, 2087 PhysicalDefUse.mask, 2088 (32<<26)), 2089 new ArchOperator((char)(138 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_LWZU 2090 ArchInstructionFormat.MIR_LoadUpdate_format, 2091 (load | ArchInstructionFormat.MIR_LoadUpdate_traits), 2092 1, 1, 3, 2093 PhysicalDefUse.mask, 2094 PhysicalDefUse.mask, 2095 (33<<26)), 2096 new ArchOperator((char)(139 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_LWZUX 2097 ArchInstructionFormat.MIR_LoadUpdate_format, 2098 (load | ArchInstructionFormat.MIR_LoadUpdate_traits), 2099 1, 1, 3, 2100 PhysicalDefUse.mask, 2101 PhysicalDefUse.mask, 2102 (31<<26 | 55<<1)), 2103 new ArchOperator((char)(140 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_LWZX 2104 ArchInstructionFormat.MIR_Load_format, 2105 (load | ArchInstructionFormat.MIR_Load_traits), 2106 1, 0, 4, 2107 PhysicalDefUse.mask, 2108 PhysicalDefUse.mask, 2109 (31<<26 | 23<<1)), 2110 new ArchOperator((char)(141 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_LWARX 2111 ArchInstructionFormat.MIR_Load_format, 2112 (memAsLoad | memAsStore | load | acquire | ArchInstructionFormat.MIR_Load_traits), 2113 1, 0, 4, 2114 PhysicalDefUse.mask, 2115 PhysicalDefUse.mask, 2116 (31<<26 | 20<<1)), 2117 new ArchOperator((char)(142 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_LBZ 2118 ArchInstructionFormat.MIR_Load_format, 2119 (load | ArchInstructionFormat.MIR_Load_traits), 2120 1, 0, 4, 2121 PhysicalDefUse.mask, 2122 PhysicalDefUse.mask, 2123 (34<<26)), 2124 new ArchOperator((char)(143 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_LBZUX 2125 ArchInstructionFormat.MIR_LoadUpdate_format, 2126 (load | ArchInstructionFormat.MIR_LoadUpdate_traits), 2127 1, 1, 3, 2128 PhysicalDefUse.mask, 2129 PhysicalDefUse.mask, 2130 (31<<26 | 119<<1)), 2131 new ArchOperator((char)(144 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_LBZX 2132 ArchInstructionFormat.MIR_Load_format, 2133 (load | ArchInstructionFormat.MIR_Load_traits), 2134 1, 0, 4, 2135 PhysicalDefUse.mask, 2136 PhysicalDefUse.mask, 2137 (31<<26 | 87<<1)), 2138 new ArchOperator((char)(145 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_LHA 2139 ArchInstructionFormat.MIR_Load_format, 2140 (load | ArchInstructionFormat.MIR_Load_traits), 2141 1, 0, 4, 2142 PhysicalDefUse.mask, 2143 PhysicalDefUse.mask, 2144 (42<<26)), 2145 new ArchOperator((char)(146 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_LHAX 2146 ArchInstructionFormat.MIR_Load_format, 2147 (load | ArchInstructionFormat.MIR_Load_traits), 2148 1, 0, 4, 2149 PhysicalDefUse.mask, 2150 PhysicalDefUse.mask, 2151 (31<<26 | 343<<1)), 2152 new ArchOperator((char)(147 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_LHZ 2153 ArchInstructionFormat.MIR_Load_format, 2154 (load | ArchInstructionFormat.MIR_Load_traits), 2155 1, 0, 4, 2156 PhysicalDefUse.mask, 2157 PhysicalDefUse.mask, 2158 (40<<26)), 2159 new ArchOperator((char)(148 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_LHZX 2160 ArchInstructionFormat.MIR_Load_format, 2161 (load | ArchInstructionFormat.MIR_Load_traits), 2162 1, 0, 4, 2163 PhysicalDefUse.mask, 2164 PhysicalDefUse.mask, 2165 (31<<26 | 279<<1)), 2166 new ArchOperator((char)(149 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_LFD 2167 ArchInstructionFormat.MIR_Load_format, 2168 (load | ArchInstructionFormat.MIR_Load_traits), 2169 1, 0, 4, 2170 PhysicalDefUse.mask, 2171 PhysicalDefUse.mask, 2172 (50<<26)), 2173 new ArchOperator((char)(150 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_LFDX 2174 ArchInstructionFormat.MIR_Load_format, 2175 (load | ArchInstructionFormat.MIR_Load_traits), 2176 1, 0, 4, 2177 PhysicalDefUse.mask, 2178 PhysicalDefUse.mask, 2179 (31<<26 | 599<<1)), 2180 new ArchOperator((char)(151 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_LFS 2181 ArchInstructionFormat.MIR_Load_format, 2182 (load | ArchInstructionFormat.MIR_Load_traits), 2183 1, 0, 4, 2184 PhysicalDefUse.mask, 2185 PhysicalDefUse.mask, 2186 (48<<26)), 2187 new ArchOperator((char)(152 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_LFSX 2188 ArchInstructionFormat.MIR_Load_format, 2189 (load | ArchInstructionFormat.MIR_Load_traits), 2190 1, 0, 4, 2191 PhysicalDefUse.mask, 2192 PhysicalDefUse.mask, 2193 (31<<26 | 535<<1)), 2194 new ArchOperator((char)(153 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_LMW 2195 ArchInstructionFormat.MIR_Load_format, 2196 (load | ArchInstructionFormat.MIR_Load_traits), 2197 1, 0, 4, 2198 PhysicalDefUse.mask, 2199 PhysicalDefUse.mask, 2200 (46<<26)), 2201 new ArchOperator((char)(154 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_STW 2202 ArchInstructionFormat.MIR_Store_format, 2203 (store | ArchInstructionFormat.MIR_Store_traits), 2204 0, 0, 5, 2205 PhysicalDefUse.mask, 2206 PhysicalDefUse.mask, 2207 (36<<26)), 2208 new ArchOperator((char)(155 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_STWX 2209 ArchInstructionFormat.MIR_Store_format, 2210 (store | ArchInstructionFormat.MIR_Store_traits), 2211 0, 0, 5, 2212 PhysicalDefUse.mask, 2213 PhysicalDefUse.mask, 2214 (31<<26 | 151<<1)), 2215 new ArchOperator((char)(156 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_STWCXr 2216 ArchInstructionFormat.MIR_Store_format, 2217 (memAsLoad | memAsStore | store | compare | ArchInstructionFormat.MIR_Store_traits), 2218 0, 0, 5, 2219 PhysicalDefUse.maskC0, 2220 PhysicalDefUse.mask, 2221 (31<<26 | 150<<1 | 1)), 2222 new ArchOperator((char)(157 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_STWU 2223 ArchInstructionFormat.MIR_StoreUpdate_format, 2224 (store | ArchInstructionFormat.MIR_StoreUpdate_traits), 2225 0, 1, 4, 2226 PhysicalDefUse.mask, 2227 PhysicalDefUse.mask, 2228 (37<<26)), 2229 new ArchOperator((char)(158 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_STB 2230 ArchInstructionFormat.MIR_Store_format, 2231 (store | ArchInstructionFormat.MIR_Store_traits), 2232 0, 0, 5, 2233 PhysicalDefUse.mask, 2234 PhysicalDefUse.mask, 2235 (38<<26)), 2236 new ArchOperator((char)(159 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_STBX 2237 ArchInstructionFormat.MIR_Store_format, 2238 (store | ArchInstructionFormat.MIR_Store_traits), 2239 0, 0, 5, 2240 PhysicalDefUse.mask, 2241 PhysicalDefUse.mask, 2242 (31<<26 | 215<<1)), 2243 new ArchOperator((char)(160 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_STH 2244 ArchInstructionFormat.MIR_Store_format, 2245 (store | ArchInstructionFormat.MIR_Store_traits), 2246 0, 0, 5, 2247 PhysicalDefUse.mask, 2248 PhysicalDefUse.mask, 2249 (44<<26)), 2250 new ArchOperator((char)(161 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_STHX 2251 ArchInstructionFormat.MIR_Store_format, 2252 (store | ArchInstructionFormat.MIR_Store_traits), 2253 0, 0, 5, 2254 PhysicalDefUse.mask, 2255 PhysicalDefUse.mask, 2256 (31<<26 | 407<<1)), 2257 new ArchOperator((char)(162 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_STFD 2258 ArchInstructionFormat.MIR_Store_format, 2259 (store | ArchInstructionFormat.MIR_Store_traits), 2260 0, 0, 5, 2261 PhysicalDefUse.mask, 2262 PhysicalDefUse.mask, 2263 (54<<26)), 2264 new ArchOperator((char)(163 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_STFDX 2265 ArchInstructionFormat.MIR_Store_format, 2266 (store | ArchInstructionFormat.MIR_Store_traits), 2267 0, 0, 5, 2268 PhysicalDefUse.mask, 2269 PhysicalDefUse.mask, 2270 (31<<26 | 727<<1)), 2271 new ArchOperator((char)(164 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_STFDU 2272 ArchInstructionFormat.MIR_StoreUpdate_format, 2273 (store | ArchInstructionFormat.MIR_StoreUpdate_traits), 2274 0, 1, 4, 2275 PhysicalDefUse.mask, 2276 PhysicalDefUse.mask, 2277 (31<<26 | 759<<1)), 2278 new ArchOperator((char)(165 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_STFS 2279 ArchInstructionFormat.MIR_Store_format, 2280 (store | ArchInstructionFormat.MIR_Store_traits), 2281 0, 0, 5, 2282 PhysicalDefUse.mask, 2283 PhysicalDefUse.mask, 2284 (52<<26)), 2285 new ArchOperator((char)(166 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_STFSX 2286 ArchInstructionFormat.MIR_Store_format, 2287 (store | ArchInstructionFormat.MIR_Store_traits), 2288 0, 0, 5, 2289 PhysicalDefUse.mask, 2290 PhysicalDefUse.mask, 2291 (31<<26 | 663<<1)), 2292 new ArchOperator((char)(167 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_STFSU 2293 ArchInstructionFormat.MIR_StoreUpdate_format, 2294 (store | ArchInstructionFormat.MIR_StoreUpdate_traits), 2295 0, 1, 4, 2296 PhysicalDefUse.mask, 2297 PhysicalDefUse.mask, 2298 (53<<26)), 2299 new ArchOperator((char)(168 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_STMW 2300 ArchInstructionFormat.MIR_Store_format, 2301 (store | ArchInstructionFormat.MIR_Store_traits), 2302 0, 0, 5, 2303 PhysicalDefUse.mask, 2304 PhysicalDefUse.mask, 2305 (47<<26)), 2306 new ArchOperator((char)(169 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_TW 2307 ArchInstructionFormat.MIR_Trap_format, 2308 (immedPEI | dynLink | ArchInstructionFormat.MIR_Trap_traits), 2309 1, 0, 4, 2310 PhysicalDefUse.mask, 2311 PhysicalDefUse.mask, 2312 (31<<26 | 4<<1)), 2313 new ArchOperator((char)(170 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_TWI 2314 ArchInstructionFormat.MIR_Trap_format, 2315 (immedPEI | dynLink | ArchInstructionFormat.MIR_Trap_traits), 2316 1, 0, 4, 2317 PhysicalDefUse.mask, 2318 PhysicalDefUse.mask, 2319 (3<<26)), 2320 new ArchOperator((char)(171 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_MFSPR 2321 ArchInstructionFormat.MIR_Move_format, 2322 (move | ArchInstructionFormat.MIR_Move_traits), 2323 1, 0, 1, 2324 PhysicalDefUse.mask, 2325 PhysicalDefUse.mask, 2326 (31<<26 | 339<<1)), 2327 new ArchOperator((char)(172 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_MTSPR 2328 ArchInstructionFormat.MIR_Move_format, 2329 (move | ArchInstructionFormat.MIR_Move_traits), 2330 1, 0, 1, 2331 PhysicalDefUse.mask, 2332 PhysicalDefUse.mask, 2333 (31<<26 | 467<<1)), 2334 new ArchOperator((char)(173 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_MFTB 2335 ArchInstructionFormat.MIR_Move_format, 2336 (move | ArchInstructionFormat.MIR_Move_traits), 2337 1, 0, 1, 2338 PhysicalDefUse.mask, 2339 PhysicalDefUse.mask, 2340 (31<<26 | 392<<11 | 371<<1)), 2341 new ArchOperator((char)(174 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_MFTBU 2342 ArchInstructionFormat.MIR_Move_format, 2343 (move | ArchInstructionFormat.MIR_Move_traits), 2344 1, 0, 1, 2345 PhysicalDefUse.mask, 2346 PhysicalDefUse.mask, 2347 (31<<26 | 424<<11 | 371<<1)), 2348 new ArchOperator((char)(175 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_HWSYNC 2349 ArchInstructionFormat.MIR_Empty_format, 2350 (memAsLoad | memAsStore | ArchInstructionFormat.MIR_Empty_traits), 2351 0, 0, 0, 2352 PhysicalDefUse.mask, 2353 PhysicalDefUse.mask, 2354 (31<<26 | 598<<1)), 2355 new ArchOperator((char)(176 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_SYNC 2356 ArchInstructionFormat.MIR_Empty_format, 2357 (memAsLoad | memAsStore | ArchInstructionFormat.MIR_Empty_traits), 2358 0, 0, 0, 2359 PhysicalDefUse.mask, 2360 PhysicalDefUse.mask, 2361 (31<<26 | 1<<21 | 598<<1)), 2362 new ArchOperator((char)(177 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_ISYNC 2363 ArchInstructionFormat.MIR_Empty_format, 2364 (memAsLoad | memAsStore | ArchInstructionFormat.MIR_Empty_traits), 2365 0, 0, 0, 2366 PhysicalDefUse.mask, 2367 PhysicalDefUse.mask, 2368 (19<<26 | 150<<1)), 2369 new ArchOperator((char)(178 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_DCBF 2370 ArchInstructionFormat.MIR_CacheOp_format, 2371 (memAsLoad | memAsStore | ArchInstructionFormat.MIR_CacheOp_traits), 2372 0, 0, 2, 2373 PhysicalDefUse.mask, 2374 PhysicalDefUse.mask, 2375 (31<<26 | 86<<1)), 2376 new ArchOperator((char)(179 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_DCBST 2377 ArchInstructionFormat.MIR_CacheOp_format, 2378 (memAsLoad | memAsStore | ArchInstructionFormat.MIR_CacheOp_traits), 2379 0, 0, 2, 2380 PhysicalDefUse.mask, 2381 PhysicalDefUse.mask, 2382 (31<<26 | 54<<1)), 2383 new ArchOperator((char)(180 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_DCBT 2384 ArchInstructionFormat.MIR_CacheOp_format, 2385 (memAsLoad | memAsStore | ArchInstructionFormat.MIR_CacheOp_traits), 2386 0, 0, 2, 2387 PhysicalDefUse.mask, 2388 PhysicalDefUse.mask, 2389 (31<<26 | 278<<1)), 2390 new ArchOperator((char)(181 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_DCBTST 2391 ArchInstructionFormat.MIR_CacheOp_format, 2392 (memAsLoad | memAsStore | ArchInstructionFormat.MIR_CacheOp_traits), 2393 0, 0, 2, 2394 PhysicalDefUse.mask, 2395 PhysicalDefUse.mask, 2396 (31<<26 | 246<<1)), 2397 new ArchOperator((char)(182 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_DCBZ 2398 ArchInstructionFormat.MIR_CacheOp_format, 2399 (memAsLoad | memAsStore | ArchInstructionFormat.MIR_CacheOp_traits), 2400 0, 0, 2, 2401 PhysicalDefUse.mask, 2402 PhysicalDefUse.mask, 2403 (31<<26 | 1014<<1)), 2404 new ArchOperator((char)(183 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_DCBZL 2405 ArchInstructionFormat.MIR_CacheOp_format, 2406 (memAsLoad | memAsStore | ArchInstructionFormat.MIR_CacheOp_traits), 2407 0, 0, 2, 2408 PhysicalDefUse.mask, 2409 PhysicalDefUse.mask, 2410 (31<<26 | 1<<21 | 1014<<1)), 2411 new ArchOperator((char)(184 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_ICBI 2412 ArchInstructionFormat.MIR_CacheOp_format, 2413 (memAsLoad | memAsStore | ArchInstructionFormat.MIR_CacheOp_traits), 2414 0, 0, 2, 2415 PhysicalDefUse.mask, 2416 PhysicalDefUse.mask, 2417 (31<<26 | 982<<1)), 2418 new ArchOperator((char)(185 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC64_EXTSW 2419 ArchInstructionFormat.MIR_Unary_format, 2420 (none | ArchInstructionFormat.MIR_Unary_traits), 2421 1, 0, 1, 2422 PhysicalDefUse.mask, 2423 PhysicalDefUse.mask, 2424 (31<<26 | 986<<1)), 2425 new ArchOperator((char)(186 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC64_EXTSWr 2426 ArchInstructionFormat.MIR_Unary_format, 2427 (none | ArchInstructionFormat.MIR_Unary_traits), 2428 1, 0, 1, 2429 PhysicalDefUse.mask, 2430 PhysicalDefUse.mask, 2431 (31<<26 | 986<<1 | 1)), 2432 new ArchOperator((char)(187 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC64_EXTZW 2433 ArchInstructionFormat.MIR_Unary_format, 2434 (none | ArchInstructionFormat.MIR_Unary_traits), 2435 1, 0, 1, 2436 PhysicalDefUse.mask, 2437 PhysicalDefUse.mask, 2438 (30<<26 | 0<<2)), 2439 new ArchOperator((char)(188 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC64_RLDICL 2440 ArchInstructionFormat.MIR_RotateAndMask_format, 2441 (none | ArchInstructionFormat.MIR_RotateAndMask_traits), 2442 1, 0, 5, 2443 PhysicalDefUse.mask, 2444 PhysicalDefUse.mask, 2445 (30<<26)), 2446 new ArchOperator((char)(189 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC64_RLDICR 2447 ArchInstructionFormat.MIR_RotateAndMask_format, 2448 (none | ArchInstructionFormat.MIR_RotateAndMask_traits), 2449 1, 0, 5, 2450 PhysicalDefUse.mask, 2451 PhysicalDefUse.mask, 2452 (30<<26 | 1<<2)), 2453 new ArchOperator((char)(190 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC64_SLD 2454 ArchInstructionFormat.MIR_Binary_format, 2455 (none | ArchInstructionFormat.MIR_Binary_traits), 2456 1, 0, 2, 2457 PhysicalDefUse.mask, 2458 PhysicalDefUse.mask, 2459 (31<<26 | 27<<1)), 2460 new ArchOperator((char)(191 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC64_SLDr 2461 ArchInstructionFormat.MIR_Binary_format, 2462 (compare | ArchInstructionFormat.MIR_Binary_traits), 2463 1, 0, 2, 2464 PhysicalDefUse.maskC0, 2465 PhysicalDefUse.mask, 2466 (31<<26 | 27<<1 | 1)), 2467 new ArchOperator((char)(192 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC64_SLDI 2468 ArchInstructionFormat.MIR_Binary_format, 2469 (none | ArchInstructionFormat.MIR_Binary_traits), 2470 1, 0, 2, 2471 PhysicalDefUse.mask, 2472 PhysicalDefUse.mask, 2473 (30<<26 | 1<<2)), 2474 new ArchOperator((char)(193 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC64_SRD 2475 ArchInstructionFormat.MIR_Binary_format, 2476 (none | ArchInstructionFormat.MIR_Binary_traits), 2477 1, 0, 2, 2478 PhysicalDefUse.maskXER, 2479 PhysicalDefUse.mask, 2480 (31<<26 | 539<<1)), 2481 new ArchOperator((char)(194 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC64_SRDr 2482 ArchInstructionFormat.MIR_Binary_format, 2483 (compare | ArchInstructionFormat.MIR_Binary_traits), 2484 1, 0, 2, 2485 PhysicalDefUse.maskC0_XER, 2486 PhysicalDefUse.mask, 2487 (31<<26 | 539<<1 | 1)), 2488 new ArchOperator((char)(195 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC64_SRAD 2489 ArchInstructionFormat.MIR_Binary_format, 2490 (none | ArchInstructionFormat.MIR_Binary_traits), 2491 1, 0, 2, 2492 PhysicalDefUse.maskXER, 2493 PhysicalDefUse.mask, 2494 (31<<26 | 794<<1)), 2495 new ArchOperator((char)(196 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC64_SRADr 2496 ArchInstructionFormat.MIR_Binary_format, 2497 (compare | ArchInstructionFormat.MIR_Binary_traits), 2498 1, 0, 2, 2499 PhysicalDefUse.maskC0_XER, 2500 PhysicalDefUse.mask, 2501 (31<<26 | 794<<1 | 1)), 2502 new ArchOperator((char)(197 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC64_SRADI 2503 ArchInstructionFormat.MIR_Binary_format, 2504 (none | ArchInstructionFormat.MIR_Binary_traits), 2505 1, 0, 2, 2506 PhysicalDefUse.maskXER, 2507 PhysicalDefUse.mask, 2508 (31<<26 | 413<<2)), 2509 new ArchOperator((char)(198 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC64_SRADIr 2510 ArchInstructionFormat.MIR_Binary_format, 2511 (compare | ArchInstructionFormat.MIR_Binary_traits), 2512 1, 0, 2, 2513 PhysicalDefUse.maskC0_XER, 2514 PhysicalDefUse.mask, 2515 (31<<26 | 413<<2 | 1)), 2516 new ArchOperator((char)(199 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC64_SRDI 2517 ArchInstructionFormat.MIR_Binary_format, 2518 (none | ArchInstructionFormat.MIR_Binary_traits), 2519 1, 0, 2, 2520 PhysicalDefUse.mask, 2521 PhysicalDefUse.mask, 2522 (30<<26 | 0<<2)), 2523 new ArchOperator((char)(200 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC64_RLDIMI 2524 ArchInstructionFormat.MIR_RotateAndMask_format, 2525 (none | ArchInstructionFormat.MIR_RotateAndMask_traits), 2526 1, 0, 5, 2527 PhysicalDefUse.mask, 2528 PhysicalDefUse.mask, 2529 (30<<26 | 3<<2)), 2530 new ArchOperator((char)(201 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC64_RLDIMIr 2531 ArchInstructionFormat.MIR_RotateAndMask_format, 2532 (compare | ArchInstructionFormat.MIR_RotateAndMask_traits), 2533 1, 0, 5, 2534 PhysicalDefUse.maskC0, 2535 PhysicalDefUse.mask, 2536 (30<<26 | 3<<2 | 1)), 2537 new ArchOperator((char)(202 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC64_CMP 2538 ArchInstructionFormat.MIR_Binary_format, 2539 (compare | ArchInstructionFormat.MIR_Binary_traits), 2540 1, 0, 2, 2541 PhysicalDefUse.mask, 2542 PhysicalDefUse.mask, 2543 (31<<26 | 0<<1 | 1<<21)), 2544 new ArchOperator((char)(203 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC64_CMPI 2545 ArchInstructionFormat.MIR_Binary_format, 2546 (compare | ArchInstructionFormat.MIR_Binary_traits), 2547 1, 0, 2, 2548 PhysicalDefUse.mask, 2549 PhysicalDefUse.mask, 2550 (11<<26 | 1<<21)), 2551 new ArchOperator((char)(204 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC64_CMPL 2552 ArchInstructionFormat.MIR_Binary_format, 2553 (compare | ArchInstructionFormat.MIR_Binary_traits), 2554 1, 0, 2, 2555 PhysicalDefUse.mask, 2556 PhysicalDefUse.mask, 2557 (31<<26 | 32<<1 | 1<<21)), 2558 new ArchOperator((char)(205 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC64_CMPLI 2559 ArchInstructionFormat.MIR_Binary_format, 2560 (compare | ArchInstructionFormat.MIR_Binary_traits), 2561 1, 0, 2, 2562 PhysicalDefUse.mask, 2563 PhysicalDefUse.mask, 2564 (10<<26 | 1<<21)), 2565 new ArchOperator((char)(206 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC64_FCFID 2566 ArchInstructionFormat.MIR_Unary_format, 2567 (none | ArchInstructionFormat.MIR_Unary_traits), 2568 1, 0, 1, 2569 PhysicalDefUse.mask, 2570 PhysicalDefUse.mask, 2571 0), 2572 new ArchOperator((char)(207 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC64_FCTIDZ 2573 ArchInstructionFormat.MIR_Unary_format, 2574 (none | ArchInstructionFormat.MIR_Unary_traits), 2575 1, 0, 1, 2576 PhysicalDefUse.mask, 2577 PhysicalDefUse.mask, 2578 (63<<26 | 815<<1)), 2579 new ArchOperator((char)(208 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC64_DIVD 2580 ArchInstructionFormat.MIR_Binary_format, 2581 (none | ArchInstructionFormat.MIR_Binary_traits), 2582 1, 0, 2, 2583 PhysicalDefUse.mask, 2584 PhysicalDefUse.mask, 2585 (31<<26 | 489<<1)), 2586 new ArchOperator((char)(209 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC64_MULLD 2587 ArchInstructionFormat.MIR_Binary_format, 2588 (none | ArchInstructionFormat.MIR_Binary_traits), 2589 1, 0, 2, 2590 PhysicalDefUse.mask, 2591 PhysicalDefUse.mask, 2592 (31<<26 | 233<<1)), 2593 new ArchOperator((char)(210 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC64_LD 2594 ArchInstructionFormat.MIR_Load_format, 2595 (load | ArchInstructionFormat.MIR_Load_traits), 2596 1, 0, 4, 2597 PhysicalDefUse.mask, 2598 PhysicalDefUse.mask, 2599 (58<<26)), 2600 new ArchOperator((char)(211 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC64_LDX 2601 ArchInstructionFormat.MIR_Load_format, 2602 (load | ArchInstructionFormat.MIR_Load_traits), 2603 1, 0, 4, 2604 PhysicalDefUse.mask, 2605 PhysicalDefUse.mask, 2606 (31<<26 | 21<<1)), 2607 new ArchOperator((char)(212 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC64_STD 2608 ArchInstructionFormat.MIR_Store_format, 2609 (store | ArchInstructionFormat.MIR_Store_traits), 2610 0, 0, 5, 2611 PhysicalDefUse.mask, 2612 PhysicalDefUse.mask, 2613 (62<<26)), 2614 new ArchOperator((char)(213 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC64_STDX 2615 ArchInstructionFormat.MIR_Store_format, 2616 (store | ArchInstructionFormat.MIR_Store_traits), 2617 0, 0, 5, 2618 PhysicalDefUse.mask, 2619 PhysicalDefUse.mask, 2620 (31<<26 | 149<<1)), 2621 new ArchOperator((char)(214 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC64_TD 2622 ArchInstructionFormat.MIR_Trap_format, 2623 (immedPEI | dynLink | ArchInstructionFormat.MIR_Trap_traits), 2624 1, 0, 4, 2625 PhysicalDefUse.mask, 2626 PhysicalDefUse.mask, 2627 (31<<26 | 68<<1)), 2628 new ArchOperator((char)(215 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC64_TDI 2629 ArchInstructionFormat.MIR_Trap_format, 2630 (immedPEI | dynLink | ArchInstructionFormat.MIR_Trap_traits), 2631 1, 0, 4, 2632 PhysicalDefUse.mask, 2633 PhysicalDefUse.mask, 2634 (2<<26)), 2635 new ArchOperator((char)(216 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_CNTLZAddr 2636 ArchInstructionFormat.MIR_Unary_format, 2637 (none | ArchInstructionFormat.MIR_Unary_traits), 2638 1, 0, 1, 2639 PhysicalDefUse.mask, 2640 PhysicalDefUse.mask, 2641 VM.BuildFor32Addr ? (31<<26 | 26<<1) : (31<<26 | 58<<1)), 2642 new ArchOperator((char)(217 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_SRAAddrI 2643 ArchInstructionFormat.MIR_Binary_format, 2644 (none | ArchInstructionFormat.MIR_Binary_traits), 2645 1, 0, 2, 2646 PhysicalDefUse.maskXER, 2647 PhysicalDefUse.mask, 2648 VM.BuildFor32Addr ? (31<<26 | 824<<1) : (31<<26 | 413<<2)), 2649 new ArchOperator((char)(218 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_SRAddrI 2650 ArchInstructionFormat.MIR_Binary_format, 2651 (none | ArchInstructionFormat.MIR_Binary_traits), 2652 1, 0, 2, 2653 PhysicalDefUse.maskXER_32, 2654 PhysicalDefUse.mask, 2655 VM.BuildFor32Addr ? (21<<26 | 31<<1) : (30<<26 | 0<<2)), 2656 new ArchOperator((char)(219 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC64_LWA 2657 ArchInstructionFormat.MIR_Load_format, 2658 (load | ArchInstructionFormat.MIR_Load_traits), 2659 1, 0, 4, 2660 PhysicalDefUse.mask, 2661 PhysicalDefUse.mask, 2662 (58<<26 | 2)), 2663 new ArchOperator((char)(220 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_LInt 2664 ArchInstructionFormat.MIR_Load_format, 2665 (load | ArchInstructionFormat.MIR_Load_traits), 2666 1, 0, 4, 2667 PhysicalDefUse.mask, 2668 PhysicalDefUse.mask, 2669 VM.BuildFor32Addr ? (32<<26) : (58<<26 | 2)), 2670 new ArchOperator((char)(221 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC64_LWAX 2671 ArchInstructionFormat.MIR_Load_format, 2672 (load | ArchInstructionFormat.MIR_Load_traits), 2673 1, 0, 4, 2674 PhysicalDefUse.mask, 2675 PhysicalDefUse.mask, 2676 (31<<26 | 341<<1)), 2677 new ArchOperator((char)(222 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_LIntX 2678 ArchInstructionFormat.MIR_Load_format, 2679 (load | ArchInstructionFormat.MIR_Load_traits), 2680 1, 0, 4, 2681 PhysicalDefUse.mask, 2682 PhysicalDefUse.mask, 2683 VM.BuildFor32Addr ? (31<<26 | 23<<1) : (31<<26 | 341<<1)), 2684 new ArchOperator((char)(223 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_LIntUX 2685 ArchInstructionFormat.MIR_LoadUpdate_format, 2686 (load | ArchInstructionFormat.MIR_LoadUpdate_traits), 2687 1, 1, 3, 2688 PhysicalDefUse.mask, 2689 PhysicalDefUse.mask, 2690 VM.BuildFor32Addr ? (31<<26 | 55<<1) : (31<<26 | 373<<1)), 2691 new ArchOperator((char)(224 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_LAddr 2692 ArchInstructionFormat.MIR_Load_format, 2693 (load | ArchInstructionFormat.MIR_Load_traits), 2694 1, 0, 4, 2695 PhysicalDefUse.mask, 2696 PhysicalDefUse.mask, 2697 VM.BuildFor32Addr ? (32<<26) : (58<<26)), 2698 new ArchOperator((char)(225 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_LAddrX 2699 ArchInstructionFormat.MIR_Load_format, 2700 (load | ArchInstructionFormat.MIR_Load_traits), 2701 1, 0, 4, 2702 PhysicalDefUse.mask, 2703 PhysicalDefUse.mask, 2704 VM.BuildFor32Addr ? (31<<26 | 23<<1) : (31<<26 | 21<<1)), 2705 new ArchOperator((char)(226 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_LAddrU 2706 ArchInstructionFormat.MIR_Load_format, 2707 (load | ArchInstructionFormat.MIR_Load_traits), 2708 1, 0, 4, 2709 PhysicalDefUse.mask, 2710 PhysicalDefUse.mask, 2711 VM.BuildFor32Addr ? (33<<26) : (58<<26 | 1)), 2712 new ArchOperator((char)(227 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_LAddrUX 2713 ArchInstructionFormat.MIR_LoadUpdate_format, 2714 (load | ArchInstructionFormat.MIR_LoadUpdate_traits), 2715 1, 1, 3, 2716 PhysicalDefUse.mask, 2717 PhysicalDefUse.mask, 2718 VM.BuildFor32Addr ? (31<<26 | 55<<1) : (31<<26 | 53<<1)), 2719 new ArchOperator((char)(228 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_LAddrARX 2720 ArchInstructionFormat.MIR_Load_format, 2721 (memAsLoad | memAsStore | load | acquire | ArchInstructionFormat.MIR_Load_traits), 2722 1, 0, 4, 2723 PhysicalDefUse.mask, 2724 PhysicalDefUse.mask, 2725 VM.BuildFor32Addr ? (31<<26 | 20<<1) : (31<<26 | 84<<1)), 2726 new ArchOperator((char)(229 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_STAddr 2727 ArchInstructionFormat.MIR_Store_format, 2728 (store | ArchInstructionFormat.MIR_Store_traits), 2729 0, 0, 5, 2730 PhysicalDefUse.mask, 2731 PhysicalDefUse.mask, 2732 VM.BuildFor32Addr ? (36<<26) : (62<<26)), 2733 new ArchOperator((char)(230 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_STAddrX 2734 ArchInstructionFormat.MIR_Store_format, 2735 (store | ArchInstructionFormat.MIR_Store_traits), 2736 0, 0, 5, 2737 PhysicalDefUse.mask, 2738 PhysicalDefUse.mask, 2739 VM.BuildFor32Addr ? (31<<26 | 151<<1) : (31<<26 | 149<<1)), 2740 new ArchOperator((char)(231 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_STAddrU 2741 ArchInstructionFormat.MIR_StoreUpdate_format, 2742 (store | ArchInstructionFormat.MIR_StoreUpdate_traits), 2743 0, 1, 4, 2744 PhysicalDefUse.mask, 2745 PhysicalDefUse.mask, 2746 VM.BuildFor32Addr ? (37<<26) : (62<<26 | 1)), 2747 new ArchOperator((char)(232 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_STAddrUX 2748 ArchInstructionFormat.MIR_StoreUpdate_format, 2749 (store | ArchInstructionFormat.MIR_StoreUpdate_traits), 2750 0, 1, 4, 2751 PhysicalDefUse.mask, 2752 PhysicalDefUse.mask, 2753 VM.BuildFor32Addr ? (31<<26 | 183<<1) : (31<<26 | 181<<1)), 2754 new ArchOperator((char)(233 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_STAddrCXr 2755 ArchInstructionFormat.MIR_Store_format, 2756 (memAsLoad | memAsStore | store | compare | ArchInstructionFormat.MIR_Store_traits), 2757 0, 0, 5, 2758 PhysicalDefUse.maskC0_32, 2759 PhysicalDefUse.mask, 2760 VM.BuildFor32Addr ? (31<<26 | 150<<1 | 1) : (31<<26 | 214<<1 | 1)), 2761 new ArchOperator((char)(234 + Operators.ARCH_INDEPENDENT_END_opcode), //PPC_TAddr 2762 ArchInstructionFormat.MIR_Trap_format, 2763 (immedPEI | dynLink | ArchInstructionFormat.MIR_Trap_traits), 2764 1, 0, 4, 2765 PhysicalDefUse.mask, 2766 PhysicalDefUse.mask, 2767 VM.BuildFor32Addr ? (31<<26 | 4<<1) : (31<<26 | 68<<1)), 2768 new ArchOperator((char)(235 + Operators.ARCH_INDEPENDENT_END_opcode), //MIR_END 2769 ArchInstructionFormat.Unassigned_format, 2770 (none), 2771 0,0,0, 2772 PhysicalDefUse.mask, 2773 PhysicalDefUse.mask, 2774 -1), 2775 null }; 2776 2777 /** 2778 * Instruction template used by the assembler to 2779 * generate binary code. Only valid on MIR operators. 2780 */ 2781 private final int instTemplate; 2782 2783 @Pure 2784 public static Operator lookupOpcode(int opcode) { 2785 return OperatorArray[opcode]; 2786 } 2787 2788 /** @return array that holds all operators for this architecture */ 2789 public static Operator[] operatorArray() { 2790 return OperatorArray; 2791 } 2792 2793 /** 2794 * Instruction template used by the assembler to 2795 * generate binary code. Only valid on MIR operators. 2796 */ 2797 @Override 2798 public int instTemplate() { 2799 return instTemplate; 2800 } 2801 2802 /* Constructor for HIR/LIR */ 2803 private ArchOperator(char opcode, byte format, int traits, 2804 int numDefs, int numDefUses, int numUses, 2805 int iDefs, int iUses) { 2806 super(opcode, format, traits, numDefs, numDefUses, numUses, iDefs, iUses); 2807 this.instTemplate = 0; 2808 } 2809 2810 /* Constructor for MIR */ 2811 private ArchOperator(char opcode, byte format, int traits, 2812 int numDefs, int numDefUses, int numUses, 2813 int iDefs, int iUses, 2814 int iTemp) { 2815 super(opcode, format, traits, numDefs, numDefUses, numUses, iDefs, iUses); 2816 this.instTemplate = iTemp; 2817 } 2818}