Skip to content

Commit 013310e

Browse files
authored
Xqci v0.11 fixes (#724)
- Xqci v0.11.0 fix: Fix IDL code of qc.shlusat instruction (should use zero-extension and not sign-extension) --------- Signed-off-by: Albert Yosher <[email protected]>
1 parent 8744a97 commit 013310e

File tree

3 files changed

+48
-2
lines changed

3 files changed

+48
-2
lines changed

arch_overlay/qc_iu/ext/Xqci.yaml

+34
Original file line numberDiff line numberDiff line change
@@ -346,6 +346,40 @@ versions:
346346
requires:
347347
name: Zca
348348
version: ">= 1.0.0"
349+
- version: "0.11.0"
350+
state: frozen
351+
ratification_date: null
352+
contributors:
353+
- name: Albert Yosher
354+
company: Qualcomm Technologies, Inc.
355+
356+
- name: Derek Hower
357+
company: Qualcomm Technologies, Inc.
358+
359+
changes:
360+
- Fix IDL code of qc.shlusat instruction (should use zero-extension and not sign-extension)
361+
implies:
362+
- { name: Xqcia, version: "0.7.0" }
363+
- { name: Xqciac, version: "0.3.0" }
364+
- { name: Xqcibi, version: "0.2.0" }
365+
- { name: Xqcibm, version: "0.7.0" }
366+
- { name: Xqcicli, version: "0.3.0" }
367+
- { name: Xqcicm, version: "0.2.0" }
368+
- { name: Xqcics, version: "0.2.0" }
369+
- { name: Xqcicsr, version: "0.3.0" }
370+
- { name: Xqciint, version: "0.7.0" }
371+
- { name: Xqciio, version: "0.1.0" }
372+
- { name: Xqcilb, version: "0.2.0" }
373+
- { name: Xqcili, version: "0.2.0" }
374+
- { name: Xqcilia, version: "0.2.0" }
375+
- { name: Xqcilo, version: "0.3.0" }
376+
- { name: Xqcilsm, version: "0.5.0" }
377+
- { name: Xqcisim, version: "0.2.0" }
378+
- { name: Xqcisls, version: "0.2.0" }
379+
- { name: Xqcisync, version: "0.2.0" }
380+
requires:
381+
name: Zca
382+
version: ">= 1.0.0"
349383
description: |
350384
The Xqci extension includes a set of instructions that improve RISC-V code density and
351385
performance in microontrollers. It fills several gaps:

arch_overlay/qc_iu/ext/Xqcia.yaml

+12
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,18 @@ versions:
8080
changes:
8181
- Fix wrong mantissa bit selection in qc.norm, qc.normu and qc.normeu instructions
8282
- Fix wrong exponent calculation in qc.normeu instruction
83+
- version: "0.7.0"
84+
state: frozen
85+
ratification_date: null
86+
contributors:
87+
- name: Albert Yosher
88+
company: Qualcomm Technologies, Inc.
89+
90+
- name: Derek Hower
91+
company: Qualcomm Technologies, Inc.
92+
93+
changes:
94+
- Fix IDL code of qc.shlusat instruction (should use zero-extension and not sign-extension)
8395
description: |
8496
The Xqcia extension includes eleven instructions to perform integer arithmetic.
8597

arch_overlay/qc_iu/inst/Xqci/qc.shlusat.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ access:
3131
vs: always
3232
vu: always
3333
operation(): |
34-
Bits<{1'b0, MXLEN}*2> sext_double_width_rs1 = {{MXLEN{X[rs1][xlen()-1]}}, X[rs1]};
35-
Bits<{1'b0, MXLEN}*2> shifted_value = sext_double_width_rs1 << X[rs2][4:0];
34+
Bits<{1'b0, MXLEN}*2> zext_double_width_rs1 = {{MXLEN{1'b0}}, X[rs1]};
35+
Bits<{1'b0, MXLEN}*2> shifted_value = zext_double_width_rs1 << X[rs2][4:0];
3636
XReg largest_unsigned_value = {MXLEN{1'b1}};
3737
3838
if (shifted_value > largest_unsigned_value) {

0 commit comments

Comments
 (0)