mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-26 21:32:10 +00:00
Fix the SETHIimm pattern for 64-bit code.
Don't ignore the high 32 bits of the immediate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179985 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
94a720c73e
commit
2c6b5a8d33
@ -64,8 +64,7 @@ def HI22 : SDNodeXForm<imm, [{
|
||||
}]>;
|
||||
|
||||
def SETHIimm : PatLeaf<(imm), [{
|
||||
return (((unsigned)N->getZExtValue() >> 10) << 10) ==
|
||||
(unsigned)N->getZExtValue();
|
||||
return isShiftedUInt<22, 10>(N->getZExtValue());
|
||||
}], HI22>;
|
||||
|
||||
// Addressing modes.
|
||||
|
@ -66,6 +66,12 @@ define i64 @ret_bigimm() {
|
||||
ret i64 6800754272627607872
|
||||
}
|
||||
|
||||
; CHECK: ret_bigimm2
|
||||
; CHECK: sethi 1048576
|
||||
define i64 @ret_bigimm2() {
|
||||
ret i64 4611686018427387904 ; 0x4000000000000000
|
||||
}
|
||||
|
||||
; CHECK: reg_reg_alu
|
||||
; CHECK: add %i0, %i1, [[R0:%[goli][0-7]]]
|
||||
; CHECK: sub [[R0]], %i2, [[R1:%[goli][0-7]]]
|
||||
|
Loading…
Reference in New Issue
Block a user