The LLVM IR opcodes Add, Sub, and Mul have been each split into
two. Add, Sub, and Mul now only handle integer types, and three
new opcodes, FAdd, FSub, and FMul now handle floating-point types.
The main LLVM APIs are currently preserving backwards
compatibility, transparently mapping integer opcodes to
corresponding floating-point opcodes when the operands have
floating-point types. This compatibility code will eventually be
removed, so front-end writers should update their front-ends to
use the new opcodes. I've updated llvm-gcc as an example.
As an aid to this process, the attached patch can be applied to a
local LLVM tree to remove the backward-compatibility code, to
allow front-ends to be tested.
The LLVM IR opcodes Add, Sub, and Mul have been each split into
two. Add, Sub, and Mul now only handle integer types, and three
new opcodes, FAdd, FSub, and FMul now handle floating-point types.
The LLVM IR opcodes Add, Sub, and Mul have been each split into
two. Add, Sub, and Mul now only handle integer types, and three
new opcodes, FAdd, FSub, and FMul now handle floating-point types.
Dan,
Wondering the reason why there is no FDiv ?
FDiv already exists; div was split quite a while ago.
just me wondering:
what is the reasoning behind this API change?...
The LLVM IR opcodes Add, Sub, and Mul have been each split into
two. Add, Sub, and Mul now only handle integer types, and three
new opcodes, FAdd, FSub, and FMul now handle floating-point types.