public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
From: Paul Brook <paul@codesourcery.com>
To: Julian Brown <julian@codesourcery.com>
Cc: binutils@sources.redhat.com,
	 Richard Earnshaw <Richard.Earnshaw@arm.com>
Subject: Re: [PATCH] ARM Neon instruction set support
Date: Sat, 01 Apr 2006 02:49:00 -0000	[thread overview]
Message-ID: <200604010349.23269.paul@codesourcery.com> (raw)
In-Reply-To: <442DD9E0.1090408@codesourcery.com>

On Saturday 01 April 2006 02:39, Julian Brown wrote:
> Hi,
>
> This patch provides support for ARM's new Advanced SIMD (Neon)
> instruction set, and version 3 of the VFP instruction set. Code using
> Neon instructions can be both assembled and disassembled. The full range
> of SIMD data types is available, and should be correctly type-checked by
> the assembler.

As-is the patch looks generally ok to me, a couple of relatively minor points 
below. Ok for the csl branch once those are resolved.

ARM have also defined all the existing VFP instructions in terms of the vector 
mnemonics. eg. "faddd d0, d0, d0" becomes "vadd.f64 d0, d0, d0).
We probably want to consider the implications of this before applying to 
mainline. Hopefully this will be an incremental change that can be done 
without rewriting everything, but it's best to check :-)

> +   /* Undo polymorphism for Neon D and Q registers.  */
> +   if (reg && type == REG_TYPE_NDQ)
> +     type = (reg->type == REG_TYPE_NQ || reg->type == REG_TYPE_VFD)
> +            ? reg->type : type;

Probably clearer as a single if:

if (reg && type == REG_TYPE_NDQ
    &&(reg->type == REG_TYPE_NQ || reg->type == REG_TYPE_VFD))
  type = reg->type;

> !   /* FIXME: Check if cortex-a8 supports these things!  */
> !   {"cortex-a8",               ARM_ARCH_V7A,    ARM_FEATURE(0, FPU_VFP_V3

Yes it does. You can remove the FIXME.

> +   {"vfp3",              FPU_ARCH_VFP_V3},

You also need to add some way of enabling NEON. I'm not sure if it's best to 
have this as an independent architecture extension (like iWMMXt) or just a 
different type of FPU. Probably the latter.

You also need to set the appropriate EABI build attributes to when NEON and 
VFPv3 instructions are used.

Paul

  reply	other threads:[~2006-04-01  2:49 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-04-01  1:40 Julian Brown
2006-04-01  2:49 ` Paul Brook [this message]
2006-04-02 23:30   ` Julian Brown
2006-04-19 16:38     ` Julian Brown
2006-04-25 19:12       ` Nick Clifton
2006-04-25 19:20       ` [PATCH] ARM Neon programmers syntax Nick Clifton

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200604010349.23269.paul@codesourcery.com \
    --to=paul@codesourcery.com \
    --cc=Richard.Earnshaw@arm.com \
    --cc=binutils@sources.redhat.com \
    --cc=julian@codesourcery.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).