[PATCH] D33734: [AArch64] Add fallback in FastISel fp16 conversions

Pirama Arumuga Nainar via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 1 10:50:29 PDT 2017


pirama added inline comments.


================
Comment at: lib/Target/AArch64/AArch64FastISel.cpp:2857-2860
+  // Let regular ISEL handle FP16
+  if (DestVT == MVT::f16)
+    return false;
+
----------------
kristof.beyls wrote:
> It looks a bit strange to me that for selectFPToInt, the test is (SrcVT == MVT::f128 || SrcVT == MVT::f16) to fall back to DAGISel, while for selectIntToFP, the test is (DestVT == MVT::f16), not checking for a 128 bit floating point data type.
> I guess this is because i128 is not a legal type for AArch64?
> 
> If my guess is correct, this change looks reasonable; otherwise I'm not entirely sure.
`isTypeLegal()` (called in line 2855 above) returns `false` for `f128`.  So both functions have matching behavior in that they don't handle `f128`.


https://reviews.llvm.org/D33734





More information about the llvm-commits mailing list