Currently fir.divc is always lowered to a sequence of llvm operations to perform complex division, however this causes issues for extreme values when the calculations overflow. While this behaviour would be fine at -Ofast, this is currently the default at all levels.
This patch changes fir.divc to lower to a library call instead, except for when KIND=3 as there is no appropriate library call for this case.
I guess these names might not be available on all targets. I think we'd better call Fortran runtime library implementation here.