/** * Returns the proper move instruction for the given source spec * and destination index. * * @param src {@code non-null;} the source register spec * @param destIndex {@code >= 0;} the destination register index * @return {@code non-null;} the appropriate move instruction */ private static SimpleInsn moveInsnFor(RegisterSpec src, int destIndex) { return DalvInsn.makeMove(SourcePosition.NO_INFO, RegisterSpec.make(destIndex, src.getType()), src); } }
/** * Returns the proper move instruction for the given source spec * and destination index. * * @param src {@code non-null;} the source register spec * @param destIndex {@code >= 0;} the destination register index * @return {@code non-null;} the appropriate move instruction */ private static SimpleInsn moveInsnFor(RegisterSpec src, int destIndex) { return DalvInsn.makeMove(SourcePosition.NO_INFO, RegisterSpec.make(destIndex, src.getType()), src); } }
/** * Returns the proper move instruction for the given source spec * and destination index. * * @param src {@code non-null;} the source register spec * @param destIndex {@code >= 0;} the destination register index * @return {@code non-null;} the appropriate move instruction */ private static SimpleInsn moveInsnFor(RegisterSpec src, int destIndex) { return DalvInsn.makeMove(SourcePosition.NO_INFO, RegisterSpec.make(destIndex, src.getType()), src); } }
/** * Returns the proper move instruction for the given source spec * and destination index. * * @param src {@code non-null;} the source register spec * @param destIndex {@code >= 0;} the destination register index * @return {@code non-null;} the appropriate move instruction */ private static SimpleInsn moveInsnFor(RegisterSpec src, int destIndex) { return DalvInsn.makeMove(SourcePosition.NO_INFO, RegisterSpec.make(destIndex, src.getType()), src); } }
/** * Returns the proper move instruction for the given source spec * and destination index. * * @param src {@code non-null;} the source register spec * @param destIndex {@code >= 0;} the destination register index * @return {@code non-null;} the appropriate move instruction */ private static SimpleInsn moveInsnFor(RegisterSpec src, int destIndex) { return DalvInsn.makeMove(SourcePosition.NO_INFO, RegisterSpec.make(destIndex, src.getType()), src); } }
/** * Returns the proper move instruction for the given source spec * and destination index. * * @param src {@code non-null;} the source register spec * @param destIndex {@code >= 0;} the destination register index * @return {@code non-null;} the appropriate move instruction */ private static SimpleInsn moveInsnFor(RegisterSpec src, int destIndex) { return DalvInsn.makeMove(SourcePosition.NO_INFO, RegisterSpec.make(destIndex, src.getType()), src); } }
/** * Returns the proper move instruction for the given source spec * and destination index. * * @param src {@code non-null;} the source register spec * @param destIndex {@code >= 0;} the destination register index * @return {@code non-null;} the appropriate move instruction */ private static SimpleInsn moveInsnFor(RegisterSpec src, int destIndex) { return DalvInsn.makeMove(SourcePosition.NO_INFO, RegisterSpec.make(destIndex, src.getType()), src); } }
/** * Returns the proper move instruction for the given source spec and * destination index. * * @param src * {@code non-null;} the source register spec * @param destIndex * {@code >= 0;} the destination register index * @return {@code non-null;} the appropriate move instruction */ private static SimpleInsn moveInsnFor(RegisterSpec src, int destIndex) { return DalvInsn.makeMove(SourcePosition.NO_INFO, RegisterSpec.make( destIndex, src.getType()), src); } }
/** * Gets the instruction suffix required, if any, to use in an expanded * version of this instance. Will not generate a move for a register * marked compatible to the format by the given BitSet. * * @see #expandedVersion * * @param compatRegs {@code non-null;} set of compatible registers * @return {@code null-ok;} the suffix, if any */ public DalvInsn expandedSuffix(BitSet compatRegs) { if (hasResult() && !compatRegs.get(0)) { RegisterSpec r = registers.get(0); return makeMove(position, r, r.withReg(0)); } else { return null; } }
/** * Gets the instruction suffix required, if any, to use in an expanded * version of this instance. Will not generate a move for a register * marked compatible to the format by the given BitSet. * * @see #expandedVersion * * @param compatRegs {@code non-null;} set of compatible registers * @return {@code null-ok;} the suffix, if any */ public DalvInsn expandedSuffix(BitSet compatRegs) { if (hasResult() && !compatRegs.get(0)) { RegisterSpec r = registers.get(0); return makeMove(position, r, r.withReg(0)); } else { return null; } }
/** * Gets the instruction suffix required, if any, to use in an expanded * version of this instance. Will not generate a move for a register * marked compatible to the format by the given BitSet. * * @see #expandedVersion * * @param compatRegs {@code non-null;} set of compatible registers * @return {@code null-ok;} the suffix, if any */ public DalvInsn expandedSuffix(BitSet compatRegs) { if (hasResult() && !compatRegs.get(0)) { RegisterSpec r = registers.get(0); return makeMove(position, r, r.withReg(0)); } else { return null; } }
/** * Gets the instruction suffix required, if any, to use in an expanded * version of this instance. Will not generate a move for a register * marked compatible to the format by the given BitSet. * * @see #expandedVersion * * @param compatRegs {@code non-null;} set of compatible registers * @return {@code null-ok;} the suffix, if any */ public DalvInsn expandedSuffix(BitSet compatRegs) { if (hasResult() && !compatRegs.get(0)) { RegisterSpec r = registers.get(0); return makeMove(position, r, r.withReg(0)); } else { return null; } }
/** * Gets the instruction suffix required, if any, to use in an expanded * version of this instance. Will not generate a move for a register * marked compatible to the format by the given BitSet. * * @see #expandedVersion * * @param compatRegs {@code non-null;} set of compatible registers * @return {@code null-ok;} the suffix, if any */ public DalvInsn expandedSuffix(BitSet compatRegs) { if (hasResult() && !compatRegs.get(0)) { RegisterSpec r = registers.get(0); return makeMove(position, r, r.withReg(0)); } else { return null; } }
/** * Gets the instruction suffix required, if any, to use in an expanded * version of this instance. Will not generate a move for a register * marked compatible to the format by the given BitSet. * * @see #expandedVersion * * @param compatRegs {@code non-null;} set of compatible registers * @return {@code null-ok;} the suffix, if any */ public DalvInsn expandedSuffix(BitSet compatRegs) { if (hasResult() && !compatRegs.get(0)) { RegisterSpec r = registers.get(0); return makeMove(position, r, r.withReg(0)); } else { return null; } }
/** * Gets the instruction suffix required, if any, to use in an expanded * version of this instance. Will not generate a move for a register * marked compatible to the format by the given BitSet. * * @see #expandedVersion * * @param compatRegs {@code non-null;} set of compatible registers * @return {@code null-ok;} the suffix, if any */ public DalvInsn expandedSuffix(BitSet compatRegs) { if (hasResult() && !compatRegs.get(0)) { RegisterSpec r = registers.get(0); return makeMove(position, r, r.withReg(0)); } else { return null; } }
/** * Gets the instruction suffix required, if any, to use in a high * register transformed version of this instance. * * @see #hrVersion * * @return {@code null-ok;} the suffix, if any */ public DalvInsn hrSuffix() { if (hasResult()) { RegisterSpec r = registers.get(0); return makeMove(position, r, r.withReg(0)); } else { return null; } }