[PATCH] D143036: [RISCV] Add vendor-defined XTHeadBs (single-bit) extension
Philip Reames via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Feb 2 12:04:16 PST 2023
reames added a comment.
This generally looks reasonable to me, and I support adding this vendor extension once normal code review is complete.
================
Comment at: llvm/lib/Target/RISCV/RISCVISelLowering.cpp:1243
+ Subtarget.hasStdExtZbs() && X.getValueType().isScalarInteger();
auto *C = dyn_cast<ConstantSDNode>(Y);
+ // XTheadBs provides th.tst (similar to bexti), if Y is a constant
----------------
Style wise, a series of early returns here would be easy to follow.
================
Comment at: llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td:80
+let IsSignExtendingOpW = 1 in
+def TH_TST : RVBShift_ri<0b10001, 0b001, OPC_CUSTOM_0, "th.tst">,
+ Sched<[WriteSingleBitImm, ReadSingleBitImm]>;
----------------
Missing decoder namerspace
================
Comment at: llvm/test/CodeGen/RISCV/rv32xtheadbs.ll:1
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
+; RUN: llc -mtriple=riscv32 -verify-machineinstrs < %s \
----------------
In this diff, you have coverage for both 32 and 64, but is this extension actually defined for RV32? The previous diff (THeadBa) was only tested on RV64. Why are these two handled differently here?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D143036/new/
https://reviews.llvm.org/D143036
More information about the llvm-commits
mailing list