[llvm] [RISCV] Fix bugs about getting register list of Zcmp push/pop. (PR #66073)

Kito Cheng via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 14 02:56:10 PDT 2023


================
@@ -2078,53 +2078,53 @@ define void @foo() {
 ; RV64I-WITH-FP-NEXT:    .cfi_def_cfa_offset 32
 ; RV64I-WITH-FP-NEXT:    sd ra, 24(sp) # 8-byte Folded Spill
 ; RV64I-WITH-FP-NEXT:    sd s0, 16(sp) # 8-byte Folded Spill
-; RV64I-WITH-FP-NEXT:    sd s4, 8(sp) # 8-byte Folded Spill
+; RV64I-WITH-FP-NEXT:    sd s11, 8(sp) # 8-byte Folded Spill
 ; RV64I-WITH-FP-NEXT:    .cfi_offset ra, -8
 ; RV64I-WITH-FP-NEXT:    .cfi_offset s0, -16
-; RV64I-WITH-FP-NEXT:    .cfi_offset s4, -24
+; RV64I-WITH-FP-NEXT:    .cfi_offset s11, -24
 ; RV64I-WITH-FP-NEXT:    addi s0, sp, 32
 ; RV64I-WITH-FP-NEXT:    .cfi_def_cfa s0, 0
 ; RV64I-WITH-FP-NEXT:    #APP
-; RV64I-WITH-FP-NEXT:    li s4, 0
+; RV64I-WITH-FP-NEXT:    li s11, 0
 ; RV64I-WITH-FP-NEXT:    #NO_APP
 ; RV64I-WITH-FP-NEXT:    ld ra, 24(sp) # 8-byte Folded Reload
 ; RV64I-WITH-FP-NEXT:    ld s0, 16(sp) # 8-byte Folded Reload
-; RV64I-WITH-FP-NEXT:    ld s4, 8(sp) # 8-byte Folded Reload
+; RV64I-WITH-FP-NEXT:    ld s11, 8(sp) # 8-byte Folded Reload
 ; RV64I-WITH-FP-NEXT:    addi sp, sp, 32
 ; RV64I-WITH-FP-NEXT:    ret
 ;
 ; RV64IZCMP-LABEL: foo:
 ; RV64IZCMP:       # %bb.0: # %entry
-; RV64IZCMP-NEXT:    cm.push {ra, s0-s4}, -48
-; RV64IZCMP-NEXT:    .cfi_def_cfa_offset 48
-; RV64IZCMP-NEXT:    .cfi_offset s4, -8
+; RV64IZCMP-NEXT:    cm.push {ra, s0-s11}, -112
+; RV64IZCMP-NEXT:    .cfi_def_cfa_offset 112
+; RV64IZCMP-NEXT:    .cfi_offset s11, -8
 ; RV64IZCMP-NEXT:    #APP
-; RV64IZCMP-NEXT:    li s4, 0
+; RV64IZCMP-NEXT:    li s11, 0
 ; RV64IZCMP-NEXT:    #NO_APP
-; RV64IZCMP-NEXT:    cm.popret {ra, s0-s4}, 48
+; RV64IZCMP-NEXT:    cm.popret {ra, s0-s11}, 112
 ;
 ; RV64IZCMP-WITH-FP-LABEL: foo:
 ; RV64IZCMP-WITH-FP:       # %bb.0: # %entry
 ; RV64IZCMP-WITH-FP-NEXT:    addi sp, sp, -32
 ; RV64IZCMP-WITH-FP-NEXT:    .cfi_def_cfa_offset 32
 ; RV64IZCMP-WITH-FP-NEXT:    sd ra, 24(sp) # 8-byte Folded Spill
 ; RV64IZCMP-WITH-FP-NEXT:    sd s0, 16(sp) # 8-byte Folded Spill
-; RV64IZCMP-WITH-FP-NEXT:    sd s4, 8(sp) # 8-byte Folded Spill
+; RV64IZCMP-WITH-FP-NEXT:    sd s11, 8(sp) # 8-byte Folded Spill
 ; RV64IZCMP-WITH-FP-NEXT:    .cfi_offset ra, -8
 ; RV64IZCMP-WITH-FP-NEXT:    .cfi_offset s0, -16
-; RV64IZCMP-WITH-FP-NEXT:    .cfi_offset s4, -24
+; RV64IZCMP-WITH-FP-NEXT:    .cfi_offset s11, -24
 ; RV64IZCMP-WITH-FP-NEXT:    addi s0, sp, 32
 ; RV64IZCMP-WITH-FP-NEXT:    .cfi_def_cfa s0, 0
 ; RV64IZCMP-WITH-FP-NEXT:    #APP
-; RV64IZCMP-WITH-FP-NEXT:    li s4, 0
+; RV64IZCMP-WITH-FP-NEXT:    li s11, 0
 ; RV64IZCMP-WITH-FP-NEXT:    #NO_APP
 ; RV64IZCMP-WITH-FP-NEXT:    ld ra, 24(sp) # 8-byte Folded Reload
 ; RV64IZCMP-WITH-FP-NEXT:    ld s0, 16(sp) # 8-byte Folded Reload
-; RV64IZCMP-WITH-FP-NEXT:    ld s4, 8(sp) # 8-byte Folded Reload
+; RV64IZCMP-WITH-FP-NEXT:    ld s11, 8(sp) # 8-byte Folded Reload
 ; RV64IZCMP-WITH-FP-NEXT:    addi sp, sp, 32
 ; RV64IZCMP-WITH-FP-NEXT:    ret
 entry:
-  tail call void asm sideeffect "li s4, 0", "~{s4}"()
+  tail call void asm sideeffect "li s11, 0", "~{s11}"()
----------------
kito-cheng wrote:

Add one more function instead of updating this?

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


More information about the llvm-commits mailing list