rdaly525/coreir

Why is IEEE compliance for CW floating point add/mul set to 0?

Opened this issue · 2 comments

{"ieee_compliance", Const::make(c, false)}});

{"ieee_compliance", Const::make(c, false)}});

This causes errors when simulating lassen with CW floats:
StanfordAHA/lassen#178

Setting ieee_compliance to true fixes this issue. Is there any reason why it was set to false in the first place?

ieee_compliance is essentially a switch indicating compliance with subnormal/denormal floating point values. If you are seeing testing errors, that might mean that we are generating subnormal numbers in the tests. If I recall correctly, we were not trying to support these. Ill try to dig up an email discussing this issue.

That being said, CoreIR should probably expose that flag as a parameter to be decided by the user of the library