summaryrefslogtreecommitdiff
path: root/deps/v8/src/compiler/backend/x64/instruction-scheduler-x64.cc
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/compiler/backend/x64/instruction-scheduler-x64.cc')
-rw-r--r--deps/v8/src/compiler/backend/x64/instruction-scheduler-x64.cc161
1 files changed, 46 insertions, 115 deletions
diff --git a/deps/v8/src/compiler/backend/x64/instruction-scheduler-x64.cc b/deps/v8/src/compiler/backend/x64/instruction-scheduler-x64.cc
index 8bbb7e2519..38a9a5f872 100644
--- a/deps/v8/src/compiler/backend/x64/instruction-scheduler-x64.cc
+++ b/deps/v8/src/compiler/backend/x64/instruction-scheduler-x64.cc
@@ -134,22 +134,22 @@ int InstructionScheduler::GetTargetInstructionFlags(
case kX64Cvttpd2dq:
case kX64I32x4TruncF64x2UZero:
case kX64I32x4TruncF32x4U:
- case kX64F64x2Splat:
- case kX64F64x2ExtractLane:
- case kX64F64x2ReplaceLane:
- case kX64F64x2Abs:
- case kX64F64x2Neg:
- case kX64F64x2Sqrt:
- case kX64F64x2Add:
- case kX64F64x2Sub:
- case kX64F64x2Mul:
- case kX64F64x2Div:
- case kX64F64x2Min:
- case kX64F64x2Max:
- case kX64F64x2Eq:
- case kX64F64x2Ne:
- case kX64F64x2Lt:
- case kX64F64x2Le:
+ case kX64FSplat:
+ case kX64FExtractLane:
+ case kX64FReplaceLane:
+ case kX64FAbs:
+ case kX64FNeg:
+ case kX64FSqrt:
+ case kX64FAdd:
+ case kX64FSub:
+ case kX64FMul:
+ case kX64FDiv:
+ case kX64FMin:
+ case kX64FMax:
+ case kX64FEq:
+ case kX64FNe:
+ case kX64FLt:
+ case kX64FLe:
case kX64F64x2Qfma:
case kX64F64x2Qfms:
case kX64Minpd:
@@ -158,45 +158,29 @@ int InstructionScheduler::GetTargetInstructionFlags(
case kX64F64x2ConvertLowI32x4S:
case kX64F64x2ConvertLowI32x4U:
case kX64F64x2PromoteLowF32x4:
- case kX64F32x4Splat:
- case kX64F32x4ExtractLane:
- case kX64F32x4ReplaceLane:
case kX64F32x4SConvertI32x4:
case kX64F32x4UConvertI32x4:
- case kX64F32x4Abs:
- case kX64F32x4Neg:
- case kX64F32x4Sqrt:
- case kX64F32x4Add:
- case kX64F32x4Sub:
- case kX64F32x4Mul:
- case kX64F32x4Div:
- case kX64F32x4Min:
- case kX64F32x4Max:
- case kX64F32x4Eq:
- case kX64F32x4Ne:
- case kX64F32x4Lt:
- case kX64F32x4Le:
case kX64F32x4Qfma:
case kX64F32x4Qfms:
case kX64Minps:
case kX64Maxps:
case kX64F32x4Round:
case kX64F32x4DemoteF64x2Zero:
- case kX64I64x2Splat:
- case kX64I64x2ExtractLane:
- case kX64I64x2Abs:
- case kX64I64x2Neg:
- case kX64I64x2BitMask:
- case kX64I64x2Shl:
- case kX64I64x2ShrS:
- case kX64I64x2Add:
- case kX64I64x2Sub:
- case kX64I64x2Mul:
- case kX64I64x2Eq:
- case kX64I64x2GtS:
- case kX64I64x2GeS:
- case kX64I64x2Ne:
- case kX64I64x2ShrU:
+ case kX64ISplat:
+ case kX64IExtractLane:
+ case kX64IAbs:
+ case kX64INeg:
+ case kX64IBitMask:
+ case kX64IShl:
+ case kX64IShrS:
+ case kX64IAdd:
+ case kX64ISub:
+ case kX64IMul:
+ case kX64IEq:
+ case kX64IGtS:
+ case kX64IGeS:
+ case kX64INe:
+ case kX64IShrU:
case kX64I64x2ExtMulLowI32x4S:
case kX64I64x2ExtMulHighI32x4S:
case kX64I64x2ExtMulLowI32x4U:
@@ -205,34 +189,20 @@ int InstructionScheduler::GetTargetInstructionFlags(
case kX64I64x2SConvertI32x4High:
case kX64I64x2UConvertI32x4Low:
case kX64I64x2UConvertI32x4High:
- case kX64I32x4Splat:
- case kX64I32x4ExtractLane:
case kX64I32x4SConvertF32x4:
case kX64I32x4SConvertI16x8Low:
case kX64I32x4SConvertI16x8High:
- case kX64I32x4Neg:
- case kX64I32x4Shl:
- case kX64I32x4ShrS:
- case kX64I32x4Add:
- case kX64I32x4Sub:
- case kX64I32x4Mul:
- case kX64I32x4MinS:
- case kX64I32x4MaxS:
- case kX64I32x4Eq:
- case kX64I32x4Ne:
- case kX64I32x4GtS:
- case kX64I32x4GeS:
+ case kX64IMinS:
+ case kX64IMaxS:
case kX64I32x4UConvertF32x4:
case kX64I32x4UConvertI16x8Low:
case kX64I32x4UConvertI16x8High:
- case kX64I32x4ShrU:
- case kX64I32x4MinU:
- case kX64I32x4MaxU:
- case kX64I32x4GtU:
- case kX64I32x4GeU:
- case kX64I32x4Abs:
- case kX64I32x4BitMask:
+ case kX64IMinU:
+ case kX64IMaxU:
+ case kX64IGtU:
+ case kX64IGeU:
case kX64I32x4DotI16x8S:
+ case kX64I32x4DotI8x16I7x16AddS:
case kX64I32x4ExtMulLowI16x8S:
case kX64I32x4ExtMulHighI16x8S:
case kX64I32x4ExtMulLowI16x8U:
@@ -242,38 +212,18 @@ int InstructionScheduler::GetTargetInstructionFlags(
case kX64I32x4TruncSatF64x2SZero:
case kX64I32x4TruncSatF64x2UZero:
case kX64I32X4ShiftZeroExtendI8x16:
- case kX64I16x8Splat:
- case kX64I16x8ExtractLaneS:
+ case kX64IExtractLaneS:
case kX64I16x8SConvertI8x16Low:
case kX64I16x8SConvertI8x16High:
- case kX64I16x8Neg:
- case kX64I16x8Shl:
- case kX64I16x8ShrS:
case kX64I16x8SConvertI32x4:
- case kX64I16x8Add:
case kX64I16x8AddSatS:
- case kX64I16x8Sub:
case kX64I16x8SubSatS:
- case kX64I16x8Mul:
- case kX64I16x8MinS:
- case kX64I16x8MaxS:
- case kX64I16x8Eq:
- case kX64I16x8Ne:
- case kX64I16x8GtS:
- case kX64I16x8GeS:
case kX64I16x8UConvertI8x16Low:
case kX64I16x8UConvertI8x16High:
case kX64I16x8UConvertI32x4:
- case kX64I16x8ShrU:
case kX64I16x8AddSatU:
case kX64I16x8SubSatU:
- case kX64I16x8MinU:
- case kX64I16x8MaxU:
- case kX64I16x8GtU:
- case kX64I16x8GeU:
case kX64I16x8RoundingAverageU:
- case kX64I16x8Abs:
- case kX64I16x8BitMask:
case kX64I16x8ExtMulLowI8x16S:
case kX64I16x8ExtMulHighI8x16S:
case kX64I16x8ExtMulLowI8x16U:
@@ -283,33 +233,13 @@ int InstructionScheduler::GetTargetInstructionFlags(
case kX64I16x8Q15MulRSatS:
case kX64I16x8RelaxedQ15MulRS:
case kX64I16x8DotI8x16I7x16S:
- case kX64I8x16Splat:
- case kX64I8x16ExtractLaneS:
case kX64I8x16SConvertI16x8:
- case kX64I8x16Neg:
- case kX64I8x16Shl:
- case kX64I8x16ShrS:
- case kX64I8x16Add:
case kX64I8x16AddSatS:
- case kX64I8x16Sub:
case kX64I8x16SubSatS:
- case kX64I8x16MinS:
- case kX64I8x16MaxS:
- case kX64I8x16Eq:
- case kX64I8x16Ne:
- case kX64I8x16GtS:
- case kX64I8x16GeS:
case kX64I8x16UConvertI16x8:
case kX64I8x16AddSatU:
case kX64I8x16SubSatU:
- case kX64I8x16ShrU:
- case kX64I8x16MinU:
- case kX64I8x16MaxU:
- case kX64I8x16GtU:
- case kX64I8x16GeU:
case kX64I8x16RoundingAverageU:
- case kX64I8x16Abs:
- case kX64I8x16BitMask:
case kX64S128And:
case kX64S128Or:
case kX64S128Xor:
@@ -319,9 +249,7 @@ int InstructionScheduler::GetTargetInstructionFlags(
case kX64S128Zero:
case kX64S128AllOnes:
case kX64S128AndNot:
- case kX64I64x2AllTrue:
- case kX64I32x4AllTrue:
- case kX64I16x8AllTrue:
+ case kX64IAllTrue:
case kX64I8x16Swizzle:
case kX64I8x16Shuffle:
case kX64I8x16Popcnt:
@@ -353,7 +281,8 @@ int InstructionScheduler::GetTargetInstructionFlags(
case kX64S8x4Reverse:
case kX64S8x2Reverse:
case kX64V128AnyTrue:
- case kX64I8x16AllTrue:
+ case kX64Blendvpd:
+ case kX64Blendvps:
case kX64Pblendvb:
return (instr->addressing_mode() == kMode_None)
? kNoOpcodeFlags
@@ -398,8 +327,7 @@ int InstructionScheduler::GetTargetInstructionFlags(
}
case kX64MovqDecompressTaggedSigned:
- case kX64MovqDecompressTaggedPointer:
- case kX64MovqDecompressAnyTagged:
+ case kX64MovqDecompressTagged:
case kX64MovqCompressTagged:
case kX64MovqDecodeSandboxedPointer:
case kX64MovqEncodeSandboxedPointer:
@@ -407,10 +335,13 @@ int InstructionScheduler::GetTargetInstructionFlags(
case kX64Movsd:
case kX64Movss:
case kX64Movdqu:
+ case kX64Movdqu256:
case kX64S128Load8Splat:
case kX64S128Load16Splat:
case kX64S128Load32Splat:
+ case kX64S256Load32Splat:
case kX64S128Load64Splat:
+ case kX64S256Load64Splat:
case kX64S128Load8x8S:
case kX64S128Load8x8U:
case kX64S128Load16x4S: