This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: GCC has problems with 64-bit multiplication


All,

Not a bug in GCC the result is correct as you've only asked for a 32-bit
multiply.

--- Hans Petter Selasky <hselasky@c2i.net> wrote:

> Test program:
> 
> #include <stdio.h>
> #include <sys/types.h>      
> 
> int main() {
> 
>         int32_t a = 0x40000000;
>         int16_t b = 0x4000;
>         int64_t c = a * b;
                      ^^^^^ this is a 32-bit multiply with the result widened
to 64-bit,
>         printf("0x%016llx\n", c);
> 
>         return 0;
> }
> 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]