On Jul 13, 2012, at 11:21 AM, Nathan Froyd wrote: > On Fri, Jul 13, 2012 at 10:36:35AM -0700, Mike Stump wrote: >> I just checked all in tree gcc targets, and none claim OImode support. > > ./s390/s390-modes.def:23:INT_MODE (OI, 32); > ./spu/spu-modes.def:29:INT_MODE (OI, 32); > ./ia64/ia64-modes.def:68:INT_MODE (OI, 32); > ./i386/i386-modes.def:88:INT_MODE (OI, 32); > ./arm/arm-modes.def:82:INT_MODE (OI, 32);
Now, go back and check the target to see if they return true for: @deftypefn {Target Hook} bool TARGET_SCALAR_MODE_SUPPORTED_P (enum machine_mode @var{mode}) Define this to return nonzero if the port is prepared to handle insns involving scalar mode @var{mode}. For a scalar mode to be considered supported, all the basic arithmetic and comparisons must work. The default version of this hook returns true for any mode required to handle the basic C types (as defined by the port). Included here are the double-word arithmetic supported by the code in @file{optabs.c}. @end deftypefn I'll wait. You'll notice that my patch uses that answer to determine if support for __int256 is enabled.