From e90247f8bac2b058550d5e3af7873fa2768624d2 Mon Sep 17 00:00:00 2001 From: Bernd Schmidt Date: Thu, 26 Apr 2012 14:20:39 +0000 Subject: 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/machmode.h | 1 + 1 file changed, 1 insertion(+) (limited to 'gcc/machmode.h') diff --git a/gcc/machmode.h b/gcc/machmode.h index 4a3f6f5..6137c70 100644 --- a/gcc/machmode.h +++ b/gcc/machmode.h @@ -166,6 +166,7 @@ extern const unsigned char mode_class[NUM_MACHINE_MODES]; /* Nonzero if CLASS modes can be widened. */ #define CLASS_HAS_WIDER_MODES_P(CLASS) \ (CLASS == MODE_INT \ + || CLASS == MODE_PARTIAL_INT \ || CLASS == MODE_FLOAT \ || CLASS == MODE_DECIMAL_FLOAT \ || CLASS == MODE_COMPLEX_FLOAT \ -- cgit v1.1