[llvm] [AArch64][InstCombine] Combine add with [su]adalp intrinsics (PR #204796)

via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 2 03:03:25 PDT 2026


=?utf-8?q?Gaëtan?= Bossu <gaetan.bossu at arm.com>,
=?utf-8?q?Gaëtan?= Bossu <gaetan.bossu at arm.com>
Message-ID:
In-Reply-To: <llvm.org/llvm/llvm-project/pull/204796 at github.com>


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Windows-->
# :window: Windows x64 Test Results

* 62397 tests passed
* 1876 tests skipped

All executed tests passed, but another part of the build **failed**. Click on a failure below to see the details.

<details>
<summary>[code=4294967295] bin/llvm-reduce.exe</summary>

```
FAILED: [code=4294967295] bin/llvm-reduce.exe
C:\Windows\system32\cmd.exe /C "cd . && C:\BuildTools\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe -E vs_link_exe --msvc-ver=1944 --intdir=tools\llvm-reduce\CMakeFiles\llvm-reduce.dir --rc="C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x64\rc.exe" --mt="C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x64\mt.exe" --manifests  -- C:\clang\clang-msvc\bin\lld-link.exe /nologo @CMakeFiles\llvm-reduce.rsp  /out:bin\llvm-reduce.exe /implib:lib\llvm-reduce.lib /pdb:bin\llvm-reduce.pdb /version:0.0 /MANIFEST:NO /Brepro /INCREMENTAL:NO /subsystem:console  /STACK:10000000 && cd ."
LINK: command "C:\clang\clang-msvc\bin\lld-link.exe /nologo @CMakeFiles\llvm-reduce.rsp /out:bin\llvm-reduce.exe /implib:lib\llvm-reduce.lib /pdb:bin\llvm-reduce.pdb /version:0.0 /MANIFEST:NO /Brepro /INCREMENTAL:NO /subsystem:console /STACK:10000000" failed (exit code 1) with the following output:
lld-link: error: undefined symbol: LLVMInitializeVETargetMC
>>> referenced by tools\llvm-reduce\CMakeFiles\llvm-reduce.dir\ReducerWorkItem.cpp.obj:(void __cdecl llvm::InitializeAllTargetMCs(void))

lld-link: error: undefined symbol: void __cdecl llvm::VE_MC::verifyInstructionPredicates(unsigned int, class llvm::FeatureBitset const &)
>>> referenced by LLVMVECodeGen.lib(VEAsmPrinter.cpp.obj):(public: virtual void __cdecl `anonymous namespace'::VEAsmPrinter::emitInstruction(class llvm::MachineInstr const *))

lld-link: error: undefined symbol: public: static char const * __cdecl llvm::VEInstPrinter::getRegisterName(class llvm::MCRegister, unsigned int)
>>> referenced by LLVMVECodeGen.lib(VEAsmPrinter.cpp.obj):(public: void __cdecl `anonymous namespace'::VEAsmPrinter::printOperand(class llvm::MachineInstr const *, int, class MachineInstr::raw_ostream &))

lld-link: error: undefined symbol: struct llvm::SubtargetSubTypeKV const *const llvm::VESubTypeKV
>>> referenced by LLVMVECodeGen.lib(VESubtarget.cpp.obj):(public: __cdecl llvm::VEGenSubtargetInfo::VEGenSubtargetInfo(class llvm::Triple const &, class llvm::StringRef, class llvm::StringRef, class llvm::StringRef))
>>> referenced by LLVMVECodeGen.lib(VESubtarget.cpp.obj):(public: __cdecl llvm::VESubtarget::VESubtarget(class llvm::Triple const &, class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>> const &, class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>> const &, class llvm::TargetMachine const &))

lld-link: error: undefined symbol: struct llvm::SubtargetFeatureKV const *const llvm::VEFeatureKV
>>> referenced by LLVMVECodeGen.lib(VESubtarget.cpp.obj):(public: __cdecl llvm::VEGenSubtargetInfo::VEGenSubtargetInfo(class llvm::Triple const &, class llvm::StringRef, class llvm::StringRef, class llvm::StringRef))
>>> referenced by LLVMVECodeGen.lib(VESubtarget.cpp.obj):(public: __cdecl llvm::VESubtarget::VESubtarget(class llvm::Triple const &, class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>> const &, class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>> const &, class llvm::TargetMachine const &))

lld-link: error: undefined symbol: class llvm::StringRef const *const llvm::VENames
>>> referenced by LLVMVECodeGen.lib(VESubtarget.cpp.obj):(public: __cdecl llvm::VEGenSubtargetInfo::VEGenSubtargetInfo(class llvm::Triple const &, class llvm::StringRef, class llvm::StringRef, class llvm::StringRef))
>>> referenced by LLVMVECodeGen.lib(VESubtarget.cpp.obj):(public: __cdecl llvm::VESubtarget::VESubtarget(class llvm::Triple const &, class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>> const &, class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>> const &, class llvm::TargetMachine const &))

lld-link: error: undefined symbol: struct llvm::MCReadAdvanceEntry const *const llvm::VEReadAdvanceTable
>>> referenced by LLVMVECodeGen.lib(VESubtarget.cpp.obj):(public: __cdecl llvm::VEGenSubtargetInfo::VEGenSubtargetInfo(class llvm::Triple const &, class llvm::StringRef, class llvm::StringRef, class llvm::StringRef))
>>> referenced by LLVMVECodeGen.lib(VESubtarget.cpp.obj):(public: __cdecl llvm::VESubtarget::VESubtarget(class llvm::Triple const &, class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>> const &, class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>> const &, class llvm::TargetMachine const &))

lld-link: error: undefined symbol: struct llvm::MCWriteLatencyEntry const *const llvm::VEWriteLatencyTable
>>> referenced by LLVMVECodeGen.lib(VESubtarget.cpp.obj):(public: __cdecl llvm::VEGenSubtargetInfo::VEGenSubtargetInfo(class llvm::Triple const &, class llvm::StringRef, class llvm::StringRef, class llvm::StringRef))
>>> referenced by LLVMVECodeGen.lib(VESubtarget.cpp.obj):(public: __cdecl llvm::VESubtarget::VESubtarget(class llvm::Triple const &, class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>> const &, class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>> const &, class llvm::TargetMachine const &))

lld-link: error: undefined symbol: struct llvm::MCWriteProcResEntry const *const llvm::VEWriteProcResTable
>>> referenced by LLVMVECodeGen.lib(VESubtarget.cpp.obj):(public: __cdecl llvm::VEGenSubtargetInfo::VEGenSubtargetInfo(class llvm::Triple const &, class llvm::StringRef, class llvm::StringRef, class llvm::StringRef))
>>> referenced by LLVMVECodeGen.lib(VESubtarget.cpp.obj):(public: __cdecl llvm::VESubtarget::VESubtarget(class llvm::Triple const &, class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>> const &, class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>> const &, class llvm::TargetMachine const &))

lld-link: error: undefined symbol: unsigned int __cdecl llvm::VE_MC::resolveVariantSchedClassImpl(unsigned int, class llvm::MCInst const *, class llvm::MCInstrInfo const *, class llvm::MCSubtargetInfo const &, unsigned int)
>>> referenced by LLVMVECodeGen.lib(VESubtarget.cpp.obj):(public: virtual unsigned int __cdecl llvm::VEGenSubtargetInfo::resolveVariantSchedClass(unsigned int, class llvm::MCInst const *, class llvm::MCInstrInfo const *, unsigned int) const)

lld-link: error: undefined symbol: struct llvm::VEInstrTable const llvm::VEDescs
>>> referenced by LLVMVECodeGen.lib(VEInstrInfo.cpp.obj):(public: __cdecl llvm::VEGenInstrInfo::VEGenInstrInfo(class llvm::TargetSubtargetInfo const &, class llvm::TargetRegisterInfo const &, unsigned int, unsigned int, unsigned int, unsigned int))
>>> referenced by LLVMVECodeGen.lib(VEInstrInfo.cpp.obj):(public: __cdecl llvm::VEInstrInfo::VEInstrInfo(class llvm::VESubtarget const &))

lld-link: error: undefined symbol: unsigned int const *const llvm::VEInstrNameIndices
>>> referenced by LLVMVECodeGen.lib(VEInstrInfo.cpp.obj):(public: __cdecl llvm::VEGenInstrInfo::VEGenInstrInfo(class llvm::TargetSubtargetInfo const &, class llvm::TargetRegisterInfo const &, unsigned int, unsigned int, unsigned int, unsigned int))
>>> referenced by LLVMVECodeGen.lib(VEInstrInfo.cpp.obj):(public: __cdecl llvm::VEInstrInfo::VEInstrInfo(class llvm::VESubtarget const &))

lld-link: error: undefined symbol: char const *const llvm::VEInstrNameData
>>> referenced by LLVMVECodeGen.lib(VEInstrInfo.cpp.obj):(public: __cdecl llvm::VEGenInstrInfo::VEGenInstrInfo(class llvm::TargetSubtargetInfo const &, class llvm::TargetRegisterInfo const &, unsigned int, unsigned int, unsigned int, unsigned int))
>>> referenced by LLVMVECodeGen.lib(VEInstrInfo.cpp.obj):(public: __cdecl llvm::VEInstrInfo::VEInstrInfo(class llvm::VESubtarget const &))

lld-link: error: undefined symbol: class llvm::MCRegisterClass const & __cdecl llvm::getVEMCRegisterClass(unsigned int)
>>> referenced by LLVMVECodeGen.lib(VERegisterInfo.cpp.obj):(public: __cdecl llvm::VEGenRegisterInfo::VEGenRegisterInfo(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int))
>>> referenced by LLVMVECodeGen.lib(VERegisterInfo.cpp.obj):(public: __cdecl llvm::VERegisterInfo::VERegisterInfo(void))

lld-link: error: undefined symbol: unsigned short const *const llvm::VERegEncodingTable
>>> referenced by LLVMVECodeGen.lib(VERegisterInfo.cpp.obj):(public: __cdecl llvm::VEGenRegisterInfo::VEGenRegisterInfo(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int))
>>> referenced by LLVMVECodeGen.lib(VERegisterInfo.cpp.obj):(public: __cdecl llvm::VERegisterInfo::VERegisterInfo(void))

lld-link: error: undefined symbol: unsigned short const *const llvm::VESubRegIdxLists
>>> referenced by LLVMVECodeGen.lib(VERegisterInfo.cpp.obj):(public: __cdecl llvm::VEGenRegisterInfo::VEGenRegisterInfo(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int))
>>> referenced by LLVMVECodeGen.lib(VERegisterInfo.cpp.obj):(public: __cdecl llvm::VERegisterInfo::VERegisterInfo(void))

lld-link: error: undefined symbol: char const *const llvm::VERegClassStrings
>>> referenced by LLVMVECodeGen.lib(VERegisterInfo.cpp.obj):(public: __cdecl llvm::VEGenRegisterInfo::VEGenRegisterInfo(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int))
>>> referenced by LLVMVECodeGen.lib(VERegisterInfo.cpp.obj):(public: __cdecl llvm::VERegisterInfo::VERegisterInfo(void))

lld-link: error: undefined symbol: char const *const llvm::VERegStrings
>>> referenced by LLVMVECodeGen.lib(VERegisterInfo.cpp.obj):(public: __cdecl llvm::VEGenRegisterInfo::VEGenRegisterInfo(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int))
>>> referenced by LLVMVECodeGen.lib(VERegisterInfo.cpp.obj):(public: __cdecl llvm::VERegisterInfo::VERegisterInfo(void))

lld-link: error: undefined symbol: struct llvm::LaneBitmask const *const llvm::VELaneMaskLists
>>> referenced by LLVMVECodeGen.lib(VERegisterInfo.cpp.obj):(public: __cdecl llvm::VEGenRegisterInfo::VEGenRegisterInfo(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int))
>>> referenced by LLVMVECodeGen.lib(VERegisterInfo.cpp.obj):(public: __cdecl llvm::VERegisterInfo::VERegisterInfo(void))

lld-link: error: undefined symbol: short const *const llvm::VERegDiffLists
>>> referenced by LLVMVECodeGen.lib(VERegisterInfo.cpp.obj):(public: __cdecl llvm::VEGenRegisterInfo::VEGenRegisterInfo(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int))
>>> referenced by LLVMVECodeGen.lib(VERegisterInfo.cpp.obj):(public: __cdecl llvm::VERegisterInfo::VERegisterInfo(void))

lld-link: error: too many errors emitted, stopping now (use /errorlimit:0 to see all errors)
```
</details>

If these failures are unrelated to your changes (for example tests are broken or flaky at HEAD), please open an issue at https://github.com/llvm/llvm-project/issues and add the `infrastructure` label.

https://github.com/llvm/llvm-project/pull/204796


More information about the llvm-commits mailing list