/** * Gets the instruction prefix required, if any, to use in an expanded * version of this instance. Will not generate moves for registers * 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 prefix, if any */ public DalvInsn expandedPrefix(BitSet compatRegs) { RegisterSpecList regs = registers; boolean firstBit = compatRegs.get(0); if (hasResult()) compatRegs.set(0); regs = regs.subset(compatRegs); if (hasResult()) compatRegs.set(0, firstBit); if (regs.size() == 0) return null; return new HighRegisterPrefix(position, regs); }
/** * Gets the instruction prefix required, if any, to use in an expanded * version of this instance. Will not generate moves for registers * 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 prefix, if any */ public DalvInsn expandedPrefix(BitSet compatRegs) { RegisterSpecList regs = registers; boolean firstBit = compatRegs.get(0); if (hasResult()) compatRegs.set(0); regs = regs.subset(compatRegs); if (hasResult()) compatRegs.set(0, firstBit); if (regs.size() == 0) return null; return new HighRegisterPrefix(position, regs); }
/** * Gets the instruction prefix required, if any, to use in an expanded * version of this instance. Will not generate moves for registers * 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 prefix, if any */ public DalvInsn expandedPrefix(BitSet compatRegs) { RegisterSpecList regs = registers; boolean firstBit = compatRegs.get(0); if (hasResult()) compatRegs.set(0); regs = regs.subset(compatRegs); if (hasResult()) compatRegs.set(0, firstBit); if (regs.size() == 0) return null; return new HighRegisterPrefix(position, regs); }
/** * Gets the instruction prefix required, if any, to use in an expanded * version of this instance. Will not generate moves for registers * 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 prefix, if any */ public DalvInsn expandedPrefix(BitSet compatRegs) { RegisterSpecList regs = registers; boolean firstBit = compatRegs.get(0); if (hasResult()) compatRegs.set(0); regs = regs.subset(compatRegs); if (hasResult()) compatRegs.set(0, firstBit); if (regs.size() == 0) return null; return new HighRegisterPrefix(position, regs); }
/** * Gets the instruction prefix required, if any, to use in an expanded * version of this instance. Will not generate moves for registers * 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 prefix, if any */ public DalvInsn expandedPrefix(BitSet compatRegs) { RegisterSpecList regs = registers; boolean firstBit = compatRegs.get(0); if (hasResult()) compatRegs.set(0); regs = regs.subset(compatRegs); if (hasResult()) compatRegs.set(0, firstBit); if (regs.size() == 0) return null; return new HighRegisterPrefix(position, regs); }
/** * Gets the instruction prefix required, if any, to use in an expanded * version of this instance. Will not generate moves for registers * 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 prefix, if any */ public DalvInsn expandedPrefix(BitSet compatRegs) { RegisterSpecList regs = registers; boolean firstBit = compatRegs.get(0); if (hasResult()) compatRegs.set(0); regs = regs.subset(compatRegs); if (hasResult()) compatRegs.set(0, firstBit); if (regs.size() == 0) return null; return new HighRegisterPrefix(position, regs); }
/** * Gets the instruction prefix required, if any, to use in an expanded * version of this instance. Will not generate moves for registers * 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 prefix, if any */ public DalvInsn expandedPrefix(BitSet compatRegs) { RegisterSpecList regs = registers; boolean firstBit = compatRegs.get(0); if (hasResult()) compatRegs.set(0); regs = regs.subset(compatRegs); if (hasResult()) compatRegs.set(0, firstBit); if (regs.size() == 0) return null; return new HighRegisterPrefix(position, regs); }