https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127461

--- Comment #4 from Hongtao Liu <liuhongt at gcc dot gnu.org> ---

> 
> It doesn't fix the ICE, hmm, should be related to others.

4265There are three insn attributes that may be used to selectively disable
 4266instruction alternatives:
 4267
 4268@table @code
 4269@item enabled
 4270Says whether an alternative is available on the current subtarget.
 4271
 4272@item preferred_for_size
 4273Says whether an enabled alternative should be used in code that is
 4274optimized for size.
 4275
 4276@item preferred_for_speed
 4277Says whether an enabled alternative should be used in code that is
 4278optimized for speed.
 4279@end table
 4280
 4281All these attributes should use @code{(const_int 1)} to allow an
alternative
 4282or @code{(const_int 0)} to disallow it.  The attributes must be a static
 4283property of the subtarget; they cannot for example depend on the
 4284current operands, on the current optimization level, on the location
 4285of the insn within the body of a loop, on whether register allocation
 4286has finished, or on the current compiler pass.

it's related to optimize_function_for_size_p (cfun) in (attr "enabled") which
should use a static property instead of relying on optimization level.

Reply via email to