Skip to content

Commit

Permalink
[libspike] add “relax vsew > vlmul * ELEN check” patch
Browse files Browse the repository at this point in the history
  • Loading branch information
SharzyL authored and qinjun-li committed Sep 4, 2024
1 parent da079ec commit 6eccc89
Show file tree
Hide file tree
Showing 4 changed files with 29 additions and 2 deletions.
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
From 0ad6da899c20df0ce6120bc4ebd32edf01bdcd36 Mon Sep 17 00:00:00 2001
From: SharzyL <[email protected]>
Date: Sun, 25 Feb 2024 01:28:18 +0800
Subject: [PATCH 1/2] enforce lanewise order for unordered reduce
Subject: [PATCH 1/3] enforce lanewise order for unordered reduce

---
riscv/insns/vfredusum_vs.h | 2 +-
Expand Down
2 changes: 1 addition & 1 deletion nix/patches/spike/0002-disable-NaN-normalization.patch
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
From 09a503dc94382798a1ee2f23b4b6894a12bc8207 Mon Sep 17 00:00:00 2001
From: SharzyL <[email protected]>
Date: Mon, 26 Aug 2024 20:08:47 +0800
Subject: [PATCH 2/2] disable NaN normalization
Subject: [PATCH 2/3] disable NaN normalization

---
riscv/v_ext_macros.h | 6 +++---
Expand Down
26 changes: 26 additions & 0 deletions nix/patches/spike/0003-relax-vsew-vlmul-ELEN-check.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
From cbf79540b42a56df47df541848d47b34a0d04128 Mon Sep 17 00:00:00 2001
From: SharzyL <[email protected]>
Date: Tue, 3 Sep 2024 15:33:33 +0800
Subject: [PATCH 3/3] relax 'vsew > vlmul * ELEN' check

---
riscv/vector_unit.cc | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/riscv/vector_unit.cc b/riscv/vector_unit.cc
index 08adc616..8fbbe16d 100644
--- a/riscv/vector_unit.cc
+++ b/riscv/vector_unit.cc
@@ -39,7 +39,8 @@ reg_t vectorUnit_t::vectorUnit_t::set_vl(int rd, int rs1, reg_t reqVL, reg_t new
vma = extract64(newType, 7, 1);

vill = !(vflmul >= 0.125 && vflmul <= 8)
- || vsew > std::min(vflmul, 1.0f) * ELEN
+ || vsew > ELEN
+ || vflmul < ((float) /* vsew_min */ 8 / ELEN)
|| (newType >> 8) != 0;

if (vill) {
--
2.43.0

1 change: 1 addition & 0 deletions nix/pkgs/libspike.nix
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ stdenv.mkDerivation {
patches = [
../patches/spike/0001-enforce-lanewise-order-for-unordered-reduce.patch
../patches/spike/0002-disable-NaN-normalization.patch
../patches/spike/0003-relax-vsew-vlmul-ELEN-check.patch
];

installPhase = ''
Expand Down

0 comments on commit 6eccc89

Please sign in to comment.