[llvm] [Xtensa] Regenerate test/CodeGen/Xtensa/mul.ll to fix test (PR #175062)
via llvm-commits
llvm-commits at lists.llvm.org
Thu Jan 8 11:49:30 PST 2026
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-backend-xtensa
Author: Alexander Richardson (arichardson)
<details>
<summary>Changes</summary>
It appears the codegen for mulhsu_i64 has changed recently. I noticed this
test failing locally since some time in December, so I am not sure which
commit triggered it. The assembly diff is quite large so I haven't reviwed
it.
---
Full diff: https://github.com/llvm/llvm-project/pull/175062.diff
1 Files Affected:
- (modified) llvm/test/CodeGen/Xtensa/mul.ll (+53-71)
``````````diff
diff --git a/llvm/test/CodeGen/Xtensa/mul.ll b/llvm/test/CodeGen/Xtensa/mul.ll
index 4dd03e408fcf4..a3657a5c61dae 100644
--- a/llvm/test/CodeGen/Xtensa/mul.ll
+++ b/llvm/test/CodeGen/Xtensa/mul.ll
@@ -1199,120 +1199,102 @@ define i128 @muli128_m63(i128 %a) nounwind {
define i64 @mulhsu_i64(i64 %a, i64 %b) nounwind {
; XTENSA-LABEL: mulhsu_i64:
; XTENSA: # %bb.0:
-; XTENSA-NEXT: addi a8, a1, -64
+; XTENSA-NEXT: addi a8, a1, -48
; XTENSA-NEXT: or a1, a8, a8
-; XTENSA-NEXT: s32i a0, a1, 52 # 4-byte Folded Spill
-; XTENSA-NEXT: s32i a12, a1, 48 # 4-byte Folded Spill
-; XTENSA-NEXT: s32i a13, a1, 44 # 4-byte Folded Spill
-; XTENSA-NEXT: s32i a14, a1, 40 # 4-byte Folded Spill
-; XTENSA-NEXT: s32i a15, a1, 36 # 4-byte Folded Spill
-; XTENSA-NEXT: s32i a5, a1, 28 # 4-byte Folded Spill
+; XTENSA-NEXT: s32i a0, a1, 44 # 4-byte Folded Spill
+; XTENSA-NEXT: s32i a12, a1, 40 # 4-byte Folded Spill
+; XTENSA-NEXT: s32i a13, a1, 36 # 4-byte Folded Spill
+; XTENSA-NEXT: s32i a14, a1, 32 # 4-byte Folded Spill
+; XTENSA-NEXT: s32i a15, a1, 28 # 4-byte Folded Spill
+; XTENSA-NEXT: s32i a5, a1, 20 # 4-byte Folded Spill
; XTENSA-NEXT: or a13, a4, a4
; XTENSA-NEXT: or a15, a3, a3
; XTENSA-NEXT: movi a12, 0
; XTENSA-NEXT: l32r a8, .LCPI32_0
-; XTENSA-NEXT: s32i a2, a1, 32 # 4-byte Folded Spill
+; XTENSA-NEXT: s32i a2, a1, 24 # 4-byte Folded Spill
; XTENSA-NEXT: or a3, a12, a12
; XTENSA-NEXT: or a5, a12, a12
; XTENSA-NEXT: callx0 a8
; XTENSA-NEXT: or a14, a3, a3
; XTENSA-NEXT: l32r a8, .LCPI32_1
-; XTENSA-NEXT: s32i a15, a1, 20 # 4-byte Folded Spill
+; XTENSA-NEXT: s32i a15, a1, 8 # 4-byte Folded Spill
; XTENSA-NEXT: or a2, a15, a15
; XTENSA-NEXT: or a3, a12, a12
-; XTENSA-NEXT: s32i a13, a1, 16 # 4-byte Folded Spill
; XTENSA-NEXT: or a4, a13, a13
; XTENSA-NEXT: or a5, a12, a12
; XTENSA-NEXT: callx0 a8
-; XTENSA-NEXT: add a14, a2, a14
-; XTENSA-NEXT: movi a15, 1
-; XTENSA-NEXT: or a8, a15, a15
-; XTENSA-NEXT: bltu a14, a2, .LBB32_2
+; XTENSA-NEXT: add a13, a2, a14
+; XTENSA-NEXT: movi a14, 1
+; XTENSA-NEXT: or a8, a14, a14
+; XTENSA-NEXT: bltu a13, a2, .LBB32_2
; XTENSA-NEXT: # %bb.1:
; XTENSA-NEXT: or a8, a12, a12
; XTENSA-NEXT: .LBB32_2:
; XTENSA-NEXT: add a8, a3, a8
-; XTENSA-NEXT: s32i a8, a1, 24 # 4-byte Folded Spill
+; XTENSA-NEXT: s32i a8, a1, 16 # 4-byte Folded Spill
; XTENSA-NEXT: l32r a8, .LCPI32_2
-; XTENSA-NEXT: l32i a2, a1, 32 # 4-byte Folded Reload
+; XTENSA-NEXT: l32i a2, a1, 24 # 4-byte Folded Reload
; XTENSA-NEXT: or a3, a12, a12
-; XTENSA-NEXT: l32i a4, a1, 28 # 4-byte Folded Reload
+; XTENSA-NEXT: l32i a4, a1, 20 # 4-byte Folded Reload
; XTENSA-NEXT: or a5, a12, a12
; XTENSA-NEXT: callx0 a8
-; XTENSA-NEXT: add a9, a2, a14
-; XTENSA-NEXT: or a8, a15, a15
+; XTENSA-NEXT: add a9, a2, a13
+; XTENSA-NEXT: s32i a14, a1, 4 # 4-byte Folded Spill
+; XTENSA-NEXT: or a8, a14, a14
; XTENSA-NEXT: bltu a9, a2, .LBB32_4
; XTENSA-NEXT: # %bb.3:
; XTENSA-NEXT: or a8, a12, a12
; XTENSA-NEXT: .LBB32_4:
; XTENSA-NEXT: add a8, a3, a8
-; XTENSA-NEXT: l32i a9, a1, 24 # 4-byte Folded Reload
-; XTENSA-NEXT: add a14, a9, a8
+; XTENSA-NEXT: l32i a9, a1, 16 # 4-byte Folded Reload
+; XTENSA-NEXT: add a15, a9, a8
; XTENSA-NEXT: l32r a8, .LCPI32_3
-; XTENSA-NEXT: l32i a2, a1, 20 # 4-byte Folded Reload
+; XTENSA-NEXT: l32i a14, a1, 8 # 4-byte Folded Reload
+; XTENSA-NEXT: or a2, a14, a14
; XTENSA-NEXT: or a3, a12, a12
-; XTENSA-NEXT: l32i a13, a1, 28 # 4-byte Folded Reload
+; XTENSA-NEXT: l32i a13, a1, 20 # 4-byte Folded Reload
; XTENSA-NEXT: or a4, a13, a13
; XTENSA-NEXT: or a5, a12, a12
; XTENSA-NEXT: callx0 a8
-; XTENSA-NEXT: s32i a3, a1, 8 # 4-byte Folded Spill
-; XTENSA-NEXT: s32i a14, a1, 12 # 4-byte Folded Spill
-; XTENSA-NEXT: s32i a2, a1, 4 # 4-byte Folded Spill
-; XTENSA-NEXT: add a14, a2, a14
-; XTENSA-NEXT: l32r a8, .LCPI32_4
-; XTENSA-NEXT: l32i a2, a1, 16 # 4-byte Folded Reload
-; XTENSA-NEXT: or a3, a13, a13
-; XTENSA-NEXT: or a4, a12, a12
-; XTENSA-NEXT: or a5, a12, a12
-; XTENSA-NEXT: callx0 a8
-; XTENSA-NEXT: s32i a2, a1, 0 # 4-byte Folded Spill
-; XTENSA-NEXT: s32i a3, a1, 16 # 4-byte Folded Spill
+; XTENSA-NEXT: s32i a3, a1, 0 # 4-byte Folded Spill
+; XTENSA-NEXT: or a5, a14, a14
+; XTENSA-NEXT: or a14, a2, a2
+; XTENSA-NEXT: s32i a15, a1, 12 # 4-byte Folded Spill
+; XTENSA-NEXT: add a15, a14, a15
; XTENSA-NEXT: srai a2, a13, 31
-; XTENSA-NEXT: l32r a8, .LCPI32_5
+; XTENSA-NEXT: l32r a8, .LCPI32_4
; XTENSA-NEXT: or a3, a2, a2
-; XTENSA-NEXT: l32i a4, a1, 32 # 4-byte Folded Reload
-; XTENSA-NEXT: l32i a5, a1, 20 # 4-byte Folded Reload
+; XTENSA-NEXT: l32i a4, a1, 24 # 4-byte Folded Reload
; XTENSA-NEXT: callx0 a8
-; XTENSA-NEXT: or a8, a2, a2
-; XTENSA-NEXT: l32i a9, a1, 0 # 4-byte Folded Reload
-; XTENSA-NEXT: add a10, a8, a9
-; XTENSA-NEXT: add a2, a14, a10
-; XTENSA-NEXT: or a9, a15, a15
-; XTENSA-NEXT: bltu a2, a14, .LBB32_6
+; XTENSA-NEXT: add a2, a15, a2
+; XTENSA-NEXT: l32i a7, a1, 4 # 4-byte Folded Reload
+; XTENSA-NEXT: or a8, a7, a7
+; XTENSA-NEXT: bltu a2, a15, .LBB32_6
; XTENSA-NEXT: # %bb.5:
-; XTENSA-NEXT: or a9, a12, a12
+; XTENSA-NEXT: or a8, a12, a12
; XTENSA-NEXT: .LBB32_6:
-; XTENSA-NEXT: or a11, a15, a15
-; XTENSA-NEXT: l32i a7, a1, 4 # 4-byte Folded Reload
-; XTENSA-NEXT: bltu a14, a7, .LBB32_8
+; XTENSA-NEXT: or a9, a7, a7
+; XTENSA-NEXT: bltu a15, a14, .LBB32_8
; XTENSA-NEXT: # %bb.7:
-; XTENSA-NEXT: or a11, a12, a12
+; XTENSA-NEXT: or a9, a12, a12
; XTENSA-NEXT: .LBB32_8:
-; XTENSA-NEXT: or a7, a15, a15
-; XTENSA-NEXT: l32i a6, a1, 24 # 4-byte Folded Reload
-; XTENSA-NEXT: l32i a5, a1, 12 # 4-byte Folded Reload
-; XTENSA-NEXT: bltu a5, a6, .LBB32_10
+; XTENSA-NEXT: l32i a10, a1, 16 # 4-byte Folded Reload
+; XTENSA-NEXT: l32i a11, a1, 12 # 4-byte Folded Reload
+; XTENSA-NEXT: bltu a11, a10, .LBB32_10
; XTENSA-NEXT: # %bb.9:
; XTENSA-NEXT: or a7, a12, a12
; XTENSA-NEXT: .LBB32_10:
-; XTENSA-NEXT: l32i a6, a1, 8 # 4-byte Folded Reload
-; XTENSA-NEXT: add a7, a6, a7
-; XTENSA-NEXT: add a11, a7, a11
-; XTENSA-NEXT: bltu a10, a8, .LBB32_12
-; XTENSA-NEXT: # %bb.11:
-; XTENSA-NEXT: or a15, a12, a12
-; XTENSA-NEXT: .LBB32_12:
-; XTENSA-NEXT: l32i a8, a1, 16 # 4-byte Folded Reload
-; XTENSA-NEXT: add a8, a3, a8
-; XTENSA-NEXT: add a8, a8, a15
-; XTENSA-NEXT: add a8, a11, a8
-; XTENSA-NEXT: add a3, a8, a9
-; XTENSA-NEXT: l32i a15, a1, 36 # 4-byte Folded Reload
-; XTENSA-NEXT: l32i a14, a1, 40 # 4-byte Folded Reload
-; XTENSA-NEXT: l32i a13, a1, 44 # 4-byte Folded Reload
-; XTENSA-NEXT: l32i a12, a1, 48 # 4-byte Folded Reload
-; XTENSA-NEXT: l32i a0, a1, 52 # 4-byte Folded Reload
-; XTENSA-NEXT: addi a8, a1, 64
+; XTENSA-NEXT: l32i a10, a1, 0 # 4-byte Folded Reload
+; XTENSA-NEXT: add a10, a10, a7
+; XTENSA-NEXT: add a9, a10, a9
+; XTENSA-NEXT: add a9, a9, a3
+; XTENSA-NEXT: add a3, a9, a8
+; XTENSA-NEXT: l32i a15, a1, 28 # 4-byte Folded Reload
+; XTENSA-NEXT: l32i a14, a1, 32 # 4-byte Folded Reload
+; XTENSA-NEXT: l32i a13, a1, 36 # 4-byte Folded Reload
+; XTENSA-NEXT: l32i a12, a1, 40 # 4-byte Folded Reload
+; XTENSA-NEXT: l32i a0, a1, 44 # 4-byte Folded Reload
+; XTENSA-NEXT: addi a8, a1, 48
; XTENSA-NEXT: or a1, a8, a8
; XTENSA-NEXT: ret
;
``````````
</details>
https://github.com/llvm/llvm-project/pull/175062
More information about the llvm-commits
mailing list