X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=deps%2Flightning%2Flib%2Fjit_x86.c;h=6472e566c3b99308a3d3fde94d63d0c496fae388;hb=13b02197fcb7575646408094d5583ed7391b1153;hp=7dd900e95d0b1fa7f9844ff2730f9d8c3935a01c;hpb=519a9ea123f92f3b02c059a32e4e9fd1170c8cbb;p=pcsx_rearmed.git diff --git a/deps/lightning/lib/jit_x86.c b/deps/lightning/lib/jit_x86.c index 7dd900e9..6472e566 100644 --- a/deps/lightning/lib/jit_x86.c +++ b/deps/lightning/lib/jit_x86.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2012-2019 Free Software Foundation, Inc. + * Copyright (C) 2012-2022 Free Software Foundation, Inc. * * This file is part of GNU lightning. * @@ -1593,8 +1593,8 @@ _emit_code(jit_state_t *_jit) jit_regarg_set(node, value); switch (node->code) { case jit_code_align: - assert(!(node->u.w & (node->u.w - 1)) && - node->u.w <= sizeof(jit_word_t)); + /* Must align to a power of two */ + assert(!(node->u.w & (node->u.w - 1))); if ((word = _jit->pc.w & (node->u.w - 1))) nop(node->u.w - word); break; @@ -1674,6 +1674,16 @@ _emit_code(jit_state_t *_jit) case_rrw(gt, _u); case_rrr(ne,); case_rrw(ne,); + case jit_code_casr: + casr(rn(node->u.w), rn(node->v.w), + rn(node->w.q.l), rn(node->w.q.h)); + break; + case jit_code_casi: + casi(rn(node->u.w), node->v.w, + rn(node->w.q.l), rn(node->w.q.h)); + break; + case_rrr(movn,); + case_rrr(movz,); case_rr(mov,); case jit_code_movi: if (node->flag & jit_flag_node) { @@ -1696,6 +1706,11 @@ _emit_code(jit_state_t *_jit) case_rr(hton, _ui); #if __X64 && !__X64_32 case_rr(hton, _ul); +#endif + case_rr(bswap, _us); + case_rr(bswap, _ui); +#if __X64 && !__X64_32 + case_rr(bswap, _ul); #endif case_rr(ext, _c); case_rr(ext, _uc);