summaryrefslogtreecommitdiff
path: root/base/gsroprun.c
diff options
context:
space:
mode:
authorRobin Watts <Robin.Watts@artifex.com>2019-06-11 19:04:21 +0100
committerRobin Watts <Robin.Watts@artifex.com>2019-06-25 10:37:10 +0100
commit4f59b4dc4f512839fd73718de535da99c6085da3 (patch)
treefe4919cba5fa017f7fd05c27f757f9b260cfe59e /base/gsroprun.c
parent140a9359f3cc6739c7caf0796430bc3112cb3cd5 (diff)
downloadghostpdl-4f59b4dc4f512839fd73718de535da99c6085da3.tar.gz
First steps for using SSE for ROPs.
Diffstat (limited to 'base/gsroprun.c')
-rw-r--r--base/gsroprun.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/base/gsroprun.c b/base/gsroprun.c
index 8c3dc0fb3..78019f43f 100644
--- a/base/gsroprun.c
+++ b/base/gsroprun.c
@@ -104,6 +104,8 @@ static void record(int rop)
#define TEMPLATE_NAME invert_rop_run1
#define SPECIFIC_ROP 0x55
#define SPECIFIC_CODE(O,D,S,T) do { O = ~D; } while (0)
+#define MM_SETUP() __m128i mm_constant_ones = _mm_cmpeq_epi32(mm_constant_ones, mm_constant_ones);
+#define MM_SPECIFIC_CODE(O,D,S,T) do { _mm_storeu_si128(O,_mm_xor_si128(_mm_loadu_si128(D),mm_constant_ones)); } while (0 == 1)
#define S_CONST
#define T_CONST
#include "gsroprun1.h"