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(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(2, 0, 0),
|
||||||
RDI_EVAL_CTRLBITS(1, 1, 1),
|
RDI_EVAL_CTRLBITS(1, 1, 1),
|
||||||
RDI_EVAL_CTRLBITS(4, 0, 1),
|
RDI_EVAL_CTRLBITS(4, 0, 1),
|
||||||
@@ -116,13 +116,15 @@ RDI_EVAL_CTRLBITS(0, 0, 1),
|
|||||||
RDI_EVAL_CTRLBITS(0, 0, 0),
|
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_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_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_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_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}},
|
{{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_S = 2,
|
||||||
RDI_EvalTypeGroup_F32 = 3,
|
RDI_EvalTypeGroup_F32 = 3,
|
||||||
RDI_EvalTypeGroup_F64 = 4,
|
RDI_EvalTypeGroup_F64 = 4,
|
||||||
RDI_EvalTypeGroup_COUNT = 5,
|
RDI_EvalTypeGroup_F80 = 5,
|
||||||
|
RDI_EvalTypeGroup_F128 = 6,
|
||||||
|
RDI_EvalTypeGroup_COUNT = 7,
|
||||||
} RDI_EvalTypeGroupEnum;
|
} RDI_EvalTypeGroupEnum;
|
||||||
|
|
||||||
typedef RDI_U8 RDI_EvalConversionKind;
|
typedef RDI_U8 RDI_EvalConversionKind;
|
||||||
@@ -990,6 +992,8 @@ X(U)\
|
|||||||
X(S)\
|
X(S)\
|
||||||
X(F32)\
|
X(F32)\
|
||||||
X(F64)\
|
X(F64)\
|
||||||
|
X(F80)\
|
||||||
|
X(F128)\
|
||||||
|
|
||||||
#define RDI_EvalConversionKind_XList \
|
#define RDI_EvalConversionKind_XList \
|
||||||
X(Noop)\
|
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
|
// 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.
|
// 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:
|
RDI_EvalTypeGroupTable:
|
||||||
{
|
{
|
||||||
{Other 0 OtherToOther FromOther FromOther FromOther FromOther }
|
{Other 0 OtherToOther FromOther FromOther FromOther FromOther FromOther FromOther}
|
||||||
{U 1 ToOther Noop Noop Legal Legal }
|
{U 1 ToOther Noop Noop Legal Legal Legal Legal }
|
||||||
{S 2 ToOther Noop Noop Legal Legal }
|
{S 2 ToOther Noop Noop Legal Legal Legal Legal }
|
||||||
{F32 3 ToOther Legal Legal Noop Legal }
|
{F32 3 ToOther Legal Legal Noop Legal Legal Legal }
|
||||||
{F64 4 ToOther Legal Legal Legal Noop }
|
{F64 4 ToOther Legal Legal Legal Noop Legal Legal }
|
||||||
{COUNT 5 Noop Noop Noop Noop Noop }
|
{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)
|
@table(name value error_string)
|
||||||
|
|||||||
Reference in New Issue
Block a user