|
@@ -110,7 +110,7 @@ void EmitCompositeExtractF64x3(EmitContext& ctx);
|
|
|
void EmitCompositeExtractF64x4(EmitContext& ctx);
|
|
void EmitCompositeExtractF64x4(EmitContext& ctx);
|
|
|
void EmitSelect8(EmitContext& ctx);
|
|
void EmitSelect8(EmitContext& ctx);
|
|
|
void EmitSelect16(EmitContext& ctx);
|
|
void EmitSelect16(EmitContext& ctx);
|
|
|
-void EmitSelect32(EmitContext& ctx);
|
|
|
|
|
|
|
+Id EmitSelect32(EmitContext& ctx, Id cond, Id true_value, Id false_value);
|
|
|
void EmitSelect64(EmitContext& ctx);
|
|
void EmitSelect64(EmitContext& ctx);
|
|
|
void EmitBitCastU16F16(EmitContext& ctx);
|
|
void EmitBitCastU16F16(EmitContext& ctx);
|
|
|
Id EmitBitCastU32F32(EmitContext& ctx, Id value);
|
|
Id EmitBitCastU32F32(EmitContext& ctx, Id value);
|
|
@@ -130,9 +130,9 @@ void EmitGetZeroFromOp(EmitContext& ctx);
|
|
|
void EmitGetSignFromOp(EmitContext& ctx);
|
|
void EmitGetSignFromOp(EmitContext& ctx);
|
|
|
void EmitGetCarryFromOp(EmitContext& ctx);
|
|
void EmitGetCarryFromOp(EmitContext& ctx);
|
|
|
void EmitGetOverflowFromOp(EmitContext& ctx);
|
|
void EmitGetOverflowFromOp(EmitContext& ctx);
|
|
|
-void EmitFPAbs16(EmitContext& ctx);
|
|
|
|
|
-void EmitFPAbs32(EmitContext& ctx);
|
|
|
|
|
-void EmitFPAbs64(EmitContext& ctx);
|
|
|
|
|
|
|
+Id EmitFPAbs16(EmitContext& ctx, Id value);
|
|
|
|
|
+Id EmitFPAbs32(EmitContext& ctx, Id value);
|
|
|
|
|
+Id EmitFPAbs64(EmitContext& ctx, Id value);
|
|
|
Id EmitFPAdd16(EmitContext& ctx, IR::Inst* inst, Id a, Id b);
|
|
Id EmitFPAdd16(EmitContext& ctx, IR::Inst* inst, Id a, Id b);
|
|
|
Id EmitFPAdd32(EmitContext& ctx, IR::Inst* inst, Id a, Id b);
|
|
Id EmitFPAdd32(EmitContext& ctx, IR::Inst* inst, Id a, Id b);
|
|
|
Id EmitFPAdd64(EmitContext& ctx, IR::Inst* inst, Id a, Id b);
|
|
Id EmitFPAdd64(EmitContext& ctx, IR::Inst* inst, Id a, Id b);
|
|
@@ -146,9 +146,9 @@ void EmitFPMin64(EmitContext& ctx);
|
|
|
Id EmitFPMul16(EmitContext& ctx, IR::Inst* inst, Id a, Id b);
|
|
Id EmitFPMul16(EmitContext& ctx, IR::Inst* inst, Id a, Id b);
|
|
|
Id EmitFPMul32(EmitContext& ctx, IR::Inst* inst, Id a, Id b);
|
|
Id EmitFPMul32(EmitContext& ctx, IR::Inst* inst, Id a, Id b);
|
|
|
Id EmitFPMul64(EmitContext& ctx, IR::Inst* inst, Id a, Id b);
|
|
Id EmitFPMul64(EmitContext& ctx, IR::Inst* inst, Id a, Id b);
|
|
|
-void EmitFPNeg16(EmitContext& ctx);
|
|
|
|
|
-void EmitFPNeg32(EmitContext& ctx);
|
|
|
|
|
-void EmitFPNeg64(EmitContext& ctx);
|
|
|
|
|
|
|
+Id EmitFPNeg16(EmitContext& ctx, Id value);
|
|
|
|
|
+Id EmitFPNeg32(EmitContext& ctx, Id value);
|
|
|
|
|
+Id EmitFPNeg64(EmitContext& ctx, Id value);
|
|
|
void EmitFPRecip32(EmitContext& ctx);
|
|
void EmitFPRecip32(EmitContext& ctx);
|
|
|
void EmitFPRecip64(EmitContext& ctx);
|
|
void EmitFPRecip64(EmitContext& ctx);
|
|
|
void EmitFPRecipSqrt32(EmitContext& ctx);
|
|
void EmitFPRecipSqrt32(EmitContext& ctx);
|
|
@@ -161,9 +161,9 @@ void EmitFPExp2NotReduced(EmitContext& ctx);
|
|
|
void EmitFPCos(EmitContext& ctx);
|
|
void EmitFPCos(EmitContext& ctx);
|
|
|
void EmitFPCosNotReduced(EmitContext& ctx);
|
|
void EmitFPCosNotReduced(EmitContext& ctx);
|
|
|
void EmitFPLog2(EmitContext& ctx);
|
|
void EmitFPLog2(EmitContext& ctx);
|
|
|
-void EmitFPSaturate16(EmitContext& ctx);
|
|
|
|
|
-void EmitFPSaturate32(EmitContext& ctx);
|
|
|
|
|
-void EmitFPSaturate64(EmitContext& ctx);
|
|
|
|
|
|
|
+Id EmitFPSaturate16(EmitContext& ctx, Id value);
|
|
|
|
|
+Id EmitFPSaturate32(EmitContext& ctx, Id value);
|
|
|
|
|
+Id EmitFPSaturate64(EmitContext& ctx, Id value);
|
|
|
Id EmitFPRoundEven16(EmitContext& ctx, Id value);
|
|
Id EmitFPRoundEven16(EmitContext& ctx, Id value);
|
|
|
Id EmitFPRoundEven32(EmitContext& ctx, Id value);
|
|
Id EmitFPRoundEven32(EmitContext& ctx, Id value);
|
|
|
Id EmitFPRoundEven64(EmitContext& ctx, Id value);
|
|
Id EmitFPRoundEven64(EmitContext& ctx, Id value);
|
|
@@ -186,21 +186,21 @@ void EmitIAbs32(EmitContext& ctx);
|
|
|
Id EmitShiftLeftLogical32(EmitContext& ctx, Id base, Id shift);
|
|
Id EmitShiftLeftLogical32(EmitContext& ctx, Id base, Id shift);
|
|
|
void EmitShiftRightLogical32(EmitContext& ctx);
|
|
void EmitShiftRightLogical32(EmitContext& ctx);
|
|
|
void EmitShiftRightArithmetic32(EmitContext& ctx);
|
|
void EmitShiftRightArithmetic32(EmitContext& ctx);
|
|
|
-void EmitBitwiseAnd32(EmitContext& ctx);
|
|
|
|
|
-void EmitBitwiseOr32(EmitContext& ctx);
|
|
|
|
|
-void EmitBitwiseXor32(EmitContext& ctx);
|
|
|
|
|
|
|
+Id EmitBitwiseAnd32(EmitContext& ctx, Id a, Id b);
|
|
|
|
|
+Id EmitBitwiseOr32(EmitContext& ctx, Id a, Id b);
|
|
|
|
|
+Id EmitBitwiseXor32(EmitContext& ctx, Id a, Id b);
|
|
|
void EmitBitFieldInsert(EmitContext& ctx);
|
|
void EmitBitFieldInsert(EmitContext& ctx);
|
|
|
void EmitBitFieldSExtract(EmitContext& ctx);
|
|
void EmitBitFieldSExtract(EmitContext& ctx);
|
|
|
Id EmitBitFieldUExtract(EmitContext& ctx, Id base, Id offset, Id count);
|
|
Id EmitBitFieldUExtract(EmitContext& ctx, Id base, Id offset, Id count);
|
|
|
Id EmitSLessThan(EmitContext& ctx, Id lhs, Id rhs);
|
|
Id EmitSLessThan(EmitContext& ctx, Id lhs, Id rhs);
|
|
|
-void EmitULessThan(EmitContext& ctx);
|
|
|
|
|
-void EmitIEqual(EmitContext& ctx);
|
|
|
|
|
-void EmitSLessThanEqual(EmitContext& ctx);
|
|
|
|
|
-void EmitULessThanEqual(EmitContext& ctx);
|
|
|
|
|
|
|
+Id EmitULessThan(EmitContext& ctx, Id lhs, Id rhs);
|
|
|
|
|
+Id EmitIEqual(EmitContext& ctx, Id lhs, Id rhs);
|
|
|
|
|
+Id EmitSLessThanEqual(EmitContext& ctx, Id lhs, Id rhs);
|
|
|
|
|
+Id EmitULessThanEqual(EmitContext& ctx, Id lhs, Id rhs);
|
|
|
Id EmitSGreaterThan(EmitContext& ctx, Id lhs, Id rhs);
|
|
Id EmitSGreaterThan(EmitContext& ctx, Id lhs, Id rhs);
|
|
|
-void EmitUGreaterThan(EmitContext& ctx);
|
|
|
|
|
-void EmitINotEqual(EmitContext& ctx);
|
|
|
|
|
-void EmitSGreaterThanEqual(EmitContext& ctx);
|
|
|
|
|
|
|
+Id EmitUGreaterThan(EmitContext& ctx, Id lhs, Id rhs);
|
|
|
|
|
+Id EmitINotEqual(EmitContext& ctx, Id lhs, Id rhs);
|
|
|
|
|
+Id EmitSGreaterThanEqual(EmitContext& ctx, Id lhs, Id rhs);
|
|
|
Id EmitUGreaterThanEqual(EmitContext& ctx, Id lhs, Id rhs);
|
|
Id EmitUGreaterThanEqual(EmitContext& ctx, Id lhs, Id rhs);
|
|
|
void EmitLogicalOr(EmitContext& ctx);
|
|
void EmitLogicalOr(EmitContext& ctx);
|
|
|
void EmitLogicalAnd(EmitContext& ctx);
|
|
void EmitLogicalAnd(EmitContext& ctx);
|