Re: dmd asm output

2013-04-01 Thread John Colvin
On Monday, 1 April 2013 at 11:10:56 UTC, Artur Skawina wrote: On 04/01/13 12:24, js.mdnq wrote: On Monday, 1 April 2013 at 01:54:10 UTC, John Colvin wrote: What's after the code? The 0x76 call is an inline call function, the ret returns it. The stuff before it is setting up the registers for t

Re: dmd asm output

2013-04-01 Thread Artur Skawina
On 04/01/13 12:24, js.mdnq wrote: > On Monday, 1 April 2013 at 01:54:10 UTC, John Colvin wrote: > What's after the code? > > The 0x76 call is an inline call function, the ret returns it. The stuff > before it is setting up the registers for the call and what comes after > >> 0x0076 <

Re: dmd asm output

2013-04-01 Thread js.mdnq
On Monday, 1 April 2013 at 01:54:10 UTC, John Colvin wrote: I've been learning assembler a bit and I decided to have a look at what dmd spits out. I tried a simple function with arrays to see what vectorization gets done void addto(int[] a, int[] b) { a[] += b[]; } dmd -O -release -inline

Re: dmd asm output

2013-04-01 Thread nazriel
On Monday, 1 April 2013 at 01:54:10 UTC, John Colvin wrote: I've been learning assembler a bit and I decided to have a look at what dmd spits out. I tried a simple function with arrays to see what vectorization gets done void addto(int[] a, int[] b) { a[] += b[]; } dmd -O -release -inline

Re: dmd asm output

2013-03-31 Thread John Colvin
On Monday, 1 April 2013 at 02:03:12 UTC, bearophile wrote: In what you are seeing I think something is not recognizing the SSE+ instructions. Sorry, I was wrong. The SSE ops are done elsewhere. You see that "call 0x7b <_D3sse5addtoFAiAiZv+59>". Bye, bearophile Woops, sorry the actual fil

Re: dmd asm output

2013-03-31 Thread bearophile
In what you are seeing I think something is not recognizing the SSE+ instructions. Sorry, I was wrong. The SSE ops are done elsewhere. You see that "call 0x7b <_D3sse5addtoFAiAiZv+59>". Bye, bearophile

Re: dmd asm output

2013-03-31 Thread bearophile
John Colvin: Can anyone explain what on earth is going on here? In the dmd sources there are the sources for those array operations too. In what you are seeing I think something is not recognizing the SSE+ instructions. Bye, bearophile

dmd asm output

2013-03-31 Thread John Colvin
I've been learning assembler a bit and I decided to have a look at what dmd spits out. I tried a simple function with arrays to see what vectorization gets done void addto(int[] a, int[] b) { a[] += b[]; } dmd -O -release -inline -noboundscheck -gc -c test.d disassembled with gdb: _D3sse5