A little fiddling with store instructions. The PowerPC is not friendly to
iburg.
This commit is contained in:
parent
e93c58dc8d
commit
2be1c51885
|
@ -73,6 +73,7 @@ REGISTERS
|
|||
DECLARATIONS
|
||||
|
||||
cr;
|
||||
ubyte_to_be;
|
||||
|
||||
address fragment;
|
||||
|
||||
|
@ -129,10 +130,23 @@ PATTERNS
|
|||
emit "sth %value, %addr"
|
||||
cost 4;
|
||||
|
||||
STORE1(addr:address, value:(int)reg)
|
||||
STORE1(addr:address, value:(int)ubyte_to_be)
|
||||
emit "stb %value, %addr"
|
||||
cost 4;
|
||||
|
||||
STORE1(ADD4(left:(int)reg, right:(int)reg), value:(int)ubyte_to_be)
|
||||
emit "stbx %value, %left, %right"
|
||||
cost 4;
|
||||
|
||||
out:(int)ubyte_to_be = in:(int)reg
|
||||
cost 1;
|
||||
|
||||
out:(int)ubyte_to_be = CIU41(value:(int)reg)
|
||||
cost 1;
|
||||
|
||||
out:(int)ubyte_to_be = CIU41(CII14(CIU41(value:(int)reg)))
|
||||
cost 1;
|
||||
|
||||
out:(int)reg = LOAD4(addr:address)
|
||||
emit "lwz %out, %addr"
|
||||
cost 4;
|
||||
|
@ -325,7 +339,7 @@ PATTERNS
|
|||
cost 4;
|
||||
|
||||
out:(int)reg = value:CONST4
|
||||
emit "la %out, $value"
|
||||
emit "li %out, $value"
|
||||
cost 8;
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue