This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: i386 define_asm_attributes question
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: Steven Bosscher <stevenb dot gcc at gmail dot com>
- Cc: Jan Hubicha <jh at suse dot cz>, Uros Bizjak <ubizjak at gmail dot com>, GCC Mailing List <gcc at gcc dot gnu dot org>
- Date: Mon, 7 May 2012 16:04:36 -0700
- Subject: Re: i386 define_asm_attributes question
- References: <CABu31nN5-K0NiZU9RyAbY-pFsQzPxQLhwa1D16i7PJ7yPrBF-w@mail.gmail.com>
On Mon, May 7, 2012 at 3:02 PM, Steven Bosscher <stevenb.gcc@gmail.com> wrote:
> Hi,
>
> I noticed gcc predicts huge sizes for asm statements on ix86. This is
> due to define_asm_attributes in i386.md, where the length *per single
> instruction* in the asm is set to 128. That doesn't look realistic to
> me. Is there a good reason for this large value? Or should something
> like the patch below be tested? (I choose 16 but I don't know if there
> are larger insns for x86 - I assume you do ;-)
>
> Ciao!
> Steven
>
>
> Index: config/i386/i386.md
> ===================================================================
> --- config/i386/i386.md (revision 187257)
> +++ config/i386/i386.md (working copy)
> @@ -661,7 +661,7 @@
>
> ?;; Describe a user's asm statement.
> ?(define_asm_attributes
> - ?[(set_attr "length" "128")
> + ?[(set_attr "length" "16")
> ? ?(set_attr "type" "multi")])
>
> ?(define_code_iterator plusminus [plus minus])
I checked with our people. The maximum insn length on Intel
processor is 15byte.
--
H.J.