Skip to content

Commit 0f4d458

Browse files
Add spec to FP Computational and Conversion Instructions (#810)
This PR adds missing long_name and description to some FP Computational and remaining FP Conversion Instructions.
1 parent 7ee553d commit 0f4d458

Some content is hidden

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

41 files changed

+379
-201
lines changed

arch/inst/D/fadd.d.yaml

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,13 @@
33
$schema: inst_schema.json#
44
kind: instruction
55
name: fadd.d
6-
long_name: No synopsis available
7-
description: |
8-
No description available.
6+
long_name: Floating-point Add Double-precision
7+
description:
8+
- id: inst-fadd.d-behaviour
9+
normative: false
10+
text: |
11+
`fadd.d` is analogous to `fadd.s` and performs double-precision floating-point addition between
12+
`xs1` and `xs2` and writes the final result to `xd`.
913
definedBy: D
1014
assembly: xd, xs1, xs2, rm
1115
encoding:

arch/inst/D/fcvt.d.l.yaml

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,13 @@
33
$schema: inst_schema.json#
44
kind: instruction
55
name: fcvt.d.l
6-
long_name: No synopsis available
7-
description: |
8-
No description available.
6+
long_name: Floating-point Convert Long to Double-precision
7+
description:
8+
- id: inst-fcvt.d.l-behaviour
9+
normative: false
10+
text: |
11+
`fcvt.d.l` converts a 64-bit signed integer, in integer register `xs1` into a double-precision
12+
floating-point number in floating-point register `fd`.
913
definedBy: D
1014
assembly: xd, xs1, rm
1115
encoding:

arch/inst/D/fcvt.d.lu.yaml

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,13 @@
33
$schema: inst_schema.json#
44
kind: instruction
55
name: fcvt.d.lu
6-
long_name: No synopsis available
7-
description: |
8-
No description available.
6+
long_name: Floating-point Convert Unsigned Long to Double-precision
7+
description:
8+
- id: inst-fcvt.d.lu-behaviour
9+
normative: false
10+
text: |
11+
`fcvt.d.lu` converts to or from a 64-bit unsigned integer, `xs1` into a double-precision
12+
floating-point number in floating-point register `fd`.
913
definedBy: D
1014
assembly: xd, xs1, rm
1115
encoding:

arch/inst/D/fcvt.d.s.yaml

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,15 @@
33
$schema: inst_schema.json#
44
kind: instruction
55
name: fcvt.d.s
6-
long_name: No synopsis available
7-
description: |
8-
No description available.
6+
long_name: Floating-point Convert Single-precision to Double-precision
7+
description:
8+
- id: inst-fcvt.d.s-behaviour
9+
normative: false
10+
text: |
11+
The single-precision to double-precision conversion instruction, `fcvt.d.s` is encoded in the OP-FP
12+
major opcode space and both the source and destination are floating-point registers. The `xs2` field
13+
encodes the datatype of the source, and the `fmt` field encodes the datatype of the destination.
14+
`fcvt.d.s` will never round.
915
definedBy: D
1016
assembly: xd, xs1, rm
1117
encoding:

arch/inst/D/fcvt.d.w.yaml

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,14 @@
33
$schema: inst_schema.json#
44
kind: instruction
55
name: fcvt.d.w
6-
long_name: No synopsis available
7-
description: |
8-
No description available.
6+
long_name: Floating-point Convert Word to Double-precision
7+
description:
8+
- id: inst-fcvt.d.w-behaviour
9+
normative: false
10+
text: |
11+
`fcvt.d.w` converts a 32-bit signed integer, in integer register `xs1` into a double-precision
12+
floating-point number in floating-point register `fd`.
13+
Note `fcvt.d.w` always produces an exact result and is unaffected by rounding mode.
914
definedBy: D
1015
assembly: xd, xs1, rm
1116
encoding:

arch/inst/D/fcvt.d.wu.yaml

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,14 @@
33
$schema: inst_schema.json#
44
kind: instruction
55
name: fcvt.d.wu
6-
long_name: No synopsis available
7-
description: |
8-
No description available.
6+
long_name: Floating-point Convert Unsigned Word to Double-precision
7+
description:
8+
- id: inst-fcvt.d.wu-behaviour
9+
normative: false
10+
text: |
11+
`fcvt.d.wu` converts a 32-bit unsigned integer in integer register `fs1` into a double-precision
12+
floating-point number in floating-point register `fd`.
13+
Note `fcvt.d.wu` always produces an exact result and is unaffected by rounding mode.
914
definedBy: D
1015
assembly: xd, xs1, rm
1116
encoding:

arch/inst/D/fcvt.l.d.yaml

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,13 @@
33
$schema: inst_schema.json#
44
kind: instruction
55
name: fcvt.l.d
6-
long_name: No synopsis available
7-
description: |
8-
No description available.
6+
long_name: Floating-point Convert Double-precision to Long
7+
description:
8+
- id: inst-fcvt.l.d-behaviour
9+
normative: false
10+
text: |
11+
`fcvt.l.d` converts a double-precision floating-point number in floating-point register `fs1`
12+
to a signed 64-bit integer, in integer register `xd`.
913
definedBy: D
1014
assembly: xd, xs1, rm
1115
encoding:

arch/inst/D/fcvt.lu.d.yaml

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,13 @@
33
$schema: inst_schema.json#
44
kind: instruction
55
name: fcvt.lu.d
6-
long_name: No synopsis available
7-
description: |
8-
No description available.
6+
long_name: Floating-point Convert Double-precision to Unsigned Long
7+
description:
8+
- id: inst-fcvt.lu.d-behaviour
9+
normative: false
10+
text: |
11+
`fcvt.lu.d` converts a double-precision floating-point number in floating-point register `xs1`
12+
to an unsigned 64-bit integer, in integer register `xd`.
913
definedBy: D
1014
assembly: xd, xs1, rm
1115
encoding:

arch/inst/D/fcvt.s.d.yaml

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,15 @@
33
$schema: inst_schema.json#
44
kind: instruction
55
name: fcvt.s.d
6-
long_name: No synopsis available
7-
description: |
8-
No description available.
6+
long_name: Floating-point Convert Double-precision to Single-precision
7+
description:
8+
- id: inst-fcvt.s.d-behaviour
9+
normative: false
10+
text: |
11+
`fcvt.s.d` converts a double-precision floating-point number to a single-precision floating-point number.
12+
This is encoded in the OP-FP major opcode space and both the source and destination are floating-point
13+
registers. The `rs2` field encodes the datatype of the source, and the `fmt` field encodes the datatype
14+
of the destination. `fcvt.s.d` rounds according to the RM field
915
definedBy: D
1016
assembly: xd, xs1, rm
1117
encoding:

arch/inst/D/fcvt.w.d.yaml

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,13 @@
33
$schema: inst_schema.json#
44
kind: instruction
55
name: fcvt.w.d
6-
long_name: No synopsis available
7-
description: |
8-
No description available.
6+
long_name: Floating-point Convert Double-precision to Word
7+
description:
8+
- id: inst-fcvt.w.d-behaviour
9+
normative: false
10+
text: |
11+
`fcvt.w.d` converts a double-precision floating-point number in floating-point register `xs1` to a
12+
signed 32-bit integer, in integer register `xd`.
913
definedBy: D
1014
assembly: xd, xs1, rm
1115
encoding:

0 commit comments

Comments
 (0)