From d850c3b7f47e58556c160f9d03ea20aa52452020 Mon Sep 17 00:00:00 2001 From: rodri Date: Fri, 24 Nov 2023 15:39:06 +0000 Subject: add more avx instructions and a bench9 benchmark file. --- sse.h | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'sse.h') diff --git a/sse.h b/sse.h index ffad543..6a03c9e 100644 --- a/sse.h +++ b/sse.h @@ -41,6 +41,8 @@ BYTE $(((~r)<<7)|((~v)<<3)|((l)<<2)|(p)) #define VOP(o, m, ro, rm) BYTE $(o); \ BYTE $(((m)<<6)|((ro)<<3)|(rm)) +#define VOPi(o, m, ro, rm, i) VOP((o), (m), (ro), (rm)); \ + BYTE $(i) /* MOVLPD */ //opcode = 660F12 @@ -65,6 +67,15 @@ //imm8 = 0011 0001 #define DPPD(s, d) OP4i(0x413A, 0x3, (d), (s), 0x31) +/* VMOVAPD */ +#define VMOVUPD_128mr(off, s, d) VEX3(0,0,0,VEX_m_0F,0,0,VEX_L_128,VEX_p_66); \ + VOPi(0x10, 0x1, (d), (s), (off)) +#define VMOVAPD_128rr(s, d) VEX3(0,0,0,VEX_m_0F,0,0,VEX_L_128,VEX_p_66); \ + VOP(0x28, 0x3, (d), (s)) +/* VDPPD */ +#define VDPPD(s0, s1, d) VEX3(0,0,0,VEX_m_0F3A,0,(s0),VEX_L_128,VEX_p_66); \ + VOPi(0x41, 0x3, (d), (s1), 0x31) + /* VFMADD231SD (128 bit) */ #define VFMADD231SD(s0, s1, d) VEX3(0,0,0,VEX_m_0F38,1,(s0),VEX_L_128,VEX_p_66); \ VOP(0xB9, 0x3, (d), (s1)) -- cgit v1.2.3