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

    <tr>
        <th>Summary</th>
        <td>
            ext_vector_type crashes on bool
        </td>
    </tr>

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

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

    <tr>
      <th>Reporter</th>
      <td>
          4vtomat
      </td>
    </tr>
</table>

<pre>
    The following code crashed:
```
$ cat fail.c

#include <stdbool.h>

typedef bool bx16 __attribute__((ext_vector_type(16)));
bx16 test(bx16 a) {
  bx16 ret;
  asm volatile ("vmand.mm %0, %1, %2" : "=vm"(ret) : "vm"(a), "vm"(a));
  return ret;
}
```
with command
```
bin/clang -target riscv64 -march=rv64gcv fail.c -S
```

Note: Only inline assembly with output failed, if removing `ret` and it won't crash.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJxkUk2PwyYQ_TXjyygRHn8ffMhummN7aO8RBmJTYRPB2Lv59xVOViulEtKgNzDvwXsyRjsuxvRQfUB1zuTKkw99ubGfJWeD14_-n8ngzTvnv-wyovLaoAoyTkZDcQJxglq8ljgBlagk401ad1QJSFhhF-VWbRCKz8h68N4dJyj-ePb5cTfa3DDBOHznNV6vkjnYYWVzvQK1QK355utmFPtwTeeB2rwG6l6r-ABx2q-yiQzU7nsJ1CE0qYfPwcHw8yyijDNu3km2zuDOQdssF32cZwSqBNBnqvmrEhAhFCcEIijO25wqtWlgInk2flC5y_r8P9T9sAfDa1h-9UBzfvvJL8sTKj8nTW-twS5AF-XkMuKBZRgNY7BRbXWJh1kGNUFxDltdjmp7OYGHv9-dEqc_PZuk_K_FPdAuzi4GZYxmHtwDd36_8n19uml0epG9YTCz31ISoBZJfy1QLhot45dfgBp-puOY6b7QXdHJzPR5U5VtW3WiyKa-qmSudU7CKKqqpqu0Nm2um6YWeVuSymxPgirR5rko85aKo7wNhWpEVUrRibYwUAozp3c5t81HH8bMxriaPq-oq8rMycG4uEeaaP-m5EF1zkKfLhyGdYxQCmcjx98RbNmZ_i1nr6RH9Muez2wNrp-Y7zFlny5Al9HytA5H5WegS5r2Kod78P8axUCXXV0EurwEbj39FwAA__9p5wjb">