aboutsummaryrefslogtreecommitdiff
path: root/sim/ppc/ppc-opcode-complex
diff options
context:
space:
mode:
authorMichael Meissner <gnu@the-meissners.org>1997-02-11 20:19:28 +0000
committerMichael Meissner <gnu@the-meissners.org>1997-02-11 20:19:28 +0000
commit37404956b433bcbef387449d997a683be6f78369 (patch)
tree809162bcebe78c5f088111966bca2993a8a2b49e /sim/ppc/ppc-opcode-complex
parent3d6ab69f3535bb78ec386181a491854d880e43b0 (diff)
downloadbinutils-37404956b433bcbef387449d997a683be6f78369.zip
binutils-37404956b433bcbef387449d997a683be6f78369.tar.gz
binutils-37404956b433bcbef387449d997a683be6f78369.tar.bz2
New version from Andrew; Portability fixes on top of that
Diffstat (limited to 'sim/ppc/ppc-opcode-complex')
-rw-r--r--sim/ppc/ppc-opcode-complex35
1 files changed, 33 insertions, 2 deletions
diff --git a/sim/ppc/ppc-opcode-complex b/sim/ppc/ppc-opcode-complex
index 78fac6a..13361ec 100644
--- a/sim/ppc/ppc-opcode-complex
+++ b/sim/ppc/ppc-opcode-complex
@@ -19,9 +19,40 @@
#
array,normal: 0: 5: 0: 5:
array,normal: 21:31:32:-1:OE,LR,AA,Rc,LK:
+##
+## Branch Conditional instruction - Expand BO{0:4} only, ignore BO{5}
+##
array,expand-forced: 6: 9: 6: 9:BO: 0xfc000000:0x40000000
-array,boolean: 11:15:11:15:0RA: 0xfc000000:0x38000000:0
+##
+## Expand RA on equality with 0 in Add instructions were if(RA==0) appears.
+##
+# Add Immediate
+array,boolean: 11:15:11:15:RA: 0xfc000000:0x38000000:0
+# Add Immediate Shifted
array,boolean: 11:15:11:15:RA: 0xfc000000:0x3c000000:0
-# BLR instruction - LR=8 is munged into 0x100 == 256
+##
+## Ditto for high frequency load/store instructions.
+##
+# Store Byte
+#array,boolean: 11:15:11:15:RA: 0xfc000000:0x98000000:0
+# Store Word
+#array,boolean: 11:15:11:15:RA: 0xfc000000:0x90000000:0
+# Load Word and Zero
+#array,boolean: 11:15:11:15:RA: 0xfc000000:0x80000000:0
+##
+## Move to/from SPR instructions - LR=8 is munged into 0x100 == 256
+##
+#array,boolean: 11:20:11:20:SPR: 0xfc0007ff:0x7c0003a6:256
+#array,boolean: 11:20:11:20:SPR: 0xfc0007ff:0x7c0002a6:256
+##
+## Compare Immediate instruction - separate out L == 0 and L == 1
+##
+# Compare Immediate
+#array,normal: 10:11:10:11:L: 0xfc000000:0x2c000000:0
+##
+## Move to/from SPR instructions - separate out LR case
+##
+# Move to SPR
array,boolean: 11:20:11:20:SPR: 0xfc0007ff:0x7c0003a6:256
+# Move from SPR
array,boolean: 11:20:11:20:SPR: 0xfc0007ff:0x7c0002a6:256