decoder.isa (3039:9cec9533b941) decoder.isa (3042:aad81cbda3d7)
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

--- 92 unchanged lines hidden (view full) ---

101 if(Rs1.sdw >= 0)
102 NNPC = xc->readPC() + disp;
103 else
104 handle_annul
105 }});
106 }
107 }
108 //SETHI (or NOP if rd == 0 and imm == 0)
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

--- 92 unchanged lines hidden (view full) ---

101 if(Rs1.sdw >= 0)
102 NNPC = xc->readPC() + disp;
103 else
104 handle_annul
105 }});
106 }
107 }
108 //SETHI (or NOP if rd == 0 and imm == 0)
109 0x4: SetHi::sethi({{Rd = imm;}});
109 0x4: SetHi::sethi({{Rd.udw = imm;}});
110 0x5: Trap::fbpfcc({{fault = new FpDisabled;}});
111 0x6: Trap::fbfcc({{fault = new FpDisabled;}});
112 }
113 0x1: BranchN::call(30, {{
114 R15 = xc->readPC();
115 NNPC = R15 + disp;
116 }});
117 0x2: decode OP3 {

--- 412 unchanged lines hidden (view full) ---

530 0x07: Trap::edge16ln({{fault = new IllegalInstruction;}});
531 0x08: Trap::edge32({{fault = new IllegalInstruction;}});
532 0x09: Trap::edge32n({{fault = new IllegalInstruction;}});
533 0x0A: Trap::edge32l({{fault = new IllegalInstruction;}});
534 0x0B: Trap::edge32ln({{fault = new IllegalInstruction;}});
535 0x10: Trap::array8({{fault = new IllegalInstruction;}});
536 0x12: Trap::array16({{fault = new IllegalInstruction;}});
537 0x14: Trap::array32({{fault = new IllegalInstruction;}});
110 0x5: Trap::fbpfcc({{fault = new FpDisabled;}});
111 0x6: Trap::fbfcc({{fault = new FpDisabled;}});
112 }
113 0x1: BranchN::call(30, {{
114 R15 = xc->readPC();
115 NNPC = R15 + disp;
116 }});
117 0x2: decode OP3 {

--- 412 unchanged lines hidden (view full) ---

530 0x07: Trap::edge16ln({{fault = new IllegalInstruction;}});
531 0x08: Trap::edge32({{fault = new IllegalInstruction;}});
532 0x09: Trap::edge32n({{fault = new IllegalInstruction;}});
533 0x0A: Trap::edge32l({{fault = new IllegalInstruction;}});
534 0x0B: Trap::edge32ln({{fault = new IllegalInstruction;}});
535 0x10: Trap::array8({{fault = new IllegalInstruction;}});
536 0x12: Trap::array16({{fault = new IllegalInstruction;}});
537 0x14: Trap::array32({{fault = new IllegalInstruction;}});
538 0x18: BasicOperate::alignaddress({{
538 0x18: BasicOperate::alignaddr({{
539 uint64_t sum = Rs1 + Rs2;
539 uint64_t sum = Rs1 + Rs2;
540 Frd = sum & ~7;
540 Rd = sum & ~7;
541 Gsr = (Gsr & ~7) | (sum & 7);
542 }});
543 0x19: Trap::bmask({{fault = new IllegalInstruction;}});
544 0x1A: BasicOperate::alignaddresslittle({{
545 uint64_t sum = Rs1 + Rs2;
541 Gsr = (Gsr & ~7) | (sum & 7);
542 }});
543 0x19: Trap::bmask({{fault = new IllegalInstruction;}});
544 0x1A: BasicOperate::alignaddresslittle({{
545 uint64_t sum = Rs1 + Rs2;
546 Frd = sum & ~7;
546 Rd = sum & ~7;
547 Gsr = (Gsr & ~7) | ((~sum + 1) & 7);
548 }});
549 0x20: Trap::fcmple16({{fault = new IllegalInstruction;}});
550 0x22: Trap::fcmpne16({{fault = new IllegalInstruction;}});
551 0x24: Trap::fcmple32({{fault = new IllegalInstruction;}});
552 0x26: Trap::fcmpne32({{fault = new IllegalInstruction;}});
553 0x28: Trap::fcmpgt16({{fault = new IllegalInstruction;}});
554 0x2A: Trap::fcmpeq16({{fault = new IllegalInstruction;}});

--- 337 unchanged lines hidden ---
547 Gsr = (Gsr & ~7) | ((~sum + 1) & 7);
548 }});
549 0x20: Trap::fcmple16({{fault = new IllegalInstruction;}});
550 0x22: Trap::fcmpne16({{fault = new IllegalInstruction;}});
551 0x24: Trap::fcmple32({{fault = new IllegalInstruction;}});
552 0x26: Trap::fcmpne32({{fault = new IllegalInstruction;}});
553 0x28: Trap::fcmpgt16({{fault = new IllegalInstruction;}});
554 0x2A: Trap::fcmpeq16({{fault = new IllegalInstruction;}});

--- 337 unchanged lines hidden ---