mips-rdhwr.diff: backport D51773 to fix an assembly issue on mips. Thanks to jrtc27 for finding the issue

This commit is contained in:
Sylvestre Ledru 2018-11-03 19:42:21 +01:00
parent 755623734b
commit 9673e1502c
3 changed files with 54 additions and 2 deletions

4
debian/changelog vendored
View File

@ -3,7 +3,9 @@ llvm-toolchain-7 (1:7-7~exp3) experimental; urgency=medium
* Remove the dump of cmake error file (too confusing) * Remove the dump of cmake error file (too confusing)
* Try to fix the bootstrap FTBFS : * Try to fix the bootstrap FTBFS :
- on armel by forcing the link to -latomic - on armel by forcing the link to -latomic
- mips-rdhwr.diff: backport D51773 to fix an
assembly issue on mips.
Thanks to jrtc27 for finding the issue
-- Sylvestre Ledru <sylvestre@debian.org> Tue, 23 Oct 2018 08:21:03 +0200 -- Sylvestre Ledru <sylvestre@debian.org> Tue, 23 Oct 2018 08:21:03 +0200

50
debian/patches/mips-rdhwr.diff vendored Normal file
View File

@ -0,0 +1,50 @@
Index: llvm/trunk/lib/Target/Mips/Mips64InstrInfo.td
===================================================================
--- llvm/trunk/lib/Target/Mips/Mips64InstrInfo.td
+++ llvm/trunk/lib/Target/Mips/Mips64InstrInfo.td
@@ -1139,3 +1139,6 @@
"sltu\t$rs, $rt, $imm">, GPR_64;
def : MipsInstAlias<"sltu\t$rs, $imm", (SLTUImm64 GPR64Opnd:$rs, GPR64Opnd:$rs,
imm64:$imm)>, GPR_64;
+
+def : MipsInstAlias<"rdhwr $rt, $rs",
+ (RDHWR64 GPR64Opnd:$rt, HWRegsOpnd:$rs, 0), 1>, GPR_64;
Index: llvm/trunk/test/CodeGen/Mips/tls.ll
===================================================================
--- llvm/trunk/test/CodeGen/Mips/tls.ll
+++ llvm/trunk/test/CodeGen/Mips/tls.ll
@@ -48,14 +48,14 @@
; STATIC32-LABEL: f1:
; STATIC32: lui $[[R0:[0-9]+]], %tprel_hi(t1)
; STATIC32: addiu $[[R1:[0-9]+]], $[[R0]], %tprel_lo(t1)
-; STATIC32: rdhwr $3, $29
+; STATIC32: rdhwr $3, $29{{$}}
; STATIC32: addu $[[R2:[0-9]+]], $3, $[[R1]]
; STATIC32: lw $2, 0($[[R2]])
; STATIC64-LABEL: f1:
; STATIC64: lui $[[R0:[0-9]+]], %tprel_hi(t1)
; STATIC64: daddiu $[[R1:[0-9]+]], $[[R0]], %tprel_lo(t1)
-; STATIC64: rdhwr $3, $29, 0
+; STATIC64: rdhwr $3, $29{{$}}
; STATIC64: daddu $[[R2:[0-9]+]], $3, $[[R0]]
; STATIC64: lw $2, 0($[[R2]])
}
@@ -101,15 +101,15 @@
; STATIC32-LABEL: f2:
; STATIC32: lui $[[R0:[0-9]+]], %hi(__gnu_local_gp)
; STATIC32: addiu $[[GP:[0-9]+]], $[[R0]], %lo(__gnu_local_gp)
-; STATIC32: rdhwr $3, $29
+; STATIC32: rdhwr $3, $29{{$}}
; STATIC32: lw $[[R0:[0-9]+]], %gottprel(t2)($[[GP]])
; STATIC32: addu $[[R1:[0-9]+]], $3, $[[R0]]
; STATIC32: lw $2, 0($[[R1]])
; STATIC64-LABEL: f2:
; STATIC64: lui $[[R0:[0-9]+]], %hi(%neg(%gp_rel(f2)))
; STATIC64: daddiu $[[GP:[0-9]+]], $[[R0]], %lo(%neg(%gp_rel(f2)))
-; STATIC64: rdhwr $3, $29
+; STATIC64: rdhwr $3, $29{{$}}
; STATIC64: ld $[[R0:[0-9]+]], %gottprel(t2)($[[GP]])
; STATIC64: daddu $[[R1:[0-9]+]], $3, $[[R0]]
; STATIC64: lw $2, 0($[[R1]])

View File

@ -84,4 +84,4 @@ hurd-tools_llvm-shlib_CMakeLists.txt.diff
clangd-atomic-cmake.patch clangd-atomic-cmake.patch
rustc-aarch64-test-failure.diff rustc-aarch64-test-failure.diff
symbolizer-path.diff symbolizer-path.diff
mips-rdhwr.diff