about summary refs log tree commit diff stats
path: root/src/dynarec/rv64/dynarec_rv64_private.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/dynarec/rv64/dynarec_rv64_private.h')
-rw-r--r--src/dynarec/rv64/dynarec_rv64_private.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/dynarec/rv64/dynarec_rv64_private.h b/src/dynarec/rv64/dynarec_rv64_private.h
index 3acbdfb6..dff6f84e 100644
--- a/src/dynarec/rv64/dynarec_rv64_private.h
+++ b/src/dynarec/rv64/dynarec_rv64_private.h
@@ -89,7 +89,9 @@ typedef struct instruction_rv64_s {
     uintptr_t           marklock;
     int                 pass2choice;// value for choices that are fixed on pass2 for pass3
     uintptr_t           natcall;
-    int                 retn;
+    uint16_t            retn;
+    uint16_t            ymm_zero;   // bitmap of ymm to zero at purge
+    uint16_t            purge_ymm0; // need to purge some ymm0 because of a loop
     int                 barrier_maybe;
     flagcache_t         f_exit;     // flags status at end of intruction
     extcache_t          e;          // extcache at end of intruction (but before poping)
@@ -129,6 +131,7 @@ typedef struct dynarec_rv64_s {
     uintptr_t           forward_to; // address of the next jump to (to check if everything is ok)
     int32_t             forward_size;   // size at the forward point
     int                 forward_ninst;  // ninst at the forward point
+    uint16_t            ymm_zero;   // bitmap of ymm to zero at purge
     uint8_t             always_test;
     uint8_t             abort;
 } dynarec_rv64_t;