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

    <tr>
        <th>Summary</th>
        <td>
            [HLSL] vector float to int and vec int to float are asserting 
        </td>
    </tr>

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

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

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

<pre>
    ```hlsl
void Fn( int64_t2 p0);

void Call1(half2 p0) {
  Fn3(p0);
}

void Call2(float2 p0) {
 Fn3(p0);
}
```
doing an int cast when we need to be doing sitofp
```
static CastInst *llvm::CastInst::Create(Instruction::CastOps, Value *, Type *, const Twine &, Instruction *): Assertion `castIsValid(op, S, Ty) && "Invalid cast!"' failed.
#10 0x000055690b7b06b1 llvm::CastInst::Create(llvm::Instruction::CastOps, llvm::Value*, llvm::Type*, llvm::Twine const&, llvm::Instruction*) /mnt/DevDrive/projects/llvm-project/llvm/lib/IR/Instructions.cpp:3331:11
#11 0x00005569085869fa llvm::IRBuilderBase::CreateCast(llvm::Instruction::CastOps, llvm::Value*, llvm::Type*, llvm::Twine const&) /mnt/DevDrive/projects/llvm-project/llvm/include/llvm/IR/IRBuilder.h:2150:19
#12 0x0000556908589832 llvm::IRBuilderBase::CreateIntCast(llvm::Value*, llvm::Type*, bool, llvm::Twine const&) /mnt/DevDrive/projects/llvm-project/llvm/include/llvm/IR/IRBuilder.h:2185:5
```

```hlsl
void Fn4( float2 p0);

void Call5(int64_t2 p0) {
 Fn4(p0);
}
```
Need to be doing an int to float cast but we are doing a float to int
```
#10 0x0000563efc7c7fa1 llvm::CastInst::Create(llvm::Instruction::CastOps, llvm::Value*, llvm::Type*, llvm::Twine const&, llvm::Instruction*) /mnt/DevDrive/projects/llvm-project/llvm/lib/IR/Instructions.cpp:3331:11
#11 0x0000563ef958dfba llvm::IRBuilderBase::CreateCast(llvm::Instruction::CastOps, llvm::Value*, llvm::Type*, llvm::Twine const&) /mnt/DevDrive/projects/llvm-project/llvm/include/llvm/IR/IRBuilder.h:2150:19
#12 0x0000563ef9866f2f llvm::IRBuilderBase::CreateFPToUI(llvm::Value*, llvm::Type*, llvm::Twine const&) /mnt/DevDrive/projects/llvm-project/llvm/include/llvm/IR/IRBuilder.h:2060:5
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsll-PozYUxT_N5cVqZK75Yx54YCZCjbRqq93pvlYGTOLKY0fYZLr99JWBWchMdnfah-7LSlESXw4nPj-UIwvn1NFIWUJ6B-k-EqM_2aHsxfC3NTpqbPephIzOr5N2GugeaHWxqiO1AeREGZ8lf3gkZwpYALubFRvdvdA6BuQnoftFRiBfdITUhgHyF3fn-5s2CMh7bYV_7fN1m-cI87KzyhyJMGHzpBXOk6eTNORJEiNlR7wljSSzyClv-_NNF-eFVy25F84fjPMEsNL68gisAlY9T5fVIIWXgDyMhrH1yppV9-vZAd6Tj0KPMriExcOn8-fvrQ32D0_KhFEWRhufWVUAq0jlnBzmWUZDroP7KLTqALk9h9s-zNYTuWCUEUA8mEsQTSAAY0AEzEkvlJbdbkmOLKaE_kUppWmaFbTJG5o1Mflm4FXwteiraoKw5F6ngcbr4QRkgrNQuf1jEx4CWD8aD1jv5WU_qIsErM-D_VO23gHW4daflvWyDB-qAawP78Pb6uh27fkMrGKMxcCqOF4hxVtIPOVZ0Yvttt7fjUp3crgTTm5J3U_s_09a_5GIMq0eO7kOZjjPuXYnYBXGKQ1cipULvuBScIZv4XIw_hWab4ZurNXfMTxPgVXpzcp4MXxVqElo1G3BfalPU0B-3bxXVZi8uQp_eVl4Syt6O-9jrsdm9KEdxfBZtVz1NqhvZ912RsZk3-Zt3osfnfHFzgiQipR3ffOjM7adMXHhWdZj_xYu9W8P9vfDv6uM75OZZvRGVURdybqCFSKSZZxTniNFmkSnkhddmmRxWsRtytq4p2nBsrhI-jyVPItppEqkmFBEhpRRynYUkQrseCJ508mcQULlo1B6Fza1s8MxUs6NsuTIMYu0aKR201EQ0cgnMl0M54F0Hw3lFLQZjw4SqpXzbnXxyuvpDPnzuw_vIN2Ti2y9Ha5KggjThfl1vYRKEfOxxRxJNA66PHl_duFhYA1YH5U_jc2utY-bv9g18mmb4VFMMf4JAAD__2hQNJc">