Index: gas/config/tc-mips.c =================================================================== RCS file: /cvs/src/src/gas/config/tc-mips.c,v retrieving revision 1.503 diff -u -p -r1.503 tc-mips.c --- gas/config/tc-mips.c 8 Jan 2012 12:33:53 -0000 1.503 +++ gas/config/tc-mips.c 22 Mar 2012 06:21:10 -0000 @@ -19115,6 +19115,11 @@ static const struct mips_cpu_info mips_c /* RMI Xlr */ { "xlr", 0, ISA_MIPS64, CPU_XLR }, + /* Broadcom XLP. + XLP is mostly like XLR, with the prominent exception it is being + MIPS64R2. */ + { "xlp", 0, ISA_MIPS64R2, CPU_XLR }, + /* End marker */ { NULL, 0, 0, 0 } }; Index: gas/doc/c-mips.texi =================================================================== RCS file: /cvs/src/src/gas/doc/c-mips.texi,v retrieving revision 1.64 diff -u -p -r1.64 c-mips.texi --- gas/doc/c-mips.texi 8 Dec 2011 20:47:26 -0000 1.64 +++ gas/doc/c-mips.texi 22 Mar 2012 06:21:10 -0000 @@ -325,7 +325,8 @@ loongson3a, octeon, octeon+, octeon2, -xlr +xlr, +xlp @end quotation For compatibility reasons, @samp{@var{n}x} and @samp{@var{b}fx} are Index: opcodes/mips-dis.c =================================================================== RCS file: /cvs/src/src/opcodes/mips-dis.c,v retrieving revision 1.89 diff -u -p -r1.89 mips-dis.c --- opcodes/mips-dis.c 8 Dec 2011 20:47:27 -0000 1.89 +++ opcodes/mips-dis.c 22 Mar 2012 06:21:10 -0000 @@ -619,6 +619,14 @@ const struct mips_arch_choice mips_arch_ mips_cp0sel_names_xlr, ARRAY_SIZE (mips_cp0sel_names_xlr), mips_hwr_names_numeric }, + /* XLP is mostly like XLR, with the prominent exception it is being + MIPS64R2. */ + { "xlp", 1, bfd_mach_mips_xlr, CPU_XLR, + ISA_MIPS64R2 | INSN_XLR, + mips_cp0_names_xlr, + mips_cp0sel_names_xlr, ARRAY_SIZE (mips_cp0sel_names_xlr), + mips_hwr_names_numeric }, + /* This entry, mips16, is here only for ISA/processor selection; do not print its name. */ { "", 1, bfd_mach_mips16, CPU_MIPS16, ISA_MIPS3,