diff options
Diffstat (limited to 'src/ir')
-rw-r--r-- | src/ir/child-typer.h | 8 | ||||
-rw-r--r-- | src/ir/cost.h | 16 |
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; |