Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Makefile consolidation and LLVM bug fix #267

Merged
merged 8 commits into from
Nov 29, 2011

Conversation

vtjnash
Copy link
Sponsor Member

@vtjnash vtjnash commented Nov 28, 2011

The Makefile changes are just to make it easier (more obvious) to handle cases where OpenBLAS doesn't detect the processor type.

The change to alloc.c works around an LLVM optimization bug on Apple's default complier. By re-ordering the layout of the byte cache to be dealing with unsigned indicies, we can safely ignore the sign bit later.

With optimizations on my 64-bit machine, the code originally generated was: (note the movslq instruction which is a 32 to 64 bit sign extend move operation, versus gcc which produces the correct 8 to 64 bit sign extend move instruction movsbq)

with gcc:
0x0000000100046ac0 <+0000> push %rbp
0x0000000100046ac1 <+0001> mov %rsp,%rbp
0x0000000100046ac4 <+0004> movsbq %dil,%rdi
0x0000000100046ac8 <+0008> lea 0x7055d1(%rip),%rax # 0x10074c0a0 <boxed_int8_cache+1024>
0x0000000100046acf <+0015> mov (%rax,%rdi,8),%rax
0x0000000100046ad3 <+0019> leaveq
0x0000000100046ad4 <+0020> retq
0x0000000100046ad5 <+0021> nopl 0x0(%rax,%rax,1)
0x0000000100046ada <+0026> nopw 0x0(%rax,%rax,1)

with llvm:
0x00000001000367c0 <+0000> push %rbp
0x00000001000367c1 <+0001> mov %rsp,%rbp
0x00000001000367c4 <+0004> movslq %edi,%rax
0x00000001000367c7 <+0007> lea 0x6e83f2(%rip),%rcx # 0x10071ebc0 <boxed_int8_cache>
0x00000001000367ce <+0014> mov 0x400(%rcx,%rax,8),%rax
0x00000001000367d6 <+0022> pop %rbp
0x00000001000367d7 <+0023> retq
0x00000001000367d8 <+0024> nopl 0x0(%rax,%rax,1)

JeffBezanson added a commit that referenced this pull request Nov 29, 2011
Makefile consolidation and LLVM bug fix
@JeffBezanson JeffBezanson merged commit 444f5c4 into JuliaLang:master Nov 29, 2011
StefanKarpinski pushed a commit that referenced this pull request Feb 8, 2018
LilithHafner pushed a commit to LilithHafner/julia that referenced this pull request Oct 11, 2021
* Functions for trimming outliers and robust statistics (JuliaLang#132).

- Added trim, trim!, winsor, winsor!, trimvar.
- Deprecated trimmean.

* remove dep warns

* finished docs for winsor, trim, etc
Keno pushed a commit that referenced this pull request Oct 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants