re PR middle-end/52940 (conversion from MODE_PARTIAL_INT uses sign extension for...
commite90247f8bac2b058550d5e3af7873fa2768624d2
authorBernd Schmidt <bernds@codesourcery.com>
Thu, 26 Apr 2012 14:20:39 +0000 (26 14:20 +0000)
committerBernd Schmidt <bernds@gcc.gnu.org>
Thu, 26 Apr 2012 14:20:39 +0000 (26 14:20 +0000)
treecc9676874f6a1ec2605d4af7227233a8650f66f1
parent81c082ecd2881c3d1ed9387e4deeb922f74a8c4f
re PR middle-end/52940 (conversion from MODE_PARTIAL_INT uses sign extension for unsigned types)

PR middle-end/52940
* machmode.h (CLASS_HAS_WIDER_MODES_P): True for MODE_PARTIAL_INT.
* expr.c (convert_move): Honor unsignedp when extending partial int
modes.
* genmodes.c (complete_mode): Don't clear component field of partial
int modes.
(emit_mode_inner): Don't emit it however.
(calc_wider_mode): Partial int modes widen to their component.

From-SVN: r186877
gcc/ChangeLog
gcc/expr.c
gcc/genmodes.c
gcc/machmode.h