[llvm] [X86] Promote cttz_i32(x) -> cttz_i64((i64)x | (1 << 32)) (PR #102900)

LLVM Continuous Integration via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 13 03:19:32 PDT 2024


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/4826

Here is the relevant piece of the build log for the reference:
```
Step 7 (test-build-unified-tree-check-llvm) failure: test (failure)
******************** TEST 'LLVM :: Analysis/CostModel/X86/intrinsic-cost-kinds.ll' FAILED ********************
Exit Code: 1

Command Output (stderr):
--
RUN: at line 2: /b/1/llvm-x86_64-debian-dylib/build/bin/opt -mtriple=x86_64-- -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=throughput   < /b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/test/Analysis/CostModel/X86/intrinsic-cost-kinds.ll | /b/1/llvm-x86_64-debian-dylib/build/bin/FileCheck /b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/test/Analysis/CostModel/X86/intrinsic-cost-kinds.ll --check-prefix=THRU
+ /b/1/llvm-x86_64-debian-dylib/build/bin/opt -mtriple=x86_64-- '-passes=print<cost-model>' -disable-output -cost-kind=throughput
+ /b/1/llvm-x86_64-debian-dylib/build/bin/FileCheck /b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/test/Analysis/CostModel/X86/intrinsic-cost-kinds.ll --check-prefix=THRU
RUN: at line 3: /b/1/llvm-x86_64-debian-dylib/build/bin/opt -mtriple=x86_64-- -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=latency      < /b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/test/Analysis/CostModel/X86/intrinsic-cost-kinds.ll | /b/1/llvm-x86_64-debian-dylib/build/bin/FileCheck /b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/test/Analysis/CostModel/X86/intrinsic-cost-kinds.ll --check-prefix=LATE
+ /b/1/llvm-x86_64-debian-dylib/build/bin/FileCheck /b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/test/Analysis/CostModel/X86/intrinsic-cost-kinds.ll --check-prefix=LATE
+ /b/1/llvm-x86_64-debian-dylib/build/bin/opt -mtriple=x86_64-- '-passes=print<cost-model>' -disable-output -cost-kind=latency
/b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/test/Analysis/CostModel/X86/intrinsic-cost-kinds.ll:240:14: error: LATE-NEXT: expected string not found in input
; LATE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %s = call i32 @llvm.cttz.i32(i32 %a, i1 false)
             ^
<stdin>:29:60: note: scanning from here
Printing analysis 'Cost Model Analysis' for function 'cttz':
                                                           ^
<stdin>:30:1: note: possible intended match here
Cost Model: Found an estimated cost of 1 for instruction: %s = call i32 @llvm.cttz.i32(i32 %a, i1 false)
^

Input file: <stdin>
Check file: /b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/test/Analysis/CostModel/X86/intrinsic-cost-kinds.ll

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

Input was:
<<<<<<
            .
            .
            .
           24: Cost Model: Found an estimated cost of 1 for instruction: ret void 
           25: Printing analysis 'Cost Model Analysis' for function 'fmaximum': 
           26: Cost Model: Found an estimated cost of 2 for instruction: %s = call float @llvm.maximum.f32(float %a, float %b) 
           27: Cost Model: Found an estimated cost of 8 for instruction: %v = call <16 x float> @llvm.maximum.v16f32(<16 x float> %va, <16 x float> %vb) 
           28: Cost Model: Found an estimated cost of 1 for instruction: ret void 
           29: Printing analysis 'Cost Model Analysis' for function 'cttz': 
next:240'0                                                                X~ error: no match found
           30: Cost Model: Found an estimated cost of 1 for instruction: %s = call i32 @llvm.cttz.i32(i32 %a, i1 false) 
next:240'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
next:240'1     ?                                                                                                         possible intended match
           31: Cost Model: Found an estimated cost of 124 for instruction: %v = call <16 x i32> @llvm.cttz.v16i32(<16 x i32> %va, i1 false) 
next:240'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           32: Cost Model: Found an estimated cost of 1 for instruction: ret void 
next:240'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           33: Printing analysis 'Cost Model Analysis' for function 'ctlz': 
next:240'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           34: Cost Model: Found an estimated cost of 1 for instruction: %s = call i32 @llvm.ctlz.i32(i32 %a, i1 true) 
           35: Cost Model: Found an estimated cost of 180 for instruction: %v = call <16 x i32> @llvm.ctlz.v16i32(<16 x i32> %va, i1 true) 
            .
...

```

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


More information about the llvm-commits mailing list