Skip to content

Commit 6ec7c09

Browse files
Merge branch 'main' into H_CSRs
2 parents 2f78d5b + 953aa50 commit 6ec7c09

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+76
-48
lines changed

arch/csr/misa.yaml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,28 @@ fields:
169169
.. Execute every in-scope multiply extension instruction
170170
. check
171171
.. Check that every multiply extension instruction throws illegal instruction exception
172+
Q:
173+
location: 16
174+
description: |
175+
Indicates support for the `Q` (quad precision float) extension.
176+
177+
[when,"MUTABLE_MISA_Q == true"]
178+
--
179+
Writing 0 to this field will cause all quad-precision floating point instructions to raise an `IllegalInstruction` exception.
180+
--
181+
type(): |
182+
return MUTABLE_MISA_Q ? CsrFieldType::RW : CsrFieldType::RO;
183+
reset_value: 1
184+
definedBy: Q
185+
sw_write(csr_value): |
186+
if ((csr_value.F == 0 || csr_value.D == 0) && csr_value.Q == 1) {
187+
return UNDEFINED_LEGAL_DETERMINISTIC;
188+
}
189+
190+
# fall-through; write the intended value
191+
return csr_value.Q;
192+
legal?(csr_value): |
193+
return !(csr_value.Q == 1 && csr_value.D == 0);
172194
S:
173195
location: 18
174196
description: |

arch/ext/Q.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,9 @@ versions:
1818
state: ratified
1919
ratification_date: null
2020
requires: D
21+
params:
22+
MUTABLE_MISA_Q:
23+
description: |
24+
Indicates whether or not the `Q` extension can be disabled with the `misa.Q` bit.
25+
schema:
26+
type: boolean

arch/inst/C/c.ldsp.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ definedBy:
1616
- C
1717
- Zca
1818
base: 64
19-
assembly: xd, imm(sp)
19+
assembly: xd, imm
2020
encoding:
2121
match: 011-----------10
2222
variables:

arch/inst/C/c.lwsp.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ definedBy:
1414
anyOf:
1515
- C
1616
- Zca
17-
assembly: xd, imm(sp)
17+
assembly: xd, imm
1818
encoding:
1919
match: 010-----------10
2020
variables:

arch/inst/C/c.sdsp.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ definedBy:
1414
- C
1515
- Zca
1616
base: 64
17-
assembly: xs2, imm(sp)
17+
assembly: xs2, imm
1818
encoding:
1919
match: 111-----------10
2020
variables:

arch/inst/C/c.swsp.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ definedBy:
1313
anyOf:
1414
- C
1515
- Zca
16-
assembly: xs2, imm(sp)
16+
assembly: xs2, imm
1717
encoding:
1818
match: 110-----------10
1919
variables:

arch/inst/Zaamo/amoadd.w.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ description: |
1212
* Add the least-significant word of register _rs2_ to the loaded value
1313
* Write the sum to the address in _rs1_
1414
definedBy: Zaamo
15-
assembly: xd, xs2, (xrs1)
15+
assembly: xd, xs2, (xs1)
1616
encoding:
1717
match: 00000------------010-----0101111
1818
variables:

arch/inst/Zaamo/amoand.d.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ description: |
1313
* Write the result to the address in _rs1_
1414
definedBy: Zaamo
1515
base: 64
16-
assembly: xd, xs2, (xrs1)
16+
assembly: xd, xs2, (xs1)
1717
encoding:
1818
match: 01100------------011-----0101111
1919
variables:

arch/inst/Zaamo/amoand.w.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ description: |
1212
* AND the least-significant word of register _rs2_ to the loaded value
1313
* Write the result to the address in _rs1_
1414
definedBy: Zaamo
15-
assembly: xd, xs2, (xrs1)
15+
assembly: xd, xs2, (xs1)
1616
encoding:
1717
match: 01100------------010-----0101111
1818
variables:

arch/inst/Zaamo/amomax.d.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ description: |
1313
* Write the maximum to the address in _rs1_
1414
definedBy: Zaamo
1515
base: 64
16-
assembly: xd, xs2, (xrs1)
16+
assembly: xd, xs2, (xs1)
1717
encoding:
1818
match: 10100------------011-----0101111
1919
variables:

0 commit comments

Comments
 (0)