This is the mail archive of the gcc@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]

Re: simplify_subreg aborts bad?



> In setCC instruction we were speaking, you don't use conditional jump.
> Can you try to be more specific?

In the blt and slt expanders, I emit something like this:
  (set (op:[SI,CC]) (lt (op:SI) (op:SI)))
[SI for slt, CC for blt]

I later have an insn that matches that set as-is (well, one for SI and
one for CC) and also an insn that contains this:

  (if_then_else (lt (op    0 "..." "r")
                    (op:SI 1 "..." "i")))

The 0 predicate tests for CC or SI mode but the conditional jump is
used for both blt (CCmode eq/ne zero) and when optimized, direct
comparisons (SImode eq/ne const_int, but only for very small
const_ints).  I can't use SImode for everything because when I did,
the doloop optimization wouldn't work.

> Is the issue reproducible on some port available in the mainline?

Not that I know of.


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