decoder.isa (2938:afa2dcabf2ae) | decoder.isa (2944:10dcffb2904f) |
---|---|
1// Copyright (c) 2006 The Regents of The University of Michigan 2// All rights reserved. 3// 4// Redistribution and use in source and binary forms, with or without 5// modification, are permitted provided that the following conditions are 6// met: redistributions of source code must retain the above copyright 7// notice, this list of conditions and the following disclaimer; 8// redistributions in binary form must reproduce the above copyright --- 25 unchanged lines hidden (view full) --- 34// 35 36decode OP default Unknown::unknown() 37{ 38 0x0: decode OP2 39 { 40 //Throw an illegal instruction acception 41 0x0: Trap::illtrap({{fault = new IllegalInstruction;}}); | 1// Copyright (c) 2006 The Regents of The University of Michigan 2// All rights reserved. 3// 4// Redistribution and use in source and binary forms, with or without 5// modification, are permitted provided that the following conditions are 6// met: redistributions of source code must retain the above copyright 7// notice, this list of conditions and the following disclaimer; 8// redistributions in binary form must reproduce the above copyright --- 25 unchanged lines hidden (view full) --- 34// 35 36decode OP default Unknown::unknown() 37{ 38 0x0: decode OP2 39 { 40 //Throw an illegal instruction acception 41 0x0: Trap::illtrap({{fault = new IllegalInstruction;}}); |
42 0x1: decode BPCC | 42 format BranchN |
43 { | 43 { |
44 format Branch19 | 44 0x1: decode BPCC |
45 { | 45 { |
46 0x0: bpcci({{ | 46 0x0: bpcci(19, {{ |
47 if(passesCondition(Ccr<3:0>, COND2)) 48 NNPC = xc->readPC() + disp; 49 else 50 handle_annul 51 }}); | 47 if(passesCondition(Ccr<3:0>, COND2)) 48 NNPC = xc->readPC() + disp; 49 else 50 handle_annul 51 }}); |
52 0x2: bpccx({{ | 52 0x2: bpccx(19, {{ |
53 if(passesCondition(Ccr<7:4>, COND2)) 54 NNPC = xc->readPC() + disp; 55 else 56 handle_annul 57 }}); 58 } | 53 if(passesCondition(Ccr<7:4>, COND2)) 54 NNPC = xc->readPC() + disp; 55 else 56 handle_annul 57 }}); 58 } |
59 0x2: bicc(22, {{ 60 if(passesCondition(Ccr<3:0>, COND2)) 61 NNPC = xc->readPC() + disp; 62 else 63 handle_annul 64 }}); |
|
59 } | 65 } |
60 0x2: Branch22::bicc({{ 61 if(passesCondition(Ccr<3:0>, COND2)) 62 NNPC = xc->readPC() + disp; 63 else 64 handle_annul 65 }}); | |
66 0x3: decode RCOND2 67 { 68 format BranchSplit 69 { 70 0x1: bpreq({{ 71 if(Rs1.sdw == 0) 72 NNPC = xc->readPC() + disp; 73 else --- 31 unchanged lines hidden (view full) --- 105 }}); 106 } 107 } 108 //SETHI (or NOP if rd == 0 and imm == 0) 109 0x4: SetHi::sethi({{Rd = imm;}}); 110 0x5: Trap::fbpfcc({{fault = new FpDisabled;}}); 111 0x6: Trap::fbfcc({{fault = new FpDisabled;}}); 112 } | 66 0x3: decode RCOND2 67 { 68 format BranchSplit 69 { 70 0x1: bpreq({{ 71 if(Rs1.sdw == 0) 72 NNPC = xc->readPC() + disp; 73 else --- 31 unchanged lines hidden (view full) --- 105 }}); 106 } 107 } 108 //SETHI (or NOP if rd == 0 and imm == 0) 109 0x4: SetHi::sethi({{Rd = imm;}}); 110 0x5: Trap::fbpfcc({{fault = new FpDisabled;}}); 111 0x6: Trap::fbfcc({{fault = new FpDisabled;}}); 112 } |
113 0x1: Branch30::call({{ | 113 0x1: BranchN::call(30, {{ |
114 R15 = xc->readPC(); 115 NNPC = R15 + disp; 116 }}); 117 0x2: decode OP3 { 118 format IntOp { 119 0x00: add({{Rd = Rs1.sdw + Rs2_or_imm13;}}); 120 0x01: and({{Rd = Rs1.udw & Rs2_or_imm13;}}); 121 0x02: or({{Rd = Rs1.udw | Rs2_or_imm13;}}); --- 548 unchanged lines hidden --- | 114 R15 = xc->readPC(); 115 NNPC = R15 + disp; 116 }}); 117 0x2: decode OP3 { 118 format IntOp { 119 0x00: add({{Rd = Rs1.sdw + Rs2_or_imm13;}}); 120 0x01: and({{Rd = Rs1.udw & Rs2_or_imm13;}}); 121 0x02: or({{Rd = Rs1.udw | Rs2_or_imm13;}}); --- 548 unchanged lines hidden --- |