<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/57628>57628</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
arm neon missing support for increment/decrement
</td>
</tr>
<tr>
<th>Labels</th>
<td>
backend:ARM,
backend:NEON
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
nickdesaulniers
</td>
</tr>
</table>
<pre>
Consider the following code:
```c
#include <arm_neon.h>
void foo (int32x4_t *a) {
*a = *a + 1;
}
void bar (int32x4_t *a) {
++*a;
}
void baz (int32x4_t *a) {
*a += 1;
}
```
In Clang, this produces the error:
```
<source>:8:5: error: cannot increment value of type 'int32x4_t' (vector of 4 'int32_t' values)
++*a;
^ ~~
```
This is supported by GCC.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyNUk2P2yAQ_TX4ghrZEH_k4EPiJFUP3UpV7ysM44QugQhw2vTXd3CSzW67rdYabGaGeZ73mN6pc9s5G7QCT-Me6OCMcT-03VHpFBC-JPma5Ld3lV9MXn3GtZVmVEAJ74Q_PFpwdrYnfPOy7OS0QmBHCWu0jZz9nD9GdJaCsAUl9epyjOKTgoi1vm7YihaEX_OkXv-F2gv_LtTVZJj6B9gryF_vbhRBsde3Wrwp9RL-k6WdEXZHWIda60CP3qlRQpiUB--dvwv-BwDvghu9hCQtXza4SlzPRVQKa12keB0eDmAjPQkzAnUDjecjXg-rnwnhPhE8gYzOpxPz5_QlOZUGpPxfBadwuUFZNsne6vpbIokWxuPR-Qgo7pl-7LpZBm1RVawqq2KRZ6rlasEXIos6GmhxjmiaI3rQIaRJvJbjCPk7QcK2Cq77bPSm3cd4DEk_tkXb6bgf-5l0B3SMOd0-H1Dz78gcXUSfaG7LumJNtm8HqOeqWQwNK3pZgFL9UPWSSy5qqQZZZUb0YEJLSlSC9UI-gVX4x-XXz-inW30Vfth8eUjxcp3pluWM5Yu8KZAzz2cKmUsxVGw-KFHmNZnncBDazFKPM-d3mW-ndvtxFzBpdIjhnhQozM4CTK0gvhjj3vnWavmkIIjRWA0-ZBPDdqL3G8dJHP4">