summaryrefslogtreecommitdiff
path: root/src/ir/cost.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/ir/cost.h')
-rw-r--r--src/ir/cost.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/ir/cost.h b/src/ir/cost.h
index bf9e48308..93e243a80 100644
--- a/src/ir/cost.h
+++ b/src/ir/cost.h
@@ -232,6 +232,10 @@ struct CostAnalyzer : public OverriddenVisitor<CostAnalyzer, CostType> {
case TruncSatZeroUVecF64x2ToVecI32x4:
case DemoteZeroVecF64x2ToVecF32x4:
case PromoteLowVecF32x4ToVecF64x2:
+ case RelaxedTruncSVecF32x4ToVecI32x4:
+ case RelaxedTruncUVecF32x4ToVecI32x4:
+ case RelaxedTruncZeroSVecF64x2ToVecI32x4:
+ case RelaxedTruncZeroUVecF64x2ToVecI32x4:
ret = 1;
break;
case InvalidUnary:
@@ -465,6 +469,8 @@ struct CostAnalyzer : public OverriddenVisitor<CostAnalyzer, CostType> {
case MaxVecF32x4:
case PMinVecF32x4:
case PMaxVecF32x4:
+ case RelaxedMinVecF32x4:
+ case RelaxedMaxVecF32x4:
case AddVecF64x2:
case SubVecF64x2:
ret = 1;
@@ -479,11 +485,14 @@ struct CostAnalyzer : public OverriddenVisitor<CostAnalyzer, CostType> {
case MaxVecF64x2:
case PMinVecF64x2:
case PMaxVecF64x2:
+ case RelaxedMinVecF64x2:
+ case RelaxedMaxVecF64x2:
case NarrowSVecI16x8ToVecI8x16:
case NarrowUVecI16x8ToVecI8x16:
case NarrowSVecI32x4ToVecI16x8:
case NarrowUVecI32x4ToVecI16x8:
case SwizzleVec8x16:
+ case RelaxedSwizzleVec8x16:
ret = 1;
break;
case InvalidBinary:
@@ -523,6 +532,14 @@ struct CostAnalyzer : public OverriddenVisitor<CostAnalyzer, CostType> {
CostType ret = 0;
switch (curr->op) {
case Bitselect:
+ case LaneselectI8x16:
+ case LaneselectI16x8:
+ case LaneselectI32x4:
+ case LaneselectI64x2:
+ case RelaxedFmaVecF32x4:
+ case RelaxedFmsVecF32x4:
+ case RelaxedFmaVecF64x2:
+ case RelaxedFmsVecF64x2:
ret = 1;
break;
}