User Details
- User Since
- Jul 27 2020, 12:27 AM (164 w, 5 d)
Aug 9 2023
LGTM. That's exactly what I meant to do when commenting in D156990.
Aug 3 2023
Have you tried to directly modify some implementation in ExpandIntRes_FP_TO_{S,U}INT by adding another possibility of BF16_TO_FP when the FP type is TypeSoftPromoteHalf?
Can you add some cases without zfbfmin?
Maybe we are now confronted with a general issue. Are there any other operations that cannot be converted into f32 in front-end? I think you have noticed comparison and bf16-to-integer conversion.
LGTM.
Jul 31 2023
Jul 30 2023
Ping.
Jul 28 2023
Since bf16 has been supported in backend, we can now come back to this clang patch. @craig.topper
Jul 27 2023
Jul 26 2023
Put the predicate both on the pseudo and the pattern.
Use 7 for rounding mode in testcases.
Jul 25 2023
Jul 23 2023
Adjust the spec version from 0.6 to 0.8
Jul 20 2023
Relax the types in the type constraints for SDT_RISCVFMV_H_X and SDT_RISCV_FMV_X_EXTH
Move bf16 patterns into RISCVInstrInfoZfbfmin.td
Jul 17 2023
Use the FPR16 register class for bf16 instructions
Jul 16 2023
Can you explain why it will be hard to maintain? The complexity of supporting Zfinx/Zdinx/Zhinx and all the special patterns for Zfhmin already seems way worse than passing an extra Valuetype to some classes.
Why are some patterns using FPR32 and FPR64 modified too?
Use predicate HasScalarHalfFPLoadStoreMove for patterns that f16 and bf16 share
Jun 26 2023
Jun 24 2023
Ping.
Jun 21 2023
Can lsan work for riscv64 now? I can run binaries compiled with -fsanitize=address adding ASAN_OPTIONS=detect_leaks=1, but no memory-leak error is reported.
Jun 19 2023
Rebase, as well as change the operand type in riscv_fpround_bf16/riscv_fpextend_bf16 from f16 to bf16.
To avoid crash in AArch64, ConstantFP nodes default to expand only in RISCV.
Jun 18 2023
Ping.
The first version of this patch came in May 24th, earlier than a similar patch implemented by @asb https://reviews.llvm.org/D151663. Why could @asb's patch be accepted first?
Jun 12 2023
Jun 9 2023
- Add argument IsBF to RVV_VECTOR_TYPE()
- Add test for bf16 vectors in rvv-intrinsic-datatypes.cpp
Jun 8 2023
Jun 4 2023
Are you still working on this patch? I have implemented a similar one early in May 24th.
https://reviews.llvm.org/D151313
May 28 2023
May 26 2023
Update FP_TO_BF16 lowering by __truncsfbf2 libcall.
May 25 2023
Modify implementation for f64 input.
Address bf16_to_fp/fp_to_bf16 via bitcast and shift.
May 24 2023
Modify libcall for single-bfloat conversion.
May 23 2023
May 22 2023
May 21 2023
Just like AArch64 and X86, I have updated my implementation by limiting bfloat16 only when Zfbfmin/Zvfbfmin/Zvfbfwma are enabled. Now the compiler can work for bfloat16 programs without crashing.
May 19 2023
Hi, I'm adding support for __bf16 in clang, which will rely on FeatureStdExtZfbfmin. Can you merge this patch?
May 18 2023
That doesn’t matter. The test I sent crashes, thats not acceptable.
Probably also means the ABI is not being implemented correctly.
Apr 25 2023
The RVI toolchain SIG is supposed to be setting up a task group to define intrinsics for all extensions.
Apr 24 2023
I'm wondering whether it is appropriate to just use FPR16 for the destination of fcvt.bf16.s? The destination is in BF16 format instead of simple FP16. Your implemention looks like just replacing fcvt.h.s with fcvt.bf16.s. Do we need to define a new register class?