diff options
Diffstat (limited to 'src/dynarec/rv64/dynarec_rv64_pass0.h')
| -rw-r--r-- | src/dynarec/rv64/dynarec_rv64_pass0.h | 25 |
1 files changed, 7 insertions, 18 deletions
diff --git a/src/dynarec/rv64/dynarec_rv64_pass0.h b/src/dynarec/rv64/dynarec_rv64_pass0.h index 90d383ee..782dae0b 100644 --- a/src/dynarec/rv64/dynarec_rv64_pass0.h +++ b/src/dynarec/rv64/dynarec_rv64_pass0.h @@ -56,21 +56,10 @@ dynarec_log(LOG_NONE, "\n"); \ } -#define DEFAULT_VECTOR \ - if (box64_dynarec_log >= LOG_INFO || box64_dynarec_dump || box64_dynarec_missing) { \ - dynarec_log(LOG_NONE, "%p: Dynarec fallback to scalar version because of %s Opcode" \ - " %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X", \ - (void*)ip, rex.is32bits ? "x86 " : "x64 ", \ - PKip(0), \ - PKip(1), PKip(2), PKip(3), \ - PKip(4), PKip(5), PKip(6), \ - PKip(7), PKip(8), PKip(9), \ - PKip(10), PKip(11), PKip(12), \ - PKip(13), PKip(14)); \ - printFunctionAddr(ip, " => "); \ - dynarec_log(LOG_NONE, "\n"); \ - } \ - return 0 - -#define SET_ELEMENT_WIDTH(s1, sew) \ - dyn->vector_sew = sew; +#define SET_ELEMENT_WIDTH(s1, sew, set) \ + do { \ + if (sew != VECTOR_SEWANY && set) \ + dyn->vector_sew = sew; \ + else if (dyn->vector_sew == VECTOR_SEWNA && set) \ + dyn->vector_sew = VECTOR_SEW8; \ + } while (0) |