Displaying 10 results from an estimated 10 matches for "int128_t".
2018 Jan 30
2
[compiler-rt] Support 128 bits soft-floating point without int128_t support
Hi all:
I'm porting RISC-V[1] for compiler-rt recently, and I've got a problem
when adding soft float routine for rv32, RISC-V ABI required 128 bits
bits for long double, but it's implemented by int128_t, however rv32
don't support __int128_t.
Of cause, it not hard thing to support __int128_t by overriding
TargetInfo::hasInt128Type for LLVM, but its will cause some ABI
incompatible with GCC, because GCC don't support __int128_t for 32
bits target.
So I guess I've few option here:
1....
2018 Jan 30
0
[compiler-rt] Support 128 bits soft-floating point without int128_t support
..., Kito Cheng via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
> Hi all:
>
> I'm porting RISC-V[1] for compiler-rt recently, and I've got a problem
> when adding soft float routine for rv32, RISC-V ABI required 128 bits
> bits for long double, but it's implemented by int128_t, however rv32
> don't support __int128_t.
>
> Of cause, it not hard thing to support __int128_t by overriding
> TargetInfo::hasInt128Type for LLVM, but its will cause some ABI
> incompatible with GCC, because GCC don't support __int128_t for 32
> bits target.
>
> So...
2012 Feb 09
2
[PATCH] Remove even more CPP hackery
....h */
typedef unsigned __int64 uint64_t;
typedef unsigned __int32 uint32_t;
typedef unsigned __int16 uint16_t;
typedef unsigned __int8 uint8_t;
typedef __int64 int64_t;
typedef __int32 int32_t;
typedef __int16 int16_t;
typedef __int8 int8_t;
#if defined(_M_IX64)
typedef unsigned __int128 uint128_t;
typedef __int128 int128_t;
#endif
2012 Feb 09
1
[PATCH] Remove even more CPP hackery
...64 uint64_t; typedef unsigned __int32 uint32_t; typedef
>> unsigned __int16 uint16_t; typedef unsigned __int8 uint8_t;
>> typedef __int64 int64_t; typedef __int32 int32_t; typedef __int16
>> int16_t; typedef __int8 int8_t; #if defined(_M_IX64) typedef
>> unsigned __int128 uint128_t; typedef __int128 int128_t; #endif
>
> Also, I agree with the consensus that developers have to #include
> such a file before using including FLAC/all.h This is because many
> Windows developers (such as myself) are likely to already have a
> stdint.h replacement defined somewhere i...
2008 Jul 21
2
[LLVMdev] qualitative comparison of correctness of llvm and gcc
Hi Duncan-
> does this also check that writes are atomic: that they are performed in
> one processor operation?
Can you elaborate a bit? I don't think volatile has any atomicity
requirements. Of course I can make a struct, an int128_t, or whatever
volatile (on AVR even an int16_t is updated non-atomically!).
Lack of atomicity is one of many problems with using volatile as a basis
for creating correct systems code...
Thanks,
John
2017 Apr 11
3
TBAA for subset of a loaded value
...mong
the folks on the list. However, I was unable to actually come up with
an example where this inhibits optimizations coming from C code. I
myself have this problem as a real problem in a non-C frontend, which
allows for more stringent AA. With that in mind, consider
void foo(unsigned int *data, int128_t *value) {
for (int i = 1; i < 100; ++i) {
data[i] += (int)*value;
}
}
This will get lowered to something like (pseudo llvm IR here)
for.body:
%l = load i128, i128* %value, !tbaa !1
%t = trunc %l to i32
%gep = ...
%old = load i32, i32* %gep, !tbaa !2
%new = add i32 %t, %old
stor...
2012 Feb 09
0
[PATCH] Remove even more CPP hackery
...; typedef unsigned __int32 uint32_t;
> typedef unsigned __int16 uint16_t;
> typedef unsigned __int8 uint8_t;
> typedef __int64 int64_t;
> typedef __int32 int32_t;
> typedef __int16 int16_t;
> typedef __int8 int8_t;
> #if defined(_M_IX64)
> typedef unsigned __int128 uint128_t;
> typedef __int128 int128_t;
> #endif
Also, I agree with the consensus that developers have to #include such a
file before using including FLAC/all.h
This is because many Windows developers (such as myself) are likely to
already have a stdint.h replacement defined somewhere in their projec...
2008 Jul 21
0
[LLVMdev] qualitative comparison of correctness of llvm and gcc
Hi John,
> A "volatile error" indicates a case where a compiler failed to respect
> the volatile invariant. The volatile invariant is simply that changing
> the optimization level of a strictly conforming C program must not
> change the number of dynamic loads or stores to any variable that is
> volatile-qualified in the compiler's input. We check this with a hacked
2008 Jul 21
0
[LLVMdev] qualitative comparison of correctness of llvm and gcc
Hi John,
> > does this also check that writes are atomic: that they are performed in
> > one processor operation?
>
> Can you elaborate a bit? I don't think volatile has any atomicity
> requirements. Of course I can make a struct, an int128_t, or whatever
> volatile (on AVR even an int16_t is updated non-atomically!).
that's not entirely true in practice: if I do a 32 bit volatile write
to a memory-mapped i/o location, then I'd be annoyed if that got turned
into four 8 bit volatile writes. And the hardware might react funn...
2008 Jul 20
5
[LLVMdev] qualitative comparison of correctness of llvm and gcc
Hi folks,
We recently generated some data that seemed interesting enough to share
here. This is a comparison between compilers that ignores the
performance of the generated code and focuses only on compiler correctness.
volatile checksum
errors errors
avr-gcc-3.4 1.879% 0.378%
avr-gcc-4.1 0.037% 0.256%
avr-gcc-4.2