Displaying 20 results from an estimated 81 matches for "lp64".
Did you mean:
ld64
2007 Aug 31
2
1.2.0: Test suite failures on LP64 archs?
...(rt-1-24-111.raw) encode... Segmentation fault (core
dumped) ERROR
FAIL: ./test_flac.sh
fsd24-01 (--channels=1 --bps=24 -0 -l 16 --lax -m -e -p): encode...ERROR during encode of fsd24-01
FAIL: ./test_streams.sh
on alpha and amd64. By contrast, i386 is fine. (All OpenBSD/4.2.)
Could be a generic LP64 bug...
--
Christian "naddy" Weisgerber naddy@mips.inka.de
2004 Aug 06
0
LP64 fix
Did you really experience problems with the code? Since I only care
about the last bits (because of the & "(size-1)"), I thought it should
work even if sizeof(int) != sizeof(void*). If it doesn't work with int,
I suspect the solution with the long could also fail on some archs.
Jean-Marc
Le mer 11/06/2003 à 11:56, Christian Weisgerber a écrit :
> Casting a pointer to
2007 Sep 01
2
Re: 1.2.0: Test suite failures on LP64 archs?
Christian Weisgerber <naddy@mips.inka.de> wrote:
> #0 0x0000000040d18810 in FLAC__lpc_compute_residual_from_qlp_coefficients_wide
> (data=0x49e4c014, data_len=110, qlp_coeff=0x7f7ffffece70, order=1,
> lp_quantization=14, residual=0x4fced000) at lpc.c:745
> 745 residual[i] =
> data[i] - (FLAC__int32)((qlp_coeff[0] *
2004 Aug 06
2
LP64 fix
Casting a pointer to an int is a bad idea on 64-bit platforms.
--- libspeex/stack_alloc.h.orig Wed Jun 11 17:10:53 2003
+++ libspeex/stack_alloc.h Wed Jun 11 17:11:12 2003
@@ -48,7 +48,7 @@
#else
/*Aligns the stack to a 'size' boundary */
-#define ALIGN(stack, size) ((stack) += ((size) - (int)(stack)) & ((size) - 1))
+#define ALIGN(stack, size) ((stack) += ((size) - (long)(stack))
2017 Jun 14
2
the nsw story, revisited
...s that removing “nsw” from an operation is simpler and cleaner
than adding “freeze” to it, and in software engineering we are always striving
for the simplest and cleanest solution.
IIUC option three does not inhibit Dan's original goal of promoting 32-bit
induction variables to 64-bit on an LP64 target. And I don’t agree with Dan's
description of this being “suboptimal” for any other reason, the lost
information does not seem to be useable AFAICT, but if you disagree then simply
insert an “llvm.assume" in the spot where the operation is being hoisted from.
So I propose that we...
2005 Aug 05
2
uint4 in quartz/flint
We have:
----------------------------------------------------------------------
typedef unsigned long uint4;
----------------------------------------------------------------------
which on an LP64 system is a lie. If uint4 is used on disk (and it's
used in the btree implementation) then it would make the databases
unportable, which probably isn't a good idea (unless we already have
endianness issues, although even there, an ILP32 and an LP64 process
on the same machine should really...
2005 Apr 16
1
[LLVMdev] Re: New primitive type for 32/64 compatibility?
...tptr' type could be
> a useful feature, with the advantage of it being a language-independent
> construct. I think this would capture what you're really going for, and
> have very simple and well-defined meaning.
Yes, maybe ... what exactly is the definition of this type? On LP64
systems the width of ints and pointers are different.
> If other front-end people
> think that this would be a useful abstraction for providing portable
> code, and can give examples where it would be used, that would provide a
> lot of cre...
2017 Jun 16
4
beneficial optimization of undef examples needed
All,
These discussions seem to be based on the premise that there is a
need for the compiler to exploit undefined behavior for performance
optimization reasons.
So far the only beneficial optimization I am aware of that relies on some
form of “undefined” is Dan Gohman’s original project for LP64 targets of
promoting i32 induction variables to i64 and hoisting sign-extension out
of the loop.
But “undef” / “poison” never appears in either the original or the transformed
IR for these types of loops, instead properties of “+nsw” are used to
justify the transformation. The transformation does...
2014 Jul 02
6
[LLVMdev] Upstreaming x32 ABI support
.../058450.html
What’s currently in trunk:
* Triplet x86_64-*-linux-gnux32 (command line support, EnvironmentType
enum to differentiate x32 from x86_64 by getTriple().getEnvironment()
== llvm::Triple::GNUX32)
https://github.com/llvm-mirror/llvm/commit/9dd2a3b1f2c253e20262535bb89b1ab6cc680ece
* ILP32/LP64 differentiation for TargetMachine
https://github.com/llvm-mirror/llvm/commit/a5597f0eaf1f93c6d0bc641a0cc54ecffb33955a
* LEA tuning:
https://github.com/llvm-mirror/llvm/commit/693c37aa86506be657dfaf8835845b0998531c3c
* Bunch of tests (grep for gnux32):
test/CodeGen/X86/imul64-lea.ll
test/CodeGen/X86...
2011 Nov 04
0
Wine release 1.3.32
...n mmsystem.h.
include: Remove 'l' modifier from numeric constants in dinput.h.
include: Remove 'l' modifier from numeric constants in digitalv.h.
include: Drop the 'l' modifier from some numeric constants in winnt.h.
include: Add a macro to paper over LP64/LLP64 differences for numeric constants.
include: Make "long" numeric constants LP64/LLP64 proof (d3d9caps.h).
include: Make "long" numeric constants LP64/LLP64 proof (d3d9*.h).
include: Make "long" numeric constants LP64/LLP64 proof (d3d*.h).
i...
2011 Dec 06
0
[LLVMdev] The nsw story
On Thu, Dec 1, 2011 at 09:23, Dan Gohman <gohman at apple.com> wrote:
>
> int a = INT_MAX, b = 1;
> long c = (long)(a + b);
>
> What is the value of c, on an LP64 target?
>
> If a and b are promoted to 64-bit, c is 0x0000000080000000.
>
> In a world where signed add overflow returns undef, c could be any of
> 0x0000000000000000
> ...
> 0xffffffffffffffff
> however it can't ever be 0x0000000080000000, because there's no 32-b...
2011 Dec 01
5
[LLVMdev] The nsw story
...not valid under
>> the simple and obvious answer. Are you proposing to do it anyway?
>
> Please define "valid". We discussed this a very very long time ago, and I don't recall the details.
int a = INT_MAX, b = 1;
long c = (long)(a + b);
What is the value of c, on an LP64 target?
By standard C rules, the add overflow invokes immediate undefined behavior of course.
If a and b are promoted to 64-bit, c is 0x0000000080000000.
In a world where signed add overflow returns undef, c could be any of
0x0000000000000000
0x0000000000000001
0x0000000000000002
...
0...
2011 Aug 19
3
[LLVMdev] Why int variable get promoted to i64
Hi, all
I found in some cases the int variable get promoted to i64,
although I think it should i32. I use the online demo
(http://llvm.org/demo). And below is the test case.
------------- test case -------------
int test(int x[], int y[], int n) {
int i = 0;
int sum = 0;
for ( ; i < n; i++) {
sum += x[i] * y[i];
}
return sum;
}
-------------------------------------
No
2017 Dec 08
3
Unresolved symbols in compiler-rt
Hello all,
I get unresolved external symbol __muloti4 when attempting to compile GNU m4
for Windows commandline.
See details in bug: https://bugs.llvm.org/show_bug.cgi?id=16404#c22
Looking into this, I see that some parts of compiler-rt are disabled for
Windows due to the __LP64__ define. The code seem not portable as is to the
MS compiler, but according to my tests the code compiles and links OK with
clang: I have not tested functionality though. Regarding the __LP64__
define, it's wrong to define it for Windows. SUA/Interix have LP64 long type
model, while Cygwin, mi...
2015 Dec 30
2
FLAC__BYTES_PER_WORD==8 test results
On Dec 30, 2015, at 3:09 AM, Thomas Zander <thomas.e.zander at googlemail.com> wrote:
> On 29 December 2015 at 21:50, lvqcl <lvqcl.mail at gmail.com> wrote:
>> So, does it make sense to #define FLAC__BYTES_PER_WORD (in bitreader.c)
>> as 4 for 32-bit and as 8 for 64-bit targets?
>
> Your tests so far imply this is a sensible default.
> I'd say go ahead. We
2018 Mar 26
0
murmurhash3 test failures on big-endian systems
...9da3d28..4848fbd 100644
--- a/src/lib/test-murmurhash3.c
+++ b/src/lib/test-murmurhash3.c
@@ -7,7 +7,19 @@ struct murmur3_test_vectors {
const char *input;
size_t len;
uint32_t seed;
- uint32_t result[4]; /* fits all results */
+
+ /* murmurhash3_128() produces a different output on ILP32 and LP64
+ systems (by design). Therefore, we must use different expected
+ results based on what system we're on. We define both all the
+ time, but use the below pre-processor magic to select which
+ version we'll use. */
+ uint8_t result_ilp32[MURMURHASH3_128_RESULTBYTES]; /* fits a...
2017 Jun 29
2
The undef story
...rapv/-ftrapv on the compiler command line, which impede the compiler's usual exploitation of signed wrap UB in C. Last I heard, those options lead to substantial performance regressions.
>
In my other emails I point out that Dan achieved the goal of hoisting sign-extension
out of loops for LP64 targets by exploiting “+nsw”, and that this appears to be
the only example of a performance benefit. I am not suggesting we remove this
optimization, and my emails point out that keeping this opt does not require that the
compiler model “undefined behavior”.
Heres what gcc says about those opti...
2004 Aug 06
3
solaris success??
At 4:37 PM -0400 7/6/01, Brendan Cully wrote:
>On Friday, 06 July 2001 at 13:21, tom erbe wrote:
>> At 1:48 PM -0400 7/6/01, Brendan Cully wrote:
>> > > 0.2 doesn't segfault, but it seems to overrun the server (if that
>> >> makes any sense), it plays a 3 minute file in seconds.
>> >
>> >I'd like to know more about this. Are you
2013 Mar 12
1
[LLVMdev] help decompiling x86 ASM to LLVM IR
...gt; return *p;
> }
>
> The X86 machine code would do something like
>
> add %eax, 4
>
> for `++p', but for x86_64 it would be
>
> add %rax, 8
>
> But you can't know that without looking at the original C code.
This is a bad example. A compiler compiling LP64 code would generate
the above code on x86_64 for the given C code. An ILP32 compiler for
x86_64 would generate something more akin to the 32-bit x86_32 code
given above. It should be possible to statically convert such a simple
program from one instruction set to another (provided that they...
2018 Mar 26
2
murmurhash3 test failures on big-endian systems
Hi Aki,
On 15:55 Mon 26 Mar , Aki Tuomi wrote:
> On 26.03.2018 15:49, Apollon Oikonomopoulos wrote:
> > Hi,
> >
> > The dovecot 2.3.0.1 Debian package currently fails to build on all
> > big-endian architectures[1], due to murmurhash3 tests failing. The
> > relevant output from e.g. s390x is:
> >
> > test-murmurhash3.c:22: Assert(#8) failed: