mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-15 20:29:48 +00:00
Teach the dag isel generator how to construct arbitrary immediates. The
generated isel now tries li then lis, then lis+ori. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23418 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
72fe91c4dd
commit
ea874f3306
@ -774,7 +774,12 @@ def : Pat<(or GPRC:$in, imm:$imm),
|
||||
def : Pat<(xor GPRC:$in, imm:$imm),
|
||||
(XORIS (XORI GPRC:$in, (LO16 imm:$imm)), (HI16 imm:$imm))>;
|
||||
|
||||
// Same as above, but using a temporary.
|
||||
// Arbitrary immediate support.
|
||||
def : Pat<(i32 imm:$imm),
|
||||
(ORI (LIS (HI16 imm:$imm)), (LO16 imm:$imm))>;
|
||||
|
||||
|
||||
// Same as above, but using a temporary. FIXME: implement temporaries :)
|
||||
/*
|
||||
def : Pattern<(xor GPRC:$in, imm:$imm),
|
||||
[(set GPRC:$tmp, (XORI GPRC:$in, (LO16 imm:$imm))),
|
||||
|
Loading…
Reference in New Issue
Block a user