Re: [Mingw-w64-public] _lrotr and LP64

2013-08-04 Thread Kai Tietz
2013/8/5 dw : > >> As for LLP64 long isn't 64-bit wide, we need to override it. > > Except that we don't override it. As written, every 64bit compile turns > _lrotr into a 64bit operation, regardless of the actual size of a long. > And calling _lrotr with a 32bit value and having it do a 64bit rot

Re: [Mingw-w64-public] _lrotr and LP64

2013-08-04 Thread dw
> As for LLP64 long isn't 64-bit wide, we need to override it. Except that we don't override it. As written, every 64bit compile turns _lrotr into a 64bit operation, regardless of the actual size of a long. And calling _lrotr with a 32bit value and having it do a 64bit rotate does not yield

Re: [Mingw-w64-public] _lrotr and LP64

2013-08-02 Thread Kai Tietz
2013/8/3 dw : > I have some (non-asm) questions about _lrotr (long rotate right). > > Looking at intrin.h, it uses a #ifdef __x86_64__ to change the parameters > between LONG32 and LONG64. But that doesn't seem right. Shouldn't it be > looking at __LP64__? Since this is mapped to msvcr*.dll in t

[Mingw-w64-public] _lrotr and LP64

2013-08-02 Thread dw
I have some (non-asm) questions about _lrotr (long rotate right). 1. Looking at intrin.h, it uses a #ifdef __x86_64__ to change the parameters between LONG32 and LONG64. But that doesn't seem right. Shouldn't it be looking at __LP64__? Since this is mapped to msvcr*.dll in the .def fi