diff options
author | rodri <rgl@antares-labs.eu> | 2023-11-25 10:34:41 +0000 |
---|---|---|
committer | rodri <rgl@antares-labs.eu> | 2023-11-25 10:34:41 +0000 |
commit | 675aa84403f98776a7d463e1cc5f9bd41cdbab92 (patch) | |
tree | 7c0f2fbb1814c5a9f8975307da8e79b0c0165d89 /avx.h | |
parent | cc3307440e698d58843a5273519f4988c01937f1 (diff) | |
download | amd64-simd-675aa84403f98776a7d463e1cc5f9bd41cdbab92.tar.gz amd64-simd-675aa84403f98776a7d463e1cc5f9bd41cdbab92.tar.bz2 amd64-simd-675aa84403f98776a7d463e1cc5f9bd41cdbab92.zip |
cleaned things up and improved the organization a bit.
Diffstat (limited to 'avx.h')
-rw-r--r-- | avx.h | 20 |
1 files changed, 20 insertions, 0 deletions
@@ -45,6 +45,26 @@ #define VMOVAPD_256rr(s, d) VEX3(0,0,0,VEX_m_0F,0,0,VEX_L_256,VEX_p_66); \ VOP(0x28, 0x3, (d), (s)) +/* VMOVDQA */ +#define VMOVDQA_128mr(off, s, d) VEX3(0,0,0,VEX_m_0F,0,0,VEX_L_128,VEX_p_66); \ + VOPi(0x6F, 0x1, (d), (s), (off)) +#define VMOVDQA_128rm(s, d) VEX3(0,0,0,VEX_m_0F,0,0,VEX_L_128,VEX_p_66); \ + VOP(0x7F, 0x3, (s), (d)) +#define VMOVDQA_256mr(off, s, d) VEX3(0,0,0,VEX_m_0F,0,0,VEX_L_256,VEX_p_66); \ + VOPi(0x6F, 0x1, (d), (s), (off)) +#define VMOVDQA_256rm(s, d) VEX3(0,0,0,VEX_m_0F,0,0,VEX_L_256,VEX_p_66); \ + VOP(0x7F, 0x3, (s), (d)) + +/* VMODQU */ +#define VMOVDQU_128mr(off, s, d) VEX3(0,0,0,VEX_m_0F,0,0,VEX_L_128,VEX_p_F3); \ + VOPi(0x6F, 0x1, (d), (s), (off)) +#define VMOVDQU_128rm(s, d) VEX3(0,0,0,VEX_m_0F,0,0,VEX_L_128,VEX_p_F3); \ + VOP(0x7F, 0x3, (s), (d)) +#define VMOVDQU_256mr(off, s, d) VEX3(0,0,0,VEX_m_0F,0,0,VEX_L_256,VEX_p_F3); \ + VOPi(0x6F, 0x1, (d), (s), (off)) +#define VMOVDQU_256rm(s, d) VEX3(0,0,0,VEX_m_0F,0,0,VEX_L_256,VEX_p_F3); \ + VOP(0x7F, 0x3, (s), (d)) + /* VADDPD */ #define VADDPD_128mr(off, s0, s1, d) VEX3(0,0,0,VEX_m_0F,0,(s0),VEX_L_128,VEX_p_66); \ VOPi(0x58, 0x1, (d), (s1), (off)) |