Closed kv-sc closed 1 month ago
Fixed in https://github.com/syntacore/snippy/pull/68
New yaml keys were introduced to configure NaN-controlling behavior. Example:
fpu-config:
overwrite:
range:
min: -1000
max: 1000
heuristic: if-all-operands
You can specify the range of values that will be used for overwriting NANs. These values can only be integers for now.
You can also specify heuristic that tells how to determine that register holds NAN. Currently there are 2 possible values for heuristic: "if-all-operands" – We consider register a NAN if all of his input registers are potentially NANs "if-any-operand" – We consider register a NAN if any of his input registers are potentially NANs
Full potential configuration:
histogram:
- [FDIV_D, 1.0]
- [FMUL_D, 1.0]
sections:
- no: 1
VMA: 0x210000
SIZE: 0x100000
LMA: 0x210000
ACCESS: rx
- no: 2
VMA: 0x100000
SIZE: 0x100000
LMA: 0x100000
ACCESS: rw
fpu-config:
overwrite:
range:
min: -1000
max: 1000
heuristic: if-all-operands
Reproduce on 1.0
snippy command line:
where layout-stack.yaml looks like:
file myfunc.c:
Link:
Run:
You will see all NaN's from some moment: