11cb0ef41Sopenharmony_ci// Copyright 2015 the V8 project authors. All rights reserved. 21cb0ef41Sopenharmony_ci// Use of this source code is governed by a BSD-style license that can be 31cb0ef41Sopenharmony_ci// found in the LICENSE file. 41cb0ef41Sopenharmony_ci 51cb0ef41Sopenharmony_ci#include "src/compiler/backend/instruction-scheduler.h" 61cb0ef41Sopenharmony_ci 71cb0ef41Sopenharmony_cinamespace v8 { 81cb0ef41Sopenharmony_cinamespace internal { 91cb0ef41Sopenharmony_cinamespace compiler { 101cb0ef41Sopenharmony_ci 111cb0ef41Sopenharmony_cibool InstructionScheduler::SchedulerSupported() { return true; } 121cb0ef41Sopenharmony_ci 131cb0ef41Sopenharmony_ciint InstructionScheduler::GetTargetInstructionFlags( 141cb0ef41Sopenharmony_ci const Instruction* instr) const { 151cb0ef41Sopenharmony_ci switch (instr->arch_opcode()) { 161cb0ef41Sopenharmony_ci case kS390_Abs32: 171cb0ef41Sopenharmony_ci case kS390_Abs64: 181cb0ef41Sopenharmony_ci case kS390_And32: 191cb0ef41Sopenharmony_ci case kS390_And64: 201cb0ef41Sopenharmony_ci case kS390_Or32: 211cb0ef41Sopenharmony_ci case kS390_Or64: 221cb0ef41Sopenharmony_ci case kS390_Xor32: 231cb0ef41Sopenharmony_ci case kS390_Xor64: 241cb0ef41Sopenharmony_ci case kS390_ShiftLeft32: 251cb0ef41Sopenharmony_ci case kS390_ShiftLeft64: 261cb0ef41Sopenharmony_ci case kS390_ShiftRight32: 271cb0ef41Sopenharmony_ci case kS390_ShiftRight64: 281cb0ef41Sopenharmony_ci case kS390_ShiftRightArith32: 291cb0ef41Sopenharmony_ci case kS390_ShiftRightArith64: 301cb0ef41Sopenharmony_ci case kS390_RotRight32: 311cb0ef41Sopenharmony_ci case kS390_RotRight64: 321cb0ef41Sopenharmony_ci case kS390_Not32: 331cb0ef41Sopenharmony_ci case kS390_Not64: 341cb0ef41Sopenharmony_ci case kS390_RotLeftAndClear64: 351cb0ef41Sopenharmony_ci case kS390_RotLeftAndClearLeft64: 361cb0ef41Sopenharmony_ci case kS390_RotLeftAndClearRight64: 371cb0ef41Sopenharmony_ci case kS390_Lay: 381cb0ef41Sopenharmony_ci case kS390_Add32: 391cb0ef41Sopenharmony_ci case kS390_Add64: 401cb0ef41Sopenharmony_ci case kS390_AddFloat: 411cb0ef41Sopenharmony_ci case kS390_AddDouble: 421cb0ef41Sopenharmony_ci case kS390_Sub32: 431cb0ef41Sopenharmony_ci case kS390_Sub64: 441cb0ef41Sopenharmony_ci case kS390_SubFloat: 451cb0ef41Sopenharmony_ci case kS390_SubDouble: 461cb0ef41Sopenharmony_ci case kS390_Mul32: 471cb0ef41Sopenharmony_ci case kS390_Mul32WithOverflow: 481cb0ef41Sopenharmony_ci case kS390_Mul64: 491cb0ef41Sopenharmony_ci case kS390_MulHigh32: 501cb0ef41Sopenharmony_ci case kS390_MulHighU32: 511cb0ef41Sopenharmony_ci case kS390_MulFloat: 521cb0ef41Sopenharmony_ci case kS390_MulDouble: 531cb0ef41Sopenharmony_ci case kS390_Div32: 541cb0ef41Sopenharmony_ci case kS390_Div64: 551cb0ef41Sopenharmony_ci case kS390_DivU32: 561cb0ef41Sopenharmony_ci case kS390_DivU64: 571cb0ef41Sopenharmony_ci case kS390_DivFloat: 581cb0ef41Sopenharmony_ci case kS390_DivDouble: 591cb0ef41Sopenharmony_ci case kS390_Mod32: 601cb0ef41Sopenharmony_ci case kS390_Mod64: 611cb0ef41Sopenharmony_ci case kS390_ModU32: 621cb0ef41Sopenharmony_ci case kS390_ModU64: 631cb0ef41Sopenharmony_ci case kS390_ModDouble: 641cb0ef41Sopenharmony_ci case kS390_Neg32: 651cb0ef41Sopenharmony_ci case kS390_Neg64: 661cb0ef41Sopenharmony_ci case kS390_NegDouble: 671cb0ef41Sopenharmony_ci case kS390_NegFloat: 681cb0ef41Sopenharmony_ci case kS390_SqrtFloat: 691cb0ef41Sopenharmony_ci case kS390_FloorFloat: 701cb0ef41Sopenharmony_ci case kS390_CeilFloat: 711cb0ef41Sopenharmony_ci case kS390_TruncateFloat: 721cb0ef41Sopenharmony_ci case kS390_FloatNearestInt: 731cb0ef41Sopenharmony_ci case kS390_AbsFloat: 741cb0ef41Sopenharmony_ci case kS390_SqrtDouble: 751cb0ef41Sopenharmony_ci case kS390_FloorDouble: 761cb0ef41Sopenharmony_ci case kS390_CeilDouble: 771cb0ef41Sopenharmony_ci case kS390_TruncateDouble: 781cb0ef41Sopenharmony_ci case kS390_RoundDouble: 791cb0ef41Sopenharmony_ci case kS390_DoubleNearestInt: 801cb0ef41Sopenharmony_ci case kS390_MaxFloat: 811cb0ef41Sopenharmony_ci case kS390_MaxDouble: 821cb0ef41Sopenharmony_ci case kS390_MinFloat: 831cb0ef41Sopenharmony_ci case kS390_MinDouble: 841cb0ef41Sopenharmony_ci case kS390_AbsDouble: 851cb0ef41Sopenharmony_ci case kS390_Cntlz32: 861cb0ef41Sopenharmony_ci case kS390_Cntlz64: 871cb0ef41Sopenharmony_ci case kS390_Popcnt32: 881cb0ef41Sopenharmony_ci case kS390_Popcnt64: 891cb0ef41Sopenharmony_ci case kS390_Cmp32: 901cb0ef41Sopenharmony_ci case kS390_Cmp64: 911cb0ef41Sopenharmony_ci case kS390_CmpFloat: 921cb0ef41Sopenharmony_ci case kS390_CmpDouble: 931cb0ef41Sopenharmony_ci case kS390_Tst32: 941cb0ef41Sopenharmony_ci case kS390_Tst64: 951cb0ef41Sopenharmony_ci case kS390_SignExtendWord8ToInt32: 961cb0ef41Sopenharmony_ci case kS390_SignExtendWord16ToInt32: 971cb0ef41Sopenharmony_ci case kS390_SignExtendWord8ToInt64: 981cb0ef41Sopenharmony_ci case kS390_SignExtendWord16ToInt64: 991cb0ef41Sopenharmony_ci case kS390_SignExtendWord32ToInt64: 1001cb0ef41Sopenharmony_ci case kS390_Uint32ToUint64: 1011cb0ef41Sopenharmony_ci case kS390_Int64ToInt32: 1021cb0ef41Sopenharmony_ci case kS390_Int64ToFloat32: 1031cb0ef41Sopenharmony_ci case kS390_Int64ToDouble: 1041cb0ef41Sopenharmony_ci case kS390_Uint64ToFloat32: 1051cb0ef41Sopenharmony_ci case kS390_Uint64ToDouble: 1061cb0ef41Sopenharmony_ci case kS390_Int32ToFloat32: 1071cb0ef41Sopenharmony_ci case kS390_Int32ToDouble: 1081cb0ef41Sopenharmony_ci case kS390_Uint32ToFloat32: 1091cb0ef41Sopenharmony_ci case kS390_Uint32ToDouble: 1101cb0ef41Sopenharmony_ci case kS390_Float32ToInt32: 1111cb0ef41Sopenharmony_ci case kS390_Float32ToUint32: 1121cb0ef41Sopenharmony_ci case kS390_Float32ToUint64: 1131cb0ef41Sopenharmony_ci case kS390_Float32ToDouble: 1141cb0ef41Sopenharmony_ci case kS390_Float64SilenceNaN: 1151cb0ef41Sopenharmony_ci case kS390_DoubleToInt32: 1161cb0ef41Sopenharmony_ci case kS390_DoubleToUint32: 1171cb0ef41Sopenharmony_ci case kS390_Float32ToInt64: 1181cb0ef41Sopenharmony_ci case kS390_DoubleToInt64: 1191cb0ef41Sopenharmony_ci case kS390_DoubleToUint64: 1201cb0ef41Sopenharmony_ci case kS390_DoubleToFloat32: 1211cb0ef41Sopenharmony_ci case kS390_DoubleExtractLowWord32: 1221cb0ef41Sopenharmony_ci case kS390_DoubleExtractHighWord32: 1231cb0ef41Sopenharmony_ci case kS390_DoubleInsertLowWord32: 1241cb0ef41Sopenharmony_ci case kS390_DoubleInsertHighWord32: 1251cb0ef41Sopenharmony_ci case kS390_DoubleConstruct: 1261cb0ef41Sopenharmony_ci case kS390_BitcastInt32ToFloat32: 1271cb0ef41Sopenharmony_ci case kS390_BitcastFloat32ToInt32: 1281cb0ef41Sopenharmony_ci case kS390_BitcastInt64ToDouble: 1291cb0ef41Sopenharmony_ci case kS390_BitcastDoubleToInt64: 1301cb0ef41Sopenharmony_ci case kS390_LoadReverse16RR: 1311cb0ef41Sopenharmony_ci case kS390_LoadReverse32RR: 1321cb0ef41Sopenharmony_ci case kS390_LoadReverse64RR: 1331cb0ef41Sopenharmony_ci case kS390_LoadReverseSimd128RR: 1341cb0ef41Sopenharmony_ci case kS390_LoadAndTestWord32: 1351cb0ef41Sopenharmony_ci case kS390_LoadAndTestWord64: 1361cb0ef41Sopenharmony_ci case kS390_LoadAndTestFloat32: 1371cb0ef41Sopenharmony_ci case kS390_LoadAndTestFloat64: 1381cb0ef41Sopenharmony_ci case kS390_F64x2Splat: 1391cb0ef41Sopenharmony_ci case kS390_F64x2ReplaceLane: 1401cb0ef41Sopenharmony_ci case kS390_F64x2Abs: 1411cb0ef41Sopenharmony_ci case kS390_F64x2Neg: 1421cb0ef41Sopenharmony_ci case kS390_F64x2Sqrt: 1431cb0ef41Sopenharmony_ci case kS390_F64x2Add: 1441cb0ef41Sopenharmony_ci case kS390_F64x2Sub: 1451cb0ef41Sopenharmony_ci case kS390_F64x2Mul: 1461cb0ef41Sopenharmony_ci case kS390_F64x2Div: 1471cb0ef41Sopenharmony_ci case kS390_F64x2Eq: 1481cb0ef41Sopenharmony_ci case kS390_F64x2Ne: 1491cb0ef41Sopenharmony_ci case kS390_F64x2Lt: 1501cb0ef41Sopenharmony_ci case kS390_F64x2Le: 1511cb0ef41Sopenharmony_ci case kS390_F64x2Min: 1521cb0ef41Sopenharmony_ci case kS390_F64x2Max: 1531cb0ef41Sopenharmony_ci case kS390_F64x2ExtractLane: 1541cb0ef41Sopenharmony_ci case kS390_F64x2Qfma: 1551cb0ef41Sopenharmony_ci case kS390_F64x2Qfms: 1561cb0ef41Sopenharmony_ci case kS390_F64x2Pmin: 1571cb0ef41Sopenharmony_ci case kS390_F64x2Pmax: 1581cb0ef41Sopenharmony_ci case kS390_F64x2Ceil: 1591cb0ef41Sopenharmony_ci case kS390_F64x2Floor: 1601cb0ef41Sopenharmony_ci case kS390_F64x2Trunc: 1611cb0ef41Sopenharmony_ci case kS390_F64x2NearestInt: 1621cb0ef41Sopenharmony_ci case kS390_F64x2ConvertLowI32x4S: 1631cb0ef41Sopenharmony_ci case kS390_F64x2ConvertLowI32x4U: 1641cb0ef41Sopenharmony_ci case kS390_F64x2PromoteLowF32x4: 1651cb0ef41Sopenharmony_ci case kS390_F32x4Splat: 1661cb0ef41Sopenharmony_ci case kS390_F32x4ExtractLane: 1671cb0ef41Sopenharmony_ci case kS390_F32x4ReplaceLane: 1681cb0ef41Sopenharmony_ci case kS390_F32x4Add: 1691cb0ef41Sopenharmony_ci case kS390_F32x4Sub: 1701cb0ef41Sopenharmony_ci case kS390_F32x4Mul: 1711cb0ef41Sopenharmony_ci case kS390_F32x4Eq: 1721cb0ef41Sopenharmony_ci case kS390_F32x4Ne: 1731cb0ef41Sopenharmony_ci case kS390_F32x4Lt: 1741cb0ef41Sopenharmony_ci case kS390_F32x4Le: 1751cb0ef41Sopenharmony_ci case kS390_F32x4Abs: 1761cb0ef41Sopenharmony_ci case kS390_F32x4Neg: 1771cb0ef41Sopenharmony_ci case kS390_F32x4RecipApprox: 1781cb0ef41Sopenharmony_ci case kS390_F32x4RecipSqrtApprox: 1791cb0ef41Sopenharmony_ci case kS390_F32x4SConvertI32x4: 1801cb0ef41Sopenharmony_ci case kS390_F32x4UConvertI32x4: 1811cb0ef41Sopenharmony_ci case kS390_F32x4Sqrt: 1821cb0ef41Sopenharmony_ci case kS390_F32x4Div: 1831cb0ef41Sopenharmony_ci case kS390_F32x4Min: 1841cb0ef41Sopenharmony_ci case kS390_F32x4Max: 1851cb0ef41Sopenharmony_ci case kS390_F32x4Qfma: 1861cb0ef41Sopenharmony_ci case kS390_F32x4Qfms: 1871cb0ef41Sopenharmony_ci case kS390_F32x4Pmin: 1881cb0ef41Sopenharmony_ci case kS390_F32x4Pmax: 1891cb0ef41Sopenharmony_ci case kS390_F32x4Ceil: 1901cb0ef41Sopenharmony_ci case kS390_F32x4Floor: 1911cb0ef41Sopenharmony_ci case kS390_F32x4Trunc: 1921cb0ef41Sopenharmony_ci case kS390_F32x4NearestInt: 1931cb0ef41Sopenharmony_ci case kS390_F32x4DemoteF64x2Zero: 1941cb0ef41Sopenharmony_ci case kS390_I64x2Neg: 1951cb0ef41Sopenharmony_ci case kS390_I64x2Add: 1961cb0ef41Sopenharmony_ci case kS390_I64x2Sub: 1971cb0ef41Sopenharmony_ci case kS390_I64x2Shl: 1981cb0ef41Sopenharmony_ci case kS390_I64x2ShrS: 1991cb0ef41Sopenharmony_ci case kS390_I64x2ShrU: 2001cb0ef41Sopenharmony_ci case kS390_I64x2Mul: 2011cb0ef41Sopenharmony_ci case kS390_I64x2Splat: 2021cb0ef41Sopenharmony_ci case kS390_I64x2ReplaceLane: 2031cb0ef41Sopenharmony_ci case kS390_I64x2ExtractLane: 2041cb0ef41Sopenharmony_ci case kS390_I64x2Eq: 2051cb0ef41Sopenharmony_ci case kS390_I64x2BitMask: 2061cb0ef41Sopenharmony_ci case kS390_I64x2ExtMulLowI32x4S: 2071cb0ef41Sopenharmony_ci case kS390_I64x2ExtMulHighI32x4S: 2081cb0ef41Sopenharmony_ci case kS390_I64x2ExtMulLowI32x4U: 2091cb0ef41Sopenharmony_ci case kS390_I64x2ExtMulHighI32x4U: 2101cb0ef41Sopenharmony_ci case kS390_I64x2SConvertI32x4Low: 2111cb0ef41Sopenharmony_ci case kS390_I64x2SConvertI32x4High: 2121cb0ef41Sopenharmony_ci case kS390_I64x2UConvertI32x4Low: 2131cb0ef41Sopenharmony_ci case kS390_I64x2UConvertI32x4High: 2141cb0ef41Sopenharmony_ci case kS390_I64x2Ne: 2151cb0ef41Sopenharmony_ci case kS390_I64x2GtS: 2161cb0ef41Sopenharmony_ci case kS390_I64x2GeS: 2171cb0ef41Sopenharmony_ci case kS390_I64x2Abs: 2181cb0ef41Sopenharmony_ci case kS390_I32x4Splat: 2191cb0ef41Sopenharmony_ci case kS390_I32x4ExtractLane: 2201cb0ef41Sopenharmony_ci case kS390_I32x4ReplaceLane: 2211cb0ef41Sopenharmony_ci case kS390_I32x4Add: 2221cb0ef41Sopenharmony_ci case kS390_I32x4Sub: 2231cb0ef41Sopenharmony_ci case kS390_I32x4Mul: 2241cb0ef41Sopenharmony_ci case kS390_I32x4MinS: 2251cb0ef41Sopenharmony_ci case kS390_I32x4MinU: 2261cb0ef41Sopenharmony_ci case kS390_I32x4MaxS: 2271cb0ef41Sopenharmony_ci case kS390_I32x4MaxU: 2281cb0ef41Sopenharmony_ci case kS390_I32x4Eq: 2291cb0ef41Sopenharmony_ci case kS390_I32x4Ne: 2301cb0ef41Sopenharmony_ci case kS390_I32x4GtS: 2311cb0ef41Sopenharmony_ci case kS390_I32x4GeS: 2321cb0ef41Sopenharmony_ci case kS390_I32x4GtU: 2331cb0ef41Sopenharmony_ci case kS390_I32x4GeU: 2341cb0ef41Sopenharmony_ci case kS390_I32x4Shl: 2351cb0ef41Sopenharmony_ci case kS390_I32x4ShrS: 2361cb0ef41Sopenharmony_ci case kS390_I32x4ShrU: 2371cb0ef41Sopenharmony_ci case kS390_I32x4Neg: 2381cb0ef41Sopenharmony_ci case kS390_I32x4SConvertF32x4: 2391cb0ef41Sopenharmony_ci case kS390_I32x4UConvertF32x4: 2401cb0ef41Sopenharmony_ci case kS390_I32x4SConvertI16x8Low: 2411cb0ef41Sopenharmony_ci case kS390_I32x4SConvertI16x8High: 2421cb0ef41Sopenharmony_ci case kS390_I32x4UConvertI16x8Low: 2431cb0ef41Sopenharmony_ci case kS390_I32x4UConvertI16x8High: 2441cb0ef41Sopenharmony_ci case kS390_I32x4Abs: 2451cb0ef41Sopenharmony_ci case kS390_I32x4BitMask: 2461cb0ef41Sopenharmony_ci case kS390_I32x4DotI16x8S: 2471cb0ef41Sopenharmony_ci case kS390_I32x4ExtMulLowI16x8S: 2481cb0ef41Sopenharmony_ci case kS390_I32x4ExtMulHighI16x8S: 2491cb0ef41Sopenharmony_ci case kS390_I32x4ExtMulLowI16x8U: 2501cb0ef41Sopenharmony_ci case kS390_I32x4ExtMulHighI16x8U: 2511cb0ef41Sopenharmony_ci case kS390_I32x4ExtAddPairwiseI16x8S: 2521cb0ef41Sopenharmony_ci case kS390_I32x4ExtAddPairwiseI16x8U: 2531cb0ef41Sopenharmony_ci case kS390_I32x4TruncSatF64x2SZero: 2541cb0ef41Sopenharmony_ci case kS390_I32x4TruncSatF64x2UZero: 2551cb0ef41Sopenharmony_ci case kS390_I16x8Splat: 2561cb0ef41Sopenharmony_ci case kS390_I16x8ExtractLaneU: 2571cb0ef41Sopenharmony_ci case kS390_I16x8ExtractLaneS: 2581cb0ef41Sopenharmony_ci case kS390_I16x8ReplaceLane: 2591cb0ef41Sopenharmony_ci case kS390_I16x8Add: 2601cb0ef41Sopenharmony_ci case kS390_I16x8Sub: 2611cb0ef41Sopenharmony_ci case kS390_I16x8Mul: 2621cb0ef41Sopenharmony_ci case kS390_I16x8MinS: 2631cb0ef41Sopenharmony_ci case kS390_I16x8MinU: 2641cb0ef41Sopenharmony_ci case kS390_I16x8MaxS: 2651cb0ef41Sopenharmony_ci case kS390_I16x8MaxU: 2661cb0ef41Sopenharmony_ci case kS390_I16x8Eq: 2671cb0ef41Sopenharmony_ci case kS390_I16x8Ne: 2681cb0ef41Sopenharmony_ci case kS390_I16x8GtS: 2691cb0ef41Sopenharmony_ci case kS390_I16x8GeS: 2701cb0ef41Sopenharmony_ci case kS390_I16x8GtU: 2711cb0ef41Sopenharmony_ci case kS390_I16x8GeU: 2721cb0ef41Sopenharmony_ci case kS390_I16x8Shl: 2731cb0ef41Sopenharmony_ci case kS390_I16x8ShrS: 2741cb0ef41Sopenharmony_ci case kS390_I16x8ShrU: 2751cb0ef41Sopenharmony_ci case kS390_I16x8Neg: 2761cb0ef41Sopenharmony_ci case kS390_I16x8SConvertI32x4: 2771cb0ef41Sopenharmony_ci case kS390_I16x8UConvertI32x4: 2781cb0ef41Sopenharmony_ci case kS390_I16x8SConvertI8x16Low: 2791cb0ef41Sopenharmony_ci case kS390_I16x8SConvertI8x16High: 2801cb0ef41Sopenharmony_ci case kS390_I16x8UConvertI8x16Low: 2811cb0ef41Sopenharmony_ci case kS390_I16x8UConvertI8x16High: 2821cb0ef41Sopenharmony_ci case kS390_I16x8AddSatS: 2831cb0ef41Sopenharmony_ci case kS390_I16x8SubSatS: 2841cb0ef41Sopenharmony_ci case kS390_I16x8AddSatU: 2851cb0ef41Sopenharmony_ci case kS390_I16x8SubSatU: 2861cb0ef41Sopenharmony_ci case kS390_I16x8RoundingAverageU: 2871cb0ef41Sopenharmony_ci case kS390_I16x8Abs: 2881cb0ef41Sopenharmony_ci case kS390_I16x8BitMask: 2891cb0ef41Sopenharmony_ci case kS390_I16x8ExtMulLowI8x16S: 2901cb0ef41Sopenharmony_ci case kS390_I16x8ExtMulHighI8x16S: 2911cb0ef41Sopenharmony_ci case kS390_I16x8ExtMulLowI8x16U: 2921cb0ef41Sopenharmony_ci case kS390_I16x8ExtMulHighI8x16U: 2931cb0ef41Sopenharmony_ci case kS390_I16x8ExtAddPairwiseI8x16S: 2941cb0ef41Sopenharmony_ci case kS390_I16x8ExtAddPairwiseI8x16U: 2951cb0ef41Sopenharmony_ci case kS390_I16x8Q15MulRSatS: 2961cb0ef41Sopenharmony_ci case kS390_I8x16Splat: 2971cb0ef41Sopenharmony_ci case kS390_I8x16ExtractLaneU: 2981cb0ef41Sopenharmony_ci case kS390_I8x16ExtractLaneS: 2991cb0ef41Sopenharmony_ci case kS390_I8x16ReplaceLane: 3001cb0ef41Sopenharmony_ci case kS390_I8x16Add: 3011cb0ef41Sopenharmony_ci case kS390_I8x16Sub: 3021cb0ef41Sopenharmony_ci case kS390_I8x16MinS: 3031cb0ef41Sopenharmony_ci case kS390_I8x16MinU: 3041cb0ef41Sopenharmony_ci case kS390_I8x16MaxS: 3051cb0ef41Sopenharmony_ci case kS390_I8x16MaxU: 3061cb0ef41Sopenharmony_ci case kS390_I8x16Eq: 3071cb0ef41Sopenharmony_ci case kS390_I8x16Ne: 3081cb0ef41Sopenharmony_ci case kS390_I8x16GtS: 3091cb0ef41Sopenharmony_ci case kS390_I8x16GeS: 3101cb0ef41Sopenharmony_ci case kS390_I8x16GtU: 3111cb0ef41Sopenharmony_ci case kS390_I8x16GeU: 3121cb0ef41Sopenharmony_ci case kS390_I8x16Shl: 3131cb0ef41Sopenharmony_ci case kS390_I8x16ShrS: 3141cb0ef41Sopenharmony_ci case kS390_I8x16ShrU: 3151cb0ef41Sopenharmony_ci case kS390_I8x16Neg: 3161cb0ef41Sopenharmony_ci case kS390_I8x16SConvertI16x8: 3171cb0ef41Sopenharmony_ci case kS390_I8x16UConvertI16x8: 3181cb0ef41Sopenharmony_ci case kS390_I8x16AddSatS: 3191cb0ef41Sopenharmony_ci case kS390_I8x16SubSatS: 3201cb0ef41Sopenharmony_ci case kS390_I8x16AddSatU: 3211cb0ef41Sopenharmony_ci case kS390_I8x16SubSatU: 3221cb0ef41Sopenharmony_ci case kS390_I8x16RoundingAverageU: 3231cb0ef41Sopenharmony_ci case kS390_I8x16Abs: 3241cb0ef41Sopenharmony_ci case kS390_I8x16BitMask: 3251cb0ef41Sopenharmony_ci case kS390_I8x16Shuffle: 3261cb0ef41Sopenharmony_ci case kS390_I8x16Swizzle: 3271cb0ef41Sopenharmony_ci case kS390_I8x16Popcnt: 3281cb0ef41Sopenharmony_ci case kS390_I64x2AllTrue: 3291cb0ef41Sopenharmony_ci case kS390_I32x4AllTrue: 3301cb0ef41Sopenharmony_ci case kS390_I16x8AllTrue: 3311cb0ef41Sopenharmony_ci case kS390_I8x16AllTrue: 3321cb0ef41Sopenharmony_ci case kS390_V128AnyTrue: 3331cb0ef41Sopenharmony_ci case kS390_S128And: 3341cb0ef41Sopenharmony_ci case kS390_S128Or: 3351cb0ef41Sopenharmony_ci case kS390_S128Xor: 3361cb0ef41Sopenharmony_ci case kS390_S128Const: 3371cb0ef41Sopenharmony_ci case kS390_S128Zero: 3381cb0ef41Sopenharmony_ci case kS390_S128AllOnes: 3391cb0ef41Sopenharmony_ci case kS390_S128Not: 3401cb0ef41Sopenharmony_ci case kS390_S128Select: 3411cb0ef41Sopenharmony_ci case kS390_S128AndNot: 3421cb0ef41Sopenharmony_ci return kNoOpcodeFlags; 3431cb0ef41Sopenharmony_ci 3441cb0ef41Sopenharmony_ci case kS390_LoadWordS8: 3451cb0ef41Sopenharmony_ci case kS390_LoadWordU8: 3461cb0ef41Sopenharmony_ci case kS390_LoadWordS16: 3471cb0ef41Sopenharmony_ci case kS390_LoadWordU16: 3481cb0ef41Sopenharmony_ci case kS390_LoadWordS32: 3491cb0ef41Sopenharmony_ci case kS390_LoadWordU32: 3501cb0ef41Sopenharmony_ci case kS390_LoadWord64: 3511cb0ef41Sopenharmony_ci case kS390_LoadFloat32: 3521cb0ef41Sopenharmony_ci case kS390_LoadDouble: 3531cb0ef41Sopenharmony_ci case kS390_LoadSimd128: 3541cb0ef41Sopenharmony_ci case kS390_LoadReverse16: 3551cb0ef41Sopenharmony_ci case kS390_LoadReverse32: 3561cb0ef41Sopenharmony_ci case kS390_LoadReverse64: 3571cb0ef41Sopenharmony_ci case kS390_LoadReverseSimd128: 3581cb0ef41Sopenharmony_ci case kS390_Peek: 3591cb0ef41Sopenharmony_ci case kS390_LoadDecompressTaggedSigned: 3601cb0ef41Sopenharmony_ci case kS390_LoadDecompressTaggedPointer: 3611cb0ef41Sopenharmony_ci case kS390_LoadDecompressAnyTagged: 3621cb0ef41Sopenharmony_ci case kS390_S128Load8Splat: 3631cb0ef41Sopenharmony_ci case kS390_S128Load16Splat: 3641cb0ef41Sopenharmony_ci case kS390_S128Load32Splat: 3651cb0ef41Sopenharmony_ci case kS390_S128Load64Splat: 3661cb0ef41Sopenharmony_ci case kS390_S128Load8x8S: 3671cb0ef41Sopenharmony_ci case kS390_S128Load8x8U: 3681cb0ef41Sopenharmony_ci case kS390_S128Load16x4S: 3691cb0ef41Sopenharmony_ci case kS390_S128Load16x4U: 3701cb0ef41Sopenharmony_ci case kS390_S128Load32x2S: 3711cb0ef41Sopenharmony_ci case kS390_S128Load32x2U: 3721cb0ef41Sopenharmony_ci case kS390_S128Load32Zero: 3731cb0ef41Sopenharmony_ci case kS390_S128Load64Zero: 3741cb0ef41Sopenharmony_ci case kS390_S128Load8Lane: 3751cb0ef41Sopenharmony_ci case kS390_S128Load16Lane: 3761cb0ef41Sopenharmony_ci case kS390_S128Load32Lane: 3771cb0ef41Sopenharmony_ci case kS390_S128Load64Lane: 3781cb0ef41Sopenharmony_ci return kIsLoadOperation; 3791cb0ef41Sopenharmony_ci 3801cb0ef41Sopenharmony_ci case kS390_StoreWord8: 3811cb0ef41Sopenharmony_ci case kS390_StoreWord16: 3821cb0ef41Sopenharmony_ci case kS390_StoreWord32: 3831cb0ef41Sopenharmony_ci case kS390_StoreWord64: 3841cb0ef41Sopenharmony_ci case kS390_StoreReverseSimd128: 3851cb0ef41Sopenharmony_ci case kS390_StoreReverse16: 3861cb0ef41Sopenharmony_ci case kS390_StoreReverse32: 3871cb0ef41Sopenharmony_ci case kS390_StoreReverse64: 3881cb0ef41Sopenharmony_ci case kS390_StoreFloat32: 3891cb0ef41Sopenharmony_ci case kS390_StoreDouble: 3901cb0ef41Sopenharmony_ci case kS390_StoreSimd128: 3911cb0ef41Sopenharmony_ci case kS390_StoreCompressTagged: 3921cb0ef41Sopenharmony_ci case kS390_Push: 3931cb0ef41Sopenharmony_ci case kS390_PushFrame: 3941cb0ef41Sopenharmony_ci case kS390_StoreToStackSlot: 3951cb0ef41Sopenharmony_ci case kS390_S128Store8Lane: 3961cb0ef41Sopenharmony_ci case kS390_S128Store16Lane: 3971cb0ef41Sopenharmony_ci case kS390_S128Store32Lane: 3981cb0ef41Sopenharmony_ci case kS390_S128Store64Lane: 3991cb0ef41Sopenharmony_ci return kHasSideEffect; 4001cb0ef41Sopenharmony_ci 4011cb0ef41Sopenharmony_ci case kS390_Word64AtomicExchangeUint64: 4021cb0ef41Sopenharmony_ci case kS390_Word64AtomicCompareExchangeUint64: 4031cb0ef41Sopenharmony_ci case kS390_Word64AtomicAddUint64: 4041cb0ef41Sopenharmony_ci case kS390_Word64AtomicSubUint64: 4051cb0ef41Sopenharmony_ci case kS390_Word64AtomicAndUint64: 4061cb0ef41Sopenharmony_ci case kS390_Word64AtomicOrUint64: 4071cb0ef41Sopenharmony_ci case kS390_Word64AtomicXorUint64: 4081cb0ef41Sopenharmony_ci return kHasSideEffect; 4091cb0ef41Sopenharmony_ci 4101cb0ef41Sopenharmony_ci#define CASE(Name) case k##Name: 4111cb0ef41Sopenharmony_ci COMMON_ARCH_OPCODE_LIST(CASE) 4121cb0ef41Sopenharmony_ci#undef CASE 4131cb0ef41Sopenharmony_ci // Already covered in architecture independent code. 4141cb0ef41Sopenharmony_ci UNREACHABLE(); 4151cb0ef41Sopenharmony_ci } 4161cb0ef41Sopenharmony_ci 4171cb0ef41Sopenharmony_ci UNREACHABLE(); 4181cb0ef41Sopenharmony_ci} 4191cb0ef41Sopenharmony_ci 4201cb0ef41Sopenharmony_ciint InstructionScheduler::GetInstructionLatency(const Instruction* instr) { 4211cb0ef41Sopenharmony_ci // TODO(all): Add instruction cost modeling. 4221cb0ef41Sopenharmony_ci return 1; 4231cb0ef41Sopenharmony_ci} 4241cb0ef41Sopenharmony_ci 4251cb0ef41Sopenharmony_ci} // namespace compiler 4261cb0ef41Sopenharmony_ci} // namespace internal 4271cb0ef41Sopenharmony_ci} // namespace v8 428