[PATCH] D123179: [RISCV] Pre-commit for fixing stack offset for RVV object
    Roger Ferrer Ibanez via Phabricator via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Thu Apr  7 00:45:52 PDT 2022
    
    
  
rogfer01 added a comment.
Hi @kito-cheng
I'm ok with this once D123178 <https://reviews.llvm.org/D123178> lands.
Just to confirm the issue is the `vs1r` of `v8` before the loop. Is my understanding correct?
F22703795: Screenshot from 2022-04-07 09-42-55.png <https://reviews.llvm.org/F22703795>
I made this diagram based on the output of  `llc -o - -mtriple riscv64 -mattr=+m,+v t.ll  -riscv-v-vector-bits-min=512`
  asm_fprintf:                            # @asm_fprintf
  # %bb.0:                                # %entry
  	addi	sp, sp, -64
  	sd	ra, 40(sp)                      # 8-byte Folded Spill
  	sd	s0, 32(sp)                      # 8-byte Folded Spill
  	sd	s1, 24(sp)                      # 8-byte Folded Spill
  	csrr	a0, vlenb
  	sub	sp, sp, a0
  	mv	s0, a4
  	mv	s1, a1
  	csrr	a0, vlenb
  	add	a0, sp, a0
  	sd	a7, 56(a0)
  	csrr	a0, vlenb
  	add	a0, sp, a0
  	sd	a6, 48(a0)
  	vsetivli	zero, 2, e8, mf8, ta, mu
  	vmv.v.i	v8, 0
  	addi	a0, sp, 40
  	vs1r.v	v8, (a0)                        # Unknown-size Folded Spill
  .LBB0_1:                                # %while.cond
                                          # =>This Inner Loop Header: Depth=1
  	bnez	zero, .LBB0_1
  # %bb.2:                                # %sw.bb
                                          #   in Loop: Header=BB0_1 Depth=1
  	vsetivli	zero, 2, e8, mf8, ta, mu
  	addi	a0, sp, 40
  	vl1r.v	v8, (a0)                        # Unknown-size Folded Reload
  	vse8.v	v8, (s0)
  	mv	a0, s1
  	call	fprintf at plt
  	j	.LBB0_1
Repository:
  rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D123179/new/
https://reviews.llvm.org/D123179
    
    
More information about the llvm-commits
mailing list