[PATCH] D150253: [RISCV] Add Zvfhmin extension for clang

2023-08-23 Thread Jianjian Guan via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG654fa9a7e898: [RISCV] Add Zvfhmin extension for clang (authored by jacquesguan). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D150253: [RISCV] Add Zvfhmin extension for clang.

2023-08-23 Thread Jianjian Guan via Phabricator via cfe-commits
jacquesguan updated this revision to Diff 552622. jacquesguan added a comment. Herald added subscribers: wangpc, sunshaoce. rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D150253/new/ https://reviews.llvm.org/D150253 Files: clang/include/cl

[PATCH] D150253: [RISCV] Add Zvfhmin extension for clang.

2023-06-01 Thread Jianjian Guan via Phabricator via cfe-commits
jacquesguan added inline comments. Comment at: clang/include/clang/Basic/riscv_vector.td:2219 + def vfwcvt_f_f_v : RVVConvBuiltin<"w", "wv", "f", "vfwcvt_f">; + let RequiredFeatures = ["ZvfhminOrZvfh"] in +def vfwcvt_f_f_v_fp16 : RVVConvBuiltin<"w", "wv", "x", "vfwcvt_f"> {

[PATCH] D150253: [RISCV] Add Zvfhmin extension for clang.

2023-06-01 Thread Yueh-Ting (eop) Chen via Phabricator via cfe-commits
eopXD added inline comments. Comment at: clang/include/clang/Basic/riscv_vector.td:2219 + def vfwcvt_f_f_v : RVVConvBuiltin<"w", "wv", "f", "vfwcvt_f">; + let RequiredFeatures = ["ZvfhminOrZvfh"] in +def vfwcvt_f_f_v_fp16 : RVVConvBuiltin<"w", "wv", "x", "vfwcvt_f"> { -

[PATCH] D150253: [RISCV] Add Zvfhmin extension for clang.

2023-06-01 Thread Craig Topper via Phabricator via cfe-commits
craig.topper added inline comments. Comment at: clang/include/clang/Basic/riscv_vector.td:2219 + def vfwcvt_f_f_v : RVVConvBuiltin<"w", "wv", "f", "vfwcvt_f">; + let RequiredFeatures = ["ZvfhminOrZvfh"] in +def vfwcvt_f_f_v_fp16 : RVVConvBuiltin<"w", "wv", "x", "vfwcvt_f">

[PATCH] D150253: [RISCV] Add Zvfhmin extension for clang.

2023-06-01 Thread Yueh-Ting (eop) Chen via Phabricator via cfe-commits
eopXD added inline comments. Comment at: clang/lib/Sema/Sema.cpp:2050 Diag(Loc, diag::err_riscv_type_requires_extension, FD) - << Ty << "zvfh"; + << Ty << "zvfh or zvfhmin"; if (Ty->isRVVType(/* Bitwidth */ 32, /* IsFloat */ true) &&

[PATCH] D150253: [RISCV] Add Zvfhmin extension for clang.

2023-06-01 Thread Yueh-Ting (eop) Chen via Phabricator via cfe-commits
eopXD added a comment. Thank you for the patch. Few comments here. Comment at: clang/include/clang/Basic/riscv_vector.td:2219 + def vfwcvt_f_f_v : RVVConvBuiltin<"w", "wv", "f", "vfwcvt_f">; + let RequiredFeatures = ["ZvfhminOrZvfh"] in +def vfwcvt_f_f_v_fp16 : RVVConvBui

[PATCH] D150253: [RISCV] Add Zvfhmin extension for clang.

2023-06-01 Thread Jianjian Guan via Phabricator via cfe-commits
jacquesguan updated this revision to Diff 527312. jacquesguan added a comment. Update dependency. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D150253/new/ https://reviews.llvm.org/D150253 Files: clang/include/clang/Basic/riscv_vector.td clang

[PATCH] D150253: [RISCV] Add Zvfhmin extension for clang.

2023-05-31 Thread Craig Topper via Phabricator via cfe-commits
craig.topper reopened this revision. craig.topper added a comment. This revision is now accepted and ready to land. The backend patch must go before the clang patch. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D150253/new/ https://reviews.llvm.org

[PATCH] D150253: [RISCV] Add Zvfhmin extension for clang.

2023-05-30 Thread Jianjian Guan via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG35a0079238ce: [RISCV] Add Zvfhmin extension for clang. (authored by jacquesguan). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D150253: [RISCV] Add Zvfhmin extension for clang.

2023-05-30 Thread Jianjian Guan via Phabricator via cfe-commits
jacquesguan updated this revision to Diff 526872. jacquesguan added a comment. Address a comment. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D150253/new/ https://reviews.llvm.org/D150253 Files: clang/include/clang/Basic/riscv_vector.td clang

[PATCH] D150253: [RISCV] Add Zvfhmin extension for clang.

2023-05-30 Thread Jianjian Guan via Phabricator via cfe-commits
jacquesguan added a comment. In D150253#4382884 , @craig.topper wrote: > Do we need to enable these intrinsics for Zvfhmin? > > vfloat16mf4_t __riscv_vle16_v_f16mf4 (const float16_t *base, size_t vl); > vfloat16mf2_t __riscv_vle16_v_f16mf2 (const flo

[PATCH] D150253: [RISCV] Add Zvfhmin extension for clang.

2023-05-30 Thread Craig Topper via Phabricator via cfe-commits
craig.topper added a comment. Do we need to enable these intrinsics for Zvfhmin? vfloat16mf4_t __riscv_vle16_v_f16mf4 (const float16_t *base, size_t vl); vfloat16mf2_t __riscv_vle16_v_f16mf2 (const float16_t *base, size_t vl); vfloat16m1_t __riscv_vle16_v_f16m1 (const float16_t *base, size_

[PATCH] D150253: [RISCV] Add Zvfhmin extension for clang.

2023-05-30 Thread Craig Topper via Phabricator via cfe-commits
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/D150253/new/ https://reviews.llvm.org/D150253 ___

[PATCH] D150253: [RISCV] Add Zvfhmin extension for clang.

2023-05-30 Thread Craig Topper via Phabricator via cfe-commits
craig.topper added a comment. In D150253#4382857 , @jacquesguan wrote: > In D150253#4381435 , @craig.topper > wrote: > >> We need to support reinterpret intrinsics so that we can load/store bf16 >> values. > >

[PATCH] D150253: [RISCV] Add Zvfhmin extension for clang.

2023-05-30 Thread Jianjian Guan via Phabricator via cfe-commits
jacquesguan added a comment. In D150253#4381435 , @craig.topper wrote: > We need to support reinterpret intrinsics so that we can load/store bf16 > values. Sorry, I don't understand your comment well. I think that change you mentioned should not be in

[PATCH] D150253: [RISCV] Add Zvfhmin extension for clang.

2023-05-30 Thread Craig Topper via Phabricator via cfe-commits
craig.topper added inline comments. Comment at: clang/lib/Sema/SemaRISCVVectorLookup.cpp:200 + bool HasZvfhminOrZvfh = TI.hasFeature("experimental-zvfhmin") || + TI.hasFeature("experimental-zvfh"); You can reuse `HasZvfh` here Reposi

[PATCH] D150253: [RISCV] Add Zvfhmin extension for clang.

2023-05-30 Thread Craig Topper via Phabricator via cfe-commits
craig.topper requested changes to this revision. craig.topper added a comment. This revision now requires changes to proceed. We need to support reinterpret intrinsics so that we can load/store bf16 values. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.o

[PATCH] D150253: [RISCV] Add Zvfhmin extension for clang.

2023-05-30 Thread Michael Maitland via Phabricator via cfe-commits
michaelmaitland accepted this revision. michaelmaitland 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/D150253/new/ https://reviews.llvm.org/D150253

[PATCH] D150253: [RISCV] Add Zvfhmin extension for clang.

2023-05-25 Thread Craig Topper via Phabricator via cfe-commits
craig.topper added inline comments. Comment at: llvm/lib/Target/RISCV/RISCVSubtarget.h:162 + bool hasVInstructionsF16Mininal() const { +return HasStdExtZvfhmin || HasStdExtZvfh; + } jacquesguan wrote: > craig.topper wrote: > > michaelmaitland wrote: > > > m

[PATCH] D150253: [RISCV] Add Zvfhmin extension for clang.

2023-05-25 Thread Jianjian Guan via Phabricator via cfe-commits
jacquesguan marked 5 inline comments as done. jacquesguan added inline comments. Comment at: llvm/lib/Target/RISCV/RISCVSubtarget.h:162 + bool hasVInstructionsF16Mininal() const { +return HasStdExtZvfhmin || HasStdExtZvfh; + } craig.topper wrote: > michaelm

[PATCH] D150253: [RISCV] Add Zvfhmin extension for clang.

2023-05-25 Thread Craig Topper via Phabricator via cfe-commits
craig.topper added inline comments. Comment at: llvm/lib/Target/RISCV/RISCVSubtarget.h:162 + bool hasVInstructionsF16Mininal() const { +return HasStdExtZvfhmin || HasStdExtZvfh; + } michaelmaitland wrote: > michaelmaitland wrote: > > jacquesguan wrote: > >

[PATCH] D150253: [RISCV] Add Zvfhmin extension for clang.

2023-05-25 Thread Michael Maitland via Phabricator via cfe-commits
michaelmaitland added inline comments. Comment at: llvm/lib/Target/RISCV/RISCVSubtarget.h:162 + bool hasVInstructionsF16Mininal() const { +return HasStdExtZvfhmin || HasStdExtZvfh; + } michaelmaitland wrote: > jacquesguan wrote: > > craig.topper wrote: > >

[PATCH] D150253: [RISCV] Add Zvfhmin extension for clang.

2023-05-25 Thread Michael Maitland via Phabricator via cfe-commits
michaelmaitland added inline comments. Comment at: llvm/lib/Target/RISCV/RISCVSubtarget.h:162 + bool hasVInstructionsF16Mininal() const { +return HasStdExtZvfhmin || HasStdExtZvfh; + } jacquesguan wrote: > craig.topper wrote: > > Doesn't HasStdExtZvfh alrea

[PATCH] D150253: [RISCV] Add Zvfhmin extension for clang.

2023-05-25 Thread Jianjian Guan via Phabricator via cfe-commits
jacquesguan marked 8 inline comments as done. jacquesguan added a comment. https://reviews.llvm.org/D151414 this is the backend part. Comment at: clang/include/clang/Basic/riscv_vector.td:1856 def vfwcvt_f_x_v : RVVConvBuiltin<"Fw", "Fwv", "csi", "vfwcvt_f">; - def vfwcvt_f

[PATCH] D150253: [RISCV] Add Zvfhmin extension.

2023-05-25 Thread Jianjian Guan via Phabricator via cfe-commits
jacquesguan updated this revision to Diff 525494. jacquesguan added a comment. Split into 2 revisions and address comment. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D150253/new/ https://reviews.llvm.org/D150253 Files: clang/include/clang/Basi

[PATCH] D150253: [RISCV] Add Zvfhmin extension.

2023-05-23 Thread Michael Maitland via Phabricator via cfe-commits
michaelmaitland added a comment. In D150253#4355730 , @jacquesguan wrote: > @michaelmaitland , I update this revision with my local branch. May you have > a look and see what missed compared with you version? I have left some comments on the clang side

[PATCH] D150253: [RISCV] Add Zvfhmin extension.

2023-05-23 Thread Michael Maitland via Phabricator via cfe-commits
michaelmaitland added inline comments. Comment at: clang/test/CodeGen/RISCV/rvv-intrinsics-handcrafted/zvfhmin-error.c:15 + + + Do we need a test that checks calls to `__riscv_vfwcvt_f` and `__riscv_vfncvt_f` using type `vfloat16m1_t` without zvfh nor zvfhmin l

[PATCH] D150253: [RISCV] Add Zvfhmin extension.

2023-05-23 Thread Michael Maitland via Phabricator via cfe-commits
michaelmaitland added inline comments. Comment at: clang/include/clang/Basic/riscv_vector.td:1856 def vfwcvt_f_x_v : RVVConvBuiltin<"Fw", "Fwv", "csi", "vfwcvt_f">; - def vfwcvt_f_f_v : RVVConvBuiltin<"w", "wv", "xf", "vfwcvt_f">; + let RequiredFeatures = ["ZvfhminOrZvfh"] i

[PATCH] D150253: [RISCV] Add Zvfhmin extension.

2023-05-23 Thread Craig Topper via Phabricator via cfe-commits
craig.topper added inline comments. Comment at: llvm/lib/Target/RISCV/RISCVISelLowering.cpp:1018 +if (VT.getVectorElementType() == MVT::f16 && +!Subtarget.hasVInstructionsF16()) { This needs to be below `By default everything must be expande

[PATCH] D150253: [RISCV] Add Zvfhmin extension.

2023-05-23 Thread Craig Topper via Phabricator via cfe-commits
craig.topper added a comment. Please split clang and llvm codegen into separate patches. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D150253/new/ https://reviews.llvm.org/D150253 ___ cfe-commits mailing

[PATCH] D150253: [RISCV] Add Zvfhmin extension.

2023-05-23 Thread Michael Maitland via Phabricator via cfe-commits
michaelmaitland added inline comments. Comment at: clang/lib/Sema/Sema.cpp:2049 +!TI.hasFeature("experimental-zvfhmin")) + Diag(Loc, diag::err_riscv_type_requires_extension, FD) << Ty << "zvfh"; if (Ty->isRVVType(/* Bitwidth */ 32, /* IsFloat */ true) && ---

[PATCH] D150253: [RISCV] Add Zvfhmin extension.

2023-05-23 Thread Michael Maitland via Phabricator via cfe-commits
michaelmaitland added inline comments. Comment at: clang/include/clang/Basic/riscv_vector.td:1856 def vfwcvt_f_x_v : RVVConvBuiltin<"Fw", "Fwv", "csi", "vfwcvt_f">; - def vfwcvt_f_f_v : RVVConvBuiltin<"w", "wv", "xf", "vfwcvt_f">; + let RequiredFeatures = ["ZvfhminOrZvfh"] i

[PATCH] D150253: [RISCV] Add Zvfhmin extension.

2023-05-19 Thread Jianjian Guan via Phabricator via cfe-commits
jacquesguan updated this revision to Diff 523696. jacquesguan added a comment. Fix indention. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D150253/new/ https://reviews.llvm.org/D150253 Files: clang/include/clang/Basic/riscv_vector.td clang/inc

[PATCH] D150253: [RISCV] Add Zvfhmin extension.

2023-05-19 Thread Jianjian Guan via Phabricator via cfe-commits
jacquesguan added a comment. @michaelmaitland , I update this revision with my local branch. May you have a look and see what missed compared with you version? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D150253/new/ https://reviews.llvm.org/D150

[PATCH] D150253: [RISCV] Add Zvfhmin extension.

2023-05-19 Thread Jianjian Guan via Phabricator via cfe-commits
jacquesguan updated this revision to Diff 523688. jacquesguan added a comment. make f16 vector type legal for Zvfhmin, add predicates to enable 2 convert pattern. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D150253/new/ https://reviews.llvm.org/D

[PATCH] D150253: [RISCV] Add Zvfhmin extension.

2023-05-15 Thread Jianjian Guan via Phabricator via cfe-commits
jacquesguan added a comment. In D150253#4343699 , @craig.topper wrote: > In D150253#4341545 , @jacquesguan > wrote: > >> To enable specific EEW for specific insturction in instruction selection, I >> will creat

[PATCH] D150253: [RISCV] Add Zvfhmin extension.

2023-05-15 Thread Craig Topper via Phabricator via cfe-commits
craig.topper added a subscriber: michaelmaitland. craig.topper added a comment. In D150253#4341545 , @jacquesguan wrote: > To enable specific EEW for specific insturction in instruction selection, I > will create some parent revisions. Here is the first

[PATCH] D150253: [RISCV] Add Zvfhmin extension.

2023-05-15 Thread Jianjian Guan via Phabricator via cfe-commits
jacquesguan added a comment. To enable specific EEW for specific insturction in instruction selection, I will create some parent revisions. Here is the first one. https://reviews.llvm.org/D150550 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D15025

[PATCH] D150253: [RISCV] Add Zvfhmin extension.

2023-05-10 Thread Craig Topper via Phabricator via cfe-commits
craig.topper added a comment. Don’t you need to make f16 vectors legal types in the backend? And you need to disable intrinsics for instructions that aren’t supported by Zfhmin. Like f16 vector fadd And you also need to make the backend only allow f16 vector operations that are supported with

[PATCH] D150253: [RISCV] Add Zvfhmin extension.

2023-05-10 Thread Jianjian Guan via Phabricator via cfe-commits
jacquesguan created this revision. jacquesguan added reviewers: craig.topper, asb, luismarques, frasercrmck. Herald added subscribers: jobnoorman, luke, VincentWu, vkmr, evandro, apazos, sameer.abuasal, s.egerton, Jim, benna, psnobl, jocewei, PkmX, the_o, brucehoult, MartinMosbeck, rogfer01, edwa