mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2026-04-26 12:20:42 +00:00
Fix mips' long branch pass.
Instructions emitted to compute branch offsets now use immediate operands instead of symbolic labels. This change was needed because there were problems when R_MIPS_HI16/LO16 relocations were used to make shared objects. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162731 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -6,9 +6,15 @@
|
||||
define void @foo1(i32 %s) nounwind {
|
||||
entry:
|
||||
; O32: bal
|
||||
; O32: lui $at, 0
|
||||
; O32: addiu $at, $at, {{[0-9]+}}
|
||||
; N64: lui $at, 0
|
||||
; N64: daddiu $at, $at, 0
|
||||
; N64: dsll $at, $at, 16
|
||||
; N64: daddiu $at, $at, 0
|
||||
; N64: bal
|
||||
; N64: highest
|
||||
; N64: higher
|
||||
; N64: dsll $at, $at, 16
|
||||
; N64: daddiu $at, $at, {{[0-9]+}}
|
||||
|
||||
%tobool = icmp eq i32 %s, 0
|
||||
br i1 %tobool, label %if.end, label %if.then
|
||||
|
||||
Reference in New Issue
Block a user