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]
Other format: [Raw text]

Question regarding ICE in instantiate_virtual_regs_1, at function.c:3880


I am seeing a number of ICEs in the testsuite in instantiate_virtual_regs_1,
at function.c:3880, on vax-dec-ultrix4.3 with the main.  The first one that
I looked at occurs on this insn in gcc.c-torture/compile/991213-1.c:

(insn 22 21 23 (set (mem/f:DF (plus:SI (reg/f:SI 17 virtual-stack-vars)
                (const_int -20 [0xffffffec])) [0 arg+8 S8 A64])
	(subreg:DF (mem:DC (plus:SI (mult:SI (reg:SI 21)
			(const_int 16 [0x10]))
		    (mem/f:SI (reg/f:SI 16 virtual-incoming-args) [0 t+0 S4 A32])) [0 S16 A32]) 8)) -1 (nil)
   (nil))

It appears that instantiate_virtual_regs_1 ICEs because general_operand
(see recog.c:966) doesn't allow a SUBREG with a nonzero SUBREG_BYTE and
this causes the first instantiation to fail.  Should this insn have been
created in the first place if there is this limitation on SUBREG MEMs?

Dave
-- 
J. David Anglin                                  dave.anglin@nrc.ca
National Research Council of Canada              (613) 990-0752 (FAX: 952-6605)


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