+2014-08-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/arm_neon.h (vqdmlals_lane_s32): Use scalar types
+ rather than singleton vectors.
+ (vqdmlsls_lane_s32): Likewise.
+
2014-08-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* config/aarch64/aarch64-simd.md (aarch64_sqdmulh_laneq<mode>):
return __builtin_aarch64_sqdmlalsi (__a, __b, __c);
}
-__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
-vqdmlals_lane_s32 (int64x1_t __a, int32x1_t __b, int32x2_t __c, const int __d)
+__extension__ static __inline int64_t __attribute__ ((__always_inline__))
+vqdmlals_lane_s32 (int64_t __a, int32_t __b, int32x2_t __c, const int __d)
{
- return (int64x1_t)
- {__builtin_aarch64_sqdmlal_lanesi (__a[0], __b, __c, __d)};
+ return __builtin_aarch64_sqdmlal_lanesi (__a, __b, __c, __d);
}
__extension__ static __inline int64_t __attribute__ ((__always_inline__))
return __builtin_aarch64_sqdmlslsi (__a, __b, __c);
}
-__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
-vqdmlsls_lane_s32 (int64x1_t __a, int32x1_t __b, int32x2_t __c, const int __d)
+__extension__ static __inline int64_t __attribute__ ((__always_inline__))
+vqdmlsls_lane_s32 (int64_t __a, int32_t __b, int32x2_t __c, const int __d)
{
- return (int64x1_t) {__builtin_aarch64_sqdmlsl_lanesi (__a[0], __b, __c, __d)};
+ return __builtin_aarch64_sqdmlsl_lanesi (__a, __b, __c, __d);
}
__extension__ static __inline int64_t __attribute__ ((__always_inline__))
+2014-08-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * gcc.target/aarch64/scalar_intrinsics.c (test_vqdmlals_lane_s32):
+ Fix types.
+ (test_vqdmlsls_lane_s32): Likewise.
+ * gcc.target/aarch64/simd/vqdmlals_lane_s32.c: Likewise.
+ * gcc.target/aarch64/simd/vqdmlsls_lane_s32.c: Likewise.
+
2014-08-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* gcc.target/aarch64/simd/vqdmlalh_laneq_s16_1.c: New test.
/* { dg-final { scan-assembler-times "\\tsqdmlal\\td\[0-9\]+, s\[0-9\]+, v" 1 } } */
-int64x1_t
-test_vqdmlals_lane_s32 (int64x1_t a, int32x1_t b, int32x2_t c)
+int64_t
+test_vqdmlals_lane_s32 (int64_t a, int32_t b, int32x2_t c)
{
return vqdmlals_lane_s32 (a, b, c, 1);
}
/* { dg-final { scan-assembler-times "\\tsqdmlsl\\td\[0-9\]+, s\[0-9\]+, v" 1 } } */
-int64x1_t
-test_vqdmlsls_lane_s32 (int64x1_t a, int32x1_t b, int32x2_t c)
+int64_t
+test_vqdmlsls_lane_s32 (int64_t a, int32_t b, int32x2_t c)
{
return vqdmlsls_lane_s32 (a, b, c, 1);
}
#include "arm_neon.h"
-int64x1_t
-t_vqdmlals_lane_s32 (int64x1_t a, int32x1_t b, int32x2_t c)
+int64_t
+t_vqdmlals_lane_s32 (int64_t a, int32_t b, int32x2_t c)
{
return vqdmlals_lane_s32 (a, b, c, 0);
}
#include "arm_neon.h"
-int64x1_t
-t_vqdmlsls_lane_s32 (int64x1_t a, int32x1_t b, int32x2_t c)
+int64_t
+t_vqdmlsls_lane_s32 (int64_t a, int32_t b, int32x2_t c)
{
return vqdmlsls_lane_s32 (a, b, c, 0);
}