mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-17 05:29:24 +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
|
||||
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