------- Comment #2 from georgjohann at web dot de 2007-07-17 11:13 ------- (In reply to comment #1) > > This comes from the begining of time :). > ZERO_EXTRACT has been there since the begining of time also: > 70 kenner DEF_RTL_EXPR(ZERO_EXTRACT, "zero_extract", "eee", 'b') >
So what is the conclusion...? At least the following backends implement "insv" as (define_*** "insv" [(set (zero_extract (match_operand 0 ... with a predicate that allows registers: i386, pa, sh, c4x, arm, vax, ia64, m68k, ip2k, ns32k, rs6000, h8300, mcore Uses of REG_N_SETS(*) are spread all over the RTL passes and many of them rely on REG_N_SETS(*) == 1 etc. If such a condition holds but is incorrect because (set (zero_extract is ignored that may lead to a bug in the output, e.g. due to a wrong replacement. -- georgjohann at web dot de changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|normal |minor Version|4.3.0 |unknown http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32790