Remove uses of reg_mod from s390x (#5073)
Remove uses of reg_mod from the s390x backend. This required moving away from using r0/r1 as the result registers from a few different pseudo instructions, standardizing instead on r2/r3. That change was necessary as regalloc2 will not correctly allocate registers that aren't listed in the allocatable set, which r0/r1 are not. Co-authored-by: Ulrich Weigand <ulrich.weigand@de.ibm.com> Co-authored-by: Chris Fallin <chris@cfallin.org>
This commit is contained in:
@@ -18,9 +18,9 @@ block0(v0: i32):
|
||||
; bras %r1, 12 ; data userextname0@tlsgd ; lg %r2, 0(%r1)
|
||||
; brasl %r14, %ElfTlsGetOffset:tls_gdcall:userextname0
|
||||
; ear %r3, %a0
|
||||
; sllg %r4, %r3, 32
|
||||
; ear %r4, %a1
|
||||
; agr %r2, %r4
|
||||
; sllg %r5, %r3, 32
|
||||
; ear %r5, %a1
|
||||
; agr %r2, %r5
|
||||
; lmg %r12, %r15, 256(%r15)
|
||||
; br %r14
|
||||
|
||||
|
||||
Reference in New Issue
Block a user