Liste des Groupes | Revenir à c arch |
On Tue, 13 Aug 2024 0:34:55 +0000, BGB wrote:Yeah, this is a compiler issue...
On 8/12/2024 5:35 PM, MitchAlsup1 wrote:<snip>On Mon, 12 Aug 2024 20:58:45 +0000, BGB wrote:
>On 8/12/2024 3:12 PM, MitchAlsup1 wrote:>See polpak:: r8_erf()
>
>
r8_erf: ; @r8_erfI only ask for r8_erf()>>
Why don't yuo download polpack, compile it, and state how many
instructions it takes and how many words of storage it takes ??
Found what I assume you are talking about.
>
Needed to add "polpak_test.c" as otherwise BGBCC lacks a main and prunes
everything;
Also needed to hack over some compiler holes related to "complex
_Double" to get it to build;
Also needed to stub over some library functions that were added in C99
but missing in my C library.><snip>
As for "r8_erf()":<snip>
>
<===
>
r8_erf:
I count 283 instructions compared to my 85 including the 104
instructions
it takes your compiler to get to the 1st instruction in My 66000 code !!
In the middle I see much the same problems as RISC-V has:: while youThere are a few FPU immediate cases in there, but they are a minority in the generated example...
have
the ability to poof constants, you can't use them without wasting
registers
and in general an inefficient FP instruction set {no FMAC, no sign
control
on operands, no transcendental instructions, and at least you are not as
poor of FP compare-branches as RISC-V}
It is true that LLVM can unroll loops and when the loop is consumingFor the most part, BGBCC isn't clever enough to unroll loops either.
only
constants Brian's compiler just emits the polynomial directly with nary
a LD or ST, just constants as operands, whereas your compiler poofs
constants into existence rather than forwarding them directly into
execution. Every poof cost you an instruction, mine just cost
instruction
space not pipeline delay.
I think this demonstrates my point perfectly--universal constants insideWill not claim that BGBCC has a particularly strong optimizer...
a RISC instruction set is a BIG WIN.
It also illustrates the fact that a RIOSC ISA needs a good compiler.
Les messages affichés proviennent d'usenet.