public final class AMD64ArrayCopyWithConversionsOp extends AMD64ComplexVectorOp
8 bit,
16 bit or 32 bit array elements.
CAUTION: the compression implementation assumes that the upper bytes of char/int
values to be compressed are zero. If this assumption is broken, compression will yield incorrect
results!
LIRInstruction.Alive, LIRInstruction.Def, LIRInstruction.OperandFlag, LIRInstruction.OperandMode, LIRInstruction.State, LIRInstruction.Temp, LIRInstruction.Use| Modifier and Type | Field and Description |
|---|---|
static LIRInstructionClass<AMD64ArrayCopyWithConversionsOp> |
TYPE |
targetDescription, vectorSizeADDRESS_FLAGS, ALLOWED_FLAGS| Modifier and Type | Method and Description |
|---|---|
void |
emitCode(CompilationResultBuilder crb,
AMD64MacroAssembler asm) |
static AMD64ArrayCopyWithConversionsOp |
movParamsAndCreate(LIRGeneratorTool tool,
JavaKind strideSrc,
JavaKind strideDst,
Value arraySrc,
Value offsetSrc,
Value arrayDst,
Value offsetDst,
Value length,
AMD64MacroAssembler.ExtendMode extendMode) |
static AMD64ArrayCopyWithConversionsOp |
movParamsAndCreate(LIRGeneratorTool tool,
Value arraySrc,
Value offsetSrc,
Value arrayDst,
Value offsetDst,
Value length,
Value stride,
AMD64MacroAssembler.ExtendMode extendMode) |
getVectorKind, needsClearUpperVectorRegisters, supports, supportsAVX2AndYMM, supportsAVX512VLBW, supportsAVX512VLBWAndZMM, supportsBMI2emitCodeaddStackSlotsToTemporaries, destroysCallerSavedRegisters, forEachAlive, forEachAlive, forEachInput, forEachInput, forEachOutput, forEachOutput, forEachRegisterHint, forEachRegisterHint, forEachState, forEachState, forEachState, forEachState, forEachTemp, forEachTemp, getComment, getLIRInstructionClass, getPosition, hashCode, hasOperands, hasState, id, isLoadConstantOp, isMoveOp, isValueMoveOp, name, setComment, setId, setPosition, toString, toString, toStringWithIdPrefix, verify, visitEachAlive, visitEachAlive, visitEachInput, visitEachInput, visitEachOutput, visitEachOutput, visitEachState, visitEachState, visitEachTemp, visitEachTemppublic static final LIRInstructionClass<AMD64ArrayCopyWithConversionsOp> TYPE
public static AMD64ArrayCopyWithConversionsOp movParamsAndCreate(LIRGeneratorTool tool, JavaKind strideSrc, JavaKind strideDst, Value arraySrc, Value offsetSrc, Value arrayDst, Value offsetDst, Value length, AMD64MacroAssembler.ExtendMode extendMode)
public static AMD64ArrayCopyWithConversionsOp movParamsAndCreate(LIRGeneratorTool tool, Value arraySrc, Value offsetSrc, Value arrayDst, Value offsetDst, Value length, Value stride, AMD64MacroAssembler.ExtendMode extendMode)
public void emitCode(CompilationResultBuilder crb, AMD64MacroAssembler asm)
emitCode in class AMD64LIRInstruction