(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
arm/
acle/
cde-mve-error-2.c
       1  #include "arm_cde.h"
       2  
       3  /* { dg-do assemble } */
       4  /* { dg-require-effective-target arm_v8_1m_main_cde_mve_fp_ok } */
       5  /* { dg-add-options arm_v8_1m_main_cde_mve_fp } */
       6  
       7  /* The error checking files are split since there are three kinds of
       8     errors happening here.  Different error types cause errors at different
       9     times, which means the compiler stops and doesn't produce messages about the
      10     later errors.  Hence they need to be in a different file so we can inspect
      11     these ones.  */
      12  
      13  uint8x16_t test_bad_immediates (uint8x16_t n, uint8x16_t m, int someval,
      14  				mve_pred16_t pred)
      15  {
      16    uint8x16_t accum = (uint8x16_t)(uint32x4_t){0, 0, 0, 0};
      17  
      18    /* We always different constants for the pairs (__arm_vcx2q and
      19       __arm_vcx2q_u8) and (__arm_vcx3q and __arm_vcx3q_u8) despite them mapping
      20       to the same builtin and us wanting to test the same thing in each block.
      21  
      22       This is because we have told the compiler that these functions are
      23       constant and pure (i.e. produce a value solely based on their arguments
      24       and have no side-effects).
      25  
      26       With that information the compiler eliminates duplicate calls to the
      27       functions, and we only get error messages for one of the pairs.
      28       Hence, in order to get error messages for both function calls, we use
      29       different constants.  */
      30  
      31    /* `coproc' not enabled.  */
      32    accum += __arm_vcx1q_u8 (1, 4095);           /* { dg-error {coprocessor 1 is not enabled with \+cdecp1} } */
      33    accum += __arm_vcx1qa (1, accum, 4095);      /* { dg-error {coprocessor 1 is not enabled with \+cdecp1} } */
      34    accum += __arm_vcx2q (1, n, 126);            /* { dg-error {coprocessor 1 is not enabled with \+cdecp1} } */
      35    accum += __arm_vcx2q_u8 (1, n, 127);         /* { dg-error {coprocessor 1 is not enabled with \+cdecp1} } */
      36    accum += __arm_vcx2qa (1, accum, n, 127);    /* { dg-error {coprocessor 1 is not enabled with \+cdecp1} } */
      37    accum += __arm_vcx3q_u8 (1, n, m, 14);       /* { dg-error {coprocessor 1 is not enabled with \+cdecp1} } */
      38    accum += __arm_vcx3q (1, n, m, 15);          /* { dg-error {coprocessor 1 is not enabled with \+cdecp1} } */
      39    accum += __arm_vcx3qa (1, accum, n, m, 15);  /* { dg-error {coprocessor 1 is not enabled with \+cdecp1} } */
      40  
      41    accum += __arm_vcx1q_m (1, accum, 4094, pred);       /* { dg-error {coprocessor 1 is not enabled with \+cdecp1} } */
      42    accum += __arm_vcx1qa_m (1, accum, 4095, pred);      /* { dg-error {coprocessor 1 is not enabled with \+cdecp1} } */
      43    accum += __arm_vcx2q_m (1, accum, n, 126, pred);     /* { dg-error {coprocessor 1 is not enabled with \+cdecp1} } */
      44    accum += __arm_vcx2qa_m (1, accum, n, 127, pred);    /* { dg-error {coprocessor 1 is not enabled with \+cdecp1} } */
      45    accum += __arm_vcx3q_m (1, accum, n, m, 15, pred);   /* { dg-error {coprocessor 1 is not enabled with \+cdecp1} } */
      46    accum += __arm_vcx3qa_m (1, accum, n, m, 15, pred);  /* { dg-error {coprocessor 1 is not enabled with \+cdecp1} } */
      47  
      48    /* `coproc' out of range.  */
      49    accum += __arm_vcx1q_u8 (8, 4095);           /* { dg-error {coproc must be a constant immediate in range \[0-7\] enabled with .\+cdecp<N>.} } */
      50    accum += __arm_vcx1qa (8, accum, 4095);      /* { dg-error {coproc must be a constant immediate in range \[0-7\] enabled with .\+cdecp<N>.} } */
      51    accum += __arm_vcx2q (8, n, 126);            /* { dg-error {coproc must be a constant immediate in range \[0-7\] enabled with .\+cdecp<N>.} } */
      52    accum += __arm_vcx2q_u8 (8, n, 127);         /* { dg-error {coproc must be a constant immediate in range \[0-7\] enabled with .\+cdecp<N>.} } */
      53    accum += __arm_vcx2qa (8, accum, n, 127);    /* { dg-error {coproc must be a constant immediate in range \[0-7\] enabled with .\+cdecp<N>.} } */
      54    accum += __arm_vcx3q_u8 (8, n, m, 14);       /* { dg-error {coproc must be a constant immediate in range \[0-7\] enabled with .\+cdecp<N>.} } */
      55    accum += __arm_vcx3q (8, n, m, 15);          /* { dg-error {coproc must be a constant immediate in range \[0-7\] enabled with .\+cdecp<N>.} } */
      56    accum += __arm_vcx3qa (8, accum, n, m, 15);  /* { dg-error {coproc must be a constant immediate in range \[0-7\] enabled with .\+cdecp<N>.} } */
      57  
      58    accum += __arm_vcx1q_m (8, accum, 4094, pred);       /* { dg-error {coproc must be a constant immediate in range \[0-7\] enabled with .\+cdecp<N>.} } */
      59    accum += __arm_vcx1qa_m (8, accum, 4095, pred);      /* { dg-error {coproc must be a constant immediate in range \[0-7\] enabled with .\+cdecp<N>.} } */
      60    accum += __arm_vcx2q_m (8, accum, n, 126, pred);     /* { dg-error {coproc must be a constant immediate in range \[0-7\] enabled with .\+cdecp<N>.} } */
      61    accum += __arm_vcx2qa_m (8, accum, n, 127, pred);    /* { dg-error {coproc must be a constant immediate in range \[0-7\] enabled with .\+cdecp<N>.} } */
      62    accum += __arm_vcx3q_m (8, accum, n, m, 15, pred);   /* { dg-error {coproc must be a constant immediate in range \[0-7\] enabled with .\+cdecp<N>.} } */
      63    accum += __arm_vcx3qa_m (8, accum, n, m, 15, pred);  /* { dg-error {coproc must be a constant immediate in range \[0-7\] enabled with .\+cdecp<N>.} } */
      64  
      65    /* `imm' out of range.  */
      66    accum += __arm_vcx1q_u8 (0, 4096);           /* { dg-error {argument 2 to '__builtin_arm_vcx1qv16qi' must be a constant immediate in range \[0-4095\]} } */
      67    accum += __arm_vcx1qa (0, accum, 4096);      /* { dg-error {argument 3 to '__builtin_arm_vcx1qav16qi' must be a constant immediate in range \[0-4095\]} } */
      68    accum += __arm_vcx2q (0, n, 128);            /* { dg-error {argument 3 to '__builtin_arm_vcx2qv16qi' must be a constant immediate in range \[0-127\]} } */
      69    accum += __arm_vcx2q_u8 (0, n, 129);         /* { dg-error {argument 3 to '__builtin_arm_vcx2qv16qi' must be a constant immediate in range \[0-127\]} } */
      70    accum += __arm_vcx2qa (0, accum, n, 128);    /* { dg-error {argument 4 to '__builtin_arm_vcx2qav16qi' must be a constant immediate in range \[0-127\]} } */
      71    accum += __arm_vcx3q_u8 (0, n, m, 16);       /* { dg-error {argument 4 to '__builtin_arm_vcx3qv16qi' must be a constant immediate in range \[0-15\]} } */
      72    accum += __arm_vcx3q (0, n, m, 17);          /* { dg-error {argument 4 to '__builtin_arm_vcx3qv16qi' must be a constant immediate in range \[0-15\]} } */
      73    accum += __arm_vcx3qa (0, accum, n, m, 16);  /* { dg-error {argument 5 to '__builtin_arm_vcx3qav16qi' must be a constant immediate in range \[0-15\]} } */
      74  
      75    accum += __arm_vcx1q_m (0, accum, 4097, pred);      /* { dg-error {argument 3 to '__builtin_arm_vcx1q_p_v16qi' must be a constant immediate in range \[0-4095\]} } */
      76    accum += __arm_vcx1qa_m (0, accum, 4096, pred);     /* { dg-error {argument 3 to '__builtin_arm_vcx1qa_p_v16qi' must be a constant immediate in range \[0-4095\]} } */
      77    accum += __arm_vcx2q_m (0, accum, n, 128, pred);    /* { dg-error {argument 4 to '__builtin_arm_vcx2q_p_v16qi' must be a constant immediate in range \[0-127\]} } */
      78    accum += __arm_vcx2qa_m (0, accum, n, 128, pred);   /* { dg-error {argument 4 to '__builtin_arm_vcx2qa_p_v16qi' must be a constant immediate in range \[0-127\]} } */
      79    accum += __arm_vcx3q_m (0, accum, n, m, 17, pred);  /* { dg-error {argument 5 to '__builtin_arm_vcx3q_p_v16qi' must be a constant immediate in range \[0-15\]} } */
      80    accum += __arm_vcx3qa_m (0, accum, n, m, 16, pred); /* { dg-error {argument 5 to '__builtin_arm_vcx3qa_p_v16qi' must be a constant immediate in range \[0-15\]} } */
      81  
      82    /* `imm' is not an immediate.  */
      83    accum += __arm_vcx1q_u8 (6, someval);             /* { dg-error {argument 2 to '__builtin_arm_vcx1qv16qi' must be a constant immediate in range \[0-4095\]} } */
      84    accum += __arm_vcx1qa (0, accum, someval);        /* { dg-error {argument 3 to '__builtin_arm_vcx1qav16qi' must be a constant immediate in range \[0-4095\]} } */
      85    accum += __arm_vcx2q (0, n, someval);             /* { dg-error {argument 3 to '__builtin_arm_vcx2qv16qi' must be a constant immediate in range \[0-127\]} } */
      86    accum += __arm_vcx2q_u8 (6, n, someval);          /* { dg-error {argument 3 to '__builtin_arm_vcx2qv16qi' must be a constant immediate in range \[0-127\]} } */
      87    accum += __arm_vcx2qa (0, accum, n, someval);     /* { dg-error {argument 4 to '__builtin_arm_vcx2qav16qi' must be a constant immediate in range \[0-127\]} } */
      88    accum += __arm_vcx3q_u8 (0, n, m, someval);       /* { dg-error {argument 4 to '__builtin_arm_vcx3qv16qi' must be a constant immediate in range \[0-15\]} } */
      89    accum += __arm_vcx3q (6, n, m, someval);          /* { dg-error {argument 4 to '__builtin_arm_vcx3qv16qi' must be a constant immediate in range \[0-15\]} } */
      90    accum += __arm_vcx3qa (0, accum, n, m, someval);  /* { dg-error {argument 5 to '__builtin_arm_vcx3qav16qi' must be a constant immediate in range \[0-15\]} } */
      91  
      92    accum += __arm_vcx1q_m (6, accum, someval, pred);        /* { dg-error {argument 3 to '__builtin_arm_vcx1q_p_v16qi' must be a constant immediate in range \[0-4095\]} } */
      93    accum += __arm_vcx1qa_m (0, accum, someval, pred);       /* { dg-error {argument 3 to '__builtin_arm_vcx1qa_p_v16qi' must be a constant immediate in range \[0-4095\]} } */
      94    accum += __arm_vcx2q_m (0, accum, n, someval, pred);     /* { dg-error {argument 4 to '__builtin_arm_vcx2q_p_v16qi' must be a constant immediate in range \[0-127\]} } */
      95    accum += __arm_vcx2qa_m (0, accum, n, someval, pred);    /* { dg-error {argument 4 to '__builtin_arm_vcx2qa_p_v16qi' must be a constant immediate in range \[0-127\]} } */
      96    accum += __arm_vcx3q_m (6, accum, n, m, someval, pred);  /* { dg-error {argument 5 to '__builtin_arm_vcx3q_p_v16qi' must be a constant immediate in range \[0-15\]} } */
      97    accum += __arm_vcx3qa_m (0, accum, n, m, someval, pred); /* { dg-error {argument 5 to '__builtin_arm_vcx3qa_p_v16qi' must be a constant immediate in range \[0-15\]} } */
      98  
      99    /* `coproc' is not an immediate.  */
     100    accum += __arm_vcx1q_u8 (someval, 4095);           /* { dg-error {coproc must be a constant immediate in range \[0-7\] enabled with .\+cdecp<N>.} } */
     101    accum += __arm_vcx1qa (someval, accum, 4095);      /* { dg-error {coproc must be a constant immediate in range \[0-7\] enabled with .\+cdecp<N>.} } */
     102    accum += __arm_vcx2q (someval, n, 126);            /* { dg-error {coproc must be a constant immediate in range \[0-7\] enabled with .\+cdecp<N>.} } */
     103    accum += __arm_vcx2q_u8 (someval, n, 127);         /* { dg-error {coproc must be a constant immediate in range \[0-7\] enabled with .\+cdecp<N>.} } */
     104    accum += __arm_vcx2qa (someval, accum, n, 127);    /* { dg-error {coproc must be a constant immediate in range \[0-7\] enabled with .\+cdecp<N>.} } */
     105    accum += __arm_vcx3q_u8 (someval, n, m, 14);       /* { dg-error {coproc must be a constant immediate in range \[0-7\] enabled with .\+cdecp<N>.} } */
     106    accum += __arm_vcx3q (someval, n, m, 15);          /* { dg-error {coproc must be a constant immediate in range \[0-7\] enabled with .\+cdecp<N>.} } */
     107    accum += __arm_vcx3qa (someval, accum, n, m, 15);  /* { dg-error {coproc must be a constant immediate in range \[0-7\] enabled with .\+cdecp<N>.} } */
     108  
     109    accum += __arm_vcx1q_m (someval, accum, 4096, pred);      /* { dg-error {coproc must be a constant immediate in range \[0-7\] enabled with .\+cdecp<N>.} } */
     110    accum += __arm_vcx1qa_m (someval, accum, 4095, pred);     /* { dg-error {coproc must be a constant immediate in range \[0-7\] enabled with .\+cdecp<N>.} } */
     111    accum += __arm_vcx2q_m (someval, accum, n, 126, pred);    /* { dg-error {coproc must be a constant immediate in range \[0-7\] enabled with .\+cdecp<N>.} } */
     112    accum += __arm_vcx2qa_m (someval, accum, n, 127, pred);   /* { dg-error {coproc must be a constant immediate in range \[0-7\] enabled with .\+cdecp<N>.} } */
     113    accum += __arm_vcx3q_m (someval, accum, n, m, 15, pred);  /* { dg-error {coproc must be a constant immediate in range \[0-7\] enabled with .\+cdecp<N>.} } */
     114    accum += __arm_vcx3qa_m (someval, accum, n, m, 15, pred); /* { dg-error {coproc must be a constant immediate in range \[0-7\] enabled with .\+cdecp<N>.} } */
     115  
     116    /* `imm' is of wrong type.  */
     117    accum += __arm_vcx1q_u8 (0, "");                    /* { dg-error {argument 2 to '__builtin_arm_vcx1qv16qi' must be a constant immediate in range \[0-4095\]} } */
     118    /* { dg-warning {passing argument 2 of '__builtin_arm_vcx1qv16qi' makes integer from pointer without a cast \[-Wint-conversion\]} "" { target *-*-* } 117 } */
     119    accum += __arm_vcx1qa (0, accum, "");               /* { dg-error {argument 3 to '__builtin_arm_vcx1qav16qi' must be a constant immediate in range \[0-4095\]} } */
     120    /* { dg-warning {passing argument 3 of '__builtin_arm_vcx1qav16qi' makes integer from pointer without a cast \[-Wint-conversion\]} "" { target *-*-* } 119 } */
     121    accum += __arm_vcx2q (0, n, "");                    /* { dg-error {argument 3 to '__builtin_arm_vcx2qv16qi' must be a constant immediate in range \[0-127\]} } */
     122    /* { dg-warning {passing argument 3 of '__builtin_arm_vcx2qv16qi' makes integer from pointer without a cast \[-Wint-conversion\]} "" { target *-*-* } 121 } */
     123    accum += __arm_vcx2q_u8 (0, n, "x");                /* { dg-error {argument 3 to '__builtin_arm_vcx2qv16qi' must be a constant immediate in range \[0-127\]} } */
     124    /* { dg-warning {passing argument 3 of '__builtin_arm_vcx2qv16qi' makes integer from pointer without a cast \[-Wint-conversion\]} "" { target *-*-* } 123 } */
     125    accum += __arm_vcx2qa (0, accum, n, "");            /* { dg-error {argument 4 to '__builtin_arm_vcx2qav16qi' must be a constant immediate in range \[0-127\]} } */
     126    /* { dg-warning {passing argument 4 of '__builtin_arm_vcx2qav16qi' makes integer from pointer without a cast \[-Wint-conversion\]} "" { target *-*-* } 125 } */
     127    accum += __arm_vcx3q_u8 (0, n, m, "");              /* { dg-error {argument 4 to '__builtin_arm_vcx3qv16qi' must be a constant immediate in range \[0-15\]} } */
     128    /* { dg-warning {passing argument 4 of '__builtin_arm_vcx3qv16qi' makes integer from pointer without a cast \[-Wint-conversion\]} "" { target *-*-* } 127 } */
     129    accum += __arm_vcx3q (0, n, m, "x");                /* { dg-error {argument 4 to '__builtin_arm_vcx3qv16qi' must be a constant immediate in range \[0-15\]} } */
     130    /* { dg-warning {passing argument 4 of '__builtin_arm_vcx3qv16qi' makes integer from pointer without a cast \[-Wint-conversion\]} "" { target *-*-* } 129 } */
     131    accum += __arm_vcx3qa (0, accum, n, m, "");         /* { dg-error {argument 5 to '__builtin_arm_vcx3qav16qi' must be a constant immediate in range \[0-15\]} } */
     132    /* { dg-warning {passing argument 5 of '__builtin_arm_vcx3qav16qi' makes integer from pointer without a cast \[-Wint-conversion\]} "" { target *-*-* } 131 } */
     133  
     134    accum += __arm_vcx1q_m (0, accum, "", pred);        /* { dg-error {argument 3 to '__builtin_arm_vcx1q_p_v16qi' must be a constant immediate in range \[0-4095\]} } */
     135    /* { dg-warning {passing argument 3 of '__builtin_arm_vcx1q_p_v16qi' makes integer from pointer without a cast \[-Wint-conversion\]} "" { target *-*-* } 134 } */
     136    accum += __arm_vcx1qa_m (0, accum, "", pred);       /* { dg-error {argument 3 to '__builtin_arm_vcx1qa_p_v16qi' must be a constant immediate in range \[0-4095\]} } */
     137    /* { dg-warning {passing argument 3 of '__builtin_arm_vcx1qa_p_v16qi' makes integer from pointer without a cast \[-Wint-conversion\]} "" { target *-*-* } 136 } */
     138    accum += __arm_vcx2q_m (0, accum, n, "", pred);     /* { dg-error {argument 4 to '__builtin_arm_vcx2q_p_v16qi' must be a constant immediate in range \[0-127\]} } */
     139    /* { dg-warning {passing argument 4 of '__builtin_arm_vcx2q_p_v16qi' makes integer from pointer without a cast \[-Wint-conversion\]} "" { target *-*-* } 138 } */
     140    accum += __arm_vcx2qa_m (0, accum, n, "", pred);    /* { dg-error {argument 4 to '__builtin_arm_vcx2qa_p_v16qi' must be a constant immediate in range \[0-127\]} } */
     141    /* { dg-warning {passing argument 4 of '__builtin_arm_vcx2qa_p_v16qi' makes integer from pointer without a cast \[-Wint-conversion\]} "" { target *-*-* } 140 } */
     142    accum += __arm_vcx3q_m (0, accum, n, m, "x", pred); /* { dg-error {argument 5 to '__builtin_arm_vcx3q_p_v16qi' must be a constant immediate in range \[0-15\]} } */
     143    /* { dg-warning {passing argument 5 of '__builtin_arm_vcx3q_p_v16qi' makes integer from pointer without a cast \[-Wint-conversion\]} "" { target *-*-* } 142 } */
     144    accum += __arm_vcx3qa_m (0, accum, n, m, "", pred); /* { dg-error {argument 5 to '__builtin_arm_vcx3qa_p_v16qi' must be a constant immediate in range \[0-15\]} } */
     145    /* { dg-warning {passing argument 5 of '__builtin_arm_vcx3qa_p_v16qi' makes integer from pointer without a cast \[-Wint-conversion\]} "" { target *-*-* } 144 } */
     146  
     147    /* `coproc' is of wrong type.  */
     148    accum += __arm_vcx1qa ("", accum, 4095);      /* { dg-error {coproc must be a constant immediate in range \[0-7\] enabled with .\+cdecp<N>.} } */
     149    /* { dg-warning {passing argument 1 of '__builtin_arm_vcx1qav16qi' makes integer from pointer without a cast \[-Wint-conversion\]} "" { target *-*-* } 148 } */
     150    accum += __arm_vcx2q ("", n, 126);            /* { dg-error {coproc must be a constant immediate in range \[0-7\] enabled with .\+cdecp<N>.} } */
     151    /* { dg-warning {passing argument 1 of '__builtin_arm_vcx2qv16qi' makes integer from pointer without a cast \[-Wint-conversion\]} "" { target *-*-* } 150 } */
     152    accum += __arm_vcx2qa ("", accum, n, 127);    /* { dg-error {coproc must be a constant immediate in range \[0-7\] enabled with .\+cdecp<N>.} } */
     153    /* { dg-warning {passing argument 1 of '__builtin_arm_vcx2qav16qi' makes integer from pointer without a cast \[-Wint-conversion\]} "" { target *-*-* } 152 } */
     154    accum += __arm_vcx3q ("", n, m, 15);          /* { dg-error {coproc must be a constant immediate in range \[0-7\] enabled with .\+cdecp<N>.} } */
     155    /* { dg-warning {passing argument 1 of '__builtin_arm_vcx3qv16qi' makes integer from pointer without a cast \[-Wint-conversion\]} "" { target *-*-* } 154 } */
     156    accum += __arm_vcx3qa ("", accum, n, m, 15);  /* { dg-error {coproc must be a constant immediate in range \[0-7\] enabled with .\+cdecp<N>.} } */
     157    /* { dg-warning {passing argument 1 of '__builtin_arm_vcx3qav16qi' makes integer from pointer without a cast \[-Wint-conversion\]} "" { target *-*-* } 156 } */
     158  
     159    accum += __arm_vcx1q_m ("", accum, 4094, pred);      /* { dg-error {coproc must be a constant immediate in range \[0-7\] enabled with .\+cdecp<N>.} } */
     160    /* { dg-warning {passing argument 1 of '__builtin_arm_vcx1q_p_v16qi' makes integer from pointer without a cast \[-Wint-conversion\]} "" { target *-*-* } 159 } */
     161    accum += __arm_vcx1qa_m ("", accum, 4095, pred);     /* { dg-error {coproc must be a constant immediate in range \[0-7\] enabled with .\+cdecp<N>.} } */
     162    /* { dg-warning {passing argument 1 of '__builtin_arm_vcx1qa_p_v16qi' makes integer from pointer without a cast \[-Wint-conversion\]} "" { target *-*-* } 161 } */
     163    accum += __arm_vcx2q_m ("", accum, n, 126, pred);    /* { dg-error {coproc must be a constant immediate in range \[0-7\] enabled with .\+cdecp<N>.} } */
     164    /* { dg-warning {passing argument 1 of '__builtin_arm_vcx2q_p_v16qi' makes integer from pointer without a cast \[-Wint-conversion\]} "" { target *-*-* } 163 } */
     165    accum += __arm_vcx2qa_m ("", accum, n, 127, pred);   /* { dg-error {coproc must be a constant immediate in range \[0-7\] enabled with .\+cdecp<N>.} } */
     166    /* { dg-warning {passing argument 1 of '__builtin_arm_vcx2qa_p_v16qi' makes integer from pointer without a cast \[-Wint-conversion\]} "" { target *-*-* } 165 } */
     167    accum += __arm_vcx3q_m ("", accum, n, m, 15, pred);  /* { dg-error {coproc must be a constant immediate in range \[0-7\] enabled with .\+cdecp<N>.} } */
     168    /* { dg-warning {passing argument 1 of '__builtin_arm_vcx3q_p_v16qi' makes integer from pointer without a cast \[-Wint-conversion\]} "" { target *-*-* } 167 } */
     169    accum += __arm_vcx3qa_m ("", accum, n, m, 15, pred); /* { dg-error {coproc must be a constant immediate in range \[0-7\] enabled with .\+cdecp<N>.} } */
     170    /* { dg-warning {passing argument 1 of '__builtin_arm_vcx3qa_p_v16qi' makes integer from pointer without a cast \[-Wint-conversion\]} "" { target *-*-* } 169 } */
     171  
     172    /* `pred" is of wrong type.  */
     173    accum += __arm_vcx1q_m (0, accum, 4094, "");
     174    /* { dg-warning {passing argument 4 of '__builtin_arm_vcx1q_p_v16qi' makes integer from pointer without a cast \[-Wint-conversion\]} "" { target *-*-* } 173 } */
     175    accum += __arm_vcx1qa_m (0, accum, 4095, "");
     176    /* { dg-warning {passing argument 4 of '__builtin_arm_vcx1qa_p_v16qi' makes integer from pointer without a cast \[-Wint-conversion\]} "" { target *-*-* } 175 } */
     177    accum += __arm_vcx2q_m (0, accum, n, 126, "");
     178    /* { dg-warning {passing argument 5 of '__builtin_arm_vcx2q_p_v16qi' makes integer from pointer without a cast \[-Wint-conversion\]} "" { target *-*-* } 177 } */
     179    accum += __arm_vcx2qa_m (0, accum, n, 127, "");
     180    /* { dg-warning {passing argument 5 of '__builtin_arm_vcx2qa_p_v16qi' makes integer from pointer without a cast \[-Wint-conversion\]} "" { target *-*-* } 179 } */
     181    accum += __arm_vcx3q_m (0, accum, n, m, 15, "");
     182    /* { dg-warning {passing argument 6 of '__builtin_arm_vcx3q_p_v16qi' makes integer from pointer without a cast \[-Wint-conversion\]} "" { target *-*-* } 181 } */
     183    accum += __arm_vcx3qa_m (0, accum, n, m, 15, "");
     184    /* { dg-warning {passing argument 6 of '__builtin_arm_vcx3qa_p_v16qi' makes integer from pointer without a cast \[-Wint-conversion\]} "" { target *-*-* } 183 } */
     185  
     186    return accum;
     187  }