Extend function params less than a word size
This commit is contained in:
@@ -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))
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user