mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-08-14 17:28:07 +00:00
eval type group for F80 and F128
This commit is contained in:
+4
-2
@@ -62,7 +62,7 @@ RDI_U16 rdi_eval_op_ctrlbits_table[54] =
|
||||
{
|
||||
RDI_EVAL_CTRLBITS(0, 0, 0),
|
||||
RDI_EVAL_CTRLBITS(0, 0, 0),
|
||||
RDI_EVAL_CTRLBITS(1, 1, 0),
|
||||
RDI_EVAL_CTRLBITS(2, 1, 0),
|
||||
RDI_EVAL_CTRLBITS(2, 0, 0),
|
||||
RDI_EVAL_CTRLBITS(1, 1, 1),
|
||||
RDI_EVAL_CTRLBITS(4, 0, 1),
|
||||
@@ -116,13 +116,15 @@ RDI_EVAL_CTRLBITS(0, 0, 1),
|
||||
RDI_EVAL_CTRLBITS(0, 0, 0),
|
||||
};
|
||||
|
||||
struct {RDI_EvalConversionKind dst_typegroups[RDI_EvalTypeGroup_COUNT];} rdi_eval_typegroup_conversion_kind_matrix[6] =
|
||||
struct {RDI_EvalConversionKind dst_typegroups[RDI_EvalTypeGroup_COUNT];} rdi_eval_typegroup_conversion_kind_matrix[8] =
|
||||
{
|
||||
{{RDI_EvalConversionKind_OtherToOther, RDI_EvalConversionKind_FromOther, RDI_EvalConversionKind_FromOther, RDI_EvalConversionKind_FromOther, RDI_EvalConversionKind_FromOther}},
|
||||
{{RDI_EvalConversionKind_ToOther, RDI_EvalConversionKind_Noop, RDI_EvalConversionKind_Noop, RDI_EvalConversionKind_Legal, RDI_EvalConversionKind_Legal}},
|
||||
{{RDI_EvalConversionKind_ToOther, RDI_EvalConversionKind_Noop, RDI_EvalConversionKind_Noop, RDI_EvalConversionKind_Legal, RDI_EvalConversionKind_Legal}},
|
||||
{{RDI_EvalConversionKind_ToOther, RDI_EvalConversionKind_Legal, RDI_EvalConversionKind_Legal, RDI_EvalConversionKind_Noop, RDI_EvalConversionKind_Legal}},
|
||||
{{RDI_EvalConversionKind_ToOther, RDI_EvalConversionKind_Legal, RDI_EvalConversionKind_Legal, RDI_EvalConversionKind_Legal, RDI_EvalConversionKind_Noop}},
|
||||
{{RDI_EvalConversionKind_ToOther, RDI_EvalConversionKind_Legal, RDI_EvalConversionKind_Legal, RDI_EvalConversionKind_Legal, RDI_EvalConversionKind_Legal}},
|
||||
{{RDI_EvalConversionKind_ToOther, RDI_EvalConversionKind_Legal, RDI_EvalConversionKind_Legal, RDI_EvalConversionKind_Legal, RDI_EvalConversionKind_Legal}},
|
||||
{{RDI_EvalConversionKind_Noop, RDI_EvalConversionKind_Noop, RDI_EvalConversionKind_Noop, RDI_EvalConversionKind_Noop, RDI_EvalConversionKind_Noop}},
|
||||
};
|
||||
|
||||
|
||||
+5
-1
@@ -464,7 +464,9 @@ RDI_EvalTypeGroup_U = 1,
|
||||
RDI_EvalTypeGroup_S = 2,
|
||||
RDI_EvalTypeGroup_F32 = 3,
|
||||
RDI_EvalTypeGroup_F64 = 4,
|
||||
RDI_EvalTypeGroup_COUNT = 5,
|
||||
RDI_EvalTypeGroup_F80 = 5,
|
||||
RDI_EvalTypeGroup_F128 = 6,
|
||||
RDI_EvalTypeGroup_COUNT = 7,
|
||||
} RDI_EvalTypeGroupEnum;
|
||||
|
||||
typedef RDI_U8 RDI_EvalConversionKind;
|
||||
@@ -990,6 +992,8 @@ X(U)\
|
||||
X(S)\
|
||||
X(F32)\
|
||||
X(F64)\
|
||||
X(F80)\
|
||||
X(F128)\
|
||||
|
||||
#define RDI_EvalConversionKind_XList \
|
||||
X(Noop)\
|
||||
|
||||
+9
-7
@@ -1275,15 +1275,17 @@ RDI_EvalOpTable:
|
||||
|
||||
// NOTE(rjf): "ck" -> "conversion kind, when converted to type group", used in square matrix form
|
||||
// e.g. x:0, y:0 means other -> other, x:3, y:1 means uint -> f32, etc.
|
||||
@table(name value ck0 ck1 ck2 ck3 ck4)
|
||||
@table(name value ck0 ck1 ck2 ck3 ck4 ck5 ck6)
|
||||
RDI_EvalTypeGroupTable:
|
||||
{
|
||||
{Other 0 OtherToOther FromOther FromOther FromOther FromOther }
|
||||
{U 1 ToOther Noop Noop Legal Legal }
|
||||
{S 2 ToOther Noop Noop Legal Legal }
|
||||
{F32 3 ToOther Legal Legal Noop Legal }
|
||||
{F64 4 ToOther Legal Legal Legal Noop }
|
||||
{COUNT 5 Noop Noop Noop Noop Noop }
|
||||
{Other 0 OtherToOther FromOther FromOther FromOther FromOther FromOther FromOther}
|
||||
{U 1 ToOther Noop Noop Legal Legal Legal Legal }
|
||||
{S 2 ToOther Noop Noop Legal Legal Legal Legal }
|
||||
{F32 3 ToOther Legal Legal Noop Legal Legal Legal }
|
||||
{F64 4 ToOther Legal Legal Legal Noop Legal Legal }
|
||||
{F80 5 ToOther Legal Legal Legal Legal Noop Legal }
|
||||
{F128 6 ToOther Legal Legal Legal Legal Legal Noop }
|
||||
{COUNT 7 Noop Noop Noop Noop Noop Noop Noop }
|
||||
}
|
||||
|
||||
@table(name value error_string)
|
||||
|
||||
Reference in New Issue
Block a user