Extend function params less than a word size

This commit is contained in:
nub31
2025-06-07 21:46:19 +02:00
parent 69700714b9
commit 9267560852

View File

@@ -299,25 +299,30 @@ public class Generator
{
var parameterName = parameter.Name;
// switch (QBEType(parameter.Type))
// {
// case "sb":
// parameterName = GenVarName();
// _builder.AppendLine($" {parameterName} =w extsb %{parameter.Name}");
// break;
// case "ub":
// parameterName = GenVarName();
// _builder.AppendLine($" {parameterName} =w extub %{parameter.Name}");
// break;
// case "sh":
// parameterName = GenVarName();
// _builder.AppendLine($" {parameterName} =w extsh %{parameter.Name}");
// break;
// case "uh":
// parameterName = GenVarName();
// _builder.AppendLine($" {parameterName} =w extuh %{parameter.Name}");
// break;
// }
if (parameter.Type is NubPrimitiveType primitiveType)
{
switch (primitiveType.Kind)
{
case PrimitiveTypeKind.I16:
parameterName = GenVarName();
_builder.AppendLine($" {parameterName} =w extsh %{parameter.Name}");
break;
case PrimitiveTypeKind.I8:
parameterName = GenVarName();
_builder.AppendLine($" {parameterName} =w extsb %{parameter.Name}");
break;
case PrimitiveTypeKind.U16:
parameterName = GenVarName();
_builder.AppendLine($" {parameterName} =w extuh %{parameter.Name}");
break;
case PrimitiveTypeKind.U8:
parameterName = GenVarName();
_builder.AppendLine($" {parameterName} =w extub %{parameter.Name}");
break;
default:
throw new ArgumentOutOfRangeException();
}
}
if (IsLargeType(parameter.Type))
{