Hello, I’m studying TVM and its low-level operators recently. These days I have tried to construct some test files and I found the returned value maybe not accurate when I used the unsigned integer in the tir.sub python api. For example, when I used the unsigned 32 bit value 3 minus unsigned 32 bit value 5, the TVM returned 4294967294.It seems like the buffer overflow problem. This question occurred in the TVM 0.11dev0, the git commit is 5019dcee0efb526cc26858eb87e38f32e4f1a464. Should such a behavior be considered a bug? Thanks.
import tvm
from tvm import tir,te
f = tir.const(3,'uint32')
g = tir.const(5,'uint32')
output = tir.ret(f-g)
output = tir.Evaluate(output)
func = tir.PrimFunc([],output)
mod = tvm.build(func)
print(mod())