[llvm] [AArch64][MacroFusion] Assert AES fused pairs are tied (NFC) (PR #196484)

via llvm-commits llvm-commits at lists.llvm.org
Fri May 8 01:52:58 PDT 2026


github-actions[bot] wrote:

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

* 134458 tests passed
* 3253 tests skipped
* 1 test failed

## Failed Tests
(click on a test name to see its output)

### LLVM
<details>
<summary>LLVM.CodeGen/AArch64/misched-fusion-crypto-eor.mir</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -o /dev/null C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\misched-fusion-crypto-eor.mir -run-pass=machine-scheduler -mtriple aarch64-- -mattr=-fuse-aes,+crypto -misched-print-dags 2>&1 | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\misched-fusion-crypto-eor.mir --check-prefixes=CHECK,NOFUSE
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -o /dev/null 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\misched-fusion-crypto-eor.mir' -run-pass=machine-scheduler -mtriple aarch64-- -mattr=-fuse-aes,+crypto -misched-print-dags
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\misched-fusion-crypto-eor.mir' --check-prefixes=CHECK,NOFUSE
# note: command had no output on stdout or stderr
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -o /dev/null C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\misched-fusion-crypto-eor.mir -run-pass=machine-scheduler -mtriple aarch64-- -mattr=+fuse-aes,+crypto -misched-print-dags 2>&1 | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\misched-fusion-crypto-eor.mir --check-prefixes=CHECK,FUSEAES
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -o /dev/null 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\misched-fusion-crypto-eor.mir' -run-pass=machine-scheduler -mtriple aarch64-- -mattr=+fuse-aes,+crypto -misched-print-dags
# note: command had no output on stdout or stderr
# error: command failed with exit status: 0xc000001d
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\misched-fusion-crypto-eor.mir' --check-prefixes=CHECK,FUSEAES
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\misched-fusion-crypto-eor.mir:12:11: error: CHECK: expected string not found in input
# |  ; CHECK: SU(0): %0:fpr128 = AESErr undef $q0(tied-def 0), undef $q1
# |           ^
# | <stdin>:1:1: note: scanning from here
# | Assertion failed: (SecondMI.getOpcode() == AArch64::AESMCrrTied || FirstMI->getOperand(0).getReg() == SecondMI.getOperand(0).getReg()) && "Expected tied AES pair", file C:\_work\llvm-project\llvm-project\llvm\lib\Target\AArch64\AArch64MacroFusion.cpp, line 140
# | ^
# | <stdin>:1:35: note: possible intended match here
# | Assertion failed: (SecondMI.getOpcode() == AArch64::AESMCrrTied || FirstMI->getOperand(0).getReg() == SecondMI.getOperand(0).getReg()) && "Expected tied AES pair", file C:\_work\llvm-project\llvm-project\llvm\lib\Target\AArch64\AArch64MacroFusion.cpp, line 140
# |                                   ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\misched-fusion-crypto-eor.mir
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             1: Assertion failed: (SecondMI.getOpcode() == AArch64::AESMCrrTied || FirstMI->getOperand(0).getReg() == SecondMI.getOperand(0).getReg()) && "Expected tied AES pair", file C:\_work\llvm-project\llvm-project\llvm\lib\Target\AArch64\AArch64MacroFusion.cpp, line 140 
# | check:12'0     X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | check:12'1                                       ?                                                                                                                                                                                                                                   possible intended match
# |             2: PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace and instructions to reproduce the bug. 
# | check:12'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             3: Stack dump: 
# | check:12'0     ~~~~~~~~~~~~
# |             4: 0. Program arguments: c:\\_work\\llvm-project\\llvm-project\\build\\bin\\llc.exe -o C:\\Users\\ContainerAdministrator\\AppData\\Local\\Temp\\lit-tmp-il4jwxf1\\tmpxzw84p51 C:\\_work\\llvm-project\\llvm-project\\llvm\\test\\CodeGen\\AArch64\\misched-fusion-crypto-eor.mir -run-pass=machine-scheduler -mtriple aarch64-- -mattr=+fuse-aes,+crypto -misched-print-dags 
# | check:12'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             5: 1. Running pass 'Function Pass Manager' on module 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\misched-fusion-crypto-eor.mir'. 
# | check:12'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             6: 2. Running pass 'Machine Instruction Scheduler' on function '@func' 
# | check:12'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</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/196484


More information about the llvm-commits mailing list