On Tue, Aug 01, 2017 at 08:35:06AM +0100, Tamar Christina wrote: > Hi All, > > Previously I allowed 0s unconditionally through aarch64_can_const_movi_rtx_p > because we should always be able to use movi with 0 regardless of the mode. > > However this was causing issues when a vector contained a 0 element and > another value which was too complex for a movi. In theory this should have > worked but it's failing an integrity check because of the type of the 0 > element > being a none floating type. > > Moving the exception to only allow floating point 0s restores the previous > behavior of the compiler. > > Ok for trunk?
OK. Thanks, James > > Bootstrapped and regtested on aach64-none-linux-gnu and no issues. > > Thanks, > Tamar > > > gcc/ > 2017-08-01 Tamar Christina <tamar.christ...@arm.com> > > * config/aarch64/aarch64.c > (aarch64_can_const_movi_rtx_p): Move 0 check. > > --