[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Tinycc-devel] codegen bug with tcc x86_64 ?
From: |
foobar |
Subject: |
Re: [Tinycc-devel] codegen bug with tcc x86_64 ? |
Date: |
Sun, 31 Dec 2017 17:04:01 +0000 |
On Sat, 30 Dec 2017 21:48:24 +0000
foobar <address@hidden> wrote:
> please find attached code that exposes a codegen bug in tcc, resulting in an
> endless loop in libtom's embedded bigmath code on x86_64 musl linux.
>
> (note: the code in main() under #if 0 exposes another problem, no endless
> loop, but wrong result)
it seems both problems are caused by this line:
typedef unsigned long mp_word __attribute__((mode(TI)));
when i remove the attribute, GCC exposes the exact same behaviour.
so if tcc doesnt support this attribute (from [1] TImode - "Tetra Integer" (?)
mode represents a sixteen-byte integer (128bit type)), wouldn't it be better to
err out during the compilation, than generating unexpected code?
[1] http://www.delorie.com/gnu/docs/gcc/gcc_80.html