We currently generate inefficient code for fp16 vector compare instructions: Comparison is done one element at a time. With this patch and when the fp16 feature is on, vector comparison instructions are generated.
Details
Details
Diff Detail
Diff Detail
Event Timeline
Comment Actions
LGTM, with one nit inline.
| llvm/lib/Target/AArch64/AArch64ISelLowering.cpp | ||
|---|---|---|
| 7793 | Just looking at this if we can simplify this if-else and asserts. Folding the FullFP16 into the assert is probably not going to make things much clearer. I guess this is covering it: assert(( !FullFP16 && LHS.getValueType().getVectorElementType() != MVT::f16) ||
LHS.getValueType().getVectorElementType() != MVT::f128); | |
Just looking at this if we can simplify this if-else and asserts. Folding the FullFP16 into the assert is probably not going to make things much clearer. I guess this is covering it:
assert(( !FullFP16 && LHS.getValueType().getVectorElementType() != MVT::f16) || LHS.getValueType().getVectorElementType() != MVT::f128);