------- Comment #7 from gangren at google dot com 2007-06-12 18:10 ------- (In reply to comment #6) > Subject: Re: Unnecessary conversion from short to unsigend short breaks > vectorization > > On 12 Jun 2007 17:53:19 -0000, gangren at google dot com > <[EMAIL PROTECTED]> wrote: > > > I'm aware of integral promotion. But not quite understand why we can > > optimize > > (short)((int)short_var + (int)short_var) to (short)((unsigned > > short)short_var + > > (unsigned short)short_var), but not to (short)((short)short_var + > > (short)short_var)? Is it because unsigned short has different overflow > > handling? > > Yes, signed short has undefined overflow, while unsigned is defined as > wrapping. > > --Pinski >
Thanks. So even if the underlining architecture does not trigger an overflow on signed short (like AltiVec if I remember correctly), we still need to have such conversions? In addition, does "undefined overflow" include "no overflow"? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32309