What's the difference about the type of function call in this tvm/python/tvm/tir/op.py

tvm version: 0.8 file: tvm/python/tvm/tir/op.py

what’s the difference about these call functions: call_extern(), call_pure_extern(), call_intrin(), call_pure_intrin() and call_llvm_intrin()?

Can anyone give some examples? Thanks.