# # This file is part of the program psim. # # Copyright (C) 1994-1995, Andrew Cagney <cagney@highland.com.au> # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, see <http://www.gnu.org/licenses/>. # 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 ## ## 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 ## ## 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,boolean: 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 |