Squashed to prevent conflicts in rebase because of existing changes in InsertVSETVLI.cpp
Implement parser/encoder and printer Update the error message now printed in the invalid tests Initial implementation of bfloat Prevent use of 'this' and fix the comparison to include the alternative format bit Continue the implementation of bfloat16. Stuck at the bitcast conversion from bf16 to i16 Promote bf16 to f32 when the target doesn't support it This is modeled after the half-precision fp support. Two new nodes are introduced for casting from and to bf16. Since casting from bf16 is a simple operation I opted to always directly lower it to integer arithmetic. The other way round is more complicated if you want to preserve IEEE semantics, so it's handled by a new __truncsfbf2 compiler-rt builtin. This is of course very bare bones, but sufficient to get a semi-softened fadd on x86. Possible future improvements: - Targets with bf16 conversion instructions can now make fp_to_bf16 legal - The software conversion to bf16 can be replaced by a trivial implementation under fast math. Differential Revision: https://reviews.llvm.org/D126953 Implement a missing function after cherry-picking, and cleanup lowerSTORE Fix can't legalize result type Implement tests with b16 in vsetvli and fix an error with vfnmadd Implement the alternative b16 format in EPI InstrInfo, and simplify a bit the management of widened type info Delete X86 and PowerPC tests that don't pass now
Loading
Please sign in to comment