decoder.isa (13653:079472978bca) decoder.isa (13931:31e62b71cca6)
1// -*- mode:c++ -*-
2
3// Copyright (c) 2015 RISC-V Foundation
4// Copyright (c) 2017 The University of Virginia
5// All rights reserved.
6//
7// Redistribution and use in source and binary forms, with or without
8// modification, are permitted provided that the following conditions are

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

219 }});
220 0x1: c_addw({{
221 Rp1_sd = (int32_t)Rp1_sd + Rp2_sw;
222 }});
223 }
224 }
225 }
226 }
1// -*- mode:c++ -*-
2
3// Copyright (c) 2015 RISC-V Foundation
4// Copyright (c) 2017 The University of Virginia
5// All rights reserved.
6//
7// Redistribution and use in source and binary forms, with or without
8// modification, are permitted provided that the following conditions are

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

219 }});
220 0x1: c_addw({{
221 Rp1_sd = (int32_t)Rp1_sd + Rp2_sw;
222 }});
223 }
224 }
225 }
226 }
227 0x5: JOp::c_j({{
228 int64_t offset = CJUMPIMM<3:1> << 1 |
229 CJUMPIMM<9:9> << 4 |
230 CJUMPIMM<0:0> << 5 |
231 CJUMPIMM<5:5> << 6 |
232 CJUMPIMM<4:4> << 7 |
233 CJUMPIMM<8:7> << 8 |
234 CJUMPIMM<6:6> << 10;
235 if (CJUMPIMM<10:10> > 0)
236 offset |= ~((int64_t)0x7FF);
237 NPC = PC + offset;
238 }}, IsIndirectControl, IsUncondControl, IsCall);
227 0x5: CJOp::c_j({{
228 NPC = PC + imm;
229 }}, IsDirectControl, IsUncondControl);
239 format CBOp {
240 0x6: c_beqz({{
241 if (Rp1 == 0)
242 NPC = PC + imm;
243 else
244 NPC = NPC;
245 }}, IsDirectControl, IsCondControl);
246 0x7: c_bnez({{

--- 1589 unchanged lines hidden ---
230 format CBOp {
231 0x6: c_beqz({{
232 if (Rp1 == 0)
233 NPC = PC + imm;
234 else
235 NPC = NPC;
236 }}, IsDirectControl, IsCondControl);
237 0x7: c_bnez({{

--- 1589 unchanged lines hidden ---