mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2026-04-26 12:20:42 +00:00
Generalize tcFullMultiply so that the operands can be of differing
part widths. Also, return the number of parts actually required to hold the result's value. Remove an over-cautious condition from rounding of float->hex conversion. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42669 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -1114,10 +1114,12 @@ public:
|
||||
static int tcMultiply(integerPart *, const integerPart *,
|
||||
const integerPart *, unsigned);
|
||||
|
||||
/// DST = LHS * RHS, where DST has twice the width as the operands.
|
||||
/// No overflow occurs. DST must be disjoint from both operands.
|
||||
static void tcFullMultiply(integerPart *, const integerPart *,
|
||||
const integerPart *, unsigned);
|
||||
/// DST = LHS * RHS, where DST has width the sum of the widths of
|
||||
/// the operands. No overflow occurs. DST must be disjoint from
|
||||
/// both operands. Returns the number of parts required to hold the
|
||||
/// result.
|
||||
static unsigned int tcFullMultiply(integerPart *, const integerPart *,
|
||||
const integerPart *, unsigned, unsigned);
|
||||
|
||||
/// If RHS is zero LHS and REMAINDER are left unchanged, return one.
|
||||
/// Otherwise set LHS to LHS / RHS with the fractional part
|
||||
|
||||
Reference in New Issue
Block a user