This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: C++ ICE with ntohs() and -mcpu=pentiumpro
On Sun, Mar 19, 2000 at 11:53:17AM -0800, Mark Mitchell wrote:
> o The `asm' creates a temporary for the output with this code in
> `stmt.c':
>
> output_rtx[i] = assign_temp (type, 0, 0, 0);
> TREE_VALUE (tail) = make_tree (type, output_rtx[i]);
>
> Here, TYPE is `unsigned short', but assign_temp gives back an
> SImode register, due to the PROMOTE_MODE change.
[...]
> Now, we try to:
>
> emit_move_insn (memloc, op0);
>
> to copy the SImode output of the RTL_EXPR into the HImode
> temporary, and abort.
>
> It seems to me that the correct change is to not promote the temporary
> outputs of the asm statement.
I agree.
Shall you make the change or shall I? In addition to a bootstrap,
which doesn't make much use of asms, one should probably build a
linux kernel or something.
Ben, this is incidentally the same problem you ran into on the alpha.
r~