001
002/*
003 * THIS FILE IS MACHINE_GENERATED. DO NOT EDIT.
004 * See InstructionFormats.template, CommonOperands.dat,
005 * OperatorList.dat, etc.
006 */
007
008package org.jikesrvm.compilers.opt.ir.ia32;
009
010import org.vmmagic.pragma.Pure;
011
012/**
013 * Lookup used to see if an operator is a Result (which is RegisterOperand)
014 */
015public final class ResultCarrierLookup {
016  /** Look up table */
017  private static final int[] table = {
018           -1    // Unassigned
019           , 0    // Move
020           , -1    // Return
021           , -1    // Prologue
022           , -1    // InstrumentedCounter
023           , -1    // Empty
024           , 0    // Nullary
025           , 0    // New
026           , 0    // NewArray
027           , 0    // Multianewarray
028           , -1    // Athrow
029           , -1    // MonitorOp
030           , -1    // CacheOp
031           , -1    // NullCheck
032           , -1    // ZeroCheck
033           , -1    // BoundsCheck
034           , -1    // StoreCheck
035           , 0    // TypeCheck
036           , 0    // InstanceOf
037           , -1    // Trap
038           , -1    // TrapIf
039           , -1    // IfCmp
040           , -1    // IfCmp2
041           , -1    // InlineGuard
042           , 0    // BooleanCmp
043           , 0    // CondMove
044           , -1    // Goto
045           , -1    // Label
046           , -1    // BBend
047           , 0    // Unary
048           , 0    // GuardedUnary
049           , 0    // Binary
050           , 0    // GuardedBinary
051           , -1    // GuardedSet
052           , 0    // ALoad
053           , 0    // GetField
054           , 0    // GetStatic
055           , 0    // Load
056           , -1    // AStore
057           , -1    // PutField
058           , -1    // PutStatic
059           , -1    // Store
060           , 0    // Prepare
061           , 0    // Attempt
062           , 0    // Call
063           , -1    // TableSwitch
064           , -1    // LookupSwitch
065           , -1    // LowTableSwitch
066           , -1    // Phi
067           , -1    // OsrBarrier
068           , -1    // OsrPoint
069           , -1    // MIR_LowTableSwitch
070           , -1    // MIR_Move
071           , -1    // MIR_CondMove
072           , 0    // MIR_Lea
073           , -1    // MIR_BinaryAcc
074           , -1    // MIR_Divide
075           , -1    // MIR_Multiply
076           , -1    // MIR_ConvertDW2QW
077           , -1    // MIR_UnaryAcc
078           , -1    // MIR_Compare
079           , -1    // MIR_CompareExchange
080           , -1    // MIR_CompareExchange8B
081           , -1    // MIR_Trap
082           , -1    // MIR_TrapIf
083           , -1    // MIR_Branch
084           , -1    // MIR_CondBranch
085           , -1    // MIR_CondBranch2
086           , 0    // MIR_Call
087           , -1    // MIR_Empty
088           , -1    // MIR_Return
089           , -1    // MIR_Set
090           , -1    // MIR_Test
091           , -1    // MIR_Nullary
092           , -1    // MIR_UnaryNoRes
093           , -1    // MIR_Unary
094           , -1    // MIR_XChng
095           , -1    // MIR_DoubleShift
096           , -1    // MIR_CaseLabel
097           , -1    // MIR_FSave
098           , -1    // MIR_RDTSC
099           , -1    // MIR_CacheOp
100        };
101
102  /**
103   * Perform table lookup
104   * @param index the index to lookup
105   * @return the index into the instruction operands that carries the Result
106   *   or -1 if not carried
107   */
108  @Pure
109  public static int lookup(int index) {
110    return table[index];
111  }
112}
113