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

    <tr>
        <th>Summary</th>
        <td>
            [clang][CodeGen]Why do sign extensions for v16i1 and v32i1 in vector types.
        </td>
    </tr>

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

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

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

<pre>
    my code are as follows:
`typedef int int16 __attribute__((ext_vector_type(16)));

int16 vcmpeq(int16 a, int16 b){ 
    return (int16)(a == b); 
}

int16 main1() {
    int16 va = {1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1};
    int16 vb = {0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, -1};
    int16 vc = vcmpeq(va, vb);
    return vc; 
}

int main() {
    int16 tmp = main1();
    return 0;
}`
I have set  these attribute
`setBooleanContents(ZeroOrOneBooleanContent);
setBooleanVectorContents(ZeroOrOneBooleanContent);`
but when compare this code in O1~O3,true will be -1,  why do sext in CGExprScalar.cpp, and what can i do to use 1 for true without modify code.
`Result = Builder.CreateICmp(UICmpOpc, LHS, RHS, "cmp");
    }

    // If this is a vector comparison, sign extend the result to the appropriate
    // vector integer type and return it (don't convert to bool).
    if (LHSTy->isVectorType())
      return Builder.CreateSExt(Result, ConvertType(E->getType()), "sext");`
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJysVV2PozYU_TXOy9VEYBIgDzxsvnZHWinSzraV-hIZuARXBlP7QpKX_vbKhnzMth1VaqUZDOH43Ms5x7awVp5axIwt12y5nYmeam2yWnbdVamQR7Ncl9esuUKhSwRhEISFSiulz5ZFn1iwZcEnFgd07bDECmRL7j-M4XgUREbmPeHxyHjKeIoXOg5YkDZHh2c8DWPGV9NftJ7Y_HUkGYqmw98ZT8dHwfhmos_dlGQNIxoAwCD1poUb2LOmAli0ZdF2xEc3PEu2fy3WCNmGvtMVsGT9YJ568VzuTejaePHX_-822d4VeKqZ32oGd-x_ufu4WOGL3TUfvNxD_mzOk9BD8ZGeXs1_FpOazhd70vzvagSPVCRbFgfj_SvUYkCwSABUo0W4R-0eSIu01lqhaDe6JWzJMp7-ikYfzKHF96-eiz_m_eyT-q9n35rLe4JzjS0UuuncgqFa2nH5yBYO4R-HiO32bL1h6YZMj3CWSkGOUxzgXF-h1GDx4lYSbD7vLp15K4QSZl50ncOItoRzLQgK0YJ0aNLQW4QQKm1gYqVa9wSNLmU1Lt_5XZxvaHtF3oB1L1WJZr4xKAhfN03HePqTGw9d4Yp9_fLmhm_jwDgvHIT_aNgPCfA_8T3je3itRgmkBQHj8p-0kVa3jtTtQYAXwrZ0foIZ2yPtn0TXGd0ZKW7uPnFPdLIlPKEBt6t4dab4SHLbQemqJASFbgc0njfXWjG-mj_FsnLQr1_evl9fWLSTdrT_-7hPTVvUHX0P6Hv53nYXYjwd5XVfthlLTiw7x3xCek86qur8fsgaB7Myi8pVtBIzzMI4jUO-iBarWZ0VGIlFtIjCRAQ8XBR5IsqYp0GUBHmywNVMZjzgURAHSZAsOV_Ny6oI0ijGpKqqNMmXbBFgI6SaKzU0c21OM2ltj1kchXE4UyJHZW8Hgskc6CXvT5YtAiUt2cc0kqT80VEo0Z7YcsuW640u8TO2bLn9ZQry3VwrdWt9QocwlqE3aoi4DF3OJyedg3Y-643KaqLOnzHe6pOkus_nhW4Y37sOpuGlM_o3LIjxvf8Ky_jef8ifAQAA__-7S_uF">