mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-17 21:29:20 +00:00
add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26585 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
784236d778
commit
5a63c47fb5
@ -452,3 +452,17 @@ _test:
|
|||||||
srwi r3, r2, 24
|
srwi r3, r2, 24
|
||||||
blr
|
blr
|
||||||
|
|
||||||
|
===-------------------------------------------------------------------------===
|
||||||
|
|
||||||
|
On the G5, logical CR operations are more expensive in their three
|
||||||
|
address form: ops that read/write the same register are half as expensive as
|
||||||
|
those that read from two registers that are different from their destination.
|
||||||
|
|
||||||
|
We should model this with two separate instructions. The isel should generate
|
||||||
|
the "two address" form of the instructions. When the register allocator
|
||||||
|
detects that it needs to insert a copy due to the two-addresness of the CR
|
||||||
|
logical op, it will invoke PPCInstrInfo::convertToThreeAddress. At this point
|
||||||
|
we can convert to the "three address" instruction, to save code space.
|
||||||
|
|
||||||
|
This only matters when we start generating cr logical ops.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user