5 ms·
> If Zig code doesn’t look like it’s jumping away to call a function, then it isn’t. I'll admit, I don't know zig. But how would it implement 1.0*2.0 for an ar
by crowf 6y ago
> If Zig code doesn’t look like it’s jumping away to call a function, then it isn’t.
I'll admit, I don't know zig. But how would it implement 1.0*2.0 for an architecture that doesn't support float multiplication? I assume that it would do something like compiler-rt and replace that operation with a function call. See https://github.com/llvm/llvm-project/tree/main/compiler-rt/lib/builtins https://github.com/llvm/llvm-project/tree/main/compiler-rt/l... for examples of "code that doesn't look like a function call" that actually is.
- kaba0 6y agoThe compiler can inline the necessary instruct in-place for such an architecture. I think no jumping away is meant more in terms of no hidden side effect