[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Tinycc-devel] Generating better i386 code

From: Robert Clausecker
Subject: Re: [Tinycc-devel] Generating better i386 code
Date: Thu, 26 Sep 2013 08:25:46 +0200

Looks like a nice patch. I have some issues though.

> * 4- & 8-byte structs copy as int/long long (all targets);
> * passing structs <= 8 bytes will be treated as int/long long;
> * returning structs <= 8 bytes is done via (edx)eax (PE only);
> * added ebx to the register list (increasing prolog by one, to save
>   it)

These changes look like they might change the ABI of tcc. Did you check
them for ABI compatibility? It would be great if it would still be
possible to use code generated by tcc together with code generated by
other, ABI conforming compilers.

> * simplify the float (not) equal test (remove cmp/xor, use jpo/jpe);

Does this change correctly handle NaNs? The following code must print 0
when executed:

    #include <stdio.h>
    #include <math.h>

    int main() {
        double x = NAN;
        printf("%d\n",x == x);

reply via email to

[Prev in Thread] Current Thread [Next in Thread]