public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Kyrill Tkachov <kyrylo.tkachov@foss.arm.com>
To: Stam Markianos-Wright <Stam.Markianos-Wright@arm.com>,
	"gcc-patches@gcc.gnu.org" <gcc-patches@gcc.gnu.org>
Cc: Richard Earnshaw <Richard.Earnshaw@arm.com>,
	Richard Sandiford <Richard.Sandiford@arm.com>,
	Ramana Radhakrishnan <Ramana.Radhakrishnan@arm.com>,
	"nickc@redhat.com" <nickc@redhat.com>
Subject: Re: [GCC][PATCH][ARM] Add Bfloat16_t scalar type, vector types and machine modes to ARM back-end [1/2]
Date: Mon, 13 Jan 2020 10:33:00 -0000	[thread overview]
Message-ID: <98a733c8-1b46-ebdc-4b72-aa6a936d5dab@foss.arm.com> (raw)
In-Reply-To: <d3119dfd-10a4-89d2-e4dd-3aafe867fcfc@arm.com>

Hi Stam,

On 1/10/20 6:45 PM, Stam Markianos-Wright wrote:
> Hi all,
>
> This is a respin of patch:
>
> https://gcc.gnu.org/ml/gcc-patches/2019-12/msg01448.html
>
> which has now been split into two (similar to the Aarch64 version).
>
> This is patch 1 of 2 and adds Bfloat type support to the ARM back-end.
> It also adds a new machine_mode (BFmode) for this type and 
> accompanying Vector
> modes V4BFmode and V8BFmode.
>
> The second patch in this series uses existing target hooks to restrict 
> type use.
>
> Regression testing on arm-none-eabi passed successfully.
>
> This patch depends on:
>
> https://gcc.gnu.org/ml/gcc-patches/2019-12/msg00857.html
>
> for test suite effective_target update.
>
> Ok for trunk?

This is ok, thanks.

You can commit it once the git conversion goes through :)

Kyrill


>
> Cheers,
> Stam
>
>
> ACLE documents are at https://developer.arm.com/docs/101028/latest
> ISA documents are at https://developer.arm.com/docs/ddi0596/latest
>
> Details on ARM Bfloat can be found here:
> https://community.arm.com/developer/ip-products/processors/b/ml-ip-blog/posts/bfloat16-processing-for-neural-networks-on-armv8_2d00_a 
>
>
>
>
> gcc/ChangeLog:
>
> 2020-01-10  Stam Markianos-Wright <stam.markianos-wright@arm.com>
>
>         * config.gcc: Add arm_bf16.h.
>         * config/arm/arm-builtins.c (arm_mangle_builtin_type):  Fix 
> comment.
>         (arm_simd_builtin_std_type): Add BFmode.
>         (arm_init_simd_builtin_types): Define element types for vector 
> types.
>         (arm_init_bf16_types):  New function.
>         (arm_init_builtins): Add arm_init_bf16_types function call.
>         * config/arm/arm-modes.def: Add BFmode and V4BF, V8BF vector 
> modes.
>         * config/arm/arm-simd-builtin-types.def: Add V4BF, V8BF.
>         * config/arm/arm.c (aapcs_vfp_sub_candidate):  Add BFmode.
>         (arm_hard_regno_mode_ok): Add BFmode and tidy up statements.
>         (arm_vector_mode_supported_p): Add V4BF, V8BF.
>         (arm_mangle_type):
>         * config/arm/arm.h: Add V4BF, V8BF to VALID_NEON_DREG_MODE,
>           VALID_NEON_QREG_MODE respectively. Add export 
> arm_bf16_type_node,
>           arm_bf16_ptr_type_node.
>         * config/arm/arm.md: New enabled_for_bfmode_scalar,
>           enabled_for_bfmode_vector attributes. Add BFmode to movhf 
> expand.
>           pattern and define_split between ARM registers.
>         * config/arm/arm_bf16.h: New file.
>         * config/arm/arm_neon.h: Add arm_bf16.h and Bfloat vector types.
>         * config/arm/iterators.md (ANY64_BF, VDXMOV, VHFBF, HFBF, 
> fporbf): New.
>           (VQXMOV): Add V8BF.
>         * config/arm/neon.md: Add BF vector types to NEON move patterns.
>         * config/arm/vfp.md: Add BFmode to movhf patterns.
>
> gcc/testsuite/ChangeLog:
>
> 2020-01-10  Stam Markianos-Wright <stam.markianos-wright@arm.com>
>
>         * g++.dg/abi/mangle-neon.C: Add Bfloat vector types.
>         * g++.dg/ext/arm-bf16/bf16-mangle-1.C: New test.
>         * gcc.target/arm/bfloat16_scalar_1_1.c: New test.
>         * gcc.target/arm/bfloat16_scalar_1_2.c: New test.
>         * gcc.target/arm/bfloat16_scalar_2_1.c: New test.
>         * gcc.target/arm/bfloat16_scalar_2_2.c: New test.
>         * gcc.target/arm/bfloat16_scalar_3_1.c: New test.
>         * gcc.target/arm/bfloat16_scalar_3_2.c: New test.
>         * gcc.target/arm/bfloat16_scalar_4.c: New test.
>         * gcc.target/arm/bfloat16_simd_1_1.c: New test.
>         * gcc.target/arm/bfloat16_simd_1_2.c: New test.
>         * gcc.target/arm/bfloat16_simd_2_1.c: New test.
>         * gcc.target/arm/bfloat16_simd_2_2.c: New test.
>         * gcc.target/arm/bfloat16_simd_3_1.c: New test.
>         * gcc.target/arm/bfloat16_simd_3_2.c: New test.
>
>
>

  reply	other threads:[~2020-01-13 10:05 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-10 18:47 Stam Markianos-Wright
2020-01-13 10:33 ` Kyrill Tkachov [this message]
2020-01-16 16:01   ` Stam Markianos-Wright
2020-01-20 13:17     ` Christophe Lyon
2020-01-20 15:22       ` Stam Markianos-Wright
2020-01-20 15:59         ` Christophe Lyon

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=98a733c8-1b46-ebdc-4b72-aa6a936d5dab@foss.arm.com \
    --to=kyrylo.tkachov@foss.arm.com \
    --cc=Ramana.Radhakrishnan@arm.com \
    --cc=Richard.Earnshaw@arm.com \
    --cc=Richard.Sandiford@arm.com \
    --cc=Stam.Markianos-Wright@arm.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=nickc@redhat.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).