[llvm] [Xtensa] Fix setcc test. (PR #201196)
Andrei Safronov via llvm-commits
llvm-commits at lists.llvm.org
Tue Jun 2 13:55:12 PDT 2026
https://github.com/andreisfr created https://github.com/llvm/llvm-project/pull/201196
Fix setcc test after changes in llvm passes.
Also add minor fix in inline-asm-invalid.ll test.
>From 72c2fb83848c4f4b7915d6470d6c6911d74d56dd Mon Sep 17 00:00:00 2001
From: Andrei Safronov <safronov at espressif.com>
Date: Tue, 2 Jun 2026 21:33:47 +0300
Subject: [PATCH] [Xtensa] Fix setcc test.
Fix setcc test after changes in llvm passes.
Also add minor fix in inline-asm-invalid.ll test.
---
.../test/CodeGen/Xtensa/inline-asm-invalid.ll | 2 +-
llvm/test/CodeGen/Xtensa/setcc.ll | 85 +++++++++----------
2 files changed, 42 insertions(+), 45 deletions(-)
diff --git a/llvm/test/CodeGen/Xtensa/inline-asm-invalid.ll b/llvm/test/CodeGen/Xtensa/inline-asm-invalid.ll
index b29f7efe29a0b..cb9cd83fbc156 100644
--- a/llvm/test/CodeGen/Xtensa/inline-asm-invalid.ll
+++ b/llvm/test/CodeGen/Xtensa/inline-asm-invalid.ll
@@ -3,7 +3,7 @@
define void @constraint_f() nounwind {
; CHECK: error: unknown asm constraint 'f'
- tail call void asm "addi a1, a1, $0", "f"(i32 1)
+ tail call void asm "add.s f0, f1, $0", "f"(float 0.0)
ret void
}
diff --git a/llvm/test/CodeGen/Xtensa/setcc.ll b/llvm/test/CodeGen/Xtensa/setcc.ll
index 05eb80e041fbe..4b2e728176c8a 100644
--- a/llvm/test/CodeGen/Xtensa/setcc.ll
+++ b/llvm/test/CodeGen/Xtensa/setcc.ll
@@ -1,8 +1,10 @@
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 6
; RUN: llc < %s -mtriple=xtensa -O0 | FileCheck %s
define i32 @f_eq(i32 %a, i32 %b) nounwind {
; CHECK-LABEL: f_eq:
-; CHECK: addi a8, a1, -16
+; CHECK: # %bb.0:
+; CHECK-NEXT: addi a8, a1, -16
; CHECK-NEXT: or a1, a8, a8
; CHECK-NEXT: movi a8, 0
; CHECK-NEXT: s32i a8, a1, 0 # 4-byte Folded Spill
@@ -25,7 +27,8 @@ define i32 @f_eq(i32 %a, i32 %b) nounwind {
define i32 @f_slt(i32 %a, i32 %b) nounwind {
; CHECK-LABEL: f_slt:
-; CHECK: addi a8, a1, -16
+; CHECK: # %bb.0:
+; CHECK-NEXT: addi a8, a1, -16
; CHECK-NEXT: or a1, a8, a8
; CHECK-NEXT: movi a8, 0
; CHECK-NEXT: s32i a8, a1, 0 # 4-byte Folded Spill
@@ -48,7 +51,8 @@ define i32 @f_slt(i32 %a, i32 %b) nounwind {
define i32 @f_sle(i32 %a, i32 %b) nounwind {
; CHECK-LABEL: f_sle:
-; CHECK: addi a8, a1, -16
+; CHECK: # %bb.0:
+; CHECK-NEXT: addi a8, a1, -16
; CHECK-NEXT: or a1, a8, a8
; CHECK-NEXT: movi a8, 0
; CHECK-NEXT: s32i a8, a1, 0 # 4-byte Folded Spill
@@ -71,7 +75,8 @@ define i32 @f_sle(i32 %a, i32 %b) nounwind {
define i32 @f_sgt(i32 %a, i32 %b) nounwind {
; CHECK-LABEL: f_sgt:
-; CHECK: addi a8, a1, -16
+; CHECK: # %bb.0:
+; CHECK-NEXT: addi a8, a1, -16
; CHECK-NEXT: or a1, a8, a8
; CHECK-NEXT: movi a8, 0
; CHECK-NEXT: s32i a8, a1, 0 # 4-byte Folded Spill
@@ -94,7 +99,8 @@ define i32 @f_sgt(i32 %a, i32 %b) nounwind {
define i32 @f_sge(i32 %a, i32 %b) nounwind {
; CHECK-LABEL: f_sge:
-; CHECK: addi a8, a1, -16
+; CHECK: # %bb.0:
+; CHECK-NEXT: addi a8, a1, -16
; CHECK-NEXT: or a1, a8, a8
; CHECK-NEXT: movi a8, 0
; CHECK-NEXT: s32i a8, a1, 0 # 4-byte Folded Spill
@@ -117,7 +123,8 @@ define i32 @f_sge(i32 %a, i32 %b) nounwind {
define i32 @f_ne(i32 %a, i32 %b) nounwind {
; CHECK-LABEL: f_ne:
-; CHECK: addi a8, a1, -16
+; CHECK: # %bb.0:
+; CHECK-NEXT: addi a8, a1, -16
; CHECK-NEXT: or a1, a8, a8
; CHECK-NEXT: movi a8, 0
; CHECK-NEXT: s32i a8, a1, 0 # 4-byte Folded Spill
@@ -140,7 +147,8 @@ define i32 @f_ne(i32 %a, i32 %b) nounwind {
define i32 @f_ult(i32 %a, i32 %b) nounwind {
; CHECK-LABEL: f_ult:
-; CHECK: addi a8, a1, -16
+; CHECK: # %bb.0:
+; CHECK-NEXT: addi a8, a1, -16
; CHECK-NEXT: or a1, a8, a8
; CHECK-NEXT: movi a8, 0
; CHECK-NEXT: s32i a8, a1, 0 # 4-byte Folded Spill
@@ -163,7 +171,8 @@ define i32 @f_ult(i32 %a, i32 %b) nounwind {
define i32 @f_ule(i32 %a, i32 %b) nounwind {
; CHECK-LABEL: f_ule:
-; CHECK: addi a8, a1, -16
+; CHECK: # %bb.0:
+; CHECK-NEXT: addi a8, a1, -16
; CHECK-NEXT: or a1, a8, a8
; CHECK-NEXT: movi a8, 0
; CHECK-NEXT: s32i a8, a1, 0 # 4-byte Folded Spill
@@ -186,7 +195,8 @@ define i32 @f_ule(i32 %a, i32 %b) nounwind {
define i32 @f_ugt(i32 %a, i32 %b) nounwind {
; CHECK-LABEL: f_ugt:
-; CHECK: addi a8, a1, -16
+; CHECK: # %bb.0:
+; CHECK-NEXT: addi a8, a1, -16
; CHECK-NEXT: or a1, a8, a8
; CHECK-NEXT: movi a8, 0
; CHECK-NEXT: s32i a8, a1, 0 # 4-byte Folded Spill
@@ -209,7 +219,8 @@ define i32 @f_ugt(i32 %a, i32 %b) nounwind {
define i32 @f_uge(i32 %a, i32 %b) nounwind {
; CHECK-LABEL: f_uge:
-; CHECK: addi a8, a1, -16
+; CHECK: # %bb.0:
+; CHECK-NEXT: addi a8, a1, -16
; CHECK-NEXT: or a1, a8, a8
; CHECK-NEXT: movi a8, 0
; CHECK-NEXT: s32i a8, a1, 0 # 4-byte Folded Spill
@@ -235,12 +246,9 @@ define i32 @f_uge(i32 %a, i32 %b) nounwind {
define i64 @f_eq_i64(i64 %a, i64 %b) nounwind {
; CHECK-LABEL: f_eq_i64:
-; CHECK: addi a8, a1, -16
+; CHECK: # %bb.0:
+; CHECK-NEXT: addi a8, a1, -16
; CHECK-NEXT: or a1, a8, a8
-; CHECK-NEXT: # kill: def $a8 killed $a5
-; CHECK-NEXT: # kill: def $a8 killed $a4
-; CHECK-NEXT: # kill: def $a8 killed $a3
-; CHECK-NEXT: # kill: def $a8 killed $a2
; CHECK-NEXT: xor a9, a3, a5
; CHECK-NEXT: xor a8, a2, a4
; CHECK-NEXT: or a8, a8, a9
@@ -266,14 +274,13 @@ define i64 @f_eq_i64(i64 %a, i64 %b) nounwind {
define i64 @f_slt_i64(i64 %a, i64 %b) nounwind {
; CHECK-LABEL: f_slt_i64:
-; CHECK: addi a8, a1, -48
+; CHECK: # %bb.0:
+; CHECK-NEXT: addi a8, a1, -48
; CHECK-NEXT: or a1, a8, a8
; CHECK-NEXT: s32i a5, a1, 12 # 4-byte Folded Spill
; CHECK-NEXT: s32i a4, a1, 16 # 4-byte Folded Spill
; CHECK-NEXT: s32i a3, a1, 20 # 4-byte Folded Spill
; CHECK-NEXT: s32i a2, a1, 24 # 4-byte Folded Spill
-; CHECK-NEXT: # kill: def $a8 killed $a5
-; CHECK-NEXT: # kill: def $a8 killed $a3
; CHECK-NEXT: movi a8, 0
; CHECK-NEXT: s32i a8, a1, 28 # 4-byte Folded Spill
; CHECK-NEXT: movi a8, 1
@@ -317,14 +324,13 @@ define i64 @f_slt_i64(i64 %a, i64 %b) nounwind {
define i64 @f_sle_i64(i64 %a, i64 %b) nounwind {
; CHECK-LABEL: f_sle_i64:
-; CHECK: addi a8, a1, -48
+; CHECK: # %bb.0:
+; CHECK-NEXT: addi a8, a1, -48
; CHECK-NEXT: or a1, a8, a8
; CHECK-NEXT: s32i a5, a1, 12 # 4-byte Folded Spill
; CHECK-NEXT: s32i a4, a1, 16 # 4-byte Folded Spill
; CHECK-NEXT: s32i a3, a1, 20 # 4-byte Folded Spill
; CHECK-NEXT: s32i a2, a1, 24 # 4-byte Folded Spill
-; CHECK-NEXT: # kill: def $a8 killed $a5
-; CHECK-NEXT: # kill: def $a8 killed $a3
; CHECK-NEXT: movi a8, 0
; CHECK-NEXT: s32i a8, a1, 28 # 4-byte Folded Spill
; CHECK-NEXT: movi a8, 1
@@ -368,14 +374,13 @@ define i64 @f_sle_i64(i64 %a, i64 %b) nounwind {
define i64 @f_sgt_i64(i64 %a, i64 %b) nounwind {
; CHECK-LABEL: f_sgt_i64:
-; CHECK: addi a8, a1, -48
+; CHECK: # %bb.0:
+; CHECK-NEXT: addi a8, a1, -48
; CHECK-NEXT: or a1, a8, a8
; CHECK-NEXT: s32i a5, a1, 12 # 4-byte Folded Spill
; CHECK-NEXT: s32i a4, a1, 16 # 4-byte Folded Spill
; CHECK-NEXT: s32i a3, a1, 20 # 4-byte Folded Spill
; CHECK-NEXT: s32i a2, a1, 24 # 4-byte Folded Spill
-; CHECK-NEXT: # kill: def $a8 killed $a5
-; CHECK-NEXT: # kill: def $a8 killed $a3
; CHECK-NEXT: movi a8, 0
; CHECK-NEXT: s32i a8, a1, 28 # 4-byte Folded Spill
; CHECK-NEXT: movi a8, 1
@@ -419,14 +424,13 @@ define i64 @f_sgt_i64(i64 %a, i64 %b) nounwind {
define i64 @f_sge_i64(i64 %a, i64 %b) nounwind {
; CHECK-LABEL: f_sge_i64:
-; CHECK: addi a8, a1, -48
+; CHECK: # %bb.0:
+; CHECK-NEXT: addi a8, a1, -48
; CHECK-NEXT: or a1, a8, a8
; CHECK-NEXT: s32i a5, a1, 12 # 4-byte Folded Spill
; CHECK-NEXT: s32i a4, a1, 16 # 4-byte Folded Spill
; CHECK-NEXT: s32i a3, a1, 20 # 4-byte Folded Spill
; CHECK-NEXT: s32i a2, a1, 24 # 4-byte Folded Spill
-; CHECK-NEXT: # kill: def $a8 killed $a5
-; CHECK-NEXT: # kill: def $a8 killed $a3
; CHECK-NEXT: movi a8, 0
; CHECK-NEXT: s32i a8, a1, 28 # 4-byte Folded Spill
; CHECK-NEXT: movi a8, 1
@@ -470,12 +474,9 @@ define i64 @f_sge_i64(i64 %a, i64 %b) nounwind {
define i64 @f_ne_i64(i64 %a, i64 %b) nounwind {
; CHECK-LABEL: f_ne_i64:
-; CHECK: addi a8, a1, -16
+; CHECK: # %bb.0:
+; CHECK-NEXT: addi a8, a1, -16
; CHECK-NEXT: or a1, a8, a8
-; CHECK-NEXT: # kill: def $a8 killed $a5
-; CHECK-NEXT: # kill: def $a8 killed $a4
-; CHECK-NEXT: # kill: def $a8 killed $a3
-; CHECK-NEXT: # kill: def $a8 killed $a2
; CHECK-NEXT: xor a9, a3, a5
; CHECK-NEXT: xor a8, a2, a4
; CHECK-NEXT: or a8, a8, a9
@@ -501,14 +502,13 @@ define i64 @f_ne_i64(i64 %a, i64 %b) nounwind {
define i64 @f_ult_i64(i64 %a, i64 %b) nounwind {
; CHECK-LABEL: f_ult_i64:
-; CHECK: addi a8, a1, -48
+; CHECK: # %bb.0:
+; CHECK-NEXT: addi a8, a1, -48
; CHECK-NEXT: or a1, a8, a8
; CHECK-NEXT: s32i a5, a1, 12 # 4-byte Folded Spill
; CHECK-NEXT: s32i a4, a1, 16 # 4-byte Folded Spill
; CHECK-NEXT: s32i a3, a1, 20 # 4-byte Folded Spill
; CHECK-NEXT: s32i a2, a1, 24 # 4-byte Folded Spill
-; CHECK-NEXT: # kill: def $a8 killed $a5
-; CHECK-NEXT: # kill: def $a8 killed $a3
; CHECK-NEXT: movi a8, 0
; CHECK-NEXT: s32i a8, a1, 28 # 4-byte Folded Spill
; CHECK-NEXT: movi a8, 1
@@ -552,14 +552,13 @@ define i64 @f_ult_i64(i64 %a, i64 %b) nounwind {
define i64 @f_ule_i64(i64 %a, i64 %b) nounwind {
; CHECK-LABEL: f_ule_i64:
-; CHECK: addi a8, a1, -48
+; CHECK: # %bb.0:
+; CHECK-NEXT: addi a8, a1, -48
; CHECK-NEXT: or a1, a8, a8
; CHECK-NEXT: s32i a5, a1, 12 # 4-byte Folded Spill
; CHECK-NEXT: s32i a4, a1, 16 # 4-byte Folded Spill
; CHECK-NEXT: s32i a3, a1, 20 # 4-byte Folded Spill
; CHECK-NEXT: s32i a2, a1, 24 # 4-byte Folded Spill
-; CHECK-NEXT: # kill: def $a8 killed $a5
-; CHECK-NEXT: # kill: def $a8 killed $a3
; CHECK-NEXT: movi a8, 0
; CHECK-NEXT: s32i a8, a1, 28 # 4-byte Folded Spill
; CHECK-NEXT: movi a8, 1
@@ -603,14 +602,13 @@ define i64 @f_ule_i64(i64 %a, i64 %b) nounwind {
define i64 @f_ugt_i64(i64 %a, i64 %b) nounwind {
; CHECK-LABEL: f_ugt_i64:
-; CHECK: addi a8, a1, -48
+; CHECK: # %bb.0:
+; CHECK-NEXT: addi a8, a1, -48
; CHECK-NEXT: or a1, a8, a8
; CHECK-NEXT: s32i a5, a1, 12 # 4-byte Folded Spill
; CHECK-NEXT: s32i a4, a1, 16 # 4-byte Folded Spill
; CHECK-NEXT: s32i a3, a1, 20 # 4-byte Folded Spill
; CHECK-NEXT: s32i a2, a1, 24 # 4-byte Folded Spill
-; CHECK-NEXT: # kill: def $a8 killed $a5
-; CHECK-NEXT: # kill: def $a8 killed $a3
; CHECK-NEXT: movi a8, 0
; CHECK-NEXT: s32i a8, a1, 28 # 4-byte Folded Spill
; CHECK-NEXT: movi a8, 1
@@ -654,14 +652,13 @@ define i64 @f_ugt_i64(i64 %a, i64 %b) nounwind {
define i64 @f_uge_i64(i64 %a, i64 %b) nounwind {
; CHECK-LABEL: f_uge_i64:
-; CHECK: addi a8, a1, -48
+; CHECK: # %bb.0:
+; CHECK-NEXT: addi a8, a1, -48
; CHECK-NEXT: or a1, a8, a8
; CHECK-NEXT: s32i a5, a1, 12 # 4-byte Folded Spill
; CHECK-NEXT: s32i a4, a1, 16 # 4-byte Folded Spill
; CHECK-NEXT: s32i a3, a1, 20 # 4-byte Folded Spill
; CHECK-NEXT: s32i a2, a1, 24 # 4-byte Folded Spill
-; CHECK-NEXT: # kill: def $a8 killed $a5
-; CHECK-NEXT: # kill: def $a8 killed $a3
; CHECK-NEXT: movi a8, 0
; CHECK-NEXT: s32i a8, a1, 28 # 4-byte Folded Spill
; CHECK-NEXT: movi a8, 1
More information about the llvm-commits
mailing list