mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-15 23:31:37 +00:00
Fix patterns for unaligned 32-bit load. DSLL32 or DSRL32 should be emitted
when shift amount is larger than 32. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143990 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
68698cc20d
commit
7784046012
@ -155,9 +155,9 @@ def : Pat<(i64 immZExt16:$in),
|
||||
(ORi64 ZERO_64, imm:$in)>;
|
||||
|
||||
// zextloadi32_u
|
||||
def : Pat<(zextloadi32_u addr:$a), (DSRL (DSLL (ULW64_P8 addr:$a), 32), 32)>,
|
||||
def : Pat<(zextloadi32_u addr:$a), (DSRL32 (DSLL32 (ULW64_P8 addr:$a), 0), 0)>,
|
||||
Requires<[IsN64]>;
|
||||
def : Pat<(zextloadi32_u addr:$a), (DSRL (DSLL (ULW64 addr:$a), 32), 32)>,
|
||||
def : Pat<(zextloadi32_u addr:$a), (DSRL32 (DSLL32 (ULW64 addr:$a), 0), 0)>,
|
||||
Requires<[NotN64]>;
|
||||
|
||||
// hi/lo relocs
|
||||
|
Loading…
x
Reference in New Issue
Block a user