In coercions, try to reuse a register with the same token.
This reduces code size.
This commit is contained in:
parent
b0d75fed37
commit
d8fa9d1b2a
1 changed files with 8 additions and 12 deletions
|
@ -723,11 +723,13 @@ COERCIONS
|
||||||
addi sp, sp, {C, 4}
|
addi sp, sp, {C, 4}
|
||||||
yields %a
|
yields %a
|
||||||
|
|
||||||
|
/* "uses REG=%1" may find and reuse a register containing the
|
||||||
|
* same token. For contrast, "uses REG gen move %1, %a" would
|
||||||
|
* pick a different register before doing the move.
|
||||||
|
*/
|
||||||
|
|
||||||
from INT_W
|
from INT_W
|
||||||
uses REG
|
uses REG=%1
|
||||||
gen
|
|
||||||
COMMENT("coerce INT_W->REG")
|
|
||||||
move %1, %a
|
|
||||||
yields %a
|
yields %a
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -741,17 +743,11 @@ COERCIONS
|
||||||
*/
|
*/
|
||||||
|
|
||||||
from FLOAT_D
|
from FLOAT_D
|
||||||
uses FREG
|
uses FREG=%1
|
||||||
gen
|
|
||||||
COMMENT("coerce FLOAT_D->FREG")
|
|
||||||
move %1, %a
|
|
||||||
yields %a
|
yields %a
|
||||||
|
|
||||||
from FLOAT_W
|
from FLOAT_W
|
||||||
uses FSREG
|
uses FSREG=%1
|
||||||
gen
|
|
||||||
COMMENT("coerce FLOAT_W->FREG")
|
|
||||||
move %1, %a
|
|
||||||
yields %a
|
yields %a
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue