Fixed register info for several runtime functions. Info for the Y register was
wrong, so the optimizer assumed it wouldn't change across a call. git-svn-id: svn://svn.cc65.org/cc65/trunk@4836 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
@@ -232,10 +232,10 @@ static const FuncInfo FuncInfoTable[] = {
|
|||||||
{ "tosadda0", REG_A, REG_AXY },
|
{ "tosadda0", REG_A, REG_AXY },
|
||||||
{ "tosaddax", REG_AX, REG_AXY },
|
{ "tosaddax", REG_AX, REG_AXY },
|
||||||
{ "tosaddeax", REG_EAX, REG_EAXY | REG_TMP1 },
|
{ "tosaddeax", REG_EAX, REG_EAXY | REG_TMP1 },
|
||||||
{ "tosand0ax", REG_AX, REG_EAX | REG_TMP1 },
|
{ "tosand0ax", REG_AX, REG_EAXY | REG_TMP1 },
|
||||||
{ "tosanda0", REG_A, REG_AXY },
|
{ "tosanda0", REG_A, REG_AXY },
|
||||||
{ "tosandax", REG_AX, REG_AXY },
|
{ "tosandax", REG_AX, REG_AXY },
|
||||||
{ "tosandeax", REG_EAX, REG_EAX | REG_TMP1 },
|
{ "tosandeax", REG_EAX, REG_EAXY | REG_TMP1 },
|
||||||
{ "tosaslax", REG_A, REG_AXY | REG_TMP1 },
|
{ "tosaslax", REG_A, REG_AXY | REG_TMP1 },
|
||||||
{ "tosasleax", REG_A, REG_EAXY | REG_TMP1 },
|
{ "tosasleax", REG_A, REG_EAXY | REG_TMP1 },
|
||||||
{ "tosasrax", REG_A, REG_AXY | REG_TMP1 },
|
{ "tosasrax", REG_A, REG_AXY | REG_TMP1 },
|
||||||
@@ -277,14 +277,14 @@ static const FuncInfo FuncInfoTable[] = {
|
|||||||
{ "tosnea0", REG_A, REG_AXY | REG_SREG },
|
{ "tosnea0", REG_A, REG_AXY | REG_SREG },
|
||||||
{ "tosneax", REG_AX, REG_AXY | REG_SREG },
|
{ "tosneax", REG_AX, REG_AXY | REG_SREG },
|
||||||
{ "tosneeax", REG_EAX, REG_AXY | REG_PTR1 },
|
{ "tosneeax", REG_EAX, REG_AXY | REG_PTR1 },
|
||||||
{ "tosor0ax", REG_AX, REG_EAX | REG_TMP1 },
|
{ "tosor0ax", REG_AX, REG_EAXY | REG_TMP1 },
|
||||||
{ "tosora0", REG_A, REG_AXY | REG_TMP1 },
|
{ "tosora0", REG_A, REG_AXY | REG_TMP1 },
|
||||||
{ "tosorax", REG_AX, REG_AXY | REG_TMP1 },
|
{ "tosorax", REG_AX, REG_AXY | REG_TMP1 },
|
||||||
{ "tosoreax", REG_EAX, REG_EAX | REG_TMP1 },
|
{ "tosoreax", REG_EAX, REG_EAXY | REG_TMP1 },
|
||||||
{ "tosrsub0ax", REG_AX, REG_EAX | REG_TMP1 },
|
{ "tosrsub0ax", REG_AX, REG_EAXY | REG_TMP1 },
|
||||||
{ "tosrsuba0", REG_A, REG_AX | REG_TMP1 },
|
{ "tosrsuba0", REG_A, REG_AXY | REG_TMP1 },
|
||||||
{ "tosrsubax", REG_AX, REG_AX | REG_TMP1 },
|
{ "tosrsubax", REG_AX, REG_AXY | REG_TMP1 },
|
||||||
{ "tosrsubeax", REG_EAX, REG_EAX | REG_TMP1 },
|
{ "tosrsubeax", REG_EAX, REG_EAXY | REG_TMP1 },
|
||||||
{ "tosshlax", REG_A, REG_AXY | REG_TMP1 },
|
{ "tosshlax", REG_A, REG_AXY | REG_TMP1 },
|
||||||
{ "tosshleax", REG_A, REG_EAXY | REG_TMP1 },
|
{ "tosshleax", REG_A, REG_EAXY | REG_TMP1 },
|
||||||
{ "tosshrax", REG_A, REG_AXY | REG_TMP1 },
|
{ "tosshrax", REG_A, REG_AXY | REG_TMP1 },
|
||||||
@@ -321,10 +321,10 @@ static const FuncInfo FuncInfoTable[] = {
|
|||||||
{ "tosumula0", REG_A, REG_ALL },
|
{ "tosumula0", REG_A, REG_ALL },
|
||||||
{ "tosumulax", REG_AX, REG_ALL },
|
{ "tosumulax", REG_AX, REG_ALL },
|
||||||
{ "tosumuleax", REG_EAX, REG_ALL },
|
{ "tosumuleax", REG_EAX, REG_ALL },
|
||||||
{ "tosxor0ax", REG_AX, REG_EAX | REG_TMP1 },
|
{ "tosxor0ax", REG_AX, REG_EAXY | REG_TMP1 },
|
||||||
{ "tosxora0", REG_A, REG_AX | REG_TMP1 },
|
{ "tosxora0", REG_A, REG_AXY | REG_TMP1 },
|
||||||
{ "tosxorax", REG_AX, REG_AX | REG_TMP1 },
|
{ "tosxorax", REG_AX, REG_AXY | REG_TMP1 },
|
||||||
{ "tosxoreax", REG_EAX, REG_EAX | REG_TMP1 },
|
{ "tosxoreax", REG_EAX, REG_EAXY | REG_TMP1 },
|
||||||
{ "tsteax", REG_EAX, REG_Y },
|
{ "tsteax", REG_EAX, REG_Y },
|
||||||
{ "utsteax", REG_EAX, REG_Y },
|
{ "utsteax", REG_EAX, REG_Y },
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user