[GCC][PATCH] Add ARM-specific Bfloat format support to middle-end

Jeff Law law@redhat.com
Mon Dec 2 17:13:00 GMT 2019

On 11/15/19 5:02 AM, Stam Markianos-Wright wrote:
> Hi all,
> This patch adds support for a new real_format for ARM Brain Floating 
> Point numbers to the middle end. This is to be used exclusively in the 
> ARM back-end.
> The encode_arm_bfloat_half and decode_arm_bfloat_half functions are 
> provided to satisfy real_format struct requirements, but are never 
> intended to be called, which is why they are provided without an 
> explicit test.
> 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
> Regtested on aarch64-none-elf for sanity.
> Is this ok for trunk?
> Also, I do not have commit rights, so could someone commit this on my 
> behalf?
> Thank you!
> Stam Markianos-Wright
> 2019-11-13  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
>        * real.c (struct arm_bfloat_half_format,
>        encode_arm_bfloat_half, decode_arm_bfloat_half): New.
>        * real.h (arm_bfloat_half_format): New.
Generally OK.  Please consider using "arm_bfloat_half" instead of
"bfloat_half" for the name field in the arm_bfloat_half_format
structure.  I'm not sure if that's really visible externally, but it
seems to me we want to be conservative and not imply any of these
half-float formats are the "one true half-float format".


More information about the Gcc-patches mailing list