<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/63958>63958</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[X86][codeview] Assertion `!NeedsWinFPO && "SEH_SaveXMM incompatible with FPO data"' failed.
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
phoebewang
</td>
</tr>
</table>
<pre>
Small reproducer
```
target datalayout = "e-m:x-p:32:32-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32-a:0:32-S32"
target triple = "i386-pc-windows-msvc19.33.31629"
define dso_local x86_regcallcc void @foo(<8 x i32> %mask) #0 {
entry:
store <8 x i32> %mask, ptr poison, align 32
%wide.load = load <8 x i32>, ptr poison, align 32
%0 = icmp ne <8 x i32> %wide.load, zeroinitializer
call void @llvm.masked.store.v8f64.p0(<8 x double> poison, ptr poison, i32 8, <8 x i1> %0)
call void @llvm.masked.store.v8i32.p0(<8 x i32> poison, ptr poison, i32 32, <8 x i1> %0)
ret void
}
declare void @llvm.masked.store.v8f64.p0(<8 x double>, ptr, i32, <8 x i1>)
declare void @llvm.masked.store.v8i32.p0(<8 x i32>, ptr, i32, <8 x i1>)
attributes #0 = { "target-features"="+avx2" }
!llvm.module.flags = !{!0}
!0 = !{i32 2, !"CodeView", i32 1}
```
```
$ llc < bugpoint-reduced-simplified.ll
.text
.def @feat.00;
.scl 3;
.type 0;
.endef
.globl @feat.00
.set @feat.00, 1
.file "<stdin>"
llc: /export/users/pengfeiw/llvm-project/llvm/lib/Target/X86/X86FrameLowering.cpp:2076: virtual void llvm::X86FrameLowering::emitPrologue(llvm::MachineFunction &, llvm::MachineBasicBlock &) const: Assertion `!NeedsWinFPO && "SEH_SaveXMM incompatible with FPO data"' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. Program arguments: llc
1. Running pass 'Function Pass Manager' on module '<stdin>'.
2. Running pass 'Prologue/Epilogue Insertion & Frame Finalization' on function '@foo'
#0 0x0000000008cb7bbd llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /export/users/pengfeiw/llvm-project/llvm/lib/Support/Unix/Signals.inc:602:11
#1 0x0000000008cb805b PrintStackTraceSignalHandler(void*) /export/users/pengfeiw/llvm-project/llvm/lib/Support/Unix/Signals.inc:675:1
#2 0x0000000008cb62d6 llvm::sys::RunSignalHandlers() /export/users/pengfeiw/llvm-project/llvm/lib/Support/Signals.cpp:104:5
#3 0x0000000008cb8875 SignalHandler(int) /export/users/pengfeiw/llvm-project/llvm/lib/Support/Unix/Signals.inc:413:1
#4 0x00007f54a2a6bdb0 __restore_rt (/lib64/libc.so.6+0x59db0)
#5 0x00007f54a2ab842c __pthread_kill_implementation (/lib64/libc.so.6+0xa642c)
#6 0x00007f54a2a6bd06 gsignal (/lib64/libc.so.6+0x59d06)
#7 0x00007f54a2a3e7d3 abort (/lib64/libc.so.6+0x2c7d3)
#8 0x00007f54a2a3e6fb _nl_load_domain.cold (/lib64/libc.so.6+0x2c6fb)
#9 0x00007f54a2a64c86 (/lib64/libc.so.6+0x52c86)
#10 0x0000000006c82e49 llvm::X86FrameLowering::emitPrologue(llvm::MachineFunction&, llvm::MachineBasicBlock&) const /export/users/pengfeiw/llvm-project/llvm/lib/Target/X86/X86FrameLowering.cpp:2077:19
#11 0x0000000007d0605d (anonymous namespace)::PEI::insertPrologEpilogCode(llvm::MachineFunction&) /export/users/pengfeiw/llvm-project/llvm/lib/CodeGen/PrologEpilogInserter.cpp:1161:37
#12 0x0000000007d0391a (anonymous namespace)::PEI::runOnMachineFunction(llvm::MachineFunction&) /export/users/pengfeiw/llvm-project/llvm/lib/CodeGen/PrologEpilogInserter.cpp:266:18
#13 0x0000000007b0d385 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) /export/users/pengfeiw/llvm-project/llvm/lib/CodeGen/MachineFunctionPass.cpp:91:8
#14 0x000000000825bcba llvm::FPPassManager::runOnFunction(llvm::Function&) /export/users/pengfeiw/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1435:23
#15 0x0000000008260b02 llvm::FPPassManager::runOnModule(llvm::Module&) /export/users/pengfeiw/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1481:16
#16 0x000000000825c579 (anonymous namespace)::MPPassManager::runOnModule(llvm::Module&) /export/users/pengfeiw/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1550:23
#17 0x000000000825c0ed llvm::legacy::PassManagerImpl::run(llvm::Module&) /export/users/pengfeiw/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:535:16
#18 0x0000000008260de1 llvm::legacy::PassManager::run(llvm::Module&) /export/users/pengfeiw/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1677:3
#19 0x0000000004f8ca87 compileModule(char**, llvm::LLVMContext&) /export/users/pengfeiw/llvm-project/llvm/tools/llc/llc.cpp:754:41
#20 0x0000000004f8adcd main /export/users/pengfeiw/llvm-project/llvm/tools/llc/llc.cpp:416:13
#21 0x00007f54a2a56e50 __libc_start_call_main (/lib64/libc.so.6+0x44e50)
#22 0x00007f54a2a56efc __libc_start_main@GLIBC_2.2.5 (/lib64/libc.so.6+0x44efc)
#23 0x0000000004f8a5a5 _start (/export/users/pengfeiw/llvm-project/builds/bin/llc+0x4f8a5a5)
Aborted (core dumped)
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzMWV1z4yjW_jXkhrJKAgnJF7lwPjzTVck7qcm8s3PnQoBsthGoAMXJ_PotkPwhJdPJ9nT3bKpLRhjOeZ7zwTmmqXNyq4W4BMUVKG4uaO93xl52OyNqsad6e1Eb_nL52FKloBWdNbxnwoL0BqQrQNLxX3z11G6Fh5x6quiL6T0E-AYChMSiBXj1vOgAXmEUH4sOlen0NZu-hhHJ42MhD4OmCpsyVC10FQZkWE4BXg3SFo8YAYQmgLyVnRIHMBJXZNGxxV5qbvZu0bonli0TjBOcEbQ8bh6eXDRSC8id2SjDqILPFdlYsWVUKcbgk5EcgjxtjAGoAvi6gs9QBha3EKCipe4zQEsIEE4hKK8GmUJ7-wLwqAFC540N8N7cfA07b2FnpDM6vFEltxpidNgMULGXXCTKUB4pjoMzYR8SksbNkrUd1G-AOeoI2_8U1kgtvaRK_nkIBgiDTY4WUeqpTQIFwZNIMHmqGpInXXoyFDd9rUTQcII2BSoxglUYHABlI54UoOWH9UqMJnpHWl9SGqLoy1qt8FHpGC3lzTRsmKJWfJ01RkQjlDmOI4SP6Hib-QcVDE_qvZV174UbwzikUXkVUmnIr0UjqO-tcCF18E14oiv69BzyEM7sAlA2wDS8VyJpFN26MTGzkB8oS1_vSM9WBN8MiFEGELo2XPwuxT4qHTyXnQRMj6f5K8qhUixQh3W_7YzUfmFFON74wsm2U7KRgidKHTw-_CVePPvZFBdNPAUE9UmaAnw1-94xFT7x62_8SycghG_sEZqLZpxLtsrUCp7riF8kTvjzSXQNs5mYRoajL3jm2nkudXTwmPhKMYBXEKC1eO6M9QCteyesA2jdCb1thNwDtA4OW3TW_FswP76GD1kDtP4tRgBA6z8qMjzXlrbizuyFlXqbsC6c-Sgtw0ENn6T1PR1zNcrBK4BX813DrGilf7BGmW0vAKpOy-8p20kt1r1mXhoNASKB-KsFV9RJdqUM-zwsWUJmtPMByMo5YYfNJAUo-z8huPuX1OuHX4a1JJjs8fbnzSN9En_c30OpmWk76mWtBNxLv4NhbSh1MfRK2FCpBE8Gwz7c3a4eb6Hr61Z6SEN8heJprIfewJ33nQtQ0Rqg9Vb6XV8nzLRnxp2aXDrXh_RaQ6p5gKJ6LqDfCcgsdTtYU_bZW8rEqP7RU_YZ8r7tjlUmTYZ4eLBma2kLqd32rdA-4AhpMKzKEvhrr7XUW9hRFxK-PJr5IUzcU023wgbCRsMhi8OqSXSVIww06pyLPHl1fdvJOISf9NEjiMAYDnAtdSgwNEyPGpuT08tD2S3HiI-nU_qcHv4qVpd1fR5o7sUNgwcrtY9W-i2YbRJelu43xnkraDtGltR-KOJfnSaPfTdu_H8tn8OE3GqqXCJ1yECShmYny05EshmRKi1qOEM9yPiZaq6CR6pYjNDqO0MtiwD1hBTNkBLEyVsm_7XXE8AuFKVvBfWAcThusjR0i8UJI55bsyoLODffd_dynuGp6fIRVtkUOUWU1LxO4WZjRazeG-thtFGQTvLhkyXOJASgq_S5WPL6rB8BCBdTeXWVIwY3m87vrKB881kqtQl1TYTEp2Ma_bUCSnLEJgrIK8ApgVsXWb6HNSUTUeVUFBYlx5DW5h3SiJUcTwRVc0GkqeFGq01oVjfctFTqhBnF35FLmnoidznjmrOKfJkjYtWJY8jhyWlEWIVEvvxmZe_9qnde9H5IjS9DeJ_xnxxiJU9JWkQvUG30S2t6BzVtheviCbwcT-bbT8NAxoIwWGKoEqHXe9cifyuBg4afhAZofa53KE3CHk6XjMRfquWJKJoRxcuMfpio7fUv-hWVf5wmIqFly6oTy8kpWtYpx1XxOv4OMEO7cEbwTWbfg9IbMEZGy-C2Mz75pCqgomY1PeOzfgh7Dw3PD2Py6VeA1ndiS9nLmf5D7OU4lF-ETyyKKQuS1in6AIv72LpN42yc-s4Mqmy4uDkyIDM_sKJcvpc99_9rtIoinTmmnNNKxXkvqqKk8Sw4yfvUdurI58fzKGJ8nXunmscXF9n7NP5BChmJhejME8tzCnlTMVqVMPyck0ocA4btqI3d82paVu_ufr-_Njr-6P8bwL0xysVXNjxHtGWRx9bwiBalM7SUMw5DF_NtFefx7jQ7mQll046nIKII7WjocjbOU-s3jCq1GaH8dSOU5-LsoixIRq8kN2wqOQgFefrT3aer6w1KUFK8p6JhExV4brWCFnAQPkr6L0xX91LxsKSW-mC6oHUQe9S7Cu2qiC0NM1bEH9yCz67PjrdOF_wS8yVe0gtxmZFqWZZlkeKL3WWW5TlNGeZVQ1DdVBUiy5ogRJaiKnOSXshLlCKcltkyy3GFcEIasSw5bXBdNwXKCMhT0VKpkni3Zuz2It4YXBK8LKoLRWuhXLzgR0iLPYxfAoRAcXNhLyP3ut86kKdKOu9OUrz0Kv7PQOj8ihtQXDHDxZMUe1DcfMdLlIveqsuvvyWJtP8TAAD___DtZXI">