craig.topper added inline comments.
Comment at: llvm/test/CodeGen/RISCV/rvv/vloxseg-rv32.ll:2
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
-; RUN: llc -mtriple=riscv32 -mattr=+d,+experimental-zvlsseg,+zfh \
+; RUN: llc -mtriple=riscv32 -mattr=+ex
craig.topper accepted this revision.
craig.topper added a comment.
This revision is now accepted and ready to land.
LGTM
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D112408/new/
https://reviews.llvm.org/D112408
___
eopXD added inline comments.
Comment at: llvm/test/CodeGen/RISCV/rvv/vloxseg-rv32.ll:2
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
-; RUN: llc -mtriple=riscv32 -mattr=+d,+experimental-zvlsseg,+zfh \
+; RUN: llc -mtriple=riscv32 -mattr=+experimen
achieveartificialintelligence added inline comments.
Comment at: llvm/test/CodeGen/RISCV/rvv/vloxseg-rv32.ll:2
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
-; RUN: llc -mtriple=riscv32 -mattr=+d,+experimental-zvlsseg,+zfh \
+; RUN: llc -mtriple=r
craig.topper added inline comments.
Comment at: llvm/lib/Support/RISCVISAInfo.cpp:744
static const char *ImpliedExtsZfh[] = {"zfhmin"};
+static const char *ImpliedExtsZve64d[] = {"zve64f", "d"};
+static const char *ImpliedExtsZve64f[] = {"zve64x", "zve32f"};
I t
craig.topper added inline comments.
Comment at: llvm/lib/Target/RISCV/RISCV.td:186
+ "with maximal 32 EEW and F extension)",
+ [FeatureStdExtZve32x, FeatureStdExtF]>;
+def HasStdExtZve32f : Predicate<"SubTarget->hasStdExtZve32f()">;
---
eopXD added inline comments.
Comment at: llvm/lib/Target/RISCV/RISCVInstrInfoV.td:1499
foreach nf=2-8 in {
+// Vector Unit-strided Segment Instructions
+def VLSEG#nf#E64_V :
craig.topper wrote:
> The unit-stride and strided with EEW=64 don't require RV
craig.topper added inline comments.
Comment at: llvm/lib/Target/RISCV/RISCVInstrInfoV.td:1499
foreach nf=2-8 in {
+// Vector Unit-strided Segment Instructions
+def VLSEG#nf#E64_V :
The unit-stride and strided with EEW=64 don't require RV64. Just the in
eopXD added a comment.
We can land non-macro related code for zve first and continue on proceeding
patches.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D112408/new/
https://reviews.llvm.org/D112408
___
eopXD marked an inline comment as not done.
eopXD added inline comments.
Comment at: clang/lib/Basic/Targets/RISCV.cpp:184
Builder.defineMacro("__riscv_v_min_vlen", Twine(MinVLen));
+Builder.defineMacro("__riscv_v_max_eew", Twine(MaxEew));
+Builder.defineMacro("__ris
craig.topper added inline comments.
Comment at: clang/lib/Basic/Targets/RISCV.cpp:184
Builder.defineMacro("__riscv_v_min_vlen", Twine(MinVLen));
+Builder.defineMacro("__riscv_v_max_eew", Twine(MaxEew));
+Builder.defineMacro("__riscv_v_max_eew_fp", Twine(MaxEewFp));
-
eopXD marked 7 inline comments as done.
eopXD added inline comments.
Comment at: clang/lib/Basic/Targets/RISCV.cpp:184
Builder.defineMacro("__riscv_v_min_vlen", Twine(MinVLen));
+Builder.defineMacro("__riscv_v_max_eew", Twine(MaxEew));
+Builder.defineMacro("__riscv_v
craig.topper added inline comments.
Comment at: llvm/lib/Target/RISCV/RISCV.td:224
+
+def HasStdExtVIntegerEEW32
+: Predicate<"Subtarget->hasStdExtV() || SubTarget->hasStdExtZve32x()">,
Can we add the AssemblerPredicate to HasVInstructions and use that? Or we
craig.topper added inline comments.
Comment at: llvm/lib/Target/RISCV/RISCV.td:225
+def HasStdExtVIntegerEEW32
+: Predicate<"Subtarget->hasStdExtV() || SubTarget->hasStdExtZve32x()">,
+ AssemblerPredicate<
StdExtV depends on Zve64d which depends on Featu
craig.topper added inline comments.
Comment at: llvm/lib/Target/RISCV/RISCVSubtarget.h:170
// D and Zfh imply F.
bool hasVInstructionsAnyF() const { return HasStdExtV && hasStdExtF(); }
unsigned getMaxInterleaveFactor() const {
This needs to be the same
15 matches
Mail list logo