flat assembler
Message board for the users of flat assembler.
Index
> Main > About vgatherdps |
Author |
|
Roman 13 Dec 2022, 12:53
In fasm docs https://flatassembler.net/docs.php?article=manual
Code: vgatherdps xmm0{k1},[eax+xmm1] ; gather four floats Another place I found Code: vgatherdps xmm0,[eax+xmm1],xmm3 ; gather four floats What is variant right ? And not clearly understood how loops work and why eax+xmm1 and xmm3 And what means gather ? Its plus all floats to one or store to memory ? Last edited by Roman on 14 Dec 2022, 14:41; edited 1 time in total |
|||
13 Dec 2022, 12:53 |
|
Roman 13 Dec 2022, 13:07
Show me simple asm x86 code explaned how work vgatherdps.
And I clearly understood this. |
|||
13 Dec 2022, 13:07 |
|
Roman 13 Dec 2022, 13:48
|
|||
13 Dec 2022, 13:48 |
|
Furs 13 Dec 2022, 14:33
So basically what this does is it fills your destination's data types (dwords for example) with values from memory, but each index in the memory operand is a different one (specified by the vector register in the memory address!) so it need not be sequential.
I never understood why it sets the mask to zeros, or why it modifies it in the first place. Couldn't they just make it an input operand? |
|||
13 Dec 2022, 14:33 |
|
Overclick 13 Dec 2022, 17:14
Here is much better explanation espessially for VSIB but still complicated.
https://www.amd.com/system/files/TechDocs/26568.pdf VSIB.base (Bits [5:3]). This field is concatenated with the complement of the VEX.B bit ({B,base}) to specify the general-purpose register (base GPR) that contains the base address base to be used in the computation of each of the effective addresses. How to modify it or what "general-purpose register" used by default? |
|||
13 Dec 2022, 17:14 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.