This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH][arm][2/X] Implement __qadd, __qsub, __qdbl intrinsics
- From: Christophe Lyon <christophe dot lyon at linaro dot org>
- To: Kyrill Tkachov <kyrylo dot tkachov at foss dot arm dot com>
- Cc: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Date: Tue, 12 Nov 2019 15:54:30 +0100
- Subject: Re: [PATCH][arm][2/X] Implement __qadd, __qsub, __qdbl intrinsics
- References: <d684e54b-d723-3a81-efda-9065d93f82ff@foss.arm.com>
On Thu, 7 Nov 2019 at 11:27, Kyrill Tkachov <kyrylo.tkachov@foss.arm.com> wrote:
>
> Hi all,
>
> This patch implements some more Q-bit-setting intrinsics from ACLE.
> With the plumbing from patch 1 in place they are a simple builtin->RTL
> affair.
>
> Bootstrapped and tested on arm-none-linux-gnueabihf.
>
> Committing to trunk.
> Thanks,
> Kyrill
>
> 2019-11-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
>
> * config/arm/arm.md (arm_<ss_op>): New define_expand.
> (arm_<ss_op><add_clobber_q_name>_insn): New define_insn.
> * config/arm/arm_acle.h (__qadd, __qsub, __qdbl): Define.
> * config/arm/arm_acle_builtins.def: Add builtins for qadd, qsub.
> * config/arm/iterators.md (SSPLUSMINUS): New code iterator.
> (ss_op): New code_attr.
>
> 2019-11-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
>
> * gcc.target/arm/acle/dsp_arith.c: New test.
>
Hi Kyrill,
This new test fails when gcc is configured --with-cpu=cortex-m3:
FAIL: gcc.target/arm/acle/dsp_arith.c -O0 (test for excess errors)
Excess errors:
/gcc/testsuite/gcc.target/arm/acle/dsp_arith.c:10:10: warning:
implicit declaration of function '__qadd'
[-Wimplicit-function-declaration]
/gcc/testsuite/gcc.target/arm/acle/dsp_arith.c:16:10: warning:
implicit declaration of function '__qdbl'
[-Wimplicit-function-declaration]
/gcc/testsuite/gcc.target/arm/acle/dsp_arith.c:24:10: warning:
implicit declaration of function '__qsub'
[-Wimplicit-function-declaration]
The new intrinsics are defined under __ARM_FEATURE_DSP but the
arm_qbit_flags effective target passes with "" as flags.
Christophe