PowerPC ncg never uses the rules to stack LOCAL or DLOCAL.
This commit is contained in:
parent
aa876ff4c2
commit
f0619ea4ae
|
@ -328,6 +328,7 @@ INSTRUCTIONS
|
||||||
xori GPR:wo, GPR:ro, CONST:ro.
|
xori GPR:wo, GPR:ro, CONST:ro.
|
||||||
xoris GPR:wo, GPR:ro, CONST:ro.
|
xoris GPR:wo, GPR:ro, CONST:ro.
|
||||||
|
|
||||||
|
bug ">>> BUG" LABEL:ro cost(0, 0).
|
||||||
comment "!" LABEL:ro cost(0, 0).
|
comment "!" LABEL:ro cost(0, 0).
|
||||||
|
|
||||||
|
|
||||||
|
@ -588,16 +589,6 @@ TESTS
|
||||||
|
|
||||||
STACKINGRULES
|
STACKINGRULES
|
||||||
|
|
||||||
from LOCAL inreg(%off)==reg_float to STACK
|
|
||||||
gen
|
|
||||||
COMMENT("stack LOCAL")
|
|
||||||
stfsu %1, {IND_RC_W, sp, 0-4}
|
|
||||||
|
|
||||||
from LOCAL to STACK
|
|
||||||
gen
|
|
||||||
COMMENT("stack LOCAL")
|
|
||||||
stwu %1, {IND_RC_W, sp, 0-4}
|
|
||||||
|
|
||||||
from REG to STACK
|
from REG to STACK
|
||||||
gen
|
gen
|
||||||
COMMENT("stack REG")
|
COMMENT("stack REG")
|
||||||
|
@ -615,7 +606,7 @@ STACKINGRULES
|
||||||
move %1, FSCRATCH
|
move %1, FSCRATCH
|
||||||
stfdu FSCRATCH, {IND_RC_D, sp, 0-8}
|
stfdu FSCRATCH, {IND_RC_D, sp, 0-8}
|
||||||
|
|
||||||
from FREG+DLOCAL to STACK
|
from FREG to STACK
|
||||||
gen
|
gen
|
||||||
COMMENT("stack FREG+DLOCAL")
|
COMMENT("stack FREG+DLOCAL")
|
||||||
stfdu %1, {IND_RC_D, sp, 0-8}
|
stfdu %1, {IND_RC_D, sp, 0-8}
|
||||||
|
@ -625,6 +616,16 @@ STACKINGRULES
|
||||||
COMMENT("stack FSREG")
|
COMMENT("stack FSREG")
|
||||||
stfsu %1, {IND_RC_W, sp, 0-4}
|
stfsu %1, {IND_RC_W, sp, 0-4}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* We never stack LOCAL or DLOCAL tokens, because we only use
|
||||||
|
* them for register variables, so ncg pushes the register,
|
||||||
|
* not the token. These rules only prevent an error in ncgg.
|
||||||
|
*/
|
||||||
|
from LOCAL to STACK
|
||||||
|
gen bug {LABEL, "STACKING LOCAL"}
|
||||||
|
from DLOCAL to STACK
|
||||||
|
gen bug {LABEL, "STACKING DLOCAL"}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
COERCIONS
|
COERCIONS
|
||||||
|
|
Loading…
Reference in a new issue