http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52940
Bug #: 52940 Summary: conversion from MODE_PARTIAL_INT uses sign extension for unsigned types Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: unassig...@gcc.gnu.org ReportedBy: big...@acm.org In expr.c:convert_move, when from_mode has class MODE_PARTIAL_INT the conversion is done with sign extension even for unsigned types. This has been the behavior since the code was added in 2003, but it seems like a bug.