[llvm] [RISCV] Cost bf16/f16 vector non-unit memory accesses as legal without zvfhmin/zvfbfmin (PR #150882)

LLVM Continuous Integration via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 28 08:44:44 PDT 2025


llvm-ci wrote:

LLVM Buildbot has detected a new failure on builder `llvm-x86_64-debian-dylib` running on `gribozavr4` while building `llvm` at step 7 "test-build-unified-tree-check-llvm".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/60/builds/34039

<details>
<summary>Here is the relevant piece of the build log for the reference</summary>

```
Step 7 (test-build-unified-tree-check-llvm) failure: test (failure)
******************** TEST 'LLVM :: Transforms/LoopVectorize/RISCV/f16.ll' FAILED ********************
Exit Code: 1

Command Output (stderr):
--
/b/1/llvm-x86_64-debian-dylib/build/bin/opt < /b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/f16.ll -passes=loop-vectorize -mtriple riscv64 -mattr=+v -S | /b/1/llvm-x86_64-debian-dylib/build/bin/FileCheck /b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/f16.ll -check-prefix=NO-ZVFHMIN # RUN: at line 2
+ /b/1/llvm-x86_64-debian-dylib/build/bin/FileCheck /b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/f16.ll -check-prefix=NO-ZVFHMIN
+ /b/1/llvm-x86_64-debian-dylib/build/bin/opt -passes=loop-vectorize -mtriple riscv64 -mattr=+v -S
/b/1/llvm-x86_64-debian-dylib/build/bin/opt < /b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/f16.ll -passes=loop-vectorize -mtriple riscv64 -mattr=+v -S -prefer-predicate-over-epilogue=predicate-else-scalar-epilogue | /b/1/llvm-x86_64-debian-dylib/build/bin/FileCheck /b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/f16.ll -check-prefix=NO-ZVFHMIN-PREDICATED # RUN: at line 3
+ /b/1/llvm-x86_64-debian-dylib/build/bin/opt -passes=loop-vectorize -mtriple riscv64 -mattr=+v -S -prefer-predicate-over-epilogue=predicate-else-scalar-epilogue
+ /b/1/llvm-x86_64-debian-dylib/build/bin/FileCheck /b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/f16.ll -check-prefix=NO-ZVFHMIN-PREDICATED
/b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/f16.ll:28:31: error: NO-ZVFHMIN-PREDICATED-NEXT: expected string not found in input
; NO-ZVFHMIN-PREDICATED-NEXT: br i1 false, label %[[SCALAR_PH:.*]], label %[[VECTOR_PH:.*]]
                              ^
<stdin>:7:7: note: scanning from here
entry:
      ^
<stdin>:20:2: note: possible intended match here
 br i1 %done, label %exit, label %loop
 ^

Input file: <stdin>
Check file: /b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/f16.ll

-dump-input=help explains the following input dump.

Input was:
<<<<<<
           1: ; ModuleID = '<stdin>' 
           2: source_filename = "<stdin>" 
           3: target datalayout = "e-m:e-p:64:64-i64:64-i128:128-n32:64-S128" 
           4: target triple = "riscv64" 
           5:  
           6: define void @fadd(ptr noalias %a, ptr noalias %b, i64 %n) #0 { 
           7: entry: 
next:28'0           X error: no match found
           8:  br label %loop 
next:28'0     ~~~~~~~~~~~~~~~~
           9:  
next:28'0     ~
          10: loop: ; preds = %loop, %entry 
next:28'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          11:  %i = phi i64 [ 0, %entry ], [ %i.next, %loop ] 
next:28'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          12:  %a.gep = getelementptr half, ptr %a, i64 %i 
next:28'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           .
           .
           .
          15:  %y = load half, ptr %b.gep, align 2 
...

```

</details>

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


More information about the llvm-commits mailing list