any_extend is constant folded as zero extension, but that's not
ideal for RISCV.
Use the helper for shifts, rotates, and uaddo/usubo. There are
still more cases to update, but we need tests first.
Paths
| Differential D105785
[RISCV] Add a helper function to allow ReplaceNodeResults to use sign extension for any_extend of i32 constants. AbandonedPublic Authored by craig.topper on Jul 11 2021, 12:58 PM.
Details Summary any_extend is constant folded as zero extension, but that's not Use the helper for shifts, rotates, and uaddo/usubo. There are
Diff Detail
Unit TestsFailed Event TimelineHerald added subscribers: StephenFan, vkmr, apazos and 21 others. · View Herald TranscriptJul 11 2021, 12:58 PM Comment Actions Can't we just address the root problem and make those any_extends be sign-extended for RISC-V, where they are handled? Comment Actions
Alternative version D105918
Revision Contents
Diff 357816 llvm/lib/Target/RISCV/RISCVISelLowering.cpp
llvm/test/CodeGen/RISCV/alu32.ll
llvm/test/CodeGen/RISCV/rv64zbb-zbp.ll
llvm/test/CodeGen/RISCV/xaluo.ll
|
clang-format not found in user’s local PATH; not linting file.