On Wed, Aug 12, 2015 at 1:07 PM, Markus Trippelsdorf <mar...@trippelsdorf.de> wrote: > On 2015.08.12 at 13:01 +0200, Richard Biener wrote: >> On Tue, Aug 11, 2015 at 9:49 PM, Jeff Law <l...@redhat.com> wrote: >> > On 08/06/2015 04:25 AM, Mikael Morin wrote: >> >> >> >> Hello, >> >> >> >> this avoids an error found with bootstrap-ubsan. >> >> Regression tested on x86_64-unknown-linux-gnu. OK for trunk? >> >> >> >> Mikael >> >> >> >> >> >> noub_sext.CL >> >> >> >> >> >> 2015-08-05 Mikael Morin<mik...@gcc.gnu.org> >> >> >> >> * hwint.h (sext_hwi): Rewrite without undefined behaviour on >> >> negative SRC. >> > >> > OK. Hopefully most of the time the precision is known at compile-time >> > which >> > would allow for optimization of the resulting code back to the >> > pair-of-shifts form by combine. >> >> I think it is not. The code also lacks a comment on why we do this kind >> of obfuscation. >> >> What kind of error does ubsan run into? That is, for which 'prec'? > > See: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67042
Ugh. Stupid C. My fear is that with so many stmts sext_hwi isn't any longer considered for inlining, even if prec is constant. What's the generated code for its out-of line copy with/without the patch? Richard. > -- > Markus