// RUN: %clang_cc1 -triple arm64-none-linux-gnu -target-feature +neon \
// RUN:  -S -disable-O0-optnone -emit-llvm -o - %s 2>&1 | FileCheck %s

#include <arm_neon.h>

// Check float conversion is not accepted for unsigned int argument
int8_t test_vuqaddb_s8(){
  return vuqaddb_s8(1, -1.0f);
}

int16_t test_vuqaddh_s16() {
  return vuqaddh_s16(1, -1.0f);
}

int32_t test_vuqadds_s32() {
  return vuqadds_s32(1, -1.0f);
}

int64_t test_vuqaddd_s64() {
  return vuqaddd_s64(1, -1.0f);
}
// CHECK: warning: implicit conversion of out of range value from 'float' to 'uint8_t' (aka 'unsigned char') is undefined
// CHECK: warning: implicit conversion of out of range value from 'float' to 'uint16_t' (aka 'unsigned short') is undefined
// CHECK: warning: implicit conversion of out of range value from 'float' to 'uint32_t' (aka 'unsigned int') is undefined
// CHECK: warning: implicit conversion of out of range value from 'float' to 'uint64_t' (aka 'unsigned long') is undefined

