From 8b5f2b21588b40e090cc304a436b999f085c4b37 Mon Sep 17 00:00:00 2001 From: Andrew Waterman Date: Wed, 22 Jul 2026 19:22:42 -0700 Subject: [PATCH] Remove redundant set_vxsat calls Signed-off-by: Andrew Waterman --- riscv/insns/pnclipp_b.h | 1 - riscv/insns/pnclipp_h.h | 1 - riscv/insns/pnclipp_w.h | 3 --- riscv/insns/pnclipup_b.h | 1 - riscv/insns/pnclipup_h.h | 1 - riscv/insns/pnclipup_w.h | 3 --- 6 files changed, 10 deletions(-) diff --git a/riscv/insns/pnclipp_b.h b/riscv/insns/pnclipp_b.h index 582096e6..060a22d9 100644 --- a/riscv/insns/pnclipp_b.h +++ b/riscv/insns/pnclipp_b.h @@ -6,7 +6,6 @@ reg_t s_high = RS2; for (int i = 0; i < 8; i++) { sreg_t s_h = (i < 4) ? P_FIELD(s_low, i, 16) : P_FIELD(s_high, i - 4, 16); sreg_t sat_val = P_SAT(8, s_h); - if (sat_val != s_h) P.set_vxsat(); rd_tmp = set_field(rd_tmp, make_mask64(i * 8, 8), (uint8_t)sat_val); } WRITE_RD(rd_tmp); diff --git a/riscv/insns/pnclipp_h.h b/riscv/insns/pnclipp_h.h index 3c8812c1..c03b68f6 100644 --- a/riscv/insns/pnclipp_h.h +++ b/riscv/insns/pnclipp_h.h @@ -6,7 +6,6 @@ reg_t s_high = RS2; for (int i = 0; i < 4; i++) { sreg_t s_w = (i < 2) ? P_FIELD(s_low, i, 32) : P_FIELD(s_high, i - 2, 32); sreg_t sat_val = P_SAT(16, s_w); - if (sat_val != s_w) P.set_vxsat(); rd_tmp = set_field(rd_tmp, make_mask64(i * 16, 16), (uint16_t)sat_val); } WRITE_RD(rd_tmp); diff --git a/riscv/insns/pnclipp_w.h b/riscv/insns/pnclipp_w.h index 49729eaa..a8662f40 100644 --- a/riscv/insns/pnclipp_w.h +++ b/riscv/insns/pnclipp_w.h @@ -4,10 +4,7 @@ int64_t s1 = (int64_t)RS1; int64_t s2 = (int64_t)RS2; sreg_t sat_w0 = P_SAT(32, s1); -if (sat_w0 != s1) P.set_vxsat(); - sreg_t sat_w1 = P_SAT(32, s2); -if (sat_w1 != s2) P.set_vxsat(); WRITE_RD(((uint64_t)(uint32_t)sat_w1 << 32) | (uint32_t)sat_w0); diff --git a/riscv/insns/pnclipup_b.h b/riscv/insns/pnclipup_b.h index 4679b953..1d36b095 100644 --- a/riscv/insns/pnclipup_b.h +++ b/riscv/insns/pnclipup_b.h @@ -6,7 +6,6 @@ reg_t s_high = RS2; for (int i = 0; i < 8; i++) { reg_t s_h = (i < 4) ? P_UFIELD(s_low, i, 16) : P_UFIELD(s_high, i - 4, 16); reg_t sat_val = P_USAT_FULL(8, s_h); - if (sat_val != s_h) P.set_vxsat(); rd_tmp = set_field(rd_tmp, make_mask64(i * 8, 8), (uint8_t)sat_val); } WRITE_RD(rd_tmp); diff --git a/riscv/insns/pnclipup_h.h b/riscv/insns/pnclipup_h.h index 1bb489ee..a18d9dae 100644 --- a/riscv/insns/pnclipup_h.h +++ b/riscv/insns/pnclipup_h.h @@ -6,7 +6,6 @@ reg_t s_high = RS2; for (int i = 0; i < 4; i++) { reg_t s_w = (i < 2) ? P_UFIELD(s_low, i, 32) : P_UFIELD(s_high, i - 2, 32); reg_t sat_val = P_USAT_FULL(16, s_w); - if (sat_val != s_w) P.set_vxsat(); rd_tmp = set_field(rd_tmp, make_mask64(i * 16, 16), (uint16_t)sat_val); } WRITE_RD(rd_tmp); diff --git a/riscv/insns/pnclipup_w.h b/riscv/insns/pnclipup_w.h index 5dffcb16..7eb17c60 100644 --- a/riscv/insns/pnclipup_w.h +++ b/riscv/insns/pnclipup_w.h @@ -4,10 +4,7 @@ uint64_t s1 = RS1; uint64_t s2 = RS2; reg_t sat_w0 = P_USAT_FULL(32, s1); -if (sat_w0 != s1) P.set_vxsat(); - reg_t sat_w1 = P_USAT_FULL(32, s2); -if (sat_w1 != s2) P.set_vxsat(); WRITE_RD(((uint64_t)(uint32_t)sat_w1 << 32) | (uint32_t)sat_w0);