forked from jacobly0/llvm-project
-
Notifications
You must be signed in to change notification settings - Fork 7
Open
Labels
enhancementNew feature or requestNew feature or request
Description
multiply high (unsigned/signed) would be similar to the routines laid out here:
CE-Programming/toolchain#645
they should have the same calling convention as the regular multiplication routines, but return the upper half of the result instead of the lower half.
Multiply high routines are used to optimize division by a constant, and I have seen code output at -O2 that uses __imulu48 to do unsigned 24 bit division.
I don't believe there is a direct intrinsic for this in LLVM (since multiply high is just zero or sign extending the arguments and then multiplying basically)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request