<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/64534>64534</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [RISCV] Wrong scalar operand sign for RVV vslide1 C intrinsics
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          dzaima
      </td>
    </tr>
</table>

<pre>
    ```c
#include<riscv_vector.h>
vuint16m1_t bad1(vuint16m1_t src, size_t vl) {
    return __riscv_vslide1up_vx_u16m1(src, 40000, vl);
}
vuint16m1_t bad2(vuint16m1_t src, size_t vl) {
    return __riscv_vslide1down_vx_u16m1(src, 40000, vl);
}
```

This gives:
```c
<source>:3:44: warning: implicit conversion from 'int' to 'short' changes value from 40000 to -25536 [-Wconstant-conversion]
    3 | return __riscv_vslide1up_vx_u16m1(src, 40000, vl);
      | ~~~~~~~~~~~~~~~~~~~~~~~~~~      ^~~~~
<source>:6:46: warning: implicit conversion from 'int' to 'short' changes value from 40000 to -25536 [-Wconstant-conversion]
    6 |     return __riscv_vslide1down_vx_u16m1(src, 40000, vl);
      | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~      ^~~~~
```
even though the second argument should be an unsigned type, `uint16_t` here. Other intrinsics (e.g. `__riscv_vadd_vx_u16m1`) handle this correctly.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzMVEGP4yYU_jXPl6dYGGwnOfiQSTZST5W21ewxwvBiU2GIAHs7e-hvr3CyO9NqKlXVHIosm2d9fHzvg_dkjGZwRB00T9CcCjmn0YdOf5NmkkXv9UsHLbs_CtgJ2AG4ME7ZWROIYzBRLZeFVPKhHEF8umOW2bhUtVN1SdhLXQHfvf0VgwJ-xGi-0SXhYoHvEbZP97WIiIHSHBxeLg_-aI2mar5dlt8vcyYBvnuQ1IwxlicrDYgHC2xP70rhHyNF-6_uP4j54eUjXN-_jibiYBaKIA5_w333XByjn4Oi7LA4CBCHugZxwK8yOOOGPDXTzRplEirvFgrReIfX4CcEvjUuAd9i8jmIow9rqEbpBoq4SDvTHbsmkHEb3jSiRWieNl-UdzFJlzavzNCcXi0SCNvjB5wZriNz_fGP44FpPuXgXXPabE77vzGnXRP6qJv0byx636S_3jxayGEa_TyMmEbCSMo7jTIM80QuYRz9bDX2hNLh7NYmoTG93ChrgpbdS-iSoGU4UqASf04jBTQuBeOiURGB76gcyoz-kbPU-jXZluVqG6XTljDlKlA-BFLJvpSF7oTei70sqKvafdWwum1FMXZCKrFt9roXrJJVQ5z4jvpruyXe765CF6bjjAu2Y7uq5jUXpdjur7Kmdt-ripQUUDOapLGltctU-jAUJsaZurZuRF1Y2ZON3_th6DJo089DhJpZE1N8XZZMsmvn_PzTL8dnaE74JXg3YFTSyoD-RkE6jdk8vPqAn5-f8XHqeHzjVDEH240p3dYGwM_Az4NJ49yXyk_Az3nDx2dzC_43Ugn4eRUdgZ9X3X8GAAD__7RgzIA">