blob: 1e963e5002e666e32e12b2eef965b206c7344015 [file] [log] [blame]
/* { dg-do compile { target aarch64-*-* } } */
#include <arm_neon.h>
/*
**add:
** smlal v0.4s, v1.4h, v2.h[3]
** ret
*/
int32x4_t add(int32x4_t acc, int16x4_t b, int16x4_t c) {
return vmlal_n_s16(acc, b, c[3]);
}
/*
**sub:
** smlsl v0.4s, v1.4h, v2.h[3]
** ret
*/
int32x4_t sub(int32x4_t acc, int16x4_t b, int16x4_t c) {
return vmlsl_n_s16(acc, b, c[3]);
}
/*
**smull:
** smull v0.4s, v1.4h, v2.h[3]
** ret
*/
int32x4_t smull(int16x4_t b, int16x4_t c) {
return vmull_n_s16(b, c[3]);
}
/*
**umull:
** umull v0.4s, v1.4h, v2.h[3]
** ret
*/
uint32x4_t umull(uint16x4_t b, uint16x4_t c) {
return vmull_n_u16(b, c[3]);
}
/* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" {-O[^0]} } } */