mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-12-30 15:45:26 +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. llvm-svn: 153699
This commit is contained in:
parent
0bba49050f
commit
d9c6469e9a
@ -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…
Reference in New Issue
Block a user