1/* { dg-do compile { target { aarch64*-*-* } } } */
2/* { dg-options "-O2" } */
3
4#include "arm_neon.h"
5
6void foo (int a)
7{
8  int32x2_t arg1;
9  int32x2_t arg2;
10  int32x2_t result;
11  arg1 = vcreate_s32 (UINT64_C (0x0000ffffffffffff));
12  arg2 = vcreate_s32 (UINT64_C (0x16497fffffffffff));
13  /* The correct line number is in the preamble to the error message,
14     not in the final line (which is all that dg-error inspects). Hence,
15     we have to tell dg-error to ignore the line number.  */
16  result = vrsra_n_s32 (arg1, arg2, a);
17  /* { dg-error "must be a constant immediate" "" { target *-*-* } 0 } */
18}
19