public final class AMD64ArrayRegionCompareToOp extends AMD64ComplexVectorOp
extendMode parameter.LIRInstruction.Alive, LIRInstruction.Def, LIRInstruction.OperandFlag, LIRInstruction.OperandMode, LIRInstruction.State, LIRInstruction.Temp, LIRInstruction.Use| Modifier and Type | Field and Description |
|---|---|
static LIRInstructionClass<AMD64ArrayRegionCompareToOp> |
TYPE |
targetDescription, vectorSizeADDRESS_FLAGS, ALLOWED_FLAGS| Modifier and Type | Method and Description |
|---|---|
void |
emitCode(CompilationResultBuilder crb,
AMD64MacroAssembler masm) |
static AMD64ArrayRegionCompareToOp |
movParamsAndCreate(LIRGeneratorTool tool,
JavaKind strideA,
JavaKind strideB,
Value result,
Value arrayA,
Value offsetA,
Value arrayB,
Value offsetB,
Value length,
Value dynamicStrides,
AMD64MacroAssembler.ExtendMode extendMode)
Compares array regions of length
length in arrayA and arrayB,
starting at byte offset offsetA and offsetB, respectively. |
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<AMD64ArrayRegionCompareToOp> TYPE
public static AMD64ArrayRegionCompareToOp movParamsAndCreate(LIRGeneratorTool tool, JavaKind strideA, JavaKind strideB, Value result, Value arrayA, Value offsetA, Value arrayB, Value offsetB, Value length, Value dynamicStrides, AMD64MacroAssembler.ExtendMode extendMode)
length in arrayA and arrayB,
starting at byte offset offsetA and offsetB, respectively.strideA - element size of arrayA. May be one of JavaKind.Byte,
JavaKind.Char or JavaKind.Int. strideA must be greater
than or equal to strideB!strideB - element size of arrayB. May be one of JavaKind.Byte,
JavaKind.Char or JavaKind.Int. strideB must be less than
or equal to strideA!offsetA - byte offset to be added to arrayA. Must include the array base offset!offsetB - byte offset to be added to arrayB. Must include the array base offset!length - length (number of array slots in respective array's stride) of the region to
compare.extendMode - integer extension mode for arrayB.dynamicStrides - dynamic stride dispatch as described in StrideUtil.public void emitCode(CompilationResultBuilder crb, AMD64MacroAssembler masm)
emitCode in class AMD64LIRInstruction