Sujet : Re: Computer architects leaving Intel...
De : already5chosen (at) *nospam* yahoo.com (Michael S)
Groupes : comp.archDate : 09. Sep 2024, 15:30:50
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <20240909163050.00004ae8@yahoo.com>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
User-Agent : Claws Mail 3.19.1 (GTK+ 2.24.33; x86_64-w64-mingw32)
On Mon, 09 Sep 2024 12:28:13 GMT
anton@mips.complang.tuwien.ac.at (Anton Ertl) wrote:
But when changing the length to 63:
0000000000000000 <foo1>:
0: c5 fe 6f 06 vmovdqu (%rsi),%ymm0
4: c5 fe 7f 07 vmovdqu %ymm0,(%rdi)
8: c5 fe 6f 4e 1f vmovdqu 0x1f(%rsi),%ymm1
d: c5 fe 7f 4f 1f vmovdqu %ymm1,0x1f(%rdi)
12: c5 f8 77 vzeroupper
15: c3 ret
16: 66 2e 0f 1f 84 00 00 cs nopw 0x0(%rax,%rax,1)
1d: 00 00 00
0000000000000020 <foo2>:
20: ba 3f 00 00 00 mov $0x3f,%edx
25: e9 00 00 00 00 jmp 2a <foo2+0xa>
- anton
An interesting question is which code I want in this case.
In absence of -march options and with -O1|2|3 I want something like
that:
foo2:
movups (%rsi), %xmm0
movups 16(%rsi), %xmm1
movups 32(%rsi), %xmm2
movups 47(%rsi), %xmm3
movups %xmm0, (%rsi)
movups %xmm1, 16(%rsi)
movups %xmm2, 32(%rsi)
movups %xmm3, 47(%rsi)
ret
Without deep thinking I don't see why I would want anything
different for foo1().