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

    <tr>
        <th>Summary</th>
        <td>
            16 byte Aligned load generated to load 32 byte wide AVX register from stack memory
        </td>
    </tr>

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

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

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

<pre>
    Problematic IR: 
```
define i8 @foo(i64 %elemIdx, <32 x i1> %arr) {
entry:
  br label %loop

loop: ; preds = %loop, %entry
  %arr.i32 = bitcast <32 x i1> %arr to i32
  %cmp = icmp ugt i32 %arr.i32, 0
  br i1 %cmp, label %exit, label %loop

exit: ; preds = %loop
  %elem = extractelement <32 x i8> zeroinitializer, i64 %elemIdx
  ret i8 %elem
}
```
generates:
```
.LCPI0_0:
        .quad 72340172838076673               # 0x101010101010101
foo: # @foo
        vpbroadcastq    .LCPI0_0(%rip), %ymm1   # ymm1 = [72340172838076673,72340172838076673,72340172838076673,72340172838076673]
.LBB0_1: # %loop
        vptest  %ymm1, %ymm0
 je      .LBB0_1
        pushq   %rbp
        movq    %rsp, %rbp
 andq    $-32, %rsp
        subq    $64, %rsp
        vpxor %xmm0, %xmm0, %xmm0
        vmovdqa %ymm0, (%rsp)
        andl    $31, %edi
        movzbl  (%rsp,%rdi), %eax
        movq    %rbp, %rsp
 popq    %rbp
        vzeroupper
        retq
```
when run with `llc -mattr=avx2`. This leads to the generation of a `vmovdqa` instruction, which can lead to a General Protection Fault. Here is the link to the godbolt demo: https://godbolt.org/z/jaeE4vKr1

The problem seems to be in instruction selection again, similar to #77730 
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJycVU1v4zYQ_TX0ZRCDIvXlgw5xvG4XLYpFsSh6W1Di2OIuJcok5Tj59QUp2bGd5FIlSEjOzJv3ZvghnFP7HrEi2Zpkm4UYfWts9ZeyrbCL2siX6ps1tcZOeNXA178JfwRCN4Q-kpzOv3Eqcad6BFUCSenOGMJKladAWIYau6_yRNgTEP7EGZxAJYR_CTZhLWErIMV6QsHe2xfCH6cZQG1Bixp18NXGDHPq-DfOAx2-hsGidED45uIYsrFswpvBpnxLxVn0rJVvhPMfkgJvQHF2Fdl0Q4xSYTDuPUSYC2LIR69Yq2QOCoaLBDwpf7Nwryk6fKrpjU2oaTThyVvR-DDH_kpLGbS8ojWqV14JrV7Rhsx3PZkRLfrYuckwEyo2HzZ6jz1a4dFd2nTnsPzz6dtX-oNetXH6lodRSCgYT2lSsJKXtMjzgsPtRxgHekrozc8EFLZVKA7j5012g38camuEDE09xHxnIqwkLLNqIGw174uXrkvmXHEYq5yt33Ej7On_r2Wbc0HWa_ojuVC_7eaZu0fn4cztjeZ5U_3EuYgz2E30MLr2EPVktr5D7szxALPNnc_Fm5fo5WxOH6ZtPDvegLixPnvl6WdOx-FkbLCcAu3J6X54G9CZozyIi9LoV56Jrm6dRS_1TIGf64NSvRP7Wmu4hnkKA6neeo_i9HmF6uGdusEM1-ZbBeGIjcOA9nbdoj98eDieW-zBjj08K98CyanWDTx0wntL-EYcT4zkdAnfW-VAo5Au3ES-RZiPnTI9mB2IEDqXj-QUVO-8HZtgDvyfW9W00Ig-YgQIAb9FAA3frPEYPWErRu2X8DtaBOViGq36X5eURtZGe5DYxXPXej_EU8-2hG1n69LYPWHbV8K2PwV-SY9_2OT6RvveIgzTEwIOsYuCagTVX5MGh3omJfZCRRFOdUqLeBUTxoui4BQWsuJyxVdigVVSMJpmeZJni7Yq5S5b4WqHmNScpjtaNsUuEWXDORZS0IWqGGUpLWiZ5GzFsiVFVjdsJymXMkGkJKXYCaWXWh-7oGqhnBuxWpU0TRfxxnbxmWSsx2eIRsJYeDVtFWIe6nHvSEq1ct69oXjlNVZJDvWLR3jU4b2VoI2Q555i7FBc4Wxye1YS4fGff8HiXjmPFnbWdOC8aH5Bh52xL4vR6uquJcq3Y71sTEfYNhCY_z0M1vzExhO2jbQdYdtJ1rFi_wUAAP__SP864g">