summaryrefslogtreecommitdiff
path: root/opcodes
diff options
context:
space:
mode:
authorGravatar Andrew Waterman <waterman@s144.Millennium.Berkeley.EDU>2010-11-09 15:31:00 -0800
committerGravatar Andrew Waterman <waterman@s144.Millennium.Berkeley.EDU>2010-11-21 16:54:35 -0800
commit5cab356399c5b7358de571a79aa2aaf060c8a5f4 (patch)
tree844669422fd7d2d242dc4c80f99eeecf0658d1a8 /opcodes
parent0b707f09b7cc465505aebac30146932d10a45b6f (diff)
[opcodes, pk, sim, xcc] Tweaked FP encoding
Diffstat (limited to 'opcodes')
-rw-r--r--opcodes107
1 files changed, 37 insertions, 70 deletions
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