On Wed, Sep 4, 2024 at 8:35 PM Jeff Law <j...@ventanamicro.com> wrote: > On 9/2/24 2:01 PM, Raphael Moreira Zinsly wrote: >... > > +unsigned long foo_0x4afe605fb5019fa0(void) { return 0x4afe605fb5019fa0UL; } > > +unsigned long foo_0x07a80d21f857f2de(void) { return 0x07a80d21f857f2deUL; } > > +unsigned long foo_0x6699f19c99660e63(void) { return 0x6699f19c99660e63UL; } > > +unsigned long foo_0x6c80e48a937f1b75(void) { return 0x6c80e48a937f1b75UL; } > > +unsigned long foo_0x47d7193eb828e6c1(void) { return 0x47d7193eb828e6c1UL; } > > +unsigned long foo_0x7c627816839d87e9(void) { return 0x7c627816839d87e9UL; } > > +unsigned long foo_0x3d69e83ec29617c1(void) { return 0x3d69e83ec29617c1UL; } > > +unsigned long foo_0x5bee7ee6a4118119(void) { return 0x5bee7ee6a4118119UL; } > > +unsigned long foo_0x73fe20828c01df7d(void) { return 0x73fe20828c01df7dUL; } > > +unsigned long foo_0x0f1dc294f0e23d6b(void) { return 0x0f1dc294f0e23d6bUL; } > I must be missing something. All the tests have bit31 on. But I don't > think this synthesis is valid when bit31 is on and the code seems to > check this. What am I missing?
The upper half is the one that is shifted so we check for bit31 of the hival: bool bit31 = (hival & 0x80000000) != 0; Maybe we should change the name of the variable to bit63. -- Raphael Moreira Zinsly