On 1/16/20 4:05 PM, Stam Markianos-Wright wrote:
>
>
> On 1/10/20 6:48 PM, Stam Markianos-Wright wrote:
>>
>>
>> On 12/18/19 1:25 PM, Stam Markianos-Wright wrote:
>>>
>>>
>>> On 12/13/19 10:22 AM, Stam Markianos-Wright wrote:
>>>> Hi all,
>>>>
>>>> This patch adds the ARMv8.6 Extension ACLE intrinsics for dot product
>>>> operations (vector/by element) to the ARM back-end.
>>>>
>>>> These are:
>>>> usdot (vector), <us/su>dot (by element).
>>>>
>>>> The functions are optional from ARMv8.2-a as -march=armv8.2-a+i8mm and
>>>> for ARM they remain optional as of ARMv8.6-a.
>>>>
>>>> The functions are declared in arm_neon.h, RTL patterns are defined to
>>>> generate assembler and tests are added to verify and perform adequate
>>>> checks.
>>>>
>>>> Regression testing on arm-none-eabi passed successfully.
>>>>
>>>> This patch depends on:
>>>>
>>>> https://gcc.gnu.org/ml/gcc-patches/2019-11/msg02195.html
>>>>
>>>> for ARM CLI updates, and on:
>>>>
>>>> https://gcc.gnu.org/ml/gcc-patches/2019-12/msg00857.html
>>>>
>>>> for testsuite effective_target update.
>>>>
>>>> Ok for trunk?
>>>
>>> .Ping :)
>>>
>> Ping :)
>>
>> New diff addressing review comments from Aarch64 version of the patch.
>>
>> _Change of order of operands in RTL patterns.
>> _Change tests to use check-function-bodies, compile with optimisation and
>> check for exact registers.
>> _Rename tests to remove "-compile-" in filename.
>>
>
> Ping!
>
> Cheers,
> Stam
>
>>>>
>>>> Cheers,
>>>> Stam
>>>>
>>>>
>>>> ACLE documents are at https://developer.arm.com/docs/101028/latest
>>>> ISA documents are at https://developer.arm.com/docs/ddi0596/latest
>>>>
>>>> PS. I don't have commit rights, so if someone could commit on my behalf,
>>>> that would be great :)
>>>>
>>>>
>>>> gcc/ChangeLog:
>>>>
>>>> 2019-11-28 Stam Markianos-Wright <stam.markianos-wri...@arm.com>
>>>>
>>>> * config/arm/arm-builtins.c (enum arm_type_qualifiers):
>>>> (USTERNOP_QUALIFIERS): New define.
>>>> (USMAC_LANE_QUADTUP_QUALIFIERS): New define.
>>>> (SUMAC_LANE_QUADTUP_QUALIFIERS): New define.
>>>> (arm_expand_builtin_args):
>>>> Add case ARG_BUILTIN_LANE_QUADTUP_INDEX.
>>>> (arm_expand_builtin_1): Add qualifier_lane_quadtup_index.
>>>> * config/arm/arm_neon.h (vusdot_s32): New.
>>>> (vusdot_lane_s32): New.
>>>> (vusdotq_lane_s32): New.
>>>> (vsudot_lane_s32): New.
>>>> (vsudotq_lane_s32): New.
>>>> * config/arm/arm_neon_builtins.def
>>>> (usdot,usdot_lane,sudot_lane): New.
>>>> * config/arm/iterators.md (DOTPROD_I8MM): New.
>>>> (sup, opsuffix): Add <us/su>.
>>>> * config/arm/neon.md (neon_usdot, <us/su>dot_lane: New.
>>>> * config/arm/unspecs.md (UNSPEC_DOT_US, UNSPEC_DOT_SU): New.
>>>>
>>>>
>>>> gcc/testsuite/ChangeLog:
>>>>
>>>> 2019-12-12 Stam Markianos-Wright <stam.markianos-wri...@arm.com>
>>>>
>>>> * gcc.target/arm/simd/vdot-compile-2-1.c: New test.
>>>> * gcc.target/arm/simd/vdot-compile-2-2.c: New test.
>>>> * gcc.target/arm/simd/vdot-compile-2-3.c: New test.
>>>> * gcc.target/arm/simd/vdot-compile-2-4.c: New test.
>>>>
>>>>
>>