14e98e3e1Schristos# 24e98e3e1Schristos# This file is part of the program psim. 34e98e3e1Schristos# 44e98e3e1Schristos# Copyright (C) 1994-1995, Andrew Cagney <cagney@highland.com.au> 54e98e3e1Schristos# 64e98e3e1Schristos# This program is free software; you can redistribute it and/or modify 74e98e3e1Schristos# it under the terms of the GNU General Public License as published by 8*a2e2270fSchristos# the Free Software Foundation; either version 3 of the License, or 94e98e3e1Schristos# (at your option) any later version. 104e98e3e1Schristos# 114e98e3e1Schristos# This program is distributed in the hope that it will be useful, 124e98e3e1Schristos# but WITHOUT ANY WARRANTY; without even the implied warranty of 134e98e3e1Schristos# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 144e98e3e1Schristos# GNU General Public License for more details. 154e98e3e1Schristos# 164e98e3e1Schristos# You should have received a copy of the GNU General Public License 17*a2e2270fSchristos# along with this program; if not, see <http://www.gnu.org/licenses/>. 184e98e3e1Schristos# 194e98e3e1Schristosarray,normal: 0: 5: 0: 5: 204e98e3e1Schristosarray,normal: 21:31:32:-1:OE,LR,AA,Rc,LK: 214e98e3e1Schristos## 224e98e3e1Schristos## Branch Conditional instruction - Expand BO{0:4} 234e98e3e1Schristos## 244e98e3e1Schristosarray,expand-forced: 6:10: 6:10:BO: 0xfc000000:0x40000000 254e98e3e1Schristos## 264e98e3e1Schristos## Expand RA on equality with 0 in Add instructions were if(RA==0) appears. 274e98e3e1Schristos## 284e98e3e1Schristos# Add Immediate 294e98e3e1Schristosarray,boolean: 11:15:11:15:RA: 0xfc000000:0x38000000:0 304e98e3e1Schristos# Add Immediate Shifted 314e98e3e1Schristosarray,boolean: 11:15:11:15:RA: 0xfc000000:0x3c000000:0 324e98e3e1Schristos## 334e98e3e1Schristos## Ditto for high frequency load/store instructions. 344e98e3e1Schristos## 354e98e3e1Schristos# Store Byte 364e98e3e1Schristos#array,boolean: 11:15:11:15:RA: 0xfc000000:0x98000000:0 374e98e3e1Schristos# Store Word 384e98e3e1Schristos#array,boolean: 11:15:11:15:RA: 0xfc000000:0x90000000:0 394e98e3e1Schristos# Load Word and Zero 404e98e3e1Schristos#array,boolean: 11:15:11:15:RA: 0xfc000000:0x80000000:0 414e98e3e1Schristos## 424e98e3e1Schristos## Move to/from SPR instructions - LR=8 is munged into 0x100 == 256 434e98e3e1Schristos## 444e98e3e1Schristos#array,boolean: 11:20:11:20:SPR: 0xfc0007ff:0x7c0003a6:256 454e98e3e1Schristos#array,boolean: 11:20:11:20:SPR: 0xfc0007ff:0x7c0002a6:256 464e98e3e1Schristos## 474e98e3e1Schristos## Compare Immediate instruction - separate out L == 0 and L == 1 484e98e3e1Schristos## 494e98e3e1Schristos# Compare Immediate 504e98e3e1Schristos#array,normal: 10:11:10:11:L: 0xfc000000:0x2c000000:0 514e98e3e1Schristos## 524e98e3e1Schristos## Move to/from SPR instructions - separate out LR case 534e98e3e1Schristos## 544e98e3e1Schristos# Move to SPR 554e98e3e1Schristosarray,boolean: 11:20:11:20:SPR: 0xfc0007ff:0x7c0003a6:256 564e98e3e1Schristos# Move from SPR 574e98e3e1Schristosarray,boolean: 11:20:11:20:SPR: 0xfc0007ff:0x7c0002a6:256 58