@ -1263,6 +1263,72 @@ const struct mips_opcode mips_builtin_opcodes[] =
{ " yield " , " s " , 0x7c000009 , 0xfc1fffff , TRAP | RD_s , 0 , MT32 } ,
{ " yield " , " d,s " , 0x7c000009 , 0xfc1f07ff , TRAP | WR_d | RD_s , 0 , MT32 } ,
/* User Defined Instruction. */
{ " udi0 " , " s,t,d,+1 " , 0x70000010 , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi0 " , " s,t,+2 " , 0x70000010 , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi0 " , " s,+3 " , 0x70000010 , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi0 " , " +4 " , 0x70000010 , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi1 " , " s,t,d,+1 " , 0x70000011 , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi1 " , " s,t,+2 " , 0x70000011 , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi1 " , " s,+3 " , 0x70000011 , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi1 " , " +4 " , 0x70000011 , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi2 " , " s,t,d,+1 " , 0x70000012 , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi2 " , " s,t,+2 " , 0x70000012 , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi2 " , " s,+3 " , 0x70000012 , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi2 " , " +4 " , 0x70000012 , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi3 " , " s,t,d,+1 " , 0x70000013 , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi3 " , " s,t,+2 " , 0x70000013 , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi3 " , " s,+3 " , 0x70000013 , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi3 " , " +4 " , 0x70000013 , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi4 " , " s,t,d,+1 " , 0x70000014 , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi4 " , " s,t,+2 " , 0x70000014 , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi4 " , " s,+3 " , 0x70000014 , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi4 " , " +4 " , 0x70000014 , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi5 " , " s,t,d,+1 " , 0x70000015 , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi5 " , " s,t,+2 " , 0x70000015 , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi5 " , " s,+3 " , 0x70000015 , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi5 " , " +4 " , 0x70000015 , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi6 " , " s,t,d,+1 " , 0x70000016 , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi6 " , " s,t,+2 " , 0x70000016 , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi6 " , " s,+3 " , 0x70000016 , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi6 " , " +4 " , 0x70000016 , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi7 " , " s,t,d,+1 " , 0x70000017 , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi7 " , " s,t,+2 " , 0x70000017 , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi7 " , " s,+3 " , 0x70000017 , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi7 " , " +4 " , 0x70000017 , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi8 " , " s,t,d,+1 " , 0x70000018 , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi8 " , " s,t,+2 " , 0x70000018 , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi8 " , " s,+3 " , 0x70000018 , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi8 " , " +4 " , 0x70000018 , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi9 " , " s,t,d,+1 " , 0x70000019 , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi9 " , " s,t,+2 " , 0x70000019 , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi9 " , " s,+3 " , 0x70000019 , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi9 " , " +4 " , 0x70000019 , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi10 " , " s,t,d,+1 " , 0x7000001a , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi10 " , " s,t,+2 " , 0x7000001a , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi10 " , " s,+3 " , 0x7000001a , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi10 " , " +4 " , 0x7000001a , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi11 " , " s,t,d,+1 " , 0x7000001b , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi11 " , " s,t,+2 " , 0x7000001b , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi11 " , " s,+3 " , 0x7000001b , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi11 " , " +4 " , 0x7000001b , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi12 " , " s,t,d,+1 " , 0x7000001c , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi12 " , " s,t,+2 " , 0x7000001c , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi12 " , " s,+3 " , 0x7000001c , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi12 " , " +4 " , 0x7000001c , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi13 " , " s,t,d,+1 " , 0x7000001d , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi13 " , " s,t,+2 " , 0x7000001d , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi13 " , " s,+3 " , 0x7000001d , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi13 " , " +4 " , 0x7000001d , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi14 " , " s,t,d,+1 " , 0x7000001e , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi14 " , " s,t,+2 " , 0x7000001e , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi14 " , " s,+3 " , 0x7000001e , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi14 " , " +4 " , 0x7000001e , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi15 " , " s,t,d,+1 " , 0x7000001f , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi15 " , " s,t,+2 " , 0x7000001f , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi15 " , " s,+3 " , 0x7000001f , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
{ " udi15 " , " +4 " , 0x7000001f , 0xfc00003f , WR_d | RD_s | RD_t , 0 , I33 } ,
/* Coprocessor 2 move/branch operations overlap with VR5400 .ob format
instructions so they are here for the latters to take precedence . */
{ " bc2f " , " p " , 0x49000000 , 0xffff0000 , CBD | RD_CC , 0 , I1 } ,