Custom Float
Amit Hmath
amith.hmath@gmail.com
Thu Nov 4 17:02:24 GMT 2021
Hello All,
I am badly stuck at custom float encode and decode, I humbly request your
assistance.
I am trying to incorporate in custom floats in RISCV-32 elf, I am encoding
and assigning to image at line 2985 in
https://github.com/riscv-collab/riscv-gcc/blob/5964b5cd72721186ea2195a7be8d40cfe6554023/gcc/real.c
I am decoding in line 2989 from const long *buf and assigning values to
lines 3031-3034
// custom logic...
// I removed case statements
r->cl = rvc_normal;
r->sign = sign;
SET_REAL_EXP (r, exp); // I am assigning unbiased exp
r->sig[SIGSZ-1] = image | SIG_MSB;
In my view, encode_ieee_single function send IEEE-754 format float value to
FPU part of RISCV-32 and decode_ieee_single function decode IEEE-754 float
format from FPU part of RISCV-32
But I am getting some different values. In order to debug the the
functions/compiler I assigned some random value to decode function like:
r->cl = rvc_normal;
r->sign = 1;
SET_REAL_EXP (r, 12);
r->sig[SIGSZ-1] = 0xDADB62D5;
And built the compiler.
In my view, regardless of custom float values. I should always get real
equivalent above assigned value. But I am not getting this value either; i
seems to me there are other dependency functions which calculate real value
decoded from above function?
I look forward to hearing from you soon.
Many Thanks,
-Amith
ReplyForward
<https://drive.google.com/u/0/settings/storage?hl=en&utm_medium=web&utm_source=gmail&utm_campaign=storage_meter&utm_content=storage_normal>
<https://www.google.com/intl/en/policies/terms/>
<https://www.google.com/intl/en/policies/privacy/>
<https://www.google.com/gmail/about/policy/>
More information about the Gcc-patches
mailing list