[Bug middle-end/60814] New: incorrect integer promotion when multiplying unsigned short values
mikulas at artax dot karlin.mff.cuni.cz
gcc-bugzilla@gcc.gnu.org
Fri Apr 11 00:07:00 GMT 2014
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60814
Bug ID: 60814
Summary: incorrect integer promotion when multiplying unsigned
short values
Product: gcc
Version: 4.8.2
Status: UNCONFIRMED
Severity: major
Priority: P3
Component: middle-end
Assignee: unassigned at gcc dot gnu.org
Reporter: mikulas at artax dot karlin.mff.cuni.cz
Host: x86_64-unknown-linux-gnu
Target: x86_64-unknown-linux-gnu
Build: x86_64-unknown-linux-gnu
Created attachment 32582
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=32582&action=edit
incorrect integer promotion
The attached program triggers an optimizer bug with -O2 or -O3 (it performs
correctly with -O1 or -O0).
The unsigned -> unsigned long long promotion should be unsigned, but gcc
incorrectly performs signed promotion.
This bug seems to be architecture-independent, it was reproduced on:
4.7.2 (Debian 4.7.2-5) on i486-linux-gnu
4.7.2 (Debian 4.7.2-5) on ia64-linux-gnu
4.7.2 (Debian 4.7.2-5) on s390x-linux-gnu
4.7.3 on hppa-linux-gnu
4.8.2 on x86_64-unknown-linux-gnu (the bug is in 32-bit, 64-bit and x32 mode)
4.8.2 (Ubuntu/Linaro 4.8.2-19ubuntu1) on arm-linux-gnueabihf
4.8.2 (Debian 4.8.2-16) on alpha-linux-gnu
The bug doesn't happen in gcc 4.6.4.
More information about the Gcc-bugs
mailing list