<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/144966>144966</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[HLSL] firstbithigh/firstbitlow raise assertions when enabled
</td>
</tr>
<tr>
<th>Labels</th>
<td>
bug,
HLSL
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
V-FEXrt
</td>
</tr>
</table>
<pre>
See https://github.com/llvm/offload-test-suite/pull/209 for more details
Looks like something is the scalarizer is going awry causing an assertion to be raised
```
# | Assertion failed: (i >= FTy->getNumParams() || FTy->getParamType(i) == Args[i]->getType()) && "Calling a function with a bad signature!", file E:\actions-runner\_work\offload-test-suite\offload-test-suite\llvm-project\llvm\lib\IR\Instructions.cpp, line 757
# | PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
# | Stack dump:
# | 0. Program arguments: E:\\actions-runner\\_work\\offload-test-suite\\offload-test-suite\\llvm-project\\build\\bin\\clang-dxc.exe -cc1 -triple dxilv1.5-unknown-shadermodel6.5-compute -O3 -emit-obj -dumpdir a- -disable-free -clear-ast-before-backend -main-file-name source.hlsl -mrelocation-model static -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -debugger-tuning=gdb -fdebug-compilation-dir=E:\\actions-runner\\_work\\offload-test-suite\\offload-test-suite\\llvm-project\\build\\tools\\OffloadTest\\test\\clang-d3d12\\Feature\\HLSLLib -fcoverage-compilation-dir=E:\\actions-runner\\_work\\offload-test-suite\\offload-test-suite\\llvm-project\\build\\tools\\OffloadTest\\test\\clang-d3d12\\Feature\\HLSLLib -resource-dir E:\\actions-runner\\_work\\offload-test-suite\\offload-test-suite\\llvm-project\\build\\lib\\clang\\21 -ferror-limit 19 -O3 -finclude-default-header -fgnuc-version=4.2.1 -fskip-odr-check-in-gmf -vectorize-loops -vectorize-slp -o C:\\WINDOWS\\SERVIC~1\\NETWOR~1\\AppData\\Local\\Temp\\lit-tmp-n1_2nql9\\source-cacd82.obj -x hlsl E:\\actions-runner\\_work\\offload-test-suite\\offload-test-suite\\llvm-project\\build\\tools\\OffloadTest\\test\\clang-d3d12\\Feature\\HLSLLib\\Output\\firstbitlow.64.test.tmp/source.hlsl
# | 1. <eof> parser at end of file
# | 2. Code generation
# | 3. Running pass 'Function Pass Manager' on module 'E:\actions-runner\_work\offload-test-suite\offload-test-suite\llvm-project\build\tools\OffloadTest\test\clang-d3d12\Feature\HLSLLib\Output\firstbitlow.64.test.tmp/source.hlsl'.
# | 4. Running pass 'Scalarize vector operations' on function '@main'
# | Exception Code: 0xC000001D
# | #0 0x00007ff61e7831c6 HandleAbort E:\actions-runner\_work\offload-test-suite\offload-test-suite\llvm-project\llvm\lib\Support\Windows\Signals.inc:429:0
# | #1 0x00007ffb3150[198](https://github.com/llvm/offload-test-suite/actions/runs/15766564388/job/44444055767?pr=209#step:10:199)9 (C:\WINDOWS\System32\ucrtbase.dll+0xc1989)
# | #2 0x00007ffb314e4ab1 (C:\WINDOWS\System32\ucrtbase.dll+0xa4ab1)
# | #3 0x00007ffb31502986 (C:\WINDOWS\System32\ucrtbase.dll+0xc2986)
# | #4 0x00007ffb31502b61 (C:\WINDOWS\System32\ucrtbase.dll+0xc2b61)
# | #5 0x00007ff61ec28947 llvm::CallInst::init(class llvm::FunctionType *, class llvm::Value *, class llvm::ArrayRef<class llvm::Value *>, class llvm::ArrayRef<class llvm::OperandBundleDefT<class llvm::Value *>>, class llvm::Twine const &) E:\actions-runner\_work\offload-test-suite\offload-test-suite\llvm-project\llvm\lib\IR\Instructions.cpp:755:0
# | #6 0x00007ff61e47c33c llvm::CallInst::CallInst E:\actions-runner\_work\offload-test-suite\offload-test-suite\llvm-project\llvm\include\llvm\IR\Instructions.h:1680:0
# | #7 0x00007ff61e47c33c llvm::CallInst::Create(class llvm::FunctionType *, class llvm::Value *, class llvm::ArrayRef<class llvm::Value *>, class llvm::ArrayRef<class llvm::OperandBundleDefT<class llvm::Value *>>, class llvm::Twine const &, class llvm::InsertPosition) E:\actions-runner\_work\offload-test-suite\offload-test-suite\llvm-project\llvm\include\llvm\IR\Instructions.h:1568:0
# | #8 0x00007ff61e47bdf6 llvm::IRBuilderBase::CreateCall(class llvm::FunctionType *, class llvm::Value *, class llvm::ArrayRef<class llvm::Value *>, class llvm::Twine const &, class llvm::MDNode *) E:\actions-runner\_work\offload-test-suite\offload-test-suite\llvm-project\llvm\include\llvm\IR\IRBuilder.h:2507:0
# | #9 0x00007ff61e71e3ce llvm::IRBuilderBase::CreateCall E:\actions-runner\_work\offload-test-suite\offload-test-suite\llvm-project\llvm\include\llvm\IR\IRBuilder.h:2528:0
# | #10 0x00007ff61e71e3ce `anonymous namespace'::ScalarizerVisitor::splitCall E:\actions-runner\_work\offload-test-suite\offload-test-suite\llvm-project\llvm\lib\Transforms\Scalar\Scalarizer.cpp:793:0
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzkWF9v4zgO_zTqi6DAlmI7fshDmj_YAbozg7aYvbeFLNOOtrLkk-T-2Yf77AfaSZN2OrczC-zM3l0QJJJM0iR_JEVJhqBbC7Ak2SXJNhdyiHvnl5_YbvsPHy8qVz8tbwDoPsY-ELEifEf4rtVxP1Qz5TrCd8bc459rGuNkzSKEyMKgIxC-6wdjCN_xpKSN87RzHmgNUWoTSLIiyerKubtAjb4DGlwHca9tS3WgcQ80KGmk17-Dx5XW4SP54J-okkMYJ5bKEMBH7SyNjlZAvdQB6kk2fvPk8E1WhAtKijVdPbM0UhuoiVhRwheaErElYkN3t0-MiG0L8f3QfZRedoHwBeElcqOAE8H49PapB-QfKcQGRax8G0h2qUm2OVAeiAgvRzKeE55TwvlaGjOaQpvBqlGrBx33VNJK1hSxkXHwQHhKOCd8TRttgG4RiWwtR4bA_GAteJKtf31w_o5k6zew-MIigsd6734DFQ9T_NMVydbvrvHHhuiH6UUz1feog9EWaJEVZ079eLVd3WxpGKpOR9R-aKmH3vmIwPxx9LzQg-90CAMEwndU2ppqq8xQwxgUysuwp5VUd9FLBahO76H3TkEIUNPgBj8tI6cMwSktI9TUD5YG5XUfZ2d630Sp7mg9dD2qd1pPZiQpP3rXetlR6duhAxvRhKPv33L_GQJf8vd_WH8FBcnW1aBNfRhqOw2UkbZl9aOawSNQplRKWfS6N0DrR23u01nGBntn3YNlYS9r8J2rweSzjCnX9UMEyj4IyqDTkbnqN8rQ-Fp7KhlltQ6yMsAaDyjcgPRMhsgqaJwHhm4HW1PWSW0ZhiKzsoOD02d7EwxlnQfjlETfsPHdNEQZtaKsa7zsgPVO2wieiI00hrKmk3HPwHvrKGuanilnEdtIxMZZyhrrmHeDrbVtGdJS1il3CEvnmTRaBgiU1VANbQuexcFq2xKxaeuKsmZcH63XZlKr1vj2H4NkdM6Eafhh4r-FcCCLz6MDzKJO-bSwg6kQjJOfrm6urjTaptw9eNnC_6Z5HqbIQot-UOJNpfCo8jTkKWUNeO88MxrrXVpOSdUcKhWroZGDiWwPmIGUNa0dFLsHH7SzRGzmMz5DIeFO98zVnqk9qDumLWu7hrJ7wMjWvwMzzvXhfCGYnjJH18_O-OXd-82HX26myc32-tO79b_SafZ-e_vLh-vjbNX3GxnlNLlySpppeAtdf7Q1stj1zKa_cvtPU06rBwiUVPWCz8aS8UjHVP-vj7CDlCH2w4Gt0T7ESkfjHmb5fIbyZrHrCd-d1bizfSLFfYKINbiGiC3tpQ_gqYwUy6Rrxu36jJwj-drVQFuw4Md0PXss8PH1YLF80V6GQAkvdsfG4CMu_CytbMETXlBnaefqwQBS_WUtwdHzR7e_9PnB4S-9fXL1yc_PTv46D_PifJeev-WXm2N7SKfsoK4_eDQcvPPcUhFekHmCmxaOTnK3jwr6kQIxwd09eVwn-Ek3Z2SUcJHQ5BEfFE2Tp1AsRKpy-pO0tYFVhW3O9-nJboYemyrMe21r94CI3GCXaMJMW0XEas5LIlbJK_XTk_qVSLOEZJdpuSDZhvDFn-ztD5YSvvPD-JdmRZ5n-VwsFoTvfnMV4bs5fpIsK_KCiF2P-xJPSsJFiIAtV5rgT4ldMbbFi0NdOxW1m6cQoRMYVoPysZIBZjUeKi6TR5WWC-R8ZSt_Yesc5rJKv1m2RK7PZYtXfuTlIv92vZHrc9nz17Kr_Nv1Vsj1uezsRfgqvijnBR3RFSsiVngMwU5_mmmrI-ELZTDTTkTHQoRnGUr4Cpvs1zSfpBm--HDlvXy6hoaI9Zf5xPYbWT9g2tv6csBc3EBz-0fi337D7QOeasbGcjqflT_0mCVWRZa9kcj5CyDnhRJCfRHI4-wvt-TQ95wWPjdqj4meL5I3bCq-ySYPEuvP_3t4fk7yzgbw8aMLemwrvkMAfy3sWb54A_bFK9irusnPzbm-xNYD_KUMcI49xsPfDP-vQOfnzXvs-8Z3_zBkji4dYeFZUrwBS_my00lBKPhaWP4mdvHX4YYdUPKWXSRPpHX2qXNDoFZ2EPrxVqmYLHvuMf0nHXR0floOvdHxu9g7bRG3XtrQON-N7d6o0_MAlTvuGKU42n2897yol6IuRSkvYJkWWSKKIhXlxX7ZVDLJQUIjRAZ5nXJZ8SLhqUySRIpCXOglT3iW5GnJRcbTclaWPAXRJGWWQ1nUFZkn0EltZqjqzPn2Yry1W6bzeZnnF0ZWYMJ4r8x5NbTT_SXhHM8EOMk2F345Wl0NbSDzxOgQw0la1NGM99IjQ7ahx5PDXrd7wndnB4np2vd0GRzowx4sBSsrA_XF4M3yz19BHuy5X_J_BwAA___0BldR">