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]

Re: how can I split 1 mov insn into 2 sub_mov and 1 combine?


On Wed, Mar 30, 2011 at 11:45 PM, Ian Lance Taylor <iant@google.com> wrote:
> Liu <proljc@gmail.com> writes:
>
>> ? ? ? if (GET_MODE (dest) == V32QImode)
>> ? ? ? ? tmp_reg = gen_reg_rtx (V32QImode);
>
>> vpaddd.c:33:1: internal compiler error: in gen_reg_rtx, at emit-rtl.c:863
>> Please submit a full bug report,
>> with preprocessed source if appropriate.
>> See <http://gcc.gnu.org/bugs.html> for instructions.
>>
>> emit-rtl.c:863 is ?gcc_assert (can_create_pseudo_p ());
>
> You can only call gen_reg_rtx if can_create_pseudo_p returns true. ?It
> will return false during and after register allocation. ?Your code is
> being called at that time somehow, probably during reload. ?You have to
> either ensure that that does not happen, or, more likely, you have to
> arrange to use an existing register rather than create a new one. ?For
> example, look for uses of can_create_pseudo_p in mips.c.
>
> Ian
>

Thank you very much Ian!

Does SCRATCH will be OK?

And, I will look into can_create_pseudo_p().

--Liu


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