summaryrefslogtreecommitdiff
path: root/opcodes
diff options
context:
space:
mode:
authorGravatar Andrew Waterman <waterman@s141.Millennium.Berkeley.EDU>2010-09-28 17:17:04 -0700
committerGravatar Andrew Waterman <waterman@s141.Millennium.Berkeley.EDU>2010-09-28 17:17:04 -0700
commitf07ca41d40688ec2b054997278d1dd15bc1e87c3 (patch)
tree2d06251a901241902cfd65c36bddb6fa63ba5d3a /opcodes
parentbb5f421fcd395ed348044b2697bcbb5efc22dad3 (diff)
[opcodes, sim, xcc] added mffl.d instruction
...to be used instead of mff.s when doing int -> DP FP moves on a 32-bit cpu
Diffstat (limited to 'opcodes')
-rw-r--r--opcodes130
1 files changed, 66 insertions, 64 deletions
diff --git a/opcodes b/opcodes
index 8305117..555e73c 100644
--- a/opcodes
+++ b/opcodes
@@ -121,74 +121,76 @@ mtpcr 31..25=0x7E 14..12=5 11..0=0 rs1 rs2
# 0x7F is reserved for 64-bit-long instructions
-add.s 31..25=0x68 14..13=0 12..10=0 9..5=0 rdr rs1 rs2
-sub.s 31..25=0x68 14..13=0 12..10=0 9..5=1 rdr rs1 rs2
-mul.s 31..25=0x68 14..13=0 12..10=0 9..5=2 rdr rs1 rs2
-div.s 31..25=0x68 14..13=0 12..10=0 9..5=3 rdr rs1 rs2
-sqrt.s 31..25=0x68 14..13=0 12..10=0 9..5=4 24..20=0 rdr rs1
-sgninj.s 31..25=0x68 14..13=0 12..10=0 9..5=5 rdr rs1 rs2
-sgninjn.s 31..25=0x68 14..13=0 12..10=0 9..5=6 rdr rs1 rs2
-sgnmul.s 31..25=0x68 14..13=0 12..10=0 9..5=7 rdr rs1 rs2
-
-add.d 31..25=0x68 14..13=3 12..10=0 9..5=0 rdr rs1 rs2
-sub.d 31..25=0x68 14..13=3 12..10=0 9..5=1 rdr rs1 rs2
-mul.d 31..25=0x68 14..13=3 12..10=0 9..5=2 rdr rs1 rs2
-div.d 31..25=0x68 14..13=3 12..10=0 9..5=3 rdr rs1 rs2
-sqrt.d 31..25=0x68 14..13=3 12..10=0 9..5=4 24..20=0 rdr rs1
-sgninj.d 31..25=0x68 14..13=3 12..10=0 9..5=5 rdr rs1 rs2
-sgninjn.d 31..25=0x68 14..13=3 12..10=0 9..5=6 rdr rs1 rs2
-sgnmul.d 31..25=0x68 14..13=3 12..10=0 9..5=7 rdr rs1 rs2
-
-trunc.l.s 31..25=0x68 14..13=0 12..10=1 9..5=0 24..20=0 rdr rs1
-truncu.l.s 31..25=0x68 14..13=0 12..10=1 9..5=1 24..20=0 rdr rs1
-trunc.w.s 31..25=0x68 14..13=0 12..10=1 9..5=2 24..20=0 rdr rs1
-truncu.w.s 31..25=0x68 14..13=0 12..10=1 9..5=3 24..20=0 rdr rs1
-
-trunc.l.d 31..25=0x68 14..13=3 12..10=1 9..5=0 24..20=0 rdr rs1
-truncu.l.d 31..25=0x68 14..13=3 12..10=1 9..5=1 24..20=0 rdr rs1
-trunc.w.d 31..25=0x68 14..13=3 12..10=1 9..5=2 24..20=0 rdr rs1
-truncu.w.d 31..25=0x68 14..13=3 12..10=1 9..5=3 24..20=0 rdr rs1
-
-cvt.s.l 31..25=0x68 14..13=0 12..10=1 9..5=4 24..20=0 rdr rs1
-cvtu.s.l 31..25=0x68 14..13=0 12..10=1 9..5=5 24..20=0 rdr rs1
-cvt.s.w 31..25=0x68 14..13=0 12..10=1 9..5=6 24..20=0 rdr rs1
-cvtu.s.w 31..25=0x68 14..13=0 12..10=1 9..5=7 24..20=0 rdr rs1
-
-cvt.d.l 31..25=0x68 14..13=3 12..10=1 9..5=4 24..20=0 rdr rs1
-cvtu.d.l 31..25=0x68 14..13=3 12..10=1 9..5=5 24..20=0 rdr rs1
-cvt.d.w 31..25=0x68 14..13=3 12..10=1 9..5=6 24..20=0 rdr rs1
-cvtu.d.w 31..25=0x68 14..13=3 12..10=1 9..5=7 24..20=0 rdr rs1
-
-cvt.s.d 31..25=0x68 14..13=0 12..10=1 9..5=0x13 24..20=0 rdr rs1
-cvt.d.s 31..25=0x68 14..13=3 12..10=1 9..5=0x10 24..20=0 rdr rs1
-
-c.eq.s 31..25=0x68 14..13=0 12..10=2 9..5=1 rdr rs1 rs2
-c.lt.s 31..25=0x68 14..13=0 12..10=2 9..5=2 rdr rs1 rs2
-c.le.s 31..25=0x68 14..13=0 12..10=2 9..5=3 rdr rs1 rs2
-
-c.eq.d 31..25=0x68 14..13=3 12..10=2 9..5=1 rdr rs1 rs2
-c.lt.d 31..25=0x68 14..13=3 12..10=2 9..5=2 rdr rs1 rs2
-c.le.d 31..25=0x68 14..13=3 12..10=2 9..5=3 rdr rs1 rs2
-
-l.s 31..25=0x69 14..13=0 12=0 rdi rs1 imm12
-l.d 31..25=0x69 14..13=3 12=0 rdi rs1 imm12
-s.s 31..25=0x69 14..13=0 12=1 rs2 rs1 imm12
-s.d 31..25=0x69 14..13=3 12=1 rs2 rs1 imm12
-
-mff.s 31..25=0x6A 24..20=0 14..13=0 12..10=0 9..5=0 rdr rs1
-mff.d 31..25=0x6A 24..20=0 14..13=3 12..10=0 9..5=0 rdr rs1
-mffh.d 31..25=0x6A 24..20=0 14..13=3 12..10=1 9..5=0 rdr rs1
-mtf.s 31..25=0x6A 24..20=0 14..13=0 12..10=2 9..5=0 rdr rs1
-mtf.d 31..25=0x6A 24..20=0 14..13=3 12..10=2 9..5=0 rdr rs1
-mtflh.d 31..25=0x6A 14..13=3 12..10=3 9..5=0 rdr rs1 rs2
+add.s 31..25=0x6A 14..13=0 12..10=0 9..5=0 rdr rs1 rs2
+sub.s 31..25=0x6A 14..13=0 12..10=0 9..5=1 rdr rs1 rs2
+mul.s 31..25=0x6A 14..13=0 12..10=0 9..5=2 rdr rs1 rs2
+div.s 31..25=0x6A 14..13=0 12..10=0 9..5=3 rdr rs1 rs2
+sqrt.s 31..25=0x6A 14..13=0 12..10=0 9..5=4 24..20=0 rdr rs1
+sgninj.s 31..25=0x6A 14..13=0 12..10=0 9..5=5 rdr rs1 rs2
+sgninjn.s 31..25=0x6A 14..13=0 12..10=0 9..5=6 rdr rs1 rs2
+sgnmul.s 31..25=0x6A 14..13=0 12..10=0 9..5=7 rdr rs1 rs2
+
+add.d 31..25=0x6A 14..13=3 12..10=0 9..5=0 rdr rs1 rs2
+sub.d 31..25=0x6A 14..13=3 12..10=0 9..5=1 rdr rs1 rs2
+mul.d 31..25=0x6A 14..13=3 12..10=0 9..5=2 rdr rs1 rs2
+div.d 31..25=0x6A 14..13=3 12..10=0 9..5=3 rdr rs1 rs2
+sqrt.d 31..25=0x6A 14..13=3 12..10=0 9..5=4 24..20=0 rdr rs1
+sgninj.d 31..25=0x6A 14..13=3 12..10=0 9..5=5 rdr rs1 rs2
+sgninjn.d 31..25=0x6A 14..13=3 12..10=0 9..5=6 rdr rs1 rs2
+sgnmul.d 31..25=0x6A 14..13=3 12..10=0 9..5=7 rdr rs1 rs2
+
+trunc.l.s 31..25=0x6A 14..13=0 12..10=1 9..5=0 24..20=0 rdr rs1
+truncu.l.s 31..25=0x6A 14..13=0 12..10=1 9..5=1 24..20=0 rdr rs1
+trunc.w.s 31..25=0x6A 14..13=0 12..10=1 9..5=2 24..20=0 rdr rs1
+truncu.w.s 31..25=0x6A 14..13=0 12..10=1 9..5=3 24..20=0 rdr rs1
+
+trunc.l.d 31..25=0x6A 14..13=3 12..10=1 9..5=0 24..20=0 rdr rs1
+truncu.l.d 31..25=0x6A 14..13=3 12..10=1 9..5=1 24..20=0 rdr rs1
+trunc.w.d 31..25=0x6A 14..13=3 12..10=1 9..5=2 24..20=0 rdr rs1
+truncu.w.d 31..25=0x6A 14..13=3 12..10=1 9..5=3 24..20=0 rdr rs1
+
+cvt.s.l 31..25=0x6A 14..13=0 12..10=1 9..5=4 24..20=0 rdr rs1
+cvtu.s.l 31..25=0x6A 14..13=0 12..10=1 9..5=5 24..20=0 rdr rs1
+cvt.s.w 31..25=0x6A 14..13=0 12..10=1 9..5=6 24..20=0 rdr rs1
+cvtu.s.w 31..25=0x6A 14..13=0 12..10=1 9..5=7 24..20=0 rdr rs1
+
+cvt.d.l 31..25=0x6A 14..13=3 12..10=1 9..5=4 24..20=0 rdr rs1
+cvtu.d.l 31..25=0x6A 14..13=3 12..10=1 9..5=5 24..20=0 rdr rs1
+cvt.d.w 31..25=0x6A 14..13=3 12..10=1 9..5=6 24..20=0 rdr rs1
+cvtu.d.w 31..25=0x6A 14..13=3 12..10=1 9..5=7 24..20=0 rdr rs1
+
+cvt.s.d 31..25=0x6A 14..13=0 12..10=1 9..5=0x13 24..20=0 rdr rs1
+cvt.d.s 31..25=0x6A 14..13=3 12..10=1 9..5=0x10 24..20=0 rdr rs1
+
+c.eq.s 31..25=0x6A 14..13=0 12..10=2 9..5=1 rdr rs1 rs2
+c.lt.s 31..25=0x6A 14..13=0 12..10=2 9..5=2 rdr rs1 rs2
+c.le.s 31..25=0x6A 14..13=0 12..10=2 9..5=3 rdr rs1 rs2
+
+c.eq.d 31..25=0x6A 14..13=3 12..10=2 9..5=1 rdr rs1 rs2
+c.lt.d 31..25=0x6A 14..13=3 12..10=2 9..5=2 rdr rs1 rs2
+c.le.d 31..25=0x6A 14..13=3 12..10=2 9..5=3 rdr rs1 rs2
+
+mtflh.d 31..25=0x6A 14..13=3 12..10=4 9..5=0 rdr rs1 rs2
+mffl.d 31..25=0x6A 24..20=0 14..13=0 12..10=5 9..5=0 rdr rs1
+mffh.d 31..25=0x6A 24..20=0 14..13=0 12..10=5 9..5=1 rdr rs1
+mff.s 31..25=0x6A 24..20=0 14..13=0 12..10=6 9..5=0 rdr rs1
+mff.d 31..25=0x6A 24..20=0 14..13=3 12..10=6 9..5=0 rdr rs1
+mtf.s 31..25=0x6A 24..20=0 14..13=0 12..10=7 9..5=0 rdr rs1
+mtf.d 31..25=0x6A 24..20=0 14..13=3 12..10=7 9..5=0 rdr rs1
+
+l.s 31..25=0x68 14..12=2 rdi rs1 imm12
+l.d 31..25=0x68 14..12=3 rdi rs1 imm12
+
+s.s 31..25=0x69 14..12=2 rs2 rs1 imm12
+s.d 31..25=0x69 14..12=3 rs2 rs1 imm12
madd.s 31..25=0x6B 14..13=0 12..10=0 rdr rs1 rs2 rs3
msub.s 31..25=0x6B 14..13=0 12..10=1 rdr rs1 rs2 rs3
-nmadd.s 31..25=0x6B 14..13=0 12..10=2 rdr rs1 rs2 rs3
-nmsub.s 31..25=0x6B 14..13=0 12..10=3 rdr rs1 rs2 rs3
+nmsub.s 31..25=0x6B 14..13=0 12..10=2 rdr rs1 rs2 rs3
+nmadd.s 31..25=0x6B 14..13=0 12..10=3 rdr rs1 rs2 rs3
madd.d 31..25=0x6B 14..13=3 12..10=0 rdr rs1 rs2 rs3
msub.d 31..25=0x6B 14..13=3 12..10=1 rdr rs1 rs2 rs3
-nmadd.d 31..25=0x6B 14..13=3 12..10=2 rdr rs1 rs2 rs3
-nmsub.d 31..25=0x6B 14..13=3 12..10=3 rdr rs1 rs2 rs3
+nmsub.d 31..25=0x6B 14..13=3 12..10=2 rdr rs1 rs2 rs3
+nmadd.d 31..25=0x6B 14..13=3 12..10=3 rdr rs1 rs2 rs3