I appologize if I'm misunderstanding something about the code that is
being produced, but while auditing some code to try to make some code
smaller I noticed that __udivmodqi4 is being called twice to generate
code for:
unsigned char a, b, c;
c = some_input_function();
LABEL:
The source of this problem is a deeply buried internal issue of the RTL
handling within the compiler.
Description of the internal problem:
The expand pass generates strange RTL sequences refering to hard registers for
the div and mod operations and uses specific insn RTL for calling the
Just a correction : div() take 2 parameters :
div_t t;
t=div(c, 10);
a=t.quot;
b=t.rem;
Eric.
- Original Message -
From: Albert Andras
To: avr-gcc-list@nongnu.org
Sent: Tuesday, December 11, 2007 4:16 PM
Subject: Re: [avr-gcc-list] dev and mod may
On Wednesday 12 December 2007 01:16, Albert Andras wrote:
- Original Message -
From: Nathan Moore [EMAIL PROTECTED]
unsigned char a, b, c;
c = some_input_function();
LABEL:
a = c/10;
b = c%10;
...
*
LABEL:
mov r24,r18
ldi
-Original Message-
From:
[EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]
org] On Behalf Of Dmitry K.
Sent: Tuesday, December 11, 2007 3:44 PM
To: avr-gcc-list@nongnu.org
Cc: Nathan Moore
Subject: Re: [avr-gcc-list] dev and mod may not be optimized
Alas, the usage of div()
--- Dmitry K. [EMAIL PROTECTED] wrote:
Alas, the usage of div() function is more space and
more time
expansive. The reason is that div() uses an another
function:
__divmodhi4(), i.e. 16-bits.
Compare two programs:
prog1: 150 bytes, 238 clocks
prog2: 212 bytes, 316 clocks
Well if
On Wednesday 12 December 2007 09:29, Weddington, Eric wrote:
Should we implement 2 (or 3) div functions then in avr-libc? 8, 16, and
32 bit?
Possible, yes. Today the libgcc labrary contains 6 division
functions (8, 16, 32 bits, signed and unsigned), but Avr-libc
includes only 2 links (div,
-Original Message-
From:
[EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]
org] On Behalf Of Dmitry K.
Sent: Tuesday, December 11, 2007 5:37 PM
To: avr-gcc-list@nongnu.org
Subject: Re: [avr-gcc-list] dev and mod may not be optimized
On Wednesday 12 December 2007 09:29,