This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: combiner bug and fix


> In process of combining it builds the following rtl:
> 
> (zero_extract:HI (xor:QI (reg:QI 24 r24)
>         (reg:QI 43))
>     (const_int 1 [0x1])
>     (const_int 0 [0x0]))
> 

Right. Combine creates lots of things - most of them not useful at all.
Including this...

> It's a wrong rtl which must be rejected by combiner, but it have a
> code XOR which is valid and this rtl will be processed. It is a
> problem because the new rtl
> (zero_extract:HI (xor:HI (clobber:QI (const_int 0 [0x0]))
>     (clobber:QI (const_int 0 [0x0])))
>     (const_int 1 [0x1])
>     (const_int 0 [0x0]))
> 

But the below is a problem.

> will be simplified to (const_int 1).
> 

You need to figure out where it's doing this simplification and not
allow it there.

-eric

-- 
Eric Christopher <echristo@redhat.com>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]