summaryrefslogtreecommitdiff
path: root/src/ir
diff options
context:
space:
mode:
Diffstat (limited to 'src/ir')
-rw-r--r--src/ir/child-typer.h8
-rw-r--r--src/ir/cost.h16
2 files changed, 24 insertions, 0 deletions
diff --git a/src/ir/child-typer.h b/src/ir/child-typer.h
index 725bc842e..fe65b209b 100644
--- a/src/ir/child-typer.h
+++ b/src/ir/child-typer.h
@@ -627,6 +627,14 @@ template<typename Subtype> struct ChildTyper : OverriddenVisitor<Subtype> {
case ExtMulHighSVecI64x2:
case ExtMulLowUVecI64x2:
case ExtMulHighUVecI64x2:
+ case AddVecF16x8:
+ case SubVecF16x8:
+ case MulVecF16x8:
+ case DivVecF16x8:
+ case MinVecF16x8:
+ case MaxVecF16x8:
+ case PMinVecF16x8:
+ case PMaxVecF16x8:
case AddVecF32x4:
case SubVecF32x4:
case MulVecF32x4:
diff --git a/src/ir/cost.h b/src/ir/cost.h
index 11370acab..0b2b6315b 100644
--- a/src/ir/cost.h
+++ b/src/ir/cost.h
@@ -475,6 +475,22 @@ struct CostAnalyzer : public OverriddenVisitor<CostAnalyzer, CostType> {
case ExtMulHighSVecI64x2:
case ExtMulLowUVecI64x2:
case ExtMulHighUVecI64x2:
+ case AddVecF16x8:
+ case SubVecF16x8:
+ ret = 1;
+ break;
+ case MulVecF16x8:
+ ret = 2;
+ break;
+ case DivVecF16x8:
+ ret = 3;
+ break;
+ case MinVecF16x8:
+ case MaxVecF16x8:
+ case PMinVecF16x8:
+ case PMaxVecF16x8:
+ ret = 1;
+ break;
case AddVecF32x4:
case SubVecF32x4:
ret = 1;