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: [PATCH, i386]: Clenup: use bool, true and false in predicate functions


On Thu, Sep 9, 2010 at 8:38 AM, Jakub Jelinek <jakub@redhat.com> wrote:
> On Wed, Sep 08, 2010 at 08:00:35PM +0200, Uros Bizjak wrote:
>> ?(define_predicate "flags_reg_operand"
>> @@ -98,16 +98,14 @@
>> ?;; Return true if op is not xmm0 register.
>> ?(define_predicate "reg_not_xmm0_operand"
>> ? ? (and (match_operand 0 "register_operand")
>> - ? ? (match_test "!REG_P (op)
>> - ? ? ? ? ? ? ? ? ?|| REGNO (op) != FIRST_SSE_REG")))
>> + ? ? (match_test "REGNO (op) != FIRST_SSE_REG")))
>
> This change broke lots of tests with --enable-checking=yes,rtl.
> op e.g. in vperm-v4si-2-sse4.c isn't a REG, but SUBREG of REG
> (and, in theory, register_operand can be true also for SUBREG of MEM
> before reload).
> So I think this test should be
> if (GET_CODE (op)) == SUBREG)
> ?op = SUBREG_REG (op);
> !REG_P (op) || REGNO (op) != FIRST_SSE_REG


Whoops, I didn't intend to commit this (untested!) change!

I'll fix this mess ASAP.

Thanks,
Uros.


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