bitfields.isa revision 2686
13804Ssaidi@eecs.umich.edu// -*- mode:c++ -*-
23804Ssaidi@eecs.umich.edu
33804Ssaidi@eecs.umich.edu////////////////////////////////////////////////////////////////////
43804Ssaidi@eecs.umich.edu//
53804Ssaidi@eecs.umich.edu// Bitfield definitions.
63804Ssaidi@eecs.umich.edu//
73804Ssaidi@eecs.umich.edu
83804Ssaidi@eecs.umich.edudef bitfield OPCODE     <31:26>;
93804Ssaidi@eecs.umich.edudef bitfield OPCODE_HI  <31:29>;
103804Ssaidi@eecs.umich.edudef bitfield OPCODE_LO  <28:26>;
113804Ssaidi@eecs.umich.edu
123804Ssaidi@eecs.umich.edudef bitfield REGIMM      <20:16>;
133804Ssaidi@eecs.umich.edudef bitfield REGIMM_HI   <20:19>;
143804Ssaidi@eecs.umich.edudef bitfield REGIMM_LO   <18:16>;
153804Ssaidi@eecs.umich.edu
163804Ssaidi@eecs.umich.edudef bitfield FUNCTION      < 5: 0>;
173804Ssaidi@eecs.umich.edudef bitfield FUNCTION_HI   < 5: 3>;
183804Ssaidi@eecs.umich.edudef bitfield FUNCTION_LO   < 2: 0>;
193804Ssaidi@eecs.umich.edu
203804Ssaidi@eecs.umich.edudef bitfield RS	      <25:21>;
213804Ssaidi@eecs.umich.edudef bitfield RS_MSB   <25:25>;
223804Ssaidi@eecs.umich.edudef bitfield RS_HI    <25:24>;
233804Ssaidi@eecs.umich.edudef bitfield RS_LO    <23:21>;
243804Ssaidi@eecs.umich.edudef bitfield RS_SRL   <25:22>;
253804Ssaidi@eecs.umich.edudef bitfield RS_RT    <25:16>;
263804Ssaidi@eecs.umich.edudef bitfield RT	      <20:16>;
273804Ssaidi@eecs.umich.edudef bitfield RT_HI    <20:19>;
283804Ssaidi@eecs.umich.edudef bitfield RT_LO    <18:16>;
293804Ssaidi@eecs.umich.edudef bitfield RT_RD    <20:11>;
303804Ssaidi@eecs.umich.edudef bitfield RD	      <15:11>;
313804Ssaidi@eecs.umich.edu
323804Ssaidi@eecs.umich.edudef bitfield INTIMM	  <15: 0>;
333804Ssaidi@eecs.umich.edu
345616Snate@binkert.org// Floating-point operate format
355616Snate@binkert.orgdef bitfield FMT      <25:21>;
363804Ssaidi@eecs.umich.edudef bitfield FR       <25:21>;
373826Ssaidi@eecs.umich.edudef bitfield FT	      <20:16>;
3812334Sgabeblack@google.comdef bitfield FS	      <15:11>;
393804Ssaidi@eecs.umich.edudef bitfield FD	      <10:6>;
403809Sgblack@eecs.umich.edu
413809Sgblack@eecs.umich.edudef bitfield ND       <17:17>;
425555Snate@binkert.orgdef bitfield TF       <16:16>;
435555Snate@binkert.orgdef bitfield MOVCI    <16:16>;
443804Ssaidi@eecs.umich.edudef bitfield MOVCF    <16:16>;
453804Ssaidi@eecs.umich.edudef bitfield SRL      <21:21>;
463804Ssaidi@eecs.umich.edudef bitfield SRLV     < 6: 6>;
473804Ssaidi@eecs.umich.edudef bitfield SA       <10: 6>;
483804Ssaidi@eecs.umich.edu
494070Ssaidi@eecs.umich.edu// Floating Point Condition Codes
504070Ssaidi@eecs.umich.edudef bitfield CC <10:8>;
514070Ssaidi@eecs.umich.edudef bitfield BRANCH_CC <20:18>;
524070Ssaidi@eecs.umich.edu
534070Ssaidi@eecs.umich.edu// CP0 Register Select
544070Ssaidi@eecs.umich.edudef bitfield SEL       < 2: 0>;
554070Ssaidi@eecs.umich.edu
564070Ssaidi@eecs.umich.edu// Interrupts
574070Ssaidi@eecs.umich.edudef bitfield SC       < 5: 5>;
585555Snate@binkert.org
595555Snate@binkert.org// Branch format
6011320Ssteve.reinhardt@amd.comdef bitfield OFFSET <15: 0>; // displacement
615555Snate@binkert.org
625555Snate@binkert.org// Jmp format
635555Snate@binkert.orgdef bitfield JMPTARG	<25: 0>;
645555Snate@binkert.orgdef bitfield HINT	<10: 6>;
655555Snate@binkert.org
665555Snate@binkert.orgdef bitfield SYSCALLCODE <25: 6>;
677741Sgblack@eecs.umich.edudef bitfield TRAPCODE    <15:13>;
687741Sgblack@eecs.umich.edu
694070Ssaidi@eecs.umich.edu// EXT/INS instructions
704070Ssaidi@eecs.umich.edudef bitfield MSB	<15:11>;
714070Ssaidi@eecs.umich.edudef bitfield LSB	<10: 6>;
723804Ssaidi@eecs.umich.edu
733804Ssaidi@eecs.umich.edu// M5 instructions
743804Ssaidi@eecs.umich.edudef bitfield M5FUNC <7:0>;
753804Ssaidi@eecs.umich.edu