This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[patch] for PR 26449
- From: Zdenek Dvorak <rakdver at atrey dot karlin dot mff dot cuni dot cz>
- To: gcc-patches at gcc dot gnu dot org
- Date: Tue, 6 Jun 2006 19:18:31 +0200
- Subject: [patch] for PR 26449
Hello,
in this PR, we try to force
(lshiftrt:TI (subreg:TI (reg:V4SI 71 [ vect_cst_.47 ]) 0)
(const_int 32 [0x20]))
to operand, which fails since there is no optab for TI mode LSHIFTRT.
There are several possible solutions, the conservative one being to just
fail in this case. Bootstrapped & regtested on i686.
Zdenek
PR rtl-optimization/26449
* loop-invariant.c (move_invariant_reg): Fail if force_operand fails.
Index: loop-invariant.c
===================================================================
*** loop-invariant.c (revision 114387)
--- loop-invariant.c (working copy)
*************** move_invariant_reg (struct loop *loop, u
*** 1178,1183 ****
--- 1178,1188 ----
{
start_sequence ();
op = force_operand (SET_SRC (set), reg);
+ if (!op)
+ {
+ end_sequence ();
+ goto fail;
+ }
if (op != reg)
emit_move_insn (reg, op);
seq = get_insns ();