On Tue, Mar 13, 2012 at 11:42 AM, Uros Bizjak <ubiz...@gmail.com> wrote:
> Hello!
> Similar to tls_symbolic_operand and tls_modbase_operand, we are not
> interested in the mode of the operand in the predicate.
> 2012-03-13  Uros Bizjak  <ubiz...@gmail.com>
>        * config/i386/predicates.md (constant_call_address_operand): Declare
>        as special predicate.  Update all uses.
>        * config/i386/i386.md: Remove mode from constant_call_address_operand
>        predicates.
>        * config/i386/i386.c (ix86_output_call_insn): Call
>        constant_call_address_operand with VOIDmode.
> Tested on x86_64-pc-linux-gnu {,-m32}, committed to mainline SVN.

gcc.c-torture/compile/20020129-1.c fails to compile with -mx32 -O:

[hjl@gnu-6 gcc]$ ./xgcc -B./ -mx32
-S -O
In function \u2018foo\u2019:
error: unrecognizable insn:
(call_insn 10 9 11 3 (set (reg:SI 0 ax)
        (call (mem:QI (symbol_ref:SI ("a.1707") [flags 0x2] <var_decl
0x7ffff15a01e0 a>) [0 *a.0_1 S1 A8])
            (const_int 0 [0])))
    (expr_list:REG_BR_PRED (use (reg:SI 5 di))
internal compiler error: in extract_insn, at recog.c:2123
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
[hjl@gnu-6 gcc]$


Reply via email to