https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67029

Markus Trippelsdorf <trippels at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
                 CC|                            |vmakarov at gcc dot gnu.org
          Component|c                           |rtl-optimization
            Summary|gcc-5.2.0 unable to find a  |[5/6 regression] gcc-5.2.0
                   |register to spill with O3   |unable to find a register
                   |fsched-pressure             |to spill with O3
                   |fschedule-insns             |fsched-pressure
                   |                            |fschedule-insns
     Ever confirmed|0                           |1

--- Comment #8 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
markus@x4 tmp % cat curve25519-donna-c64.i
extern void fn2 (char *);
__int128 a, b;
int
fn1 (void)
{
  char e[32];
  fn2 (e);
  b = 9 * (a >> 1);
  return 0;
}

markus@x4 tmp % gcc -O2 -fstack-protector -fschedule-insns -c
curve25519-donna-c64.i
curve25519-donna-c64.i: In function ‘fn1’:
curve25519-donna-c64.i:10:1: error: unable to find a register to spill
 }
 ^
curve25519-donna-c64.i:10:1: error: this is the insn:
(insn 15 42 43 2 (parallel [
            (set (reg:TI 104 [orig:97 D.1849 ] [97])
                (mult:TI (zero_extend:TI (subreg/j:DI (reg:TI 104 [orig:97
D.1849 ] [97]) 0))
                    (zero_extend:TI (reg:DI 98))))
            (clobber (reg:CC 17 flags))
        ]) curve25519-donna-c64.i:8 328 {*umulditi3_1}
     (expr_list:REG_DEAD (reg:DI 98)
        (expr_list:REG_UNUSED (reg:CC 17 flags)
            (expr_list:REG_EQUAL (mult:TI (zero_extend:TI (subreg:DI (reg:TI 92
[ D.1849 ]) 0))
                    (const_int 9 [0x9]))
                (nil)))))
curve25519-donna-c64.i:10: confused by earlier errors, bailing out

Reply via email to