target/7321: ice on vectors with -O3 and -m3dnow
Andrew Pinski
pinskia@physics.uc.edu
Sat Jan 11 03:46:00 GMT 2003
The following reply was made to PR target/7321; it has been noted by GNATS.
>From pinskia@physics.uc.edu Mon Jan 13 00:56:42 2003
From: Andrew Pinski <pinskia@physics.uc.edu>
To: bangerth@dealii.org, gcc-bugs@gcc.gnu.org, gcc-prs@gcc.gnu.org,
nobody@gcc.gnu.org, pinskia@physics.uc.edu, gcc-gnats@gcc.gnu.org
Cc:
Subject: Re: target/7321: ice on vectors with -O3 and -m3dnow
Date: Fri, 10 Jan 2003 19:40:35 -0800
This was reported when 3.3 was 3.2, also it still fails with -O3
-m3dnow on `3.4 20030110 (experimental)', remember the -O3.
And yes it starts at the typedef.
Error message from 3.4:
vector.c: In function `tempf':
vector.c:20: error: unable to find a register to spill in class
`FLOAT_REGS'
vector.c:20: error: this is the insn:
(insn:HI 29 27 30 0 0x400473f4 (set (reg:SF 8 st(0) [70])
(minus:SF (subreg:SF (reg/v:DI 30 rmm1 [66]) 0)
(subreg:SF (reg/v:DI 30 rmm1 [66]) 4))) 406
{*fop_sf_1_nosse} (insn_list 24 (nil))
(expr_list:REG_EQUIV (mem:SF (reg/v/f:SI 2 ecx [60]) [3 S4 A32])
(expr_list:REG_DEAD (reg/v:DI 30 rmm1 [66])
(nil))))
vector.c:20: internal compiler error: in spill_failure, at
reload1.c:1924
Error Message from 3.3 20021216 (experimental) (i686-pc-linux-gnu):
vector.c: In function `tempf':
vector.c:20: error: unable to find a register to spill in class
`FLOAT_REGS'
vector.c:20: error: this is the insn:
(insn:HI 29 27 30 0 0x4004b2ec (set (reg:SF 8 st(0) [70])
(minus:SF (subreg:SF (reg/v:DI 30 rmm1 [66]) 0)
(subreg:SF (reg/v:DI 30 rmm1 [66]) 4))) 398
{*fop_sf_1_nosse} (insn_list 24 (nil))
(expr_list:REG_EQUIV (mem:SF (reg/v/f:SI 2 ecx [60]) [3 S4 A32])
(expr_list:REG_DEAD (reg/v:DI 30 rmm1 [66])
(nil))))
vector.c:20: internal compiler error: in spill_failure, at
reload1.c:1920
It even fails on -O1 with the same error message.
Thanks,
Andrew Pinski
On Friday, Jan 10, 2003, at 17:04 US/Pacific, bangerth@dealii.org wrote:
> Synopsis: ice on vectors with -O3 and -m3dnow
>
> State-Changed-From-To: open->feedback
> State-Changed-By: bangerth
> State-Changed-When: Fri Jan 10 17:04:59 2003
> State-Changed-Why:
> The testcase seems to have gotton somehow truncated. Does it
> start at the typedef in the middle of the field? I can't
> compile this with gcc3.2.x with this message:
> tmp/g> /home/bangerth/bin/gcc-3.2.2-pre/bin/gcc -c x.c -m3dnow
> x.c: In function `tempf':
> x.c:16: invalid operands to binary *
> x.c:17: invalid operands to binary *
>
> However, it works cleanly with 3.3 and 3.4.
>
> Thanks
> Wolfgang
>
> http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-
> trail&database=gcc&pr=7321
>
More information about the Gcc-prs
mailing list