|
|
|
@ -45,7 +45,7 @@ static void EmitTwoOpArranged(oaknut::CodeGenerator& code, EmitContext& ctx, IR: |
|
|
|
} else if constexpr (size == 64) { |
|
|
|
emit(Qresult->D2(), Qoperand->D2()); |
|
|
|
} else { |
|
|
|
static_assert(false); |
|
|
|
//static_assert(false);
|
|
|
|
} |
|
|
|
}); |
|
|
|
} |
|
|
|
@ -68,7 +68,7 @@ static void EmitTwoOpArrangedWiden(oaknut::CodeGenerator& code, EmitContext& ctx |
|
|
|
} else if constexpr (size == 32) { |
|
|
|
emit(Qresult->D2(), Qoperand->toD().S2()); |
|
|
|
} else { |
|
|
|
static_assert(false); |
|
|
|
//static_assert(false);
|
|
|
|
} |
|
|
|
}); |
|
|
|
} |
|
|
|
@ -83,7 +83,7 @@ static void EmitTwoOpArrangedNarrow(oaknut::CodeGenerator& code, EmitContext& ct |
|
|
|
} else if constexpr (size == 64) { |
|
|
|
emit(Qresult->toD().S2(), Qoperand->D2()); |
|
|
|
} else { |
|
|
|
static_assert(false); |
|
|
|
//static_assert(false);
|
|
|
|
} |
|
|
|
}); |
|
|
|
} |
|
|
|
@ -106,7 +106,7 @@ static void EmitTwoOpArrangedPairWiden(oaknut::CodeGenerator& code, EmitContext& |
|
|
|
} else if constexpr (size == 32) { |
|
|
|
emit(Qresult->D2(), Qoperand->S4()); |
|
|
|
} else { |
|
|
|
static_assert(false); |
|
|
|
//static_assert(false);
|
|
|
|
} |
|
|
|
}); |
|
|
|
} |
|
|
|
@ -121,7 +121,7 @@ static void EmitTwoOpArrangedLower(oaknut::CodeGenerator& code, EmitContext& ctx |
|
|
|
} else if constexpr (size == 32) { |
|
|
|
emit(Qresult->toD().S2(), Qoperand->toD().S2()); |
|
|
|
} else { |
|
|
|
static_assert(false); |
|
|
|
//static_assert(false);
|
|
|
|
} |
|
|
|
}); |
|
|
|
} |
|
|
|
@ -149,7 +149,7 @@ static void EmitThreeOpArranged(oaknut::CodeGenerator& code, EmitContext& ctx, I |
|
|
|
} else if constexpr (size == 64) { |
|
|
|
emit(Qresult->D2(), Qa->D2(), Qb->D2()); |
|
|
|
} else { |
|
|
|
static_assert(false); |
|
|
|
//static_assert(false);
|
|
|
|
} |
|
|
|
}); |
|
|
|
} |
|
|
|
@ -174,7 +174,7 @@ static void EmitThreeOpArrangedWiden(oaknut::CodeGenerator& code, EmitContext& c |
|
|
|
} else if constexpr (size == 64) { |
|
|
|
emit(Qresult->Q1(), Qa->toD().D1(), Qb->toD().D1()); |
|
|
|
} else { |
|
|
|
static_assert(false); |
|
|
|
//static_assert(false);
|
|
|
|
} |
|
|
|
}); |
|
|
|
} |
|
|
|
@ -197,7 +197,7 @@ static void EmitThreeOpArrangedLower(oaknut::CodeGenerator& code, EmitContext& c |
|
|
|
} else if constexpr (size == 32) { |
|
|
|
emit(Qresult->toD().S2(), Qa->toD().S2(), Qb->toD().S2()); |
|
|
|
} else { |
|
|
|
static_assert(false); |
|
|
|
//static_assert(false);
|
|
|
|
} |
|
|
|
}); |
|
|
|
} |
|
|
|
@ -219,7 +219,7 @@ static void EmitSaturatedAccumulate(oaknut::CodeGenerator&, EmitContext& ctx, IR |
|
|
|
} else if constexpr (size == 64) { |
|
|
|
emit(Qaccumulator->D2(), Qoperand->D2()); |
|
|
|
} else { |
|
|
|
static_assert(false); |
|
|
|
//static_assert(false);
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@ -240,7 +240,7 @@ static void EmitImmShift(oaknut::CodeGenerator&, EmitContext& ctx, IR::Inst* ins |
|
|
|
} else if constexpr (size == 64) { |
|
|
|
emit(Qresult->D2(), Qoperand->D2(), shift_amount); |
|
|
|
} else { |
|
|
|
static_assert(false); |
|
|
|
//static_assert(false);
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@ -268,7 +268,7 @@ static void EmitReduce(oaknut::CodeGenerator&, EmitContext& ctx, IR::Inst* inst, |
|
|
|
} else if constexpr (size == 64) { |
|
|
|
emit(Vresult, Qoperand->D2()); |
|
|
|
} else { |
|
|
|
static_assert(false); |
|
|
|
//static_assert(false);
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|