This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: 3.2 bug or something really odd.
- From: Kazu Hirata <kazu at cs dot umass dot edu>
- To: diwil at eis dot ru
- Cc: gcc at gcc dot gnu dot org
- Date: Wed, 22 Jan 2003 06:09:41 -0500 (EST)
- Subject: Re: 3.2 bug or something really odd.
- References: <200301221038.08230.diwil@eis.ru>
Hi Dmitry,
> As follows from the expander defenition, if the operands[2] not
> equal to 1 the extzv parrern must be ignored. However, as follows
> from the rtl dump, gcc ignores 'FAIL' directive and issues tricky
> code. The extzv pattern first appears after 'combine' pass.
If I remember correctly, extract_bit_field() in expmed.c does not
check all the conditions. Write your extzv pattern using
define_expand. If you want ensure that operands[2] is (const_int 1),
use FAIL.
KazU Hirata