| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 | diff -Nur gcc-9.2.0.orig/gcc/config/or1k/constraints.md gcc-9.2.0/gcc/config/or1k/constraints.md--- gcc-9.2.0.orig/gcc/config/or1k/constraints.md	2019-01-01 13:31:55.000000000 +0100+++ gcc-9.2.0/gcc/config/or1k/constraints.md	2019-10-07 10:59:48.995389485 +0200@@ -32,6 +32,9 @@ (define_register_constraint "c" "SIBCALL_REGS"   "Registers which can hold a sibling call address") +(define_register_constraint "t" "GOT_REGS"+  "Registers which can be used to store the Global Offset Table (GOT) address.")+ ;; Immediates (define_constraint "I"   "A signed 16-bit immediate in the range -32768 to 32767."diff -Nur gcc-9.2.0.orig/gcc/config/or1k/or1k.h gcc-9.2.0/gcc/config/or1k/or1k.h--- gcc-9.2.0.orig/gcc/config/or1k/or1k.h	2019-01-01 13:31:55.000000000 +0100+++ gcc-9.2.0/gcc/config/or1k/or1k.h	2019-10-07 12:14:41.334692831 +0200@@ -189,6 +189,7 @@ {   NO_REGS,   SIBCALL_REGS,+  GOT_REGS,   GENERAL_REGS,   FLAG_REGS,   ALL_REGS,@@ -200,6 +201,7 @@ #define REG_CLASS_NAMES {	\   "NO_REGS", 			\   "SIBCALL_REGS",		\+  "GOT_REGS",			\   "GENERAL_REGS",		\   "FLAG_REGS",			\   "ALL_REGS" }@@ -212,6 +214,7 @@ #define REG_CLASS_CONTENTS      \ { { 0x00000000, 0x00000000 },	\   { SIBCALL_REGS_MASK,   0 },	\+  { 0xfffffdff, 0x00000000 },	\   { 0xffffffff, 0x00000003 },	\   { 0x00000000, 0x00000004 },	\   { 0xffffffff, 0x00000007 }	\diff -Nur gcc-9.2.0.orig/gcc/config/or1k/or1k.md gcc-9.2.0/gcc/config/or1k/or1k.md--- gcc-9.2.0.orig/gcc/config/or1k/or1k.md	2019-01-01 13:31:55.000000000 +0100+++ gcc-9.2.0/gcc/config/or1k/or1k.md	2019-10-07 10:59:48.999389485 +0200@@ -595,7 +595,7 @@ ;; set_got pattern below.  This works because the set_got_tmp insn is the ;; first insn in the stream and that it isn't moved during RA. (define_insn "set_got_tmp"-  [(set (match_operand:SI 0 "register_operand" "=r")+  [(set (match_operand:SI 0 "register_operand" "=t") 	(unspec_volatile:SI [(const_int 0)] UNSPECV_SET_GOT))]   "" {@@ -604,7 +604,7 @@  ;; The insn to initialize the GOT. (define_insn "set_got"-  [(set (match_operand:SI 0 "register_operand" "=r")+  [(set (match_operand:SI 0 "register_operand" "=t") 	(unspec:SI [(const_int 0)] UNSPEC_SET_GOT))    (clobber (reg:SI LR_REGNUM))]   ""
 |