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 ---