summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/binutils/binutils/0011-Add-support-for-Netlogic-XLP.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/binutils/binutils/0011-Add-support-for-Netlogic-XLP.patch')
-rw-r--r--meta/recipes-devtools/binutils/binutils/0011-Add-support-for-Netlogic-XLP.patch99
1 files changed, 34 insertions, 65 deletions
diff --git a/meta/recipes-devtools/binutils/binutils/0011-Add-support-for-Netlogic-XLP.patch b/meta/recipes-devtools/binutils/binutils/0011-Add-support-for-Netlogic-XLP.patch
index 20c5ed6308..b710752245 100644
--- a/meta/recipes-devtools/binutils/binutils/0011-Add-support-for-Netlogic-XLP.patch
+++ b/meta/recipes-devtools/binutils/binutils/0011-Add-support-for-Netlogic-XLP.patch
@@ -1,7 +1,7 @@
1From e4a0cd30c7e9334ed507c93014a8b2d1315ff937 Mon Sep 17 00:00:00 2001 1From 97e0fdbf8e85a7e690ac09d01a2ae93ba00cfb5d Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Sun, 14 Feb 2016 17:06:19 +0000 3Date: Sun, 14 Feb 2016 17:06:19 +0000
4Subject: [PATCH 11/15] Add support for Netlogic XLP 4Subject: [PATCH] Add support for Netlogic XLP
5 5
6Patch From: Nebu Philips <nphilips@netlogicmicro.com> 6Patch From: Nebu Philips <nphilips@netlogicmicro.com>
7 7
@@ -28,16 +28,14 @@ Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
28 gas/configure | 3 +++ 28 gas/configure | 3 +++
29 include/elf/mips.h | 1 + 29 include/elf/mips.h | 1 +
30 include/opcode/mips.h | 6 ++++++ 30 include/opcode/mips.h | 6 ++++++
31 ld/configure.tgt | 2 ++ 31 ld/configure.tgt | 3 +++
32 opcodes/mips-dis.c | 12 +++++------- 32 opcodes/mips-dis.c | 12 +++++-------
33 opcodes/mips-opc.c | 31 ++++++++++++++++++++----------- 33 opcodes/mips-opc.c | 31 ++++++++++++++++++++-----------
34 14 files changed, 61 insertions(+), 21 deletions(-) 34 14 files changed, 62 insertions(+), 21 deletions(-)
35 35
36diff --git a/bfd/aoutx.h b/bfd/aoutx.h
37index e5d8dcf390..2cc74a2d61 100644
38--- a/bfd/aoutx.h 36--- a/bfd/aoutx.h
39+++ b/bfd/aoutx.h 37+++ b/bfd/aoutx.h
40@@ -799,6 +799,7 @@ NAME (aout, machine_type) (enum bfd_architecture arch, 38@@ -799,6 +799,7 @@ NAME (aout, machine_type) (enum bfd_arch
41 case bfd_mach_mipsisa64r6: 39 case bfd_mach_mipsisa64r6:
42 case bfd_mach_mips_sb1: 40 case bfd_mach_mips_sb1:
43 case bfd_mach_mips_xlr: 41 case bfd_mach_mips_xlr:
@@ -45,8 +43,6 @@ index e5d8dcf390..2cc74a2d61 100644
45 /* FIXME: These should be MIPS3, MIPS4, MIPS16, MIPS32, etc. */ 43 /* FIXME: These should be MIPS3, MIPS4, MIPS16, MIPS32, etc. */
46 arch_flags = M_MIPS2; 44 arch_flags = M_MIPS2;
47 break; 45 break;
48diff --git a/bfd/archures.c b/bfd/archures.c
49index 647cf0d8d4..7e1d0c810f 100644
50--- a/bfd/archures.c 46--- a/bfd/archures.c
51+++ b/bfd/archures.c 47+++ b/bfd/archures.c
52@@ -185,6 +185,7 @@ DESCRIPTION 48@@ -185,6 +185,7 @@ DESCRIPTION
@@ -57,11 +53,9 @@ index 647cf0d8d4..7e1d0c810f 100644
57 .#define bfd_mach_mipsisa32 32 53 .#define bfd_mach_mipsisa32 32
58 .#define bfd_mach_mipsisa32r2 33 54 .#define bfd_mach_mipsisa32r2 33
59 .#define bfd_mach_mipsisa32r3 34 55 .#define bfd_mach_mipsisa32r3 34
60diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
61index e25da50aaf..e251d7e7aa 100644
62--- a/bfd/bfd-in2.h 56--- a/bfd/bfd-in2.h
63+++ b/bfd/bfd-in2.h 57+++ b/bfd/bfd-in2.h
64@@ -2084,6 +2084,7 @@ enum bfd_architecture 58@@ -2125,6 +2125,7 @@ enum bfd_architecture
65 #define bfd_mach_mips_octeon3 6503 59 #define bfd_mach_mips_octeon3 6503
66 #define bfd_mach_mips_xlr 887682 /* decimal 'XLR'. */ 60 #define bfd_mach_mips_xlr 887682 /* decimal 'XLR'. */
67 #define bfd_mach_mips_interaptiv_mr2 736550 /* decimal 'IA2'. */ 61 #define bfd_mach_mips_interaptiv_mr2 736550 /* decimal 'IA2'. */
@@ -69,11 +63,9 @@ index e25da50aaf..e251d7e7aa 100644
69 #define bfd_mach_mipsisa32 32 63 #define bfd_mach_mipsisa32 32
70 #define bfd_mach_mipsisa32r2 33 64 #define bfd_mach_mipsisa32r2 33
71 #define bfd_mach_mipsisa32r3 34 65 #define bfd_mach_mipsisa32r3 34
72diff --git a/bfd/config.bfd b/bfd/config.bfd
73index cc65547588..3614ff79d4 100644
74--- a/bfd/config.bfd 66--- a/bfd/config.bfd
75+++ b/bfd/config.bfd 67+++ b/bfd/config.bfd
76@@ -902,6 +902,11 @@ case "${targ}" in 68@@ -898,6 +898,11 @@ case "${targ}" in
77 targ_defvec=mips_elf32_le_vec 69 targ_defvec=mips_elf32_le_vec
78 targ_selvecs="mips_elf32_be_vec mips_elf64_be_vec mips_elf64_le_vec" 70 targ_selvecs="mips_elf32_be_vec mips_elf64_be_vec mips_elf64_le_vec"
79 ;; 71 ;;
@@ -85,8 +77,6 @@ index cc65547588..3614ff79d4 100644
85 mips*-*-elf* | mips*-*-rtems* | mips*-*-windiss | mips*-*-none) 77 mips*-*-elf* | mips*-*-rtems* | mips*-*-windiss | mips*-*-none)
86 targ_defvec=mips_elf32_be_vec 78 targ_defvec=mips_elf32_be_vec
87 targ_selvecs="mips_elf32_le_vec mips_elf64_be_vec mips_elf64_le_vec" 79 targ_selvecs="mips_elf32_le_vec mips_elf64_be_vec mips_elf64_le_vec"
88diff --git a/bfd/cpu-mips.c b/bfd/cpu-mips.c
89index b359491305..61a3e7aaca 100644
90--- a/bfd/cpu-mips.c 80--- a/bfd/cpu-mips.c
91+++ b/bfd/cpu-mips.c 81+++ b/bfd/cpu-mips.c
92@@ -107,7 +107,8 @@ enum 82@@ -107,7 +107,8 @@ enum
@@ -99,21 +89,19 @@ index b359491305..61a3e7aaca 100644
99 }; 89 };
100 90
101 #define NN(index) (&arch_info_struct[(index) + 1]) 91 #define NN(index) (&arch_info_struct[(index) + 1])
102@@ -162,7 +163,8 @@ static const bfd_arch_info_type arch_info_struct[] = 92@@ -162,7 +163,8 @@ static const bfd_arch_info_type arch_inf
103 N (64, 64, bfd_mach_mips_xlr, "mips:xlr", FALSE, NN(I_xlr)), 93 N (64, 64, bfd_mach_mips_xlr, "mips:xlr", FALSE, NN(I_xlr)),
104 N (32, 32, bfd_mach_mips_interaptiv_mr2, "mips:interaptiv-mr2", FALSE, 94 N (32, 32, bfd_mach_mips_interaptiv_mr2, "mips:interaptiv-mr2", FALSE,
105 NN(I_interaptiv_mr2)), 95 NN(I_interaptiv_mr2)),
106- N (64, 64, bfd_mach_mips_micromips,"mips:micromips",FALSE,0) 96- N (64, 64, bfd_mach_mips_micromips,"mips:micromips",FALSE,0)
107+ N (64, 64, bfd_mach_mips_micromips,"mips:micromips",FALSE,NN(I_micromips)), 97+ N (64, 64, bfd_mach_mips_micromips, "mips:micromips", FALSE, NN(I_micromips)),
108+ N (64, 64, bfd_mach_mips_xlp, "mips:xlp", FALSE, 0) 98+ N (64, 64, bfd_mach_mips_xlp, "mips:xlp", FALSE, NULL)
109 }; 99 };
110 100
111 /* The default architecture is mips:3000, but with a machine number of 101 /* The default architecture is mips:3000, but with a machine number of
112diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c
113index 5998bc43a8..0d5795222b 100644
114--- a/bfd/elfxx-mips.c 102--- a/bfd/elfxx-mips.c
115+++ b/bfd/elfxx-mips.c 103+++ b/bfd/elfxx-mips.c
116@@ -6919,6 +6919,9 @@ _bfd_elf_mips_mach (flagword flags) 104@@ -6999,6 +6999,9 @@ _bfd_elf_mips_mach (flagword flags)
117 case E_MIPS_MACH_IAMR2: 105 case E_MIPS_MACH_IAMR2:
118 return bfd_mach_mips_interaptiv_mr2; 106 return bfd_mach_mips_interaptiv_mr2;
119 107
@@ -123,7 +111,7 @@ index 5998bc43a8..0d5795222b 100644
123 default: 111 default:
124 switch (flags & EF_MIPS_ARCH) 112 switch (flags & EF_MIPS_ARCH)
125 { 113 {
126@@ -12199,6 +12202,10 @@ mips_set_isa_flags (bfd *abfd) 114@@ -12360,6 +12363,10 @@ mips_set_isa_flags (bfd *abfd)
127 val = E_MIPS_ARCH_64R2 | E_MIPS_MACH_OCTEON2; 115 val = E_MIPS_ARCH_64R2 | E_MIPS_MACH_OCTEON2;
128 break; 116 break;
129 117
@@ -134,7 +122,7 @@ index 5998bc43a8..0d5795222b 100644
134 case bfd_mach_mipsisa32: 122 case bfd_mach_mipsisa32:
135 val = E_MIPS_ARCH_32; 123 val = E_MIPS_ARCH_32;
136 break; 124 break;
137@@ -14214,6 +14221,7 @@ static const struct mips_mach_extension mips_mach_extensions[] = 125@@ -14394,6 +14401,7 @@ static const struct mips_mach_extension
138 { bfd_mach_mips_gs264e, bfd_mach_mips_gs464e }, 126 { bfd_mach_mips_gs264e, bfd_mach_mips_gs464e },
139 { bfd_mach_mips_gs464e, bfd_mach_mips_gs464 }, 127 { bfd_mach_mips_gs464e, bfd_mach_mips_gs464 },
140 { bfd_mach_mips_gs464, bfd_mach_mipsisa64r2 }, 128 { bfd_mach_mips_gs464, bfd_mach_mipsisa64r2 },
@@ -142,11 +130,9 @@ index 5998bc43a8..0d5795222b 100644
142 130
143 /* MIPS64 extensions. */ 131 /* MIPS64 extensions. */
144 { bfd_mach_mipsisa64r2, bfd_mach_mipsisa64 }, 132 { bfd_mach_mipsisa64r2, bfd_mach_mipsisa64 },
145diff --git a/binutils/readelf.c b/binutils/readelf.c
146index b13eb6a43b..9df3742682 100644
147--- a/binutils/readelf.c 133--- a/binutils/readelf.c
148+++ b/binutils/readelf.c 134+++ b/binutils/readelf.c
149@@ -3412,6 +3412,7 @@ get_machine_flags (Filedata * filedata, unsigned e_flags, unsigned e_machine) 135@@ -3446,6 +3446,7 @@ get_machine_flags (Filedata * filedata,
150 case E_MIPS_MACH_OCTEON3: strcat (buf, ", octeon3"); break; 136 case E_MIPS_MACH_OCTEON3: strcat (buf, ", octeon3"); break;
151 case E_MIPS_MACH_XLR: strcat (buf, ", xlr"); break; 137 case E_MIPS_MACH_XLR: strcat (buf, ", xlr"); break;
152 case E_MIPS_MACH_IAMR2: strcat (buf, ", interaptiv-mr2"); break; 138 case E_MIPS_MACH_IAMR2: strcat (buf, ", interaptiv-mr2"); break;
@@ -154,11 +140,9 @@ index b13eb6a43b..9df3742682 100644
154 case 0: 140 case 0:
155 /* We simply ignore the field in this case to avoid confusion: 141 /* We simply ignore the field in this case to avoid confusion:
156 MIPS ELF does not specify EF_MIPS_MACH, it is a GNU 142 MIPS ELF does not specify EF_MIPS_MACH, it is a GNU
157diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c
158index ae55904229..d6882712f5 100644
159--- a/gas/config/tc-mips.c 143--- a/gas/config/tc-mips.c
160+++ b/gas/config/tc-mips.c 144+++ b/gas/config/tc-mips.c
161@@ -554,6 +554,7 @@ static int mips_32bitmode = 0; 145@@ -568,6 +568,7 @@ static int mips_32bitmode = 0;
162 || mips_opts.arch == CPU_RM7000 \ 146 || mips_opts.arch == CPU_RM7000 \
163 || mips_opts.arch == CPU_VR5500 \ 147 || mips_opts.arch == CPU_VR5500 \
164 || mips_opts.micromips \ 148 || mips_opts.micromips \
@@ -166,7 +150,7 @@ index ae55904229..d6882712f5 100644
166 ) 150 )
167 151
168 /* Whether the processor uses hardware interlocks to protect reads 152 /* Whether the processor uses hardware interlocks to protect reads
169@@ -583,6 +584,7 @@ static int mips_32bitmode = 0; 153@@ -597,6 +598,7 @@ static int mips_32bitmode = 0;
170 && mips_opts.isa != ISA_MIPS3) \ 154 && mips_opts.isa != ISA_MIPS3) \
171 || mips_opts.arch == CPU_R4300 \ 155 || mips_opts.arch == CPU_R4300 \
172 || mips_opts.micromips \ 156 || mips_opts.micromips \
@@ -174,20 +158,18 @@ index ae55904229..d6882712f5 100644
174 ) 158 )
175 159
176 /* Whether the processor uses hardware interlocks to protect reads 160 /* Whether the processor uses hardware interlocks to protect reads
177@@ -19867,7 +19869,7 @@ static const struct mips_cpu_info mips_cpu_info_table[] = 161@@ -20138,7 +20140,7 @@ static const struct mips_cpu_info mips_c
178 /* Broadcom XLP. 162 /* Broadcom XLP.
179 XLP is mostly like XLR, with the prominent exception that it is 163 XLP is mostly like XLR, with the prominent exception that it is
180 MIPS64R2 rather than MIPS64. */ 164 MIPS64R2 rather than MIPS64. */
181- { "xlp", 0, 0, ISA_MIPS64R2, CPU_XLR }, 165- { "xlp", 0, 0, ISA_MIPS64R2, CPU_XLR },
182+ { "xlp", 0, 0, ISA_MIPS64R2, CPU_XLP }, 166+ { "xlp", 0, 0, ISA_MIPS64R2, CPU_XLP },
183 167
184 /* MIPS 64 Release 6 */ 168 /* MIPS 64 Release 6. */
185 { "i6400", 0, ASE_MSA, ISA_MIPS64R6, CPU_MIPS64R6}, 169 { "i6400", 0, ASE_VIRT | ASE_MSA, ISA_MIPS64R6, CPU_MIPS64R6},
186diff --git a/gas/configure b/gas/configure
187index a82fde7fa8..afc77c347a 100755
188--- a/gas/configure 170--- a/gas/configure
189+++ b/gas/configure 171+++ b/gas/configure
190@@ -13364,6 +13364,9 @@ _ACEOF 172@@ -13377,6 +13377,9 @@ _ACEOF
191 mipsisa64r6 | mipsisa64r6el) 173 mipsisa64r6 | mipsisa64r6el)
192 mips_cpu=mips64r6 174 mips_cpu=mips64r6
193 ;; 175 ;;
@@ -197,8 +179,6 @@ index a82fde7fa8..afc77c347a 100755
197 mipstx39 | mipstx39el) 179 mipstx39 | mipstx39el)
198 mips_cpu=r3900 180 mips_cpu=r3900
199 ;; 181 ;;
200diff --git a/include/elf/mips.h b/include/elf/mips.h
201index b76d450ae2..7cddb365ad 100644
202--- a/include/elf/mips.h 182--- a/include/elf/mips.h
203+++ b/include/elf/mips.h 183+++ b/include/elf/mips.h
204@@ -290,6 +290,7 @@ END_RELOC_NUMBERS (R_MIPS_maxext) 184@@ -290,6 +290,7 @@ END_RELOC_NUMBERS (R_MIPS_maxext)
@@ -209,11 +189,9 @@ index b76d450ae2..7cddb365ad 100644
209 #define E_MIPS_MACH_OCTEON2 0x008d0000 189 #define E_MIPS_MACH_OCTEON2 0x008d0000
210 #define E_MIPS_MACH_OCTEON3 0x008e0000 190 #define E_MIPS_MACH_OCTEON3 0x008e0000
211 #define E_MIPS_MACH_5400 0x00910000 191 #define E_MIPS_MACH_5400 0x00910000
212diff --git a/include/opcode/mips.h b/include/opcode/mips.h
213index abd52c8980..53b6752a1c 100644
214--- a/include/opcode/mips.h 192--- a/include/opcode/mips.h
215+++ b/include/opcode/mips.h 193+++ b/include/opcode/mips.h
216@@ -1260,6 +1260,8 @@ static const unsigned int mips_isa_table[] = { 194@@ -1260,6 +1260,8 @@ static const unsigned int mips_isa_table
217 #define INSN_XLR 0x00000020 195 #define INSN_XLR 0x00000020
218 /* Imagination interAptiv MR2. */ 196 /* Imagination interAptiv MR2. */
219 #define INSN_INTERAPTIV_MR2 0x04000000 197 #define INSN_INTERAPTIV_MR2 0x04000000
@@ -222,7 +200,7 @@ index abd52c8980..53b6752a1c 100644
222 200
223 /* DSP ASE */ 201 /* DSP ASE */
224 #define ASE_DSP 0x00000001 202 #define ASE_DSP 0x00000001
225@@ -1381,6 +1383,7 @@ static const unsigned int mips_isa_table[] = { 203@@ -1384,6 +1386,7 @@ static const unsigned int mips_isa_table
226 #define CPU_OCTEON3 6503 204 #define CPU_OCTEON3 6503
227 #define CPU_XLR 887682 /* decimal 'XLR' */ 205 #define CPU_XLR 887682 /* decimal 'XLR' */
228 #define CPU_INTERAPTIV_MR2 736550 /* decimal 'IA2' */ 206 #define CPU_INTERAPTIV_MR2 736550 /* decimal 'IA2' */
@@ -230,7 +208,7 @@ index abd52c8980..53b6752a1c 100644
230 208
231 /* Return true if the given CPU is included in INSN_* mask MASK. */ 209 /* Return true if the given CPU is included in INSN_* mask MASK. */
232 210
233@@ -1458,6 +1461,9 @@ cpu_is_member (int cpu, unsigned int mask) 211@@ -1461,6 +1464,9 @@ cpu_is_member (int cpu, unsigned int mas
234 return ((mask & INSN_ISA_MASK) == INSN_ISA32R6) 212 return ((mask & INSN_ISA_MASK) == INSN_ISA32R6)
235 || ((mask & INSN_ISA_MASK) == INSN_ISA64R6); 213 || ((mask & INSN_ISA_MASK) == INSN_ISA64R6);
236 214
@@ -240,11 +218,9 @@ index abd52c8980..53b6752a1c 100644
240 default: 218 default:
241 return FALSE; 219 return FALSE;
242 } 220 }
243diff --git a/ld/configure.tgt b/ld/configure.tgt
244index 917be6f8eb..347df6c3f6 100644
245--- a/ld/configure.tgt 221--- a/ld/configure.tgt
246+++ b/ld/configure.tgt 222+++ b/ld/configure.tgt
247@@ -454,6 +454,8 @@ mips*el-sde-elf* | mips*el-mti-elf* | mips*el-img-elf*) 223@@ -454,6 +454,8 @@ mips*el-sde-elf* | mips*el-mti-elf* | mi
248 mips*-sde-elf* | mips*-mti-elf* | mips*-img-elf*) 224 mips*-sde-elf* | mips*-mti-elf* | mips*-img-elf*)
249 targ_emul=elf32btsmip 225 targ_emul=elf32btsmip
250 targ_extra_emuls="elf32ltsmip elf32btsmipn32 elf64btsmip elf32ltsmipn32 elf64ltsmip" ;; 226 targ_extra_emuls="elf32ltsmip elf32btsmipn32 elf64btsmip elf32ltsmipn32 elf64ltsmip" ;;
@@ -253,11 +229,9 @@ index 917be6f8eb..347df6c3f6 100644
253 mips64*el-ps2-elf*) targ_emul=elf32lr5900n32 229 mips64*el-ps2-elf*) targ_emul=elf32lr5900n32
254 targ_extra_emuls="elf32lr5900" 230 targ_extra_emuls="elf32lr5900"
255 targ_extra_libpath=$targ_extra_emuls ;; 231 targ_extra_libpath=$targ_extra_emuls ;;
256diff --git a/opcodes/mips-dis.c b/opcodes/mips-dis.c
257index 0dd85e3779..1ea708dde7 100644
258--- a/opcodes/mips-dis.c 232--- a/opcodes/mips-dis.c
259+++ b/opcodes/mips-dis.c 233+++ b/opcodes/mips-dis.c
260@@ -673,13 +673,11 @@ const struct mips_arch_choice mips_arch_choices[] = 234@@ -673,13 +673,11 @@ const struct mips_arch_choice mips_arch_
261 mips_cp0sel_names_xlr, ARRAY_SIZE (mips_cp0sel_names_xlr), 235 mips_cp0sel_names_xlr, ARRAY_SIZE (mips_cp0sel_names_xlr),
262 mips_cp1_names_mips3264, mips_hwr_names_numeric }, 236 mips_cp1_names_mips3264, mips_hwr_names_numeric },
263 237
@@ -276,8 +250,6 @@ index 0dd85e3779..1ea708dde7 100644
276 250
277 /* This entry, mips16, is here only for ISA/processor selection; do 251 /* This entry, mips16, is here only for ISA/processor selection; do
278 not print its name. */ 252 not print its name. */
279diff --git a/opcodes/mips-opc.c b/opcodes/mips-opc.c
280index 837da6bd99..d3ea5b8877 100644
281--- a/opcodes/mips-opc.c 253--- a/opcodes/mips-opc.c
282+++ b/opcodes/mips-opc.c 254+++ b/opcodes/mips-opc.c
283@@ -328,6 +328,7 @@ decode_mips_operand (const char *p) 255@@ -328,6 +328,7 @@ decode_mips_operand (const char *p)
@@ -288,7 +260,7 @@ index 837da6bd99..d3ea5b8877 100644
288 #define IVIRT ASE_VIRT 260 #define IVIRT ASE_VIRT
289 #define IVIRT64 ASE_VIRT64 261 #define IVIRT64 ASE_VIRT64
290 262
291@@ -989,6 +990,7 @@ const struct mips_opcode mips_builtin_opcodes[] = 263@@ -990,6 +991,7 @@ const struct mips_opcode mips_builtin_op
292 {"clo", "U,s", 0x70000021, 0xfc0007ff, WR_1|RD_2, 0, I32|N55, 0, I37 }, 264 {"clo", "U,s", 0x70000021, 0xfc0007ff, WR_1|RD_2, 0, I32|N55, 0, I37 },
293 {"clz", "d,s", 0x00000050, 0xfc1f07ff, WR_1|RD_2, 0, I37, 0, 0 }, 265 {"clz", "d,s", 0x00000050, 0xfc1f07ff, WR_1|RD_2, 0, I37, 0, 0 },
294 {"clz", "U,s", 0x70000020, 0xfc0007ff, WR_1|RD_2, 0, I32|N55, 0, I37 }, 266 {"clz", "U,s", 0x70000020, 0xfc0007ff, WR_1|RD_2, 0, I32|N55, 0, I37 },
@@ -296,7 +268,7 @@ index 837da6bd99..d3ea5b8877 100644
296 /* ctc0 is at the bottom of the table. */ 268 /* ctc0 is at the bottom of the table. */
297 {"ctc1", "t,G", 0x44c00000, 0xffe007ff, RD_1|WR_CC|CM, 0, I1, 0, 0 }, 269 {"ctc1", "t,G", 0x44c00000, 0xffe007ff, RD_1|WR_CC|CM, 0, I1, 0, 0 },
298 {"ctc1", "t,S", 0x44c00000, 0xffe007ff, RD_1|WR_CC|CM, 0, I1, 0, 0 }, 270 {"ctc1", "t,S", 0x44c00000, 0xffe007ff, RD_1|WR_CC|CM, 0, I1, 0, 0 },
299@@ -1021,12 +1023,13 @@ const struct mips_opcode mips_builtin_opcodes[] = 271@@ -1022,12 +1024,13 @@ const struct mips_opcode mips_builtin_op
300 {"daddiu", "t,r,j", 0x64000000, 0xfc000000, WR_1|RD_2, 0, I3, 0, 0 }, 272 {"daddiu", "t,r,j", 0x64000000, 0xfc000000, WR_1|RD_2, 0, I3, 0, 0 },
301 {"daddu", "d,v,t", 0x0000002d, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I3, 0, 0 }, 273 {"daddu", "d,v,t", 0x0000002d, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I3, 0, 0 },
302 {"daddu", "t,r,I", 0, (int) M_DADDU_I, INSN_MACRO, 0, I3, 0, 0 }, 274 {"daddu", "t,r,I", 0, (int) M_DADDU_I, INSN_MACRO, 0, I3, 0, 0 },
@@ -311,7 +283,7 @@ index 837da6bd99..d3ea5b8877 100644
311 /* dctr and dctw are used on the r5000. */ 283 /* dctr and dctw are used on the r5000. */
312 {"dctr", "o(b)", 0xbc050000, 0xfc1f0000, RD_2, 0, I3, 0, 0 }, 284 {"dctr", "o(b)", 0xbc050000, 0xfc1f0000, RD_2, 0, I3, 0, 0 },
313 {"dctw", "o(b)", 0xbc090000, 0xfc1f0000, RD_2, 0, I3, 0, 0 }, 285 {"dctw", "o(b)", 0xbc090000, 0xfc1f0000, RD_2, 0, I3, 0, 0 },
314@@ -1098,6 +1101,7 @@ const struct mips_opcode mips_builtin_opcodes[] = 286@@ -1099,6 +1102,7 @@ const struct mips_opcode mips_builtin_op
315 {"dmfc0", "t,G,H", 0x40200000, 0xffe007f8, WR_1|RD_C0|LC, 0, I64, 0, 0 }, 287 {"dmfc0", "t,G,H", 0x40200000, 0xffe007f8, WR_1|RD_C0|LC, 0, I64, 0, 0 },
316 {"dmfgc0", "t,G", 0x40600100, 0xffe007ff, WR_1|RD_C0|LC, 0, 0, IVIRT64, 0 }, 288 {"dmfgc0", "t,G", 0x40600100, 0xffe007ff, WR_1|RD_C0|LC, 0, 0, IVIRT64, 0 },
317 {"dmfgc0", "t,G,H", 0x40600100, 0xffe007f8, WR_1|RD_C0|LC, 0, 0, IVIRT64, 0 }, 289 {"dmfgc0", "t,G,H", 0x40600100, 0xffe007f8, WR_1|RD_C0|LC, 0, 0, IVIRT64, 0 },
@@ -319,7 +291,7 @@ index 837da6bd99..d3ea5b8877 100644
319 {"dmt", "", 0x41600bc1, 0xffffffff, TRAP, 0, 0, MT32, 0 }, 291 {"dmt", "", 0x41600bc1, 0xffffffff, TRAP, 0, 0, MT32, 0 },
320 {"dmt", "t", 0x41600bc1, 0xffe0ffff, WR_1|TRAP, 0, 0, MT32, 0 }, 292 {"dmt", "t", 0x41600bc1, 0xffe0ffff, WR_1|TRAP, 0, 0, MT32, 0 },
321 {"dmtc0", "t,G", 0x40a00000, 0xffe007ff, RD_1|WR_C0|WR_CC|CM, 0, I3, 0, EE }, 293 {"dmtc0", "t,G", 0x40a00000, 0xffe007ff, RD_1|WR_C0|WR_CC|CM, 0, I3, 0, EE },
322@@ -1113,6 +1117,8 @@ const struct mips_opcode mips_builtin_opcodes[] = 294@@ -1114,6 +1118,8 @@ const struct mips_opcode mips_builtin_op
323 /* dmfc3 is at the bottom of the table. */ 295 /* dmfc3 is at the bottom of the table. */
324 /* dmtc3 is at the bottom of the table. */ 296 /* dmtc3 is at the bottom of the table. */
325 {"dmuh", "d,s,t", 0x000000dc, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I69, 0, 0 }, 297 {"dmuh", "d,s,t", 0x000000dc, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I69, 0, 0 },
@@ -328,7 +300,7 @@ index 837da6bd99..d3ea5b8877 100644
328 {"dmul", "d,s,t", 0x0000009c, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I69, 0, 0 }, 300 {"dmul", "d,s,t", 0x0000009c, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I69, 0, 0 },
329 {"dmul", "d,v,t", 0x70000003, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0, IOCT, 0, 0 }, 301 {"dmul", "d,v,t", 0x70000003, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0, IOCT, 0, 0 },
330 {"dmul", "d,v,t", 0, (int) M_DMUL, INSN_MACRO, 0, I3, 0, M32|I69 }, 302 {"dmul", "d,v,t", 0, (int) M_DMUL, INSN_MACRO, 0, I3, 0, M32|I69 },
331@@ -1266,9 +1272,9 @@ const struct mips_opcode mips_builtin_opcodes[] = 303@@ -1267,9 +1273,9 @@ const struct mips_opcode mips_builtin_op
332 {"ld", "s,-b(+R)", 0xec180000, 0xfc1c0000, WR_1, RD_pc, I69, 0, 0 }, 304 {"ld", "s,-b(+R)", 0xec180000, 0xfc1c0000, WR_1, RD_pc, I69, 0, 0 },
333 {"ld", "t,A(b)", 0, (int) M_LD_AB, INSN_MACRO, 0, I1, 0, 0 }, 305 {"ld", "t,A(b)", 0, (int) M_LD_AB, INSN_MACRO, 0, I1, 0, 0 },
334 {"ld", "t,o(b)", 0xdc000000, 0xfc000000, WR_1|RD_3|LM, 0, I3, 0, 0 }, 306 {"ld", "t,o(b)", 0xdc000000, 0xfc000000, WR_1|RD_3|LM, 0, I3, 0, 0 },
@@ -341,7 +313,7 @@ index 837da6bd99..d3ea5b8877 100644
341 {"ldc1", "T,o(b)", 0xd4000000, 0xfc000000, WR_1|RD_3|CLD|FP_D, 0, I2, 0, SF }, 313 {"ldc1", "T,o(b)", 0xd4000000, 0xfc000000, WR_1|RD_3|CLD|FP_D, 0, I2, 0, SF },
342 {"ldc1", "E,o(b)", 0xd4000000, 0xfc000000, WR_1|RD_3|CLD|FP_D, 0, I2, 0, SF }, 314 {"ldc1", "E,o(b)", 0xd4000000, 0xfc000000, WR_1|RD_3|CLD|FP_D, 0, I2, 0, SF },
343 {"ldc1", "T,A(b)", 0, (int) M_LDC1_AB, INSN_MACRO, INSN2_M_FP_D, I2, 0, SF }, 315 {"ldc1", "T,A(b)", 0, (int) M_LDC1_AB, INSN_MACRO, INSN2_M_FP_D, I2, 0, SF },
344@@ -1433,7 +1439,7 @@ const struct mips_opcode mips_builtin_opcodes[] = 316@@ -1438,7 +1444,7 @@ const struct mips_opcode mips_builtin_op
345 {"mflo", "d,9", 0x00000012, 0xff9f07ff, WR_1|RD_LO, 0, 0, D32, 0 }, 317 {"mflo", "d,9", 0x00000012, 0xff9f07ff, WR_1|RD_LO, 0, 0, D32, 0 },
346 {"mflo1", "d", 0x70000012, 0xffff07ff, WR_1|RD_LO, 0, EE, 0, 0 }, 318 {"mflo1", "d", 0x70000012, 0xffff07ff, WR_1|RD_LO, 0, EE, 0, 0 },
347 {"mflhxu", "d", 0x00000052, 0xffff07ff, WR_1|MOD_HILO, 0, 0, SMT, 0 }, 319 {"mflhxu", "d", 0x00000052, 0xffff07ff, WR_1|MOD_HILO, 0, 0, SMT, 0 },
@@ -350,7 +322,7 @@ index 837da6bd99..d3ea5b8877 100644
350 {"mfsa", "d", 0x00000028, 0xffff07ff, WR_1, 0, EE, 0, 0 }, 322 {"mfsa", "d", 0x00000028, 0xffff07ff, WR_1, 0, EE, 0, 0 },
351 {"min.ob", "X,Y,Q", 0x78000006, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, SB1, MX, 0 }, 323 {"min.ob", "X,Y,Q", 0x78000006, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, SB1, MX, 0 },
352 {"min.ob", "D,S,Q", 0x48000006, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, N54, 0, 0 }, 324 {"min.ob", "D,S,Q", 0x48000006, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, N54, 0, 0 },
353@@ -1478,10 +1484,13 @@ const struct mips_opcode mips_builtin_opcodes[] = 325@@ -1483,10 +1489,13 @@ const struct mips_opcode mips_builtin_op
354 /* move is at the top of the table. */ 326 /* move is at the top of the table. */
355 {"msgn.qh", "X,Y,Q", 0x78200000, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, 0, MX, 0 }, 327 {"msgn.qh", "X,Y,Q", 0x78200000, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, 0, MX, 0 },
356 {"msgsnd", "t", 0, (int) M_MSGSND, INSN_MACRO, 0, XLR, 0, 0 }, 328 {"msgsnd", "t", 0, (int) M_MSGSND, INSN_MACRO, 0, XLR, 0, 0 },
@@ -366,7 +338,7 @@ index 837da6bd99..d3ea5b8877 100644
366 {"msub.d", "D,R,S,T", 0x4c000029, 0xfc00003f, WR_1|RD_2|RD_3|RD_4|FP_D, 0, I4_33, 0, I37 }, 338 {"msub.d", "D,R,S,T", 0x4c000029, 0xfc00003f, WR_1|RD_2|RD_3|RD_4|FP_D, 0, I4_33, 0, I37 },
367 {"msub.d", "D,S,T", 0x46200019, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 339 {"msub.d", "D,S,T", 0x46200019, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 },
368 {"msub.d", "D,S,T", 0x72200019, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2F, 0, 0 }, 340 {"msub.d", "D,S,T", 0x72200019, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2F, 0, 0 },
369@@ -1531,7 +1540,7 @@ const struct mips_opcode mips_builtin_opcodes[] = 341@@ -1536,7 +1545,7 @@ const struct mips_opcode mips_builtin_op
370 {"mtlo", "s,7", 0x00000013, 0xfc1fe7ff, RD_1|WR_LO, 0, 0, D32, 0 }, 342 {"mtlo", "s,7", 0x00000013, 0xfc1fe7ff, RD_1|WR_LO, 0, 0, D32, 0 },
371 {"mtlo1", "s", 0x70000013, 0xfc1fffff, RD_1|WR_LO, 0, EE, 0, 0 }, 343 {"mtlo1", "s", 0x70000013, 0xfc1fffff, RD_1|WR_LO, 0, EE, 0, 0 },
372 {"mtlhx", "s", 0x00000053, 0xfc1fffff, RD_1|MOD_HILO, 0, 0, SMT, 0 }, 344 {"mtlhx", "s", 0x00000053, 0xfc1fffff, RD_1|MOD_HILO, 0, 0, SMT, 0 },
@@ -375,7 +347,7 @@ index 837da6bd99..d3ea5b8877 100644
375 {"mtm0", "s", 0x70000008, 0xfc1fffff, RD_1, 0, IOCT, 0, 0 }, 347 {"mtm0", "s", 0x70000008, 0xfc1fffff, RD_1, 0, IOCT, 0, 0 },
376 {"mtm0", "s,t", 0x70000008, 0xfc00ffff, RD_1|RD_2, 0, IOCT3, 0, 0 }, 348 {"mtm0", "s,t", 0x70000008, 0xfc00ffff, RD_1|RD_2, 0, IOCT3, 0, 0 },
377 {"mtm1", "s", 0x7000000c, 0xfc1fffff, RD_1, 0, IOCT, 0, 0 }, 349 {"mtm1", "s", 0x7000000c, 0xfc1fffff, RD_1, 0, IOCT, 0, 0 },
378@@ -1968,9 +1977,9 @@ const struct mips_opcode mips_builtin_opcodes[] = 350@@ -1978,9 +1987,9 @@ const struct mips_opcode mips_builtin_op
379 {"suxc1", "S,t(b)", 0x4c00000d, 0xfc0007ff, RD_1|RD_2|RD_3|SM|FP_D, 0, I5_33|N55, 0, I37}, 351 {"suxc1", "S,t(b)", 0x4c00000d, 0xfc0007ff, RD_1|RD_2|RD_3|SM|FP_D, 0, I5_33|N55, 0, I37},
380 {"sw", "t,o(b)", 0xac000000, 0xfc000000, RD_1|RD_3|SM, 0, I1, 0, 0 }, 352 {"sw", "t,o(b)", 0xac000000, 0xfc000000, RD_1|RD_3|SM, 0, I1, 0, 0 },
381 {"sw", "t,A(b)", 0, (int) M_SW_AB, INSN_MACRO, 0, I1, 0, 0 }, 353 {"sw", "t,A(b)", 0, (int) M_SW_AB, INSN_MACRO, 0, I1, 0, 0 },
@@ -388,6 +360,3 @@ index 837da6bd99..d3ea5b8877 100644
388 {"swc0", "E,o(b)", 0xe0000000, 0xfc000000, RD_3|RD_C0|SM, 0, I1, 0, IOCT|IOCTP|IOCT2|I37 }, 360 {"swc0", "E,o(b)", 0xe0000000, 0xfc000000, RD_3|RD_C0|SM, 0, I1, 0, IOCT|IOCTP|IOCT2|I37 },
389 {"swc0", "E,A(b)", 0, (int) M_SWC0_AB, INSN_MACRO, 0, I1, 0, IOCT|IOCTP|IOCT2|I37 }, 361 {"swc0", "E,A(b)", 0, (int) M_SWC0_AB, INSN_MACRO, 0, I1, 0, IOCT|IOCTP|IOCT2|I37 },
390 {"swc1", "T,o(b)", 0xe4000000, 0xfc000000, RD_1|RD_3|SM|FP_S, 0, I1, 0, 0 }, 362 {"swc1", "T,o(b)", 0xe4000000, 0xfc000000, RD_1|RD_3|SM|FP_S, 0, I1, 0, 0 },
391--
3922.20.1
393