Michael Ackermann via Tinycc-devel <[email protected]> wrote:
> Unrelated to cross-compiling, with regards to 128bit datatype support
> this raises a few more questions than answered.

> Now the principle questions would be:
> - why aarch64 got those, and riscv64 hasn't got them (is that specific to 
> tcc?)

yes, it's a tcc thing - RISC-V has 32-bit, 64-bit (D), 128-bit (Q) instructions

> - and referring back to the initial post in case of riscv64 why it hasn't got
>   uint128_t if i didn't mis-interpret the report

128-bit integer support is "fake" - the gcc int128 tests are skipped, too

see also: source code 'git grep int128':

arm64-gen.c:1351:            assert(0); // this path untested but needed for 
__uint128_t
include/tccdefs.h:93:    /* FIXME, __int128_t is used by setjump */
include/tccdefs.h:94:    #define __int128_t struct { unsigned char _dummy[16] 
__attribute((aligned(16))); }
include/tccdefs.h:146:    /* GCC's __uint128_t appears in some Linux/OSX header 
files. Make it a
include/tccdefs.h:148:    #define __uint128_t long double
tccdbg.c:45:    {   VT_QLONG, 16, DW_ATE_signed, "__int128:t6=r6;0;-1;" },
tccdbg.c:46:    {   VT_QLONG | VT_UNSIGNED, 16, DW_ATE_unsigned, "__int128 
unsigned:t7=r7;0;-1;" },
tests/gcctestsuite.sh:74:skip_int128="`grep -Eiw '__int128_t|__uint128_t'  
compile/*.c  execute/*.c  execute/ieee/*.c | cut -d ':' -f1 | cut -d '/' -f2 |  
sort -u `"
tests/gcctestsuite.sh:94:      skip_me="`echo  $skip_builtin $skip_ieee 
$skip_complex $skip_int128 $skip_misc $skip_vector | grep -w $base`"
tests/gcctestsuite.sh:133:      skip_me="`echo $skip_builtin $skip_ieee 
$skip_complex $skip_int128 $skip_misc $skip_vector | grep -w $base`"

Attachment: signature.asc
Description: PGP signature

_______________________________________________
Tinycc-devel mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/tinycc-devel

Reply via email to