[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: JIT test crash
From: |
Max Brister |
Subject: |
Re: JIT test crash |
Date: |
Fri, 28 Dec 2012 14:04:57 -0700 |
On Wed, Dec 26, 2012 at 7:20 AM, Michael Goffioul
<address@hidden> wrote:
> On Wed, Dec 26, 2012 at 12:01 AM, Max Brister <address@hidden> wrote:
>>
>> Well, there was recently a new version of LLVM, it would be nice if
>> that just fixed the issue (I don't see anything relevant in the
>> release notes though).
>>
>> If that doesn't work, then we should try implementing complex numbers
>> as a llvm::ArrayType or llvm::StructureType internally in Octave.
>> Currently, complex numbers are implemented with an llvm::VectorType,
>> which LLVM emits vectorized assembly for. If I recall correctly, that
>> was causing MSVC to emit bad instructions. I can prepare a patch to do
>> this, if you want to try it.
>>
>> If that doesn't work, then we need to trace the execution of LLVM to
>> figure out why bad code is being generated.
>
>
> Note that IIRC, the problem was data alignment. GCC aligns by default on
> 16-bytes boundary, MSVC on 4-bytes. If LLVM assumes GCC alignment, then it
> can emit bad vectorized code.
Yes, hopefully avoiding the vectorized instructions will fix the
issue. I'm not sure how much of a speedup we get by vectorizing
operations on complex numbers anyways.
I have attached a patch that *should* avoid these vectorized instructions.
> Michael.
>
--
Max Brister
no_complex_sse.patch
Description: Binary data
- Re: JIT test crash, Michael Goffioul, 2012/12/22
- Re: JIT test crash, Max Brister, 2012/12/22
- Re: JIT test crash, Michael Goffioul, 2012/12/22
- Re: JIT test crash, Max Brister, 2012/12/26
- Re: JIT test crash, Michael Goffioul, 2012/12/26
- Re: JIT test crash, Michael Goffioul, 2012/12/26
- Re: JIT test crash,
Max Brister <=
- Re: JIT test crash, Michael Goffioul, 2012/12/28
- Re: JIT test crash, Max Brister, 2012/12/29
- Re: JIT test crash, Max Brister, 2012/12/29
- Re: JIT test crash, Michael Goffioul, 2012/12/29