bitfields.isa revision 3991:00bbda284575
12086SN/A// Copyright (c) 2006-2007 The Regents of The University of Michigan 22086SN/A// All rights reserved. 35268Sksewell@umich.edu// 42086SN/A// Redistribution and use in source and binary forms, with or without 52086SN/A// modification, are permitted provided that the following conditions are 62086SN/A// met: redistributions of source code must retain the above copyright 72086SN/A// notice, this list of conditions and the following disclaimer; 82086SN/A// redistributions in binary form must reproduce the above copyright 92086SN/A// notice, this list of conditions and the following disclaimer in the 102086SN/A// documentation and/or other materials provided with the distribution; 112086SN/A// neither the name of the copyright holders nor the names of its 122086SN/A// contributors may be used to endorse or promote products derived from 132086SN/A// this software without specific prior written permission. 142086SN/A// 152086SN/A// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 162086SN/A// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 172086SN/A// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 182086SN/A// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 192086SN/A// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 202086SN/A// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 212086SN/A// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 222086SN/A// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 232086SN/A// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 242086SN/A// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 252086SN/A// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 262086SN/A// 272086SN/A// Authors: Ali Saidi 282665Ssaidi@eecs.umich.edu// Gabe Black 292665Ssaidi@eecs.umich.edu// Steve Reinhardt 302665Ssaidi@eecs.umich.edu 312686Sksewell@umich.edu//////////////////////////////////////////////////////////////////// 322086SN/A// 334202Sbinkertn@umich.edu// Bitfield definitions. 342086SN/A// 354202Sbinkertn@umich.edu 368775Sgblack@eecs.umich.edu// Bitfields are shared liberally between instruction formats, so they are 379022Sgblack@eecs.umich.edu// simply defined alphabetically 388758Sgblack@eecs.umich.edu 394202Sbinkertn@umich.edudef bitfield A <29>; 408775Sgblack@eecs.umich.edudef bitfield BPCC <21:20>; // for BPcc & FBPcc 418745Sgblack@eecs.umich.edudef bitfield FCMPCC <26:25>; // for FCMP & FCMPEa 426313Sgblack@eecs.umich.edudef bitfield FMOVCC <13:11>; // for FMOVcc 438775Sgblack@eecs.umich.edudef bitfield CC <12:11>; // for MOVcc & Tcc 448775Sgblack@eecs.umich.edudef bitfield MOVCC3 <18>; // also for MOVcc 458775Sgblack@eecs.umich.edudef bitfield CMASK <6:4>; 468758Sgblack@eecs.umich.edudef bitfield COND2 <28:25>; 478775Sgblack@eecs.umich.edudef bitfield COND4 <17:14>; 488758Sgblack@eecs.umich.edudef bitfield D16HI <21:20>; 498775Sgblack@eecs.umich.edudef bitfield D16LO <13:0>; 508775Sgblack@eecs.umich.edudef bitfield DISP19 <18:0>; 514997Sgblack@eecs.umich.edudef bitfield DISP22 <21:0>; 524202Sbinkertn@umich.edudef bitfield DISP30 <29:0>; 538758Sgblack@eecs.umich.edudef bitfield FCN <29:25>; 544997Sgblack@eecs.umich.edudef bitfield I <13>; 558745Sgblack@eecs.umich.edudef bitfield IMM_ASI <12:5>; 569384SAndreas.Sandberg@arm.comdef bitfield IMM22 <21:0>; 578775Sgblack@eecs.umich.edudef bitfield MMASK <3:0>; 584997Sgblack@eecs.umich.edudef bitfield OP <31:30>; 595192Ssaidi@eecs.umich.edudef bitfield OP2 <24:22>; 608775Sgblack@eecs.umich.edudef bitfield OP3 <24:19>; 612086SN/Adef bitfield OPF <13:5>; 624202Sbinkertn@umich.edudef bitfield OPF_CC <13:11>; 634202Sbinkertn@umich.edudef bitfield OPF_LOW5 <9:5>; 644202Sbinkertn@umich.edudef bitfield OPF_LOW6 <10:5>; 654202Sbinkertn@umich.edudef bitfield P <19>; 664202Sbinkertn@umich.edudef bitfield RCOND2 <27:25>; 674202Sbinkertn@umich.edudef bitfield RCOND3 <12:10>; 68def bitfield RCOND4 <12:10>; 69def bitfield RD <29:25>; 70def bitfield RS1 <18:14>; 71def bitfield RS2 <4:0>; 72def bitfield SHCNT32 <4:0>; 73def bitfield SHCNT64 <5:0>; 74def bitfield SIMM10 <9:0>; 75def bitfield SIMM11 <10:0>; 76def bitfield SIMM13 <12:0>; 77def bitfield SW_TRAP <7:0>; 78def bitfield X <12>; 79 80// Extended bitfields which aren't part of the actual instruction. 81 82def bitfield EXT_ASI <39:32>; 83