> -----Original Message----- > From: Christophe Lyon <christophe.l...@linaro.org> > Sent: 29 January 2021 18:26 > To: Kyrylo Tkachov <kyrylo.tkac...@arm.com> > Cc: gcc-patches@gcc.gnu.org > Subject: Re: [PATCH] aarch64: Remove testing of saturation cumulative QC > bit > > On Tue, 19 Jan 2021 at 18:31, Kyrylo Tkachov via Gcc-patches > <gcc-patches@gcc.gnu.org> wrote: > > > > Hi all, > > > > Since we don't guarantee the ordering of the QC flag in FPSR in the > saturation intrinsics, we shouldn't be testing for it. > > I want to relax the flags for some of the builtins to enable more > optimisation but that triggers the QC flag tests in advsimd-intrinsics.exp. > > We don't implement the saturation flag access intrinsics in aarch64 anyway > and we don't want to. > > So this means that the tests would no longer catch an unexpected > regression on arm wrt QC flag?
Yes, the things that make it impractical to support the QC flag in aarch64 also apply to arm. > > IIUC, this also means that the QC flag is only meaningful with writing > assembly after these two patches? I suppose so, yes. Perhaps we can note it somewhere in the documentation. Thanks, Kyrill > > > > > Tested on aarch64-none-elf and arm-none-eabi. > > > > Pushing to master. > > Thanks, > > Kyrill > > > > gcc/testsuite/ChangeLog: > > > > * gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h > (CHECK_CUMULATIVE_SAT): Delete. > > (CHECK_CUMULATIVE_SAT_NAMED): Likewise. Deleted related > variables. > > * gcc.target/aarch64/advsimd-intrinsics/binary_sat_op.inc: Remove > uses of the above. > > * gcc.target/aarch64/advsimd-intrinsics/unary_sat_op.inc: Likewise. > > * gcc.target/aarch64/advsimd-intrinsics/vqabs.c: Likewise. > > * gcc.target/aarch64/advsimd-intrinsics/vqadd.c: Likewise. > > * gcc.target/aarch64/advsimd-intrinsics/vqdmlXl.inc: Likewise. > > * gcc.target/aarch64/advsimd-intrinsics/vqdmlXl_lane.inc: Likewise. > > * gcc.target/aarch64/advsimd-intrinsics/vqdmlXl_n.inc: Likewise. > > * gcc.target/aarch64/advsimd-intrinsics/vqdmlal.c: Likewise. > > * gcc.target/aarch64/advsimd-intrinsics/vqdmlal_lane.c: Likewise. > > * gcc.target/aarch64/advsimd-intrinsics/vqdmlal_n.c: Likewise. > > * gcc.target/aarch64/advsimd-intrinsics/vqdmlsl.c: Likewise. > > * gcc.target/aarch64/advsimd-intrinsics/vqdmlsl_lane.c: Likewise. > > * gcc.target/aarch64/advsimd-intrinsics/vqdmlsl_n.c: Likewise. > > * gcc.target/aarch64/advsimd-intrinsics/vqdmulh.c: Likewise. > > * gcc.target/aarch64/advsimd-intrinsics/vqdmulh_lane.c: Likewise. > > * gcc.target/aarch64/advsimd-intrinsics/vqdmulh_n.c: Likewise. > > * gcc.target/aarch64/advsimd-intrinsics/vqdmull.c: Likewise. > > * gcc.target/aarch64/advsimd-intrinsics/vqdmull_lane.c: Likewise. > > * gcc.target/aarch64/advsimd-intrinsics/vqdmull_n.c: Likewise. > > * gcc.target/aarch64/advsimd-intrinsics/vqmovn.c: Likewise. > > * gcc.target/aarch64/advsimd-intrinsics/vqmovun.c: Likewise. > > * gcc.target/aarch64/advsimd-intrinsics/vqneg.c: Likewise. > > * gcc.target/aarch64/advsimd-intrinsics/vqrdmlXh.inc: Likewise. > > * gcc.target/aarch64/advsimd-intrinsics/vqrdmlXh_lane.inc: Likewise. > > * gcc.target/aarch64/advsimd-intrinsics/vqrdmlah.c: Likewise. > > * gcc.target/aarch64/advsimd-intrinsics/vqrdmlah_lane.c: Likewise. > > * gcc.target/aarch64/advsimd-intrinsics/vqrdmlsh.c: Likewise. > > * gcc.target/aarch64/advsimd-intrinsics/vqrdmlsh_lane.c: Likewise. > > * gcc.target/aarch64/advsimd-intrinsics/vqrdmulh.c: Likewise. > > * gcc.target/aarch64/advsimd-intrinsics/vqrdmulh_lane.c: Likewise. > > * gcc.target/aarch64/advsimd-intrinsics/vqrdmulh_n.c: Likewise. > > * gcc.target/aarch64/advsimd-intrinsics/vqrshl.c: Likewise. > > * gcc.target/aarch64/advsimd-intrinsics/vqrshrn_n.c: Likewise. > > * gcc.target/aarch64/advsimd-intrinsics/vqrshrun_n.c: Likewise. > > * gcc.target/aarch64/advsimd-intrinsics/vqshl.c: Likewise. > > * gcc.target/aarch64/advsimd-intrinsics/vqshl_n.c: Likewise. > > * gcc.target/aarch64/advsimd-intrinsics/vqshlu_n.c: Likewise. > > * gcc.target/aarch64/advsimd-intrinsics/vqshrn_n.c: Likewise. > > * gcc.target/aarch64/advsimd-intrinsics/vqshrun_n.c: Likewise. > > * gcc.target/aarch64/advsimd-intrinsics/vqsub.c: Likewise.