Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
There's a whole set of these you could do; why this one in particular? And what about it makes it RV32-specific?
Agreed, I'd at least expect the same for setugt.
llvm/lib/Target/RISCV/RISCVInstrInfo.td | ||
---|---|---|
354 | Can we use [-2049, 2046] to describe the range like the comments on AddiPair? That's a more common way to represent a range. The ~ character in there is weird. Please update the comment on simm12_plus1 as well. |
llvm/test/CodeGen/RISCV/arith-with-overflow.ll | ||
---|---|---|
32 ↗ | (On Diff #416831) | This looks like a regression |
llvm/lib/Target/RISCV/RISCVInstrInfo.td | ||
---|---|---|
355 | The zero value should be excluded, which is not needed to do li, and case just |
llvm/lib/Target/RISCV/RISCVInstrInfo.td | ||
---|---|---|
354 | done | |
llvm/test/CodeGen/RISCV/arith-with-overflow.ll | ||
32 ↗ | (On Diff #416831) | sgtz a3 a1 ------> slt a3, X0, a1 |
llvm/lib/Target/RISCV/RISCVInstrInfo.td | ||
---|---|---|
355 | I think
|
llvm/lib/Target/RISCV/RISCVInstrInfo.td | ||
---|---|---|
355 | I don't think we need to specifically consider the case of Imm == 0, riscv-gcc did not exclude it alone |
llvm/test/CodeGen/RISCV/arith-with-overflow.ll | ||
---|---|---|
32 ↗ | (On Diff #416831) | If a1 was free to use as a destination register then it could have been sgtz a1, a1. This patch just moved the slti+xor below the the sub. We could do the same thing with the sgtz but it wouldn't change the number of registers needed. |
llvm/test/CodeGen/RISCV/float-fcmp-strict.ll | ||
---|---|---|
72 | It seems no any benefits in this case, is it expected? |
llvm/test/CodeGen/RISCV/float-fcmp-strict.ll | ||
---|---|---|
72 | sgtz ---->slt rd, X0, rs2 |
llvm/test/CodeGen/RISCV/arith-with-overflow.ll | ||
---|---|---|
32 ↗ | (On Diff #416831) | Do you want me to exclude scenarios where Imm == 0 ? |
llvm/test/CodeGen/RISCV/fpclamptosat_vec.ll | ||
---|---|---|
1484 ↗ | (On Diff #417228) | This case becames poor, due to a0 (containing -1) has mutlple uses. So I think your need an extra check, that the immediate (simm12_sub1_exc0) has only one use. |
llvm/lib/Target/RISCV/RISCVInstrInfo.td | ||
---|---|---|
1222 | For this setugt, it would be better to make a comment, the coresspondant positve value range of [-2049, -1], which is different on rv32 and rv64. | |
llvm/test/CodeGen/RISCV/i32-icmp.ll | ||
242 | Though the code is correct, it would be better to use positive number, which is more clear. |
llvm/test/CodeGen/RISCV/i32-icmp.ll | ||
---|---|---|
179 | We need a more test case of -2050, which is the lower bound of simm12_sub1_exc0 |
llvm/lib/Target/RISCV/RISCVInstrInfo.td | ||
---|---|---|
360 | There's an extra space before the third use of Imm |
llvm/test/CodeGen/RISCV/i64-icmp.ll | ||
---|---|---|
5 ↗ | (On Diff #418433) | Shouldn't this use i64 instead of i32 to match the file name? |
llvm/test/CodeGen/RISCV/i64-icmp.ll | ||
---|---|---|
5 ↗ | (On Diff #418433) | done |
LGTM with that change.
llvm/lib/Target/RISCV/RISCVInstrInfo.td | ||
---|---|---|
355 | Use minus1 instead of sub1 to match better with the plus1 PatFrag abobe. |
llvm/lib/Target/RISCV/RISCVInstrInfo.td | ||
---|---|---|
355 | sorry, I did not notice your comments when commiting, and I will change that to minus1 in my next commit. |
Can we use [-2049, 2046] to describe the range like the comments on AddiPair? That's a more common way to represent a range. The ~ character in there is weird. Please update the comment on simm12_plus1 as well.