X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=src%2Fcc65%2Fcodeinfo.c;h=ed4fae03b3b5cd6344dd545f9cc97854e99fdb75;hb=73dfa23c987d8a7f1154801b85c171f9e01dcd58;hp=dae3cd0e418a1163e77ca4569465ce60326cfbf8;hpb=da44e7ae4ba6d0001dae11d8ee0505e3cd7fe04e;p=cc65 diff --git a/src/cc65/codeinfo.c b/src/cc65/codeinfo.c index dae3cd0e4..ed4fae03b 100644 --- a/src/cc65/codeinfo.c +++ b/src/cc65/codeinfo.c @@ -165,6 +165,9 @@ static const FuncInfo FuncInfoTable[] = { { "pushw0sp", REG_NONE, REG_AXY }, { "pushwidx", REG_AXY, REG_AXY | REG_PTR1 }, { "pushwysp", REG_Y, REG_AXY }, + { "regswap", REG_AXY, REG_AXY | REG_TMP1 }, + { "regswap1", REG_XY, REG_A }, + { "regswap2", REG_XY, REG_A | REG_Y }, { "shlax1", REG_AX, REG_AX | REG_TMP1 }, { "shlax2", REG_AX, REG_AX | REG_TMP1 }, { "shlax3", REG_AX, REG_AX | REG_TMP1 }, @@ -284,8 +287,7 @@ void GetFuncInfo (const char* Name, unsigned short* Use, unsigned short* Chg) FuncDesc* D = E->V.F.Func; if ((D->Flags & FD_FASTCALL) != 0 && D->ParamCount > 0) { /* Will use registers depending on the last param */ - SymEntry* LastParam = D->SymTab->SymTail; - unsigned LastParamSize = CheckedSizeOf (LastParam->Type); + unsigned LastParamSize = CheckedSizeOf (D->LastParam->Type); if (LastParamSize == 1) { *Use = REG_A; } else if (LastParamSize == 2) {