BUILTIN_VDQ_BHSI (TERNOP, saba, 0, NONE)
BUILTIN_VDQ_BHSI (TERNOPU, uaba, 0, NONE)
- BUILTIN_VDQV_S (BINOP, sadalp, 0, NONE)
- BUILTIN_VDQV_S (BINOPU, uadalp, 0, NONE)
+ BUILTIN_VDQV_L (BINOP, sadalp, 0, NONE)
+ BUILTIN_VDQV_L (BINOPU, uadalp, 0, NONE)
/* Implemented by aarch64_<sur>abal<mode>. */
BUILTIN_VD_BHSI (TERNOP, sabal, 0, NONE)
(define_insn "aarch64_<sur>adalp<mode>"
[(set (match_operand:<VDBLW> 0 "register_operand" "=w")
- (unspec:<VDBLW> [(match_operand:VDQV_S 2 "register_operand" "w")
- (match_operand:<VDBLW> 1 "register_operand" "0")]
+ (unspec:<VDBLW> [(match_operand:VDQV_L 2 "register_operand" "w")
+ (match_operand:<VDBLW> 1 "register_operand" "0")]
ADALP))]
"TARGET_SIMD"
"<sur>adalp\t%0.<Vwhalf>, %2.<Vtype>"
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadal_s32 (int64x1_t __a, int32x2_t __b)
{
- int64x1_t __result;
- __asm__ ("sadalp %0.1d,%2.2s"
- : "=w"(__result)
- : "0"(__a), "w"(__b)
- : /* No clobbers */);
- return __result;
+ return (int64x1_t) __builtin_aarch64_sadalpv2si (__a[0], __b);
}
__extension__ extern __inline uint16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadal_u32 (uint64x1_t __a, uint32x2_t __b)
{
- uint64x1_t __result;
- __asm__ ("uadalp %0.1d,%2.2s"
- : "=w"(__result)
- : "0"(__a), "w"(__b)
- : /* No clobbers */);
- return __result;
+ return (uint64x1_t) __builtin_aarch64_uadalpv2si_uuu (__a[0], __b);
}
__extension__ extern __inline int16x8_t