decoder.isa (12695:3df197da6069) | decoder.isa (12807:0baf4adc1a45) |
---|---|
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 --- 433 unchanged lines hidden (view full) --- 442 0x0: addiw({{ 443 Rd_sd = Rs1_sw + imm; 444 }}, int32_t); 445 0x1: slliw({{ 446 Rd_sd = Rs1_sw << SHAMT5; 447 }}); 448 0x5: decode SRTYPE { 449 0x0: srliw({{ | 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 --- 433 unchanged lines hidden (view full) --- 442 0x0: addiw({{ 443 Rd_sd = Rs1_sw + imm; 444 }}, int32_t); 445 0x1: slliw({{ 446 Rd_sd = Rs1_sw << SHAMT5; 447 }}); 448 0x5: decode SRTYPE { 449 0x0: srliw({{ |
450 Rd = Rs1_uw >> SHAMT5; | 450 Rd_sd = (int32_t)(Rs1_uw >> SHAMT5); |
451 }}); 452 0x1: sraiw({{ 453 Rd_sd = Rs1_sw >> SHAMT5; 454 }}); 455 } 456 } 457 } 458 --- 295 unchanged lines hidden (view full) --- 754 && Rs2_sw == -1) { 755 Rd_sd = numeric_limits<int32_t>::min(); 756 } else { 757 Rd_sd = Rs1_sw/Rs2_sw; 758 } 759 }}, IntDivOp); 760 0x5: decode FUNCT7 { 761 0x0: srlw({{ | 451 }}); 452 0x1: sraiw({{ 453 Rd_sd = Rs1_sw >> SHAMT5; 454 }}); 455 } 456 } 457 } 458 --- 295 unchanged lines hidden (view full) --- 754 && Rs2_sw == -1) { 755 Rd_sd = numeric_limits<int32_t>::min(); 756 } else { 757 Rd_sd = Rs1_sw/Rs2_sw; 758 } 759 }}, IntDivOp); 760 0x5: decode FUNCT7 { 761 0x0: srlw({{ |
762 Rd_uw = Rs1_uw >> Rs2<4:0>; | 762 Rd_sd = (int32_t)(Rs1_uw >> Rs2<4:0>); |
763 }}); 764 0x1: divuw({{ 765 if (Rs2_uw == 0) { 766 Rd_sd = numeric_limits<IntReg>::max(); 767 } else { 768 Rd_sd = (int32_t)(Rs1_uw/Rs2_uw); 769 } 770 }}, IntDivOp); --- 958 unchanged lines hidden --- | 763 }}); 764 0x1: divuw({{ 765 if (Rs2_uw == 0) { 766 Rd_sd = numeric_limits<IntReg>::max(); 767 } else { 768 Rd_sd = (int32_t)(Rs1_uw/Rs2_uw); 769 } 770 }}, IntDivOp); --- 958 unchanged lines hidden --- |