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 kArmAdd:
171cb0ef41Sopenharmony_ci    case kArmAnd:
181cb0ef41Sopenharmony_ci    case kArmBic:
191cb0ef41Sopenharmony_ci    case kArmClz:
201cb0ef41Sopenharmony_ci    case kArmCmp:
211cb0ef41Sopenharmony_ci    case kArmCmn:
221cb0ef41Sopenharmony_ci    case kArmTst:
231cb0ef41Sopenharmony_ci    case kArmTeq:
241cb0ef41Sopenharmony_ci    case kArmOrr:
251cb0ef41Sopenharmony_ci    case kArmEor:
261cb0ef41Sopenharmony_ci    case kArmSub:
271cb0ef41Sopenharmony_ci    case kArmRsb:
281cb0ef41Sopenharmony_ci    case kArmMul:
291cb0ef41Sopenharmony_ci    case kArmMla:
301cb0ef41Sopenharmony_ci    case kArmMls:
311cb0ef41Sopenharmony_ci    case kArmSmmul:
321cb0ef41Sopenharmony_ci    case kArmSmull:
331cb0ef41Sopenharmony_ci    case kArmSmmla:
341cb0ef41Sopenharmony_ci    case kArmUmull:
351cb0ef41Sopenharmony_ci    case kArmSdiv:
361cb0ef41Sopenharmony_ci    case kArmUdiv:
371cb0ef41Sopenharmony_ci    case kArmMov:
381cb0ef41Sopenharmony_ci    case kArmMvn:
391cb0ef41Sopenharmony_ci    case kArmBfc:
401cb0ef41Sopenharmony_ci    case kArmUbfx:
411cb0ef41Sopenharmony_ci    case kArmSbfx:
421cb0ef41Sopenharmony_ci    case kArmSxtb:
431cb0ef41Sopenharmony_ci    case kArmSxth:
441cb0ef41Sopenharmony_ci    case kArmSxtab:
451cb0ef41Sopenharmony_ci    case kArmSxtah:
461cb0ef41Sopenharmony_ci    case kArmUxtb:
471cb0ef41Sopenharmony_ci    case kArmUxth:
481cb0ef41Sopenharmony_ci    case kArmUxtab:
491cb0ef41Sopenharmony_ci    case kArmUxtah:
501cb0ef41Sopenharmony_ci    case kArmRbit:
511cb0ef41Sopenharmony_ci    case kArmRev:
521cb0ef41Sopenharmony_ci    case kArmAddPair:
531cb0ef41Sopenharmony_ci    case kArmSubPair:
541cb0ef41Sopenharmony_ci    case kArmMulPair:
551cb0ef41Sopenharmony_ci    case kArmLslPair:
561cb0ef41Sopenharmony_ci    case kArmLsrPair:
571cb0ef41Sopenharmony_ci    case kArmAsrPair:
581cb0ef41Sopenharmony_ci    case kArmVcmpF32:
591cb0ef41Sopenharmony_ci    case kArmVaddF32:
601cb0ef41Sopenharmony_ci    case kArmVsubF32:
611cb0ef41Sopenharmony_ci    case kArmVmulF32:
621cb0ef41Sopenharmony_ci    case kArmVmlaF32:
631cb0ef41Sopenharmony_ci    case kArmVmlsF32:
641cb0ef41Sopenharmony_ci    case kArmVdivF32:
651cb0ef41Sopenharmony_ci    case kArmVabsF32:
661cb0ef41Sopenharmony_ci    case kArmVnegF32:
671cb0ef41Sopenharmony_ci    case kArmVsqrtF32:
681cb0ef41Sopenharmony_ci    case kArmVcmpF64:
691cb0ef41Sopenharmony_ci    case kArmVaddF64:
701cb0ef41Sopenharmony_ci    case kArmVsubF64:
711cb0ef41Sopenharmony_ci    case kArmVmulF64:
721cb0ef41Sopenharmony_ci    case kArmVmlaF64:
731cb0ef41Sopenharmony_ci    case kArmVmlsF64:
741cb0ef41Sopenharmony_ci    case kArmVdivF64:
751cb0ef41Sopenharmony_ci    case kArmVmodF64:
761cb0ef41Sopenharmony_ci    case kArmVabsF64:
771cb0ef41Sopenharmony_ci    case kArmVnegF64:
781cb0ef41Sopenharmony_ci    case kArmVsqrtF64:
791cb0ef41Sopenharmony_ci    case kArmVmullLow:
801cb0ef41Sopenharmony_ci    case kArmVmullHigh:
811cb0ef41Sopenharmony_ci    case kArmVrintmF32:
821cb0ef41Sopenharmony_ci    case kArmVrintmF64:
831cb0ef41Sopenharmony_ci    case kArmVrintpF32:
841cb0ef41Sopenharmony_ci    case kArmVrintpF64:
851cb0ef41Sopenharmony_ci    case kArmVrintzF32:
861cb0ef41Sopenharmony_ci    case kArmVrintzF64:
871cb0ef41Sopenharmony_ci    case kArmVrintaF64:
881cb0ef41Sopenharmony_ci    case kArmVrintnF32:
891cb0ef41Sopenharmony_ci    case kArmVrintnF64:
901cb0ef41Sopenharmony_ci    case kArmVcvtF32F64:
911cb0ef41Sopenharmony_ci    case kArmVcvtF64F32:
921cb0ef41Sopenharmony_ci    case kArmVcvtF32S32:
931cb0ef41Sopenharmony_ci    case kArmVcvtF32U32:
941cb0ef41Sopenharmony_ci    case kArmVcvtF64S32:
951cb0ef41Sopenharmony_ci    case kArmVcvtF64U32:
961cb0ef41Sopenharmony_ci    case kArmVcvtS32F32:
971cb0ef41Sopenharmony_ci    case kArmVcvtU32F32:
981cb0ef41Sopenharmony_ci    case kArmVcvtS32F64:
991cb0ef41Sopenharmony_ci    case kArmVcvtU32F64:
1001cb0ef41Sopenharmony_ci    case kArmVmovU32F32:
1011cb0ef41Sopenharmony_ci    case kArmVmovF32U32:
1021cb0ef41Sopenharmony_ci    case kArmVmovLowU32F64:
1031cb0ef41Sopenharmony_ci    case kArmVmovLowF64U32:
1041cb0ef41Sopenharmony_ci    case kArmVmovHighU32F64:
1051cb0ef41Sopenharmony_ci    case kArmVmovHighF64U32:
1061cb0ef41Sopenharmony_ci    case kArmVmovF64U32U32:
1071cb0ef41Sopenharmony_ci    case kArmVmovU32U32F64:
1081cb0ef41Sopenharmony_ci    case kArmVcnt:
1091cb0ef41Sopenharmony_ci    case kArmVpadal:
1101cb0ef41Sopenharmony_ci    case kArmVpaddl:
1111cb0ef41Sopenharmony_ci    case kArmFloat32Max:
1121cb0ef41Sopenharmony_ci    case kArmFloat64Max:
1131cb0ef41Sopenharmony_ci    case kArmFloat32Min:
1141cb0ef41Sopenharmony_ci    case kArmFloat64Min:
1151cb0ef41Sopenharmony_ci    case kArmFloat64SilenceNaN:
1161cb0ef41Sopenharmony_ci    case kArmF64x2Splat:
1171cb0ef41Sopenharmony_ci    case kArmF64x2ExtractLane:
1181cb0ef41Sopenharmony_ci    case kArmF64x2ReplaceLane:
1191cb0ef41Sopenharmony_ci    case kArmF64x2Abs:
1201cb0ef41Sopenharmony_ci    case kArmF64x2Neg:
1211cb0ef41Sopenharmony_ci    case kArmF64x2Sqrt:
1221cb0ef41Sopenharmony_ci    case kArmF64x2Add:
1231cb0ef41Sopenharmony_ci    case kArmF64x2Sub:
1241cb0ef41Sopenharmony_ci    case kArmF64x2Mul:
1251cb0ef41Sopenharmony_ci    case kArmF64x2Div:
1261cb0ef41Sopenharmony_ci    case kArmF64x2Min:
1271cb0ef41Sopenharmony_ci    case kArmF64x2Max:
1281cb0ef41Sopenharmony_ci    case kArmF64x2Eq:
1291cb0ef41Sopenharmony_ci    case kArmF64x2Ne:
1301cb0ef41Sopenharmony_ci    case kArmF64x2Lt:
1311cb0ef41Sopenharmony_ci    case kArmF64x2Le:
1321cb0ef41Sopenharmony_ci    case kArmF64x2Pmin:
1331cb0ef41Sopenharmony_ci    case kArmF64x2Pmax:
1341cb0ef41Sopenharmony_ci    case kArmF64x2Ceil:
1351cb0ef41Sopenharmony_ci    case kArmF64x2Floor:
1361cb0ef41Sopenharmony_ci    case kArmF64x2Trunc:
1371cb0ef41Sopenharmony_ci    case kArmF64x2NearestInt:
1381cb0ef41Sopenharmony_ci    case kArmF64x2ConvertLowI32x4S:
1391cb0ef41Sopenharmony_ci    case kArmF64x2ConvertLowI32x4U:
1401cb0ef41Sopenharmony_ci    case kArmF64x2PromoteLowF32x4:
1411cb0ef41Sopenharmony_ci    case kArmF32x4Splat:
1421cb0ef41Sopenharmony_ci    case kArmF32x4ExtractLane:
1431cb0ef41Sopenharmony_ci    case kArmF32x4ReplaceLane:
1441cb0ef41Sopenharmony_ci    case kArmF32x4SConvertI32x4:
1451cb0ef41Sopenharmony_ci    case kArmF32x4UConvertI32x4:
1461cb0ef41Sopenharmony_ci    case kArmF32x4Abs:
1471cb0ef41Sopenharmony_ci    case kArmF32x4Neg:
1481cb0ef41Sopenharmony_ci    case kArmF32x4Sqrt:
1491cb0ef41Sopenharmony_ci    case kArmF32x4RecipApprox:
1501cb0ef41Sopenharmony_ci    case kArmF32x4RecipSqrtApprox:
1511cb0ef41Sopenharmony_ci    case kArmF32x4Add:
1521cb0ef41Sopenharmony_ci    case kArmF32x4Sub:
1531cb0ef41Sopenharmony_ci    case kArmF32x4Mul:
1541cb0ef41Sopenharmony_ci    case kArmF32x4Div:
1551cb0ef41Sopenharmony_ci    case kArmF32x4Min:
1561cb0ef41Sopenharmony_ci    case kArmF32x4Max:
1571cb0ef41Sopenharmony_ci    case kArmF32x4Eq:
1581cb0ef41Sopenharmony_ci    case kArmF32x4Ne:
1591cb0ef41Sopenharmony_ci    case kArmF32x4Lt:
1601cb0ef41Sopenharmony_ci    case kArmF32x4Le:
1611cb0ef41Sopenharmony_ci    case kArmF32x4Pmin:
1621cb0ef41Sopenharmony_ci    case kArmF32x4Pmax:
1631cb0ef41Sopenharmony_ci    case kArmF32x4DemoteF64x2Zero:
1641cb0ef41Sopenharmony_ci    case kArmI64x2SplatI32Pair:
1651cb0ef41Sopenharmony_ci    case kArmI64x2ReplaceLaneI32Pair:
1661cb0ef41Sopenharmony_ci    case kArmI64x2Abs:
1671cb0ef41Sopenharmony_ci    case kArmI64x2Neg:
1681cb0ef41Sopenharmony_ci    case kArmI64x2Shl:
1691cb0ef41Sopenharmony_ci    case kArmI64x2ShrS:
1701cb0ef41Sopenharmony_ci    case kArmI64x2Add:
1711cb0ef41Sopenharmony_ci    case kArmI64x2Sub:
1721cb0ef41Sopenharmony_ci    case kArmI64x2Mul:
1731cb0ef41Sopenharmony_ci    case kArmI64x2ShrU:
1741cb0ef41Sopenharmony_ci    case kArmI64x2BitMask:
1751cb0ef41Sopenharmony_ci    case kArmI64x2Eq:
1761cb0ef41Sopenharmony_ci    case kArmI64x2Ne:
1771cb0ef41Sopenharmony_ci    case kArmI64x2GtS:
1781cb0ef41Sopenharmony_ci    case kArmI64x2GeS:
1791cb0ef41Sopenharmony_ci    case kArmI64x2SConvertI32x4Low:
1801cb0ef41Sopenharmony_ci    case kArmI64x2SConvertI32x4High:
1811cb0ef41Sopenharmony_ci    case kArmI64x2UConvertI32x4Low:
1821cb0ef41Sopenharmony_ci    case kArmI64x2UConvertI32x4High:
1831cb0ef41Sopenharmony_ci    case kArmI32x4Splat:
1841cb0ef41Sopenharmony_ci    case kArmI32x4ExtractLane:
1851cb0ef41Sopenharmony_ci    case kArmI32x4ReplaceLane:
1861cb0ef41Sopenharmony_ci    case kArmI32x4SConvertF32x4:
1871cb0ef41Sopenharmony_ci    case kArmI32x4SConvertI16x8Low:
1881cb0ef41Sopenharmony_ci    case kArmI32x4SConvertI16x8High:
1891cb0ef41Sopenharmony_ci    case kArmI32x4Neg:
1901cb0ef41Sopenharmony_ci    case kArmI32x4Shl:
1911cb0ef41Sopenharmony_ci    case kArmI32x4ShrS:
1921cb0ef41Sopenharmony_ci    case kArmI32x4Add:
1931cb0ef41Sopenharmony_ci    case kArmI32x4Sub:
1941cb0ef41Sopenharmony_ci    case kArmI32x4Mul:
1951cb0ef41Sopenharmony_ci    case kArmI32x4MinS:
1961cb0ef41Sopenharmony_ci    case kArmI32x4MaxS:
1971cb0ef41Sopenharmony_ci    case kArmI32x4Eq:
1981cb0ef41Sopenharmony_ci    case kArmI32x4Ne:
1991cb0ef41Sopenharmony_ci    case kArmI32x4GtS:
2001cb0ef41Sopenharmony_ci    case kArmI32x4GeS:
2011cb0ef41Sopenharmony_ci    case kArmI32x4UConvertF32x4:
2021cb0ef41Sopenharmony_ci    case kArmI32x4UConvertI16x8Low:
2031cb0ef41Sopenharmony_ci    case kArmI32x4UConvertI16x8High:
2041cb0ef41Sopenharmony_ci    case kArmI32x4ShrU:
2051cb0ef41Sopenharmony_ci    case kArmI32x4MinU:
2061cb0ef41Sopenharmony_ci    case kArmI32x4MaxU:
2071cb0ef41Sopenharmony_ci    case kArmI32x4GtU:
2081cb0ef41Sopenharmony_ci    case kArmI32x4GeU:
2091cb0ef41Sopenharmony_ci    case kArmI32x4Abs:
2101cb0ef41Sopenharmony_ci    case kArmI32x4BitMask:
2111cb0ef41Sopenharmony_ci    case kArmI32x4DotI16x8S:
2121cb0ef41Sopenharmony_ci    case kArmI32x4TruncSatF64x2SZero:
2131cb0ef41Sopenharmony_ci    case kArmI32x4TruncSatF64x2UZero:
2141cb0ef41Sopenharmony_ci    case kArmI16x8Splat:
2151cb0ef41Sopenharmony_ci    case kArmI16x8ExtractLaneS:
2161cb0ef41Sopenharmony_ci    case kArmI16x8ReplaceLane:
2171cb0ef41Sopenharmony_ci    case kArmI16x8SConvertI8x16Low:
2181cb0ef41Sopenharmony_ci    case kArmI16x8SConvertI8x16High:
2191cb0ef41Sopenharmony_ci    case kArmI16x8Neg:
2201cb0ef41Sopenharmony_ci    case kArmI16x8Shl:
2211cb0ef41Sopenharmony_ci    case kArmI16x8ShrS:
2221cb0ef41Sopenharmony_ci    case kArmI16x8SConvertI32x4:
2231cb0ef41Sopenharmony_ci    case kArmI16x8Add:
2241cb0ef41Sopenharmony_ci    case kArmI16x8AddSatS:
2251cb0ef41Sopenharmony_ci    case kArmI16x8Sub:
2261cb0ef41Sopenharmony_ci    case kArmI16x8SubSatS:
2271cb0ef41Sopenharmony_ci    case kArmI16x8Mul:
2281cb0ef41Sopenharmony_ci    case kArmI16x8MinS:
2291cb0ef41Sopenharmony_ci    case kArmI16x8MaxS:
2301cb0ef41Sopenharmony_ci    case kArmI16x8Eq:
2311cb0ef41Sopenharmony_ci    case kArmI16x8Ne:
2321cb0ef41Sopenharmony_ci    case kArmI16x8GtS:
2331cb0ef41Sopenharmony_ci    case kArmI16x8GeS:
2341cb0ef41Sopenharmony_ci    case kArmI16x8ExtractLaneU:
2351cb0ef41Sopenharmony_ci    case kArmI16x8UConvertI8x16Low:
2361cb0ef41Sopenharmony_ci    case kArmI16x8UConvertI8x16High:
2371cb0ef41Sopenharmony_ci    case kArmI16x8ShrU:
2381cb0ef41Sopenharmony_ci    case kArmI16x8UConvertI32x4:
2391cb0ef41Sopenharmony_ci    case kArmI16x8AddSatU:
2401cb0ef41Sopenharmony_ci    case kArmI16x8SubSatU:
2411cb0ef41Sopenharmony_ci    case kArmI16x8MinU:
2421cb0ef41Sopenharmony_ci    case kArmI16x8MaxU:
2431cb0ef41Sopenharmony_ci    case kArmI16x8GtU:
2441cb0ef41Sopenharmony_ci    case kArmI16x8GeU:
2451cb0ef41Sopenharmony_ci    case kArmI16x8RoundingAverageU:
2461cb0ef41Sopenharmony_ci    case kArmI16x8Abs:
2471cb0ef41Sopenharmony_ci    case kArmI16x8BitMask:
2481cb0ef41Sopenharmony_ci    case kArmI16x8Q15MulRSatS:
2491cb0ef41Sopenharmony_ci    case kArmI8x16Splat:
2501cb0ef41Sopenharmony_ci    case kArmI8x16ExtractLaneS:
2511cb0ef41Sopenharmony_ci    case kArmI8x16ReplaceLane:
2521cb0ef41Sopenharmony_ci    case kArmI8x16Neg:
2531cb0ef41Sopenharmony_ci    case kArmI8x16Shl:
2541cb0ef41Sopenharmony_ci    case kArmI8x16ShrS:
2551cb0ef41Sopenharmony_ci    case kArmI8x16SConvertI16x8:
2561cb0ef41Sopenharmony_ci    case kArmI8x16Add:
2571cb0ef41Sopenharmony_ci    case kArmI8x16AddSatS:
2581cb0ef41Sopenharmony_ci    case kArmI8x16Sub:
2591cb0ef41Sopenharmony_ci    case kArmI8x16SubSatS:
2601cb0ef41Sopenharmony_ci    case kArmI8x16MinS:
2611cb0ef41Sopenharmony_ci    case kArmI8x16MaxS:
2621cb0ef41Sopenharmony_ci    case kArmI8x16Eq:
2631cb0ef41Sopenharmony_ci    case kArmI8x16Ne:
2641cb0ef41Sopenharmony_ci    case kArmI8x16GtS:
2651cb0ef41Sopenharmony_ci    case kArmI8x16GeS:
2661cb0ef41Sopenharmony_ci    case kArmI8x16ExtractLaneU:
2671cb0ef41Sopenharmony_ci    case kArmI8x16UConvertI16x8:
2681cb0ef41Sopenharmony_ci    case kArmI8x16AddSatU:
2691cb0ef41Sopenharmony_ci    case kArmI8x16SubSatU:
2701cb0ef41Sopenharmony_ci    case kArmI8x16ShrU:
2711cb0ef41Sopenharmony_ci    case kArmI8x16MinU:
2721cb0ef41Sopenharmony_ci    case kArmI8x16MaxU:
2731cb0ef41Sopenharmony_ci    case kArmI8x16GtU:
2741cb0ef41Sopenharmony_ci    case kArmI8x16GeU:
2751cb0ef41Sopenharmony_ci    case kArmI8x16RoundingAverageU:
2761cb0ef41Sopenharmony_ci    case kArmI8x16Abs:
2771cb0ef41Sopenharmony_ci    case kArmI8x16BitMask:
2781cb0ef41Sopenharmony_ci    case kArmS128Const:
2791cb0ef41Sopenharmony_ci    case kArmS128Zero:
2801cb0ef41Sopenharmony_ci    case kArmS128AllOnes:
2811cb0ef41Sopenharmony_ci    case kArmS128Dup:
2821cb0ef41Sopenharmony_ci    case kArmS128And:
2831cb0ef41Sopenharmony_ci    case kArmS128Or:
2841cb0ef41Sopenharmony_ci    case kArmS128Xor:
2851cb0ef41Sopenharmony_ci    case kArmS128Not:
2861cb0ef41Sopenharmony_ci    case kArmS128Select:
2871cb0ef41Sopenharmony_ci    case kArmS128AndNot:
2881cb0ef41Sopenharmony_ci    case kArmS32x4ZipLeft:
2891cb0ef41Sopenharmony_ci    case kArmS32x4ZipRight:
2901cb0ef41Sopenharmony_ci    case kArmS32x4UnzipLeft:
2911cb0ef41Sopenharmony_ci    case kArmS32x4UnzipRight:
2921cb0ef41Sopenharmony_ci    case kArmS32x4TransposeLeft:
2931cb0ef41Sopenharmony_ci    case kArmS32x4TransposeRight:
2941cb0ef41Sopenharmony_ci    case kArmS32x4Shuffle:
2951cb0ef41Sopenharmony_ci    case kArmS16x8ZipLeft:
2961cb0ef41Sopenharmony_ci    case kArmS16x8ZipRight:
2971cb0ef41Sopenharmony_ci    case kArmS16x8UnzipLeft:
2981cb0ef41Sopenharmony_ci    case kArmS16x8UnzipRight:
2991cb0ef41Sopenharmony_ci    case kArmS16x8TransposeLeft:
3001cb0ef41Sopenharmony_ci    case kArmS16x8TransposeRight:
3011cb0ef41Sopenharmony_ci    case kArmS8x16ZipLeft:
3021cb0ef41Sopenharmony_ci    case kArmS8x16ZipRight:
3031cb0ef41Sopenharmony_ci    case kArmS8x16UnzipLeft:
3041cb0ef41Sopenharmony_ci    case kArmS8x16UnzipRight:
3051cb0ef41Sopenharmony_ci    case kArmS8x16TransposeLeft:
3061cb0ef41Sopenharmony_ci    case kArmS8x16TransposeRight:
3071cb0ef41Sopenharmony_ci    case kArmS8x16Concat:
3081cb0ef41Sopenharmony_ci    case kArmI8x16Swizzle:
3091cb0ef41Sopenharmony_ci    case kArmI8x16Shuffle:
3101cb0ef41Sopenharmony_ci    case kArmS32x2Reverse:
3111cb0ef41Sopenharmony_ci    case kArmS16x4Reverse:
3121cb0ef41Sopenharmony_ci    case kArmS16x2Reverse:
3131cb0ef41Sopenharmony_ci    case kArmS8x8Reverse:
3141cb0ef41Sopenharmony_ci    case kArmS8x4Reverse:
3151cb0ef41Sopenharmony_ci    case kArmS8x2Reverse:
3161cb0ef41Sopenharmony_ci    case kArmI64x2AllTrue:
3171cb0ef41Sopenharmony_ci    case kArmI32x4AllTrue:
3181cb0ef41Sopenharmony_ci    case kArmI16x8AllTrue:
3191cb0ef41Sopenharmony_ci    case kArmV128AnyTrue:
3201cb0ef41Sopenharmony_ci    case kArmI8x16AllTrue:
3211cb0ef41Sopenharmony_ci      return kNoOpcodeFlags;
3221cb0ef41Sopenharmony_ci
3231cb0ef41Sopenharmony_ci    case kArmVldrF32:
3241cb0ef41Sopenharmony_ci    case kArmVldrF64:
3251cb0ef41Sopenharmony_ci    case kArmVld1F64:
3261cb0ef41Sopenharmony_ci    case kArmVld1S128:
3271cb0ef41Sopenharmony_ci    case kArmLdrb:
3281cb0ef41Sopenharmony_ci    case kArmLdrsb:
3291cb0ef41Sopenharmony_ci    case kArmLdrh:
3301cb0ef41Sopenharmony_ci    case kArmLdrsh:
3311cb0ef41Sopenharmony_ci    case kArmLdr:
3321cb0ef41Sopenharmony_ci    case kArmPeek:
3331cb0ef41Sopenharmony_ci    case kArmWord32AtomicPairLoad:
3341cb0ef41Sopenharmony_ci    case kArmS128Load8Splat:
3351cb0ef41Sopenharmony_ci    case kArmS128Load16Splat:
3361cb0ef41Sopenharmony_ci    case kArmS128Load32Splat:
3371cb0ef41Sopenharmony_ci    case kArmS128Load64Splat:
3381cb0ef41Sopenharmony_ci    case kArmS128Load8x8S:
3391cb0ef41Sopenharmony_ci    case kArmS128Load8x8U:
3401cb0ef41Sopenharmony_ci    case kArmS128Load16x4S:
3411cb0ef41Sopenharmony_ci    case kArmS128Load16x4U:
3421cb0ef41Sopenharmony_ci    case kArmS128Load32x2S:
3431cb0ef41Sopenharmony_ci    case kArmS128Load32x2U:
3441cb0ef41Sopenharmony_ci    case kArmS128Load32Zero:
3451cb0ef41Sopenharmony_ci    case kArmS128Load64Zero:
3461cb0ef41Sopenharmony_ci    case kArmS128LoadLaneLow:
3471cb0ef41Sopenharmony_ci    case kArmS128LoadLaneHigh:
3481cb0ef41Sopenharmony_ci      return kIsLoadOperation;
3491cb0ef41Sopenharmony_ci
3501cb0ef41Sopenharmony_ci    case kArmVstrF32:
3511cb0ef41Sopenharmony_ci    case kArmVstrF64:
3521cb0ef41Sopenharmony_ci    case kArmVst1F64:
3531cb0ef41Sopenharmony_ci    case kArmVst1S128:
3541cb0ef41Sopenharmony_ci    case kArmStrb:
3551cb0ef41Sopenharmony_ci    case kArmStrh:
3561cb0ef41Sopenharmony_ci    case kArmStr:
3571cb0ef41Sopenharmony_ci    case kArmPush:
3581cb0ef41Sopenharmony_ci    case kArmPoke:
3591cb0ef41Sopenharmony_ci    case kArmDmbIsh:
3601cb0ef41Sopenharmony_ci    case kArmDsbIsb:
3611cb0ef41Sopenharmony_ci    case kArmWord32AtomicPairStore:
3621cb0ef41Sopenharmony_ci    case kArmWord32AtomicPairAdd:
3631cb0ef41Sopenharmony_ci    case kArmWord32AtomicPairSub:
3641cb0ef41Sopenharmony_ci    case kArmWord32AtomicPairAnd:
3651cb0ef41Sopenharmony_ci    case kArmWord32AtomicPairOr:
3661cb0ef41Sopenharmony_ci    case kArmWord32AtomicPairXor:
3671cb0ef41Sopenharmony_ci    case kArmWord32AtomicPairExchange:
3681cb0ef41Sopenharmony_ci    case kArmWord32AtomicPairCompareExchange:
3691cb0ef41Sopenharmony_ci    case kArmS128StoreLaneLow:
3701cb0ef41Sopenharmony_ci    case kArmS128StoreLaneHigh:
3711cb0ef41Sopenharmony_ci      return kHasSideEffect;
3721cb0ef41Sopenharmony_ci
3731cb0ef41Sopenharmony_ci#define CASE(Name) case k##Name:
3741cb0ef41Sopenharmony_ci      COMMON_ARCH_OPCODE_LIST(CASE)
3751cb0ef41Sopenharmony_ci#undef CASE
3761cb0ef41Sopenharmony_ci      // Already covered in architecture independent code.
3771cb0ef41Sopenharmony_ci      UNREACHABLE();
3781cb0ef41Sopenharmony_ci  }
3791cb0ef41Sopenharmony_ci
3801cb0ef41Sopenharmony_ci  UNREACHABLE();
3811cb0ef41Sopenharmony_ci}
3821cb0ef41Sopenharmony_ci
3831cb0ef41Sopenharmony_ciint InstructionScheduler::GetInstructionLatency(const Instruction* instr) {
3841cb0ef41Sopenharmony_ci  // TODO(all): Add instruction cost modeling.
3851cb0ef41Sopenharmony_ci  return 1;
3861cb0ef41Sopenharmony_ci}
3871cb0ef41Sopenharmony_ci
3881cb0ef41Sopenharmony_ci}  // namespace compiler
3891cb0ef41Sopenharmony_ci}  // namespace internal
3901cb0ef41Sopenharmony_ci}  // namespace v8
391