mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-06 06:33:24 +00:00
Prefer even-odd D-register pairs.
We are sometimes allocatinog from the DPair register class which contains odd-even pairs in addition to the Q registers. Place the Q registers first in the DPair allocation order as they can be copied with a single instruction. The odd-even pairs should only be allocated as a last resort. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153699 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
803d134007
commit
ccca22e9e2
@ -314,7 +314,8 @@ def TuplesOE2D : RegisterTuples<[dsub_0, dsub_1],
|
||||
def DPair : RegisterClass<"ARM", [v16i8, v8i16, v4i32, v2i64, v4f32, v2f64],
|
||||
128, (interleave QPR, TuplesOE2D)> {
|
||||
// Allocate starting at non-VFP2 registers D16-D31 first.
|
||||
let AltOrders = [(rotl DPair, 16)];
|
||||
// Prefer even-odd pairs as they are easier to copy.
|
||||
let AltOrders = [(add (rotl QPR, 8), (rotl DPair, 16))];
|
||||
let AltOrderSelect = [{ return 1; }];
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user