[PATCH] D136529: [DAG] canCreateUndefOrPoison - add support for SRA/SRL shift opcode (WIP)
Simon Pilgrim via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sat Feb 11 11:32:17 PST 2023
RKSimon added inline comments.
================
Comment at: llvm/test/CodeGen/RISCV/rv64zbb.ll:255
; RV64I-NEXT: .cfi_offset ra, -8
-; RV64I-NEXT: srliw a1, a0, 1
+; RV64I-NEXT: srli a1, a0, 1
; RV64I-NEXT: or a0, a0, a1
----------------
@craig.topper I'm familiar with the riscv shift code, but moving the freeze out of the way has changed:
```
t2: i64,ch = CopyFromReg t0, Register:i64 %0
t127: i64 = and t2, Constant:i64<4294967295>
t30: i64 = srl t127, Constant:i64<1>
```
to
```
t2: i64,ch = CopyFromReg t0, Register:i64 %0
t4: i64 = AssertZext t2, ValueType:ch:i31
t32: i64 = srl t4, Constant:i64<1>
t33: i64 = or t4, t32
```
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D136529/new/
https://reviews.llvm.org/D136529
More information about the llvm-commits
mailing list