Hi! On Fri, Mar 23, 2018 at 12:41:38PM -0500, Peter Bergner wrote: > This is the second patch to fix PR84912, which is an ICE when calling some > extended divide builtin functions. This patch is relative to the first > patch. This fixes the ICE by adding a new mask to the builtin functions > that are ICEing and then enforcing it is set. I have also added a helpful > error message in the case it is not set.
> @@ -15952,6 +15953,10 @@ rs6000_invalid_builtin (enum rs6000_buil > name); > else if ((fnmask & RS6000_BTM_FLOAT128) != 0) > error ("builtin function %qs requires the %qs option", name, > "-mfloat128"); > + else if ((fnmask & (RS6000_BTM_POPCNTD | RS6000_BTM_POWERPC64)) > + == (RS6000_BTM_POPCNTD | RS6000_BTM_POWERPC64)) > + error ("builtin function %qs requires the %qs and %qs options", > + name, "-mcpu=power7 (or newer)", "-m64 or -mpowerpc64"); This does not work for translation, and it quotes the wrong things. Each %qs should be for exactly one option string. Looks good otherwise. Segher