#
#   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}
##
array,expand-forced: 6:10: 6:10: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,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
