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