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

    <tr>
        <th>Summary</th>
        <td>
            llvm operands to a binary operator are not of the same type bug
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

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

<pre>
    #define  ADD(a, b) BinaryOperator::Create(Instruction::Add, a, b, "", bb) 

when i  my project code have  Value *base = ADD(cpu->dyncom_engine->ptr_gpr0, CONST(3));cpu->dyncom_engine->ptr_gpr0 is i32 * type, build and run project,appear the error and core dump .
ERROR:

Both operands to a binary operator are not of the same type!
  %524 = add i32* %gpr0, i32 3
Both operands to a binary operator are not of the same type!
  %540 = add i32* %gpr0, i32 3
Both operands to a binary operator are not of the same type!
  %547 = add i32* %gpr0, i32 3

this is why  ? Thanks for anyone to tell me 

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy9U02PmzAQ_TXmMtqI2CHAgUM-NlIvjbRd9boyeAjeEhvZZiP-fceQtL21qqpKI3-N37w343Ft1VQxLhS22iDA7nhkvJCMH6BmvIS9NtJN5wGdDNYxsSM7OJQB6don44Mbm6CtWTw7pSLyAT8A43w22s7hWHpk6W4Zbx0a0ADXCQZn37EJ0FiF0MkPEvJV9iMSfldLT7M43qU1w_jExLOaTGOvb2guJDseDMG9XQaXRq7D-fOXV7oriDLa84ntD6zc_w4L2oMWPLJCmAa8AwtSP-pegTQK3Ggecn-45TCgdBA6BHTOuvliYx2CGq8DrJZ8n19ezi8PLbtfK7G3oQMba2yUh2BBQj3XfTkMMSIFMzaAbWcaL6-4SOTrJQaQ6izjm7lUUqmYSMyDTh9liamJf824Sf87Y_5njMsYuvioHm7dRPB79U_w2knzzUM7P9ZkqfVJUsC-ByJdkImqhCpFKZOgQ49V339c_zID6p9LMrq-6kIYfPwr_ER20aEb6xU1I21i-Pv09GgwftLej-hpkWVlkSddpeoM81I0WSHSot7mLW8R83zTtttt2bZF0ssae1-xbE8_z-AN5hDxF2bHRFc85TzdrtdpthZZvtrmRVpuN5u1kKVo85ptUrxK3a-ijpV1l8TNiT9RBp6cvfbB_3RK7_XFIM50FF-OobOuetey6aTNeJrM7NWs_jsBy1rc">