[llvm] [RISCV] Generalize existing SRA combine to fix #101040. (PR #101610)
    Yingwei Zheng via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Thu Aug  1 23:13:59 PDT 2024
    
    
  
dtcxzyw wrote:
Can you add a test without zbb?
https://godbolt.org/z/5oKaq5Tjv
```
define signext i32 @func0000000000000001(i32 signext %0, i8 signext %1) #0 {
entry:
  %2 = shl i8 %1, 3
  %3 = ashr i8 %2, 7
  %4 = sext i8 %3 to i32
  %5 = add nsw i32 %4, %0
  ret i32 %5
}
```
Before:
```
func0000000000000001:                   # @func0000000000000001
        slli    a1, a1, 59
        srai    a1, a1, 56
        srli    a1, a1, 7
        addw    a0, a1, a0
        ret
```
After:
```
func0000000000000001:                   # @func0000000000000001
        slli    a1, a1, 59
        srai    a1, a1, 63
        addw    a0, a1, a0
        ret
```
https://github.com/llvm/llvm-project/pull/101610
    
    
More information about the llvm-commits
mailing list