This fixes emitting conversions of constants on targets
without legal f16 that need to use these for legalization.
Details
- Reviewers
RKSimon • tstellarAMD bogner
Diff Detail
Event Timeline
lib/CodeGen/SelectionDAG/SelectionDAG.cpp | ||
---|---|---|
3335 | Add ISD::FP_TO_FP16: to vector constant folding? |
lib/CodeGen/SelectionDAG/SelectionDAG.cpp | ||
---|---|---|
3335 | The intrinsics are turned into the normal FP casts instructions, so this only matters for targets using these for legalization purposes. It looks like only AMDGPU is doing this now, so I have no vector use/way to test it |
LGTM - How come we haven't been able to remove these intrinsics and just use (f32 fpext(f16 bitcast(i16 src))) style patterns?
lib/CodeGen/SelectionDAG/SelectionDAG.cpp | ||
---|---|---|
3335 | Sorry I was getting this mixed up with basic fpext/fptrunc half handling. |
Not sure. I think we could even autoupgrade these, though the nodes are still handy for targets without legal f16
Add ISD::FP_TO_FP16: to vector constant folding?