Message ID | 573C397B.8030304@foss.arm.com |
---|---|
State | New |
Headers | show |
On 18 May 2016 at 11:44, Jiong Wang <jiong.wang@foss.arm.com> wrote: > > > On 18/05/16 09:25, Christophe Lyon wrote: >> >> >> Unfortunately, the guard is not correct :( >> >> The float64_t type is not available on arm, so the new >> declarations/definitions in arm-neon-ref.h >> need a guard. >> >> Since this patch was checked-in, all the advsimd intrinsics tests fail >> to compile >> on arm: >> In file included from >> >> /aci-gcc-fsf/sources/gcc-fsf/gccsrc/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vaba.c:2:0: >> >> /aci-gcc-fsf/sources/gcc-fsf/gccsrc/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h:139:22: >> error: unknown type name 'float64_t' >> >> /aci-gcc-fsf/sources/gcc-fsf/gccsrc/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h:51:35: >> note: in definition of macro 'VECT_VAR_DECL' >> >> /aci-gcc-fsf/sources/gcc-fsf/gccsrc/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h:139:8: >> note: in expansion of macro 'ARRAY' >> >> > > Hi Christophe > > sorry for the breakage. > I have run aarch64 regression before commit, I will keep in mind to run arm > also next time as this directory is shared. > > I committed the following fix, r236370, as obivious after retest of > advsimd-intrinsics.exp > for both aarch64 and arm OK. > > gcc/testsuite/ > > 2016-05-18 Jiong Wang <jiong.wang@arm.com> > > * gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h: Guard > float64_t > with __aarch64__. > * gcc.target/aarch64/advsimd-intrinsics/vfms_vfma_n.c: Guard > variable > declaration under __aarch64__ and __ARM_FEATURE_FMA. > Cool, thanks. I was running the tests with the same patch before committing too :) Christophe.
diff --git a/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h b/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h index cf90825..dde0e45 100644 --- a/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h +++ b/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h @@ -136,8 +136,10 @@ static ARRAY(result, poly, 16, 4); #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE) static ARRAY(result, float, 16, 4); #endif -static ARRAY(result, float, 64, 1); static ARRAY(result, float, 32, 2); +#ifdef __aarch64__ +static ARRAY(result, float, 64, 1); +#endif static ARRAY(result, int, 8, 16); static ARRAY(result, int, 16, 8); static ARRAY(result, int, 32, 4); diff --git a/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vfms_vfma_n.c b/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vfms_vfma_n.c index 2622376..efa9b5f 100644 --- a/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vfms_vfma_n.c +++ b/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vfms_vfma_n.c @@ -2,6 +2,8 @@ #include "arm-neon-ref.h" #include "compute-ref-data.h" +#if defined(__aarch64__) && defined(__ARM_FEATURE_FMA) + #define A0 123.4f #define A1 -3.8f #define A2 -29.4f @@ -56,8 +58,6 @@ float64_t delem1 = DE1; float64_t delem2 = DE2; float64_t delem3 = DE3; -#if defined(__aarch64__) && defined(__ARM_FEATURE_FMA) - /* Expected results for vfms_n. */ VECT_VAR_DECL(expectedfms0, float, 32, 2) [] = {A0 + -B0 * E0, A1 + -B1 * E0};