diff options
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.cc | 161 |
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: |