From 5cab356399c5b7358de571a79aa2aaf060c8a5f4 Mon Sep 17 00:00:00 2001 From: Andrew Waterman Date: Tue, 9 Nov 2010 15:31:00 -0800 Subject: [opcodes, pk, sim, xcc] Tweaked FP encoding --- opcodes | 107 ++++++++++++++++++++++------------------------------------------ 1 file changed, 37 insertions(+), 70 deletions(-) (limited to 'opcodes') diff --git a/opcodes b/opcodes index 7afa374..801914f 100644 --- a/opcodes +++ b/opcodes @@ -122,70 +122,48 @@ mfpcr 31..25=0x6B 24..22=1 21..15=0 9..5=0 rd rs2 mtpcr 31..25=0x6B 24..22=1 21..15=1 4..0=0 rs1 rs2 eret 31..25=0x6B 24..22=2 21..15=0 14..0=0 -# 0x7F is reserved for 64-bit-long instructions +# 0x7C-0x7F are reserved for >32b instructions -add.s 31..25=0x6A 24..23=0 22..20=0 19..15=0 rd rs1 rs2 -sub.s 31..25=0x6A 24..23=0 22..20=0 19..15=1 rd rs1 rs2 -mul.s 31..25=0x6A 24..23=0 22..20=0 19..15=2 rd rs1 rs2 -div.s 31..25=0x6A 24..23=0 22..20=0 19..15=3 rd rs1 rs2 -sqrt.s 31..25=0x6A 24..23=0 22..20=0 19..15=4 14..10=0 rd rs1 +add.s 31..25=0x6A 24..23=0 19..15=0 rd rs1 rs2 rm +sub.s 31..25=0x6A 24..23=0 19..15=1 rd rs1 rs2 rm +mul.s 31..25=0x6A 24..23=0 19..15=2 rd rs1 rs2 rm +div.s 31..25=0x6A 24..23=0 19..15=3 rd rs1 rs2 rm +sqrt.s 31..25=0x6A 24..23=0 19..15=4 14..10=0 rd rs1 rm sgninj.s 31..25=0x6A 24..23=0 22..20=0 19..15=5 rd rs1 rs2 sgninjn.s 31..25=0x6A 24..23=0 22..20=0 19..15=6 rd rs1 rs2 sgnmul.s 31..25=0x6A 24..23=0 22..20=0 19..15=7 rd rs1 rs2 -add.d 31..25=0x6A 24..23=3 22..20=0 19..15=0x0 rd rs1 rs2 -sub.d 31..25=0x6A 24..23=3 22..20=0 19..15=0x1 rd rs1 rs2 -mul.d 31..25=0x6A 24..23=3 22..20=0 19..15=0x2 rd rs1 rs2 -div.d 31..25=0x6A 24..23=3 22..20=0 19..15=0x3 rd rs1 rs2 -sqrt.d 31..25=0x6A 24..23=3 22..20=0 19..15=0x4 14..10=0 rd rs1 +add.d 31..25=0x6A 24..23=3 19..15=0x0 rd rs1 rs2 rm +sub.d 31..25=0x6A 24..23=3 19..15=0x1 rd rs1 rs2 rm +mul.d 31..25=0x6A 24..23=3 19..15=0x2 rd rs1 rs2 rm +div.d 31..25=0x6A 24..23=3 19..15=0x3 rd rs1 rs2 rm +sqrt.d 31..25=0x6A 24..23=3 19..15=0x4 14..10=0 rd rs1 rm sgninj.d 31..25=0x6A 24..23=3 22..20=0 19..15=0x5 rd rs1 rs2 sgninjn.d 31..25=0x6A 24..23=3 22..20=0 19..15=0x6 rd rs1 rs2 sgnmul.d 31..25=0x6A 24..23=3 22..20=0 19..15=0x7 rd rs1 rs2 -add.s.rm 31..25=0x6A 24..23=0 22=1 19..15=0 rm rd rs1 rs2 -sub.s.rm 31..25=0x6A 24..23=0 22=1 19..15=1 rm rd rs1 rs2 -mul.s.rm 31..25=0x6A 24..23=0 22=1 19..15=2 rm rd rs1 rs2 -div.s.rm 31..25=0x6A 24..23=0 22=1 19..15=3 rm rd rs1 rs2 -sqrt.s.rm 31..25=0x6A 24..23=0 22=1 19..15=4 14..10=0 rm rd rs1 - -add.d.rm 31..25=0x6A 24..23=3 22=1 19..15=0x0 rm rd rs1 rs2 -sub.d.rm 31..25=0x6A 24..23=3 22=1 19..15=0x1 rm rd rs1 rs2 -mul.d.rm 31..25=0x6A 24..23=3 22=1 19..15=0x2 rm rd rs1 rs2 -div.d.rm 31..25=0x6A 24..23=3 22=1 19..15=0x3 rm rd rs1 rs2 -sqrt.d.rm 31..25=0x6A 24..23=3 22=1 19..15=0x4 14..10=0 rm rd rs1 - -cvt.l.s.rm 31..25=0x6A 24..23=0 22=1 19..15=0x8 14..10=0 rm rd rs1 -cvtu.l.s.rm 31..25=0x6A 24..23=0 22=1 19..15=0x9 14..10=0 rm rd rs1 -cvt.w.s.rm 31..25=0x6A 24..23=0 22=1 19..15=0xA 14..10=0 rm rd rs1 -cvtu.w.s.rm 31..25=0x6A 24..23=0 22=1 19..15=0xB 14..10=0 rm rd rs1 - -cvt.l.d.rm 31..25=0x6A 24..23=3 22=1 19..15=0x8 14..10=0 rm rd rs1 -cvtu.l.d.rm 31..25=0x6A 24..23=3 22=1 19..15=0x9 14..10=0 rm rd rs1 -cvt.w.d.rm 31..25=0x6A 24..23=3 22=1 19..15=0xA 14..10=0 rm rd rs1 -cvtu.w.d.rm 31..25=0x6A 24..23=3 22=1 19..15=0xB 14..10=0 rm rd rs1 - -cvt.s.l 31..25=0x6A 24..23=0 22..20=0 19..15=0xC 14..10=0 rd rs1 -cvtu.s.l 31..25=0x6A 24..23=0 22..20=0 19..15=0xD 14..10=0 rd rs1 -cvt.s.w 31..25=0x6A 24..23=0 22..20=0 19..15=0xE 14..10=0 rd rs1 -cvtu.s.w 31..25=0x6A 24..23=0 22..20=0 19..15=0xF 14..10=0 rd rs1 - -cvt.d.l 31..25=0x6A 24..23=3 22..20=0 19..15=0xC 14..10=0 rd rs1 -cvtu.d.l 31..25=0x6A 24..23=3 22..20=0 19..15=0xD 14..10=0 rd rs1 -cvt.d.w 31..25=0x6A 24..23=3 22..20=0 19..15=0xE 14..10=0 rd rs1 -cvtu.d.w 31..25=0x6A 24..23=3 22..20=0 19..15=0xF 14..10=0 rd rs1 +cvt.l.s 31..25=0x6A 24..23=0 19..15=0x8 14..10=0 rm rd rs1 +cvtu.l.s 31..25=0x6A 24..23=0 19..15=0x9 14..10=0 rm rd rs1 +cvt.w.s 31..25=0x6A 24..23=0 19..15=0xA 14..10=0 rm rd rs1 +cvtu.w.s 31..25=0x6A 24..23=0 19..15=0xB 14..10=0 rm rd rs1 -cvt.s.l.rm 31..25=0x6A 24..23=0 22=1 19..15=0xC 14..10=0 rm rd rs1 -cvtu.s.l.rm 31..25=0x6A 24..23=0 22=1 19..15=0xD 14..10=0 rm rd rs1 -cvt.s.w.rm 31..25=0x6A 24..23=0 22=1 19..15=0xE 14..10=0 rm rd rs1 -cvtu.s.w.rm 31..25=0x6A 24..23=0 22=1 19..15=0xF 14..10=0 rm rd rs1 +cvt.l.d 31..25=0x6A 24..23=3 19..15=0x8 14..10=0 rm rd rs1 +cvtu.l.d 31..25=0x6A 24..23=3 19..15=0x9 14..10=0 rm rd rs1 +cvt.w.d 31..25=0x6A 24..23=3 19..15=0xA 14..10=0 rm rd rs1 +cvtu.w.d 31..25=0x6A 24..23=3 19..15=0xB 14..10=0 rm rd rs1 -cvt.d.l.rm 31..25=0x6A 24..23=3 22=1 19..15=0xC 14..10=0 rm rd rs1 -cvtu.d.l.rm 31..25=0x6A 24..23=3 22=1 19..15=0xD 14..10=0 rm rd rs1 +cvt.s.l 31..25=0x6A 24..23=0 19..15=0xC 14..10=0 rd rs1 rm +cvtu.s.l 31..25=0x6A 24..23=0 19..15=0xD 14..10=0 rd rs1 rm +cvt.s.w 31..25=0x6A 24..23=0 19..15=0xE 14..10=0 rd rs1 rm +cvtu.s.w 31..25=0x6A 24..23=0 19..15=0xF 14..10=0 rd rs1 rm -cvt.s.d 31..25=0x6A 24..23=0 22..20=0 19..15=0x13 14..10=0 rd rs1 -cvt.d.s 31..25=0x6A 24..23=3 22..20=0 19..15=0x10 14..10=0 rd rs1 +cvt.d.l 31..25=0x6A 24..23=3 19..15=0xC 14..10=0 rd rs1 rm +cvtu.d.l 31..25=0x6A 24..23=3 19..15=0xD 14..10=0 rd rs1 rm +cvt.d.w 31..25=0x6A 24..23=3 22..20=0 19..15=0xE 14..10=0 rd rs1 +cvtu.d.w 31..25=0x6A 24..23=3 22..20=0 19..15=0xF 14..10=0 rd rs1 -cvt.s.d.rm 31..25=0x6A 24..23=0 22=1 19..15=0x13 14..10=0 rm rd rs1 +cvt.s.d 31..25=0x6A 24..23=0 19..15=0x13 14..10=0 rd rs1 rm +cvt.d.s 31..25=0x6A 24..23=3 22..20=0 19..15=0x10 14..10=0 rd rs1 c.eq.s 31..25=0x6A 24..23=0 22..20=0 19..15=0x15 rd rs1 rs2 c.lt.s 31..25=0x6A 24..23=0 22..20=0 19..15=0x16 rd rs1 rs2 @@ -209,23 +187,12 @@ l.d 31..25=0x68 24..22=3 rd rs1 imm12 s.s 31..25=0x69 24..22=2 rs2 rs1 imm12lo imm12hi s.d 31..25=0x69 24..22=3 rs2 rs1 imm12lo imm12hi -madd.s 31..25=0x6C 24..23=0 22..20=0 rd rs1 rs2 rs3 -msub.s 31..25=0x6D 24..23=0 22..20=0 rd rs1 rs2 rs3 -nmsub.s 31..25=0x6E 24..23=0 22..20=0 rd rs1 rs2 rs3 -nmadd.s 31..25=0x6F 24..23=0 22..20=0 rd rs1 rs2 rs3 - -madd.d 31..25=0x6C 24..23=3 22..20=0 rd rs1 rs2 rs3 -msub.d 31..25=0x6D 24..23=3 22..20=0 rd rs1 rs2 rs3 -nmsub.d 31..25=0x6E 24..23=3 22..20=0 rd rs1 rs2 rs3 -nmadd.d 31..25=0x6F 24..23=3 22..20=0 rd rs1 rs2 rs3 - -madd.s.rm 31..25=0x6C 24..23=0 22=1 rm rd rs1 rs2 rs3 -msub.s.rm 31..25=0x6D 24..23=0 22=1 rm rd rs1 rs2 rs3 -nmsub.s.rm 31..25=0x6E 24..23=0 22=1 rm rd rs1 rs2 rs3 -nmadd.s.rm 31..25=0x6F 24..23=0 22=1 rm rd rs1 rs2 rs3 - -madd.d.rm 31..25=0x6C 24..23=3 22=1 rm rd rs1 rs2 rs3 -msub.d.rm 31..25=0x6D 24..23=3 22=1 rm rd rs1 rs2 rs3 -nmsub.d.rm 31..25=0x6E 24..23=3 22=1 rm rd rs1 rs2 rs3 -nmadd.d.rm 31..25=0x6F 24..23=3 22=1 rm rd rs1 rs2 rs3 +madd.s 31..25=0x6C 24..23=0 rd rs1 rs2 rs3 rm +msub.s 31..25=0x6D 24..23=0 rd rs1 rs2 rs3 rm +nmsub.s 31..25=0x6E 24..23=0 rd rs1 rs2 rs3 rm +nmadd.s 31..25=0x6F 24..23=0 rd rs1 rs2 rs3 rm +madd.d 31..25=0x6C 24..23=3 rd rs1 rs2 rs3 rm +msub.d 31..25=0x6D 24..23=3 rd rs1 rs2 rs3 rm +nmsub.d 31..25=0x6E 24..23=3 rd rs1 rs2 rs3 rm +nmadd.d 31..25=0x6F 24..23=3 rd rs1 rs2 rs3 rm -- cgit v1.2.3