get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/1019125/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 1019125,
    "url": "http://patchwork.ozlabs.org/api/patches/1019125/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/patch/1545989148-13582-21-git-send-email-aleksandar.markovic@rt-rk.com/",
    "project": {
        "id": 14,
        "url": "http://patchwork.ozlabs.org/api/projects/14/?format=api",
        "name": "QEMU Development",
        "link_name": "qemu-devel",
        "list_id": "qemu-devel.nongnu.org",
        "list_email": "qemu-devel@nongnu.org",
        "web_url": "",
        "scm_url": "",
        "webscm_url": "",
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<1545989148-13582-21-git-send-email-aleksandar.markovic@rt-rk.com>",
    "list_archive_url": null,
    "date": "2018-12-28T09:25:27",
    "name": "[PULL,20/41] disas: nanoMIPS: Name more functions in a more descriptive way",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "edd2ce0340a8675c42760b2d9d81d74885ed588e",
    "submitter": {
        "id": 68635,
        "url": "http://patchwork.ozlabs.org/api/people/68635/?format=api",
        "name": "Aleksandar Markovic",
        "email": "aleksandar.markovic@rt-rk.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/patch/1545989148-13582-21-git-send-email-aleksandar.markovic@rt-rk.com/mbox/",
    "series": [
        {
            "id": 83742,
            "url": "http://patchwork.ozlabs.org/api/series/83742/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=83742",
            "date": "2018-12-28T09:25:09",
            "name": "[PULL,01/41] MAINTAINERS: target/mips: Add MIPS files under default-configs directory",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/83742/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/1019125/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/1019125/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>",
        "X-Original-To": "incoming@patchwork.ozlabs.org",
        "Delivered-To": "patchwork-incoming@bilbo.ozlabs.org",
        "Authentication-Results": [
            "ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=nongnu.org\n\t(client-ip=208.118.235.17; helo=lists.gnu.org;\n\tenvelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n\treceiver=<UNKNOWN>)",
            "ozlabs.org;\n\tdmarc=none (p=none dis=none) header.from=rt-rk.com"
        ],
        "Received": [
            "from lists.gnu.org (lists.gnu.org [208.118.235.17])\n\t(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 43R2Bb49l3z9s55\n\tfor <incoming@patchwork.ozlabs.org>;\n\tFri, 28 Dec 2018 20:55:18 +1100 (AEDT)",
            "from localhost ([127.0.0.1]:57989 helo=lists.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.71) (envelope-from\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>)\n\tid 1gcorL-0005uh-4Y\n\tfor incoming@patchwork.ozlabs.org; Fri, 28 Dec 2018 04:55:15 -0500",
            "from eggs.gnu.org ([208.118.235.92]:52562)\n\tby lists.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <aleksandar.markovic@rt-rk.com>) id 1gcon1-0008M8-Fy\n\tfor qemu-devel@nongnu.org; Fri, 28 Dec 2018 04:50:57 -0500",
            "from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)\n\t(envelope-from <aleksandar.markovic@rt-rk.com>) id 1gcoPD-0003Jb-GS\n\tfor qemu-devel@nongnu.org; Fri, 28 Dec 2018 04:26:26 -0500",
            "from mx2.rt-rk.com ([89.216.37.149]:49274 helo=mail.rt-rk.com)\n\tby eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32)\n\t(Exim 4.71) (envelope-from <aleksandar.markovic@rt-rk.com>)\n\tid 1gcoPC-00036m-Ha\n\tfor qemu-devel@nongnu.org; Fri, 28 Dec 2018 04:26:11 -0500",
            "from localhost (localhost [127.0.0.1])\n\tby mail.rt-rk.com (Postfix) with ESMTP id E7BAD1A2147;\n\tFri, 28 Dec 2018 10:25:55 +0100 (CET)",
            "from rtrkw774-lin.domain.local (rtrkw774-lin.domain.local\n\t[10.10.13.43])\n\tby mail.rt-rk.com (Postfix) with ESMTPSA id A556B1A20C6;\n\tFri, 28 Dec 2018 10:25:55 +0100 (CET)"
        ],
        "X-Virus-Scanned": "amavisd-new at rt-rk.com",
        "From": "Aleksandar Markovic <aleksandar.markovic@rt-rk.com>",
        "To": "qemu-devel@nongnu.org",
        "Date": "Fri, 28 Dec 2018 10:25:27 +0100",
        "Message-Id": "<1545989148-13582-21-git-send-email-aleksandar.markovic@rt-rk.com>",
        "X-Mailer": "git-send-email 2.7.4",
        "In-Reply-To": "<1545989148-13582-1-git-send-email-aleksandar.markovic@rt-rk.com>",
        "References": "<1545989148-13582-1-git-send-email-aleksandar.markovic@rt-rk.com>",
        "X-detected-operating-system": "by eggs.gnu.org: GNU/Linux 3.x [fuzzy]",
        "X-Received-From": "89.216.37.149",
        "Subject": "[Qemu-devel] [PULL 20/41] disas: nanoMIPS: Name more functions in a\n\tmore descriptive way",
        "X-BeenThere": "qemu-devel@nongnu.org",
        "X-Mailman-Version": "2.1.21",
        "Precedence": "list",
        "List-Id": "<qemu-devel.nongnu.org>",
        "List-Unsubscribe": "<https://lists.nongnu.org/mailman/options/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>",
        "List-Archive": "<http://lists.nongnu.org/archive/html/qemu-devel/>",
        "List-Post": "<mailto:qemu-devel@nongnu.org>",
        "List-Help": "<mailto:qemu-devel-request@nongnu.org?subject=help>",
        "List-Subscribe": "<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=subscribe>",
        "Cc": "peter.maydell@linaro.org, amarkovic@wavecomp.com",
        "Errors-To": "qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org",
        "Sender": "\"Qemu-devel\"\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>"
    },
    "content": "From: Aleksandar Markovic <amarkovic@wavecomp.com>\n\nRename more functions that have names that are hard to understand.\n\nReviewed-by: Aleksandar Rikalo <arikalo@wavecomp.com>\nSigned-off-by: Aleksandar Markovic <amarkovic@wavecomp.com>\n---\n disas/nanomips.cpp | 212 ++++++++++++++++++++++++++---------------------------\n disas/nanomips.h   |  28 +++----\n 2 files changed, 120 insertions(+), 120 deletions(-)",
    "diff": "diff --git a/disas/nanomips.cpp b/disas/nanomips.cpp\nindex 69b6e99..aa33434 100644\n--- a/disas/nanomips.cpp\n+++ b/disas/nanomips.cpp\n@@ -719,7 +719,7 @@ uint64 NMD::extract_u_17_to_1__s1(uint64 instruction)\n }\n \n \n-int64 NMD::extr_sil11il0bs10Tmsb9(uint64 instruction)\n+int64 NMD::extract_s__se9_20_19_18_17_16_15_14_13_12_11(uint64 instruction)\n {\n     int64 value = 0;\n     value |= extract_bits(instruction, 11, 10);\n@@ -728,7 +728,7 @@ int64 NMD::extr_sil11il0bs10Tmsb9(uint64 instruction)\n }\n \n \n-int64 NMD::extr_sil0il11bs1_il1il1bs10Tmsb11(uint64 instruction)\n+int64 NMD::extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(uint64 instruction)\n {\n     int64 value = 0;\n     value |= extract_bits(instruction, 0, 1) << 11;\n@@ -795,7 +795,7 @@ uint64 NMD::extract_count3_14_13_12(uint64 instruction)\n }\n \n \n-int64 NMD::extr_sil0il31bs1_il2il21bs10_il12il12bs9Tmsb31(uint64 instruction)\n+int64 NMD::extract_s__se31_0_11_to_2_20_to_12_s12(uint64 instruction)\n {\n     int64 value = 0;\n     value |= extract_bits(instruction, 0, 1) << 31;\n@@ -806,7 +806,7 @@ int64 NMD::extr_sil0il31bs1_il2il21bs10_il12il12bs9Tmsb31(uint64 instruction)\n }\n \n \n-int64 NMD::extr_sil0il7bs1_il1il1bs6Tmsb7(uint64 instruction)\n+int64 NMD::extract_s__se7_0_6_5_4_3_2_1_s1(uint64 instruction)\n {\n     int64 value = 0;\n     value |= extract_bits(instruction, 0, 1) << 7;\n@@ -880,7 +880,7 @@ uint64 NMD::extract_rdl_25_24(uint64 instruction)\n }\n \n \n-int64 NMD::extr_sil0il10bs1_il1il1bs9Tmsb10(uint64 instruction)\n+int64 NMD::extract_s__se10_0_9_8_7_6_5_4_3_2_1_s1(uint64 instruction)\n {\n     int64 value = 0;\n     value |= extract_bits(instruction, 0, 1) << 10;\n@@ -1019,7 +1019,7 @@ uint64 NMD::extract_rsz4_4_2_1_0(uint64 instruction)\n }\n \n \n-int64 NMD::extr_sil0il21bs1_il1il1bs20Tmsb21(uint64 instruction)\n+int64 NMD::extract_s__se21_0_20_to_1_s1(uint64 instruction)\n {\n     int64 value = 0;\n     value |= extract_bits(instruction, 0, 1) << 21;\n@@ -1062,7 +1062,7 @@ uint64 NMD::extract_rt_41_40_39_38_37(uint64 instruction)\n }\n \n \n-int64 NMD::extract_shift_21_20_19_18_17_16(uint64 instruction)\n+int64 NMD::extract_shift__se5_21_20_19_18_17_16(uint64 instruction)\n {\n     int64 value = 0;\n     value |= extract_bits(instruction, 16, 6);\n@@ -1096,7 +1096,7 @@ uint64 NMD::extract_size_20_19_18_17_16(uint64 instruction)\n }\n \n \n-int64 NMD::extr_sil2il2bs6_il15il8bs1Tmsb8(uint64 instruction)\n+int64 NMD::extract_s__se8_15_7_6_5_4_3_2_s2(uint64 instruction)\n {\n     int64 value = 0;\n     value |= extract_bits(instruction, 2, 6) << 2;\n@@ -1122,7 +1122,7 @@ uint64 NMD::extract_fs_20_19_18_17_16(uint64 instruction)\n }\n \n \n-int64 NMD::extr_sil0il0bs8_il15il8bs1Tmsb8(uint64 instruction)\n+int64 NMD::extract_s__se8_15_7_6_5_4_3_2_1_0(uint64 instruction)\n {\n     int64 value = 0;\n     value |= extract_bits(instruction, 0, 8);\n@@ -1245,7 +1245,7 @@ uint64 NMD::extract_sa_15_14_13(uint64 instruction)\n }\n \n \n-int64 NMD::extr_sil0il14bs1_il1il1bs13Tmsb14(uint64 instruction)\n+int64 NMD::extract_s__se14_0_13_to_1_s1(uint64 instruction)\n {\n     int64 value = 0;\n     value |= extract_bits(instruction, 0, 1) << 14;\n@@ -1351,7 +1351,7 @@ uint64 NMD::extract_u_7_6_5_4__s4(uint64 instruction)\n }\n \n \n-int64 NMD::extr_sil3il3bs5_il15il8bs1Tmsb8(uint64 instruction)\n+int64 NMD::extract_s__se8_15_7_6_5_4_3_s3(uint64 instruction)\n {\n     int64 value = 0;\n     value |= extract_bits(instruction, 3, 5) << 3;\n@@ -1369,7 +1369,7 @@ uint64 NMD::extract_ft_15_14_13_12_11(uint64 instruction)\n }\n \n \n-int64 NMD::extr_sil0il16bs16_il16il0bs16Tmsb31(uint64 instruction)\n+int64 NMD::extract_s__se31_15_to_0_31_to_16(uint64 instruction)\n {\n     int64 value = 0;\n     value |= extract_bits(instruction, 0, 16) << 16;\n@@ -1419,7 +1419,7 @@ uint64 NMD::extract_code_1_0(uint64 instruction)\n }\n \n \n-int64 NMD::extr_sil0il25bs1_il1il1bs24Tmsb25(uint64 instruction)\n+int64 NMD::extract_s__se25_0_24_to_1_s1(uint64 instruction)\n {\n     int64 value = 0;\n     value |= extract_bits(instruction, 0, 1) << 25;\n@@ -1495,7 +1495,7 @@ uint64 NMD::extract_u_20_to_2__s2(uint64 instruction)\n }\n \n \n-int64 NMD::extract_s_4_2_1_0(uint64 instruction)\n+int64 NMD::extract_s__se3_4_2_1_0(uint64 instruction)\n {\n     int64 value = 0;\n     value |= extract_bits(instruction, 0, 3);\n@@ -1708,7 +1708,7 @@ std::string NMD::ABSQ_S_W(uint64 instruction)\n std::string NMD::ACLR(uint64 instruction)\n {\n     uint64 bit_value = extract_bit_23_22_21(instruction);\n-    int64 s_value = extr_sil0il0bs8_il15il8bs1Tmsb8(instruction);\n+    int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);\n     uint64 rs_value = extract_rs_20_19_18_17_16(instruction);\n \n     std::string bit = IMMEDIATE(copy(bit_value));\n@@ -1827,7 +1827,7 @@ std::string NMD::ADDIU_32_(uint64 instruction)\n std::string NMD::ADDIU_48_(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_41_40_39_38_37(instruction);\n-    int64 s_value = extr_sil0il16bs16_il16il0bs16Tmsb31(instruction);\n+    int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction);\n \n     std::string rt = GPR(copy(rt_value));\n     std::string s = IMMEDIATE(copy(s_value));\n@@ -1848,7 +1848,7 @@ std::string NMD::ADDIU_48_(uint64 instruction)\n std::string NMD::ADDIU_GP48_(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_41_40_39_38_37(instruction);\n-    int64 s_value = extr_sil0il16bs16_il16il0bs16Tmsb31(instruction);\n+    int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction);\n \n     std::string rt = GPR(copy(rt_value));\n     std::string s = IMMEDIATE(copy(s_value));\n@@ -1977,7 +1977,7 @@ std::string NMD::ADDIU_R2_(uint64 instruction)\n std::string NMD::ADDIU_RS5_(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_9_8_7_6_5(instruction);\n-    int64 s_value = extract_s_4_2_1_0(instruction);\n+    int64 s_value = extract_s__se3_4_2_1_0(instruction);\n \n     std::string rt = GPR(copy(rt_value));\n     std::string s = IMMEDIATE(copy(s_value));\n@@ -1999,7 +1999,7 @@ std::string NMD::ADDIU_RS5_(uint64 instruction)\n std::string NMD::ADDIUPC_32_(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_25_24_23_22_21(instruction);\n-    int64 s_value = extr_sil0il21bs1_il1il1bs20Tmsb21(instruction);\n+    int64 s_value = extract_s__se21_0_20_to_1_s1(instruction);\n \n     std::string rt = GPR(copy(rt_value));\n     std::string s = ADDRESS(encode_s_from_address(s_value), 4);\n@@ -2021,7 +2021,7 @@ std::string NMD::ADDIUPC_32_(uint64 instruction)\n std::string NMD::ADDIUPC_48_(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_41_40_39_38_37(instruction);\n-    int64 s_value = extr_sil0il16bs16_il16il0bs16Tmsb31(instruction);\n+    int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction);\n \n     std::string rt = GPR(copy(rt_value));\n     std::string s = ADDRESS(encode_s_from_address(s_value), 6);\n@@ -2475,7 +2475,7 @@ std::string NMD::ADDWC(uint64 instruction)\n std::string NMD::ALUIPC(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_25_24_23_22_21(instruction);\n-    int64 s_value = extr_sil0il31bs1_il2il21bs10_il12il12bs9Tmsb31(instruction);\n+    int64 s_value = extract_s__se31_0_11_to_2_20_to_12_s12(instruction);\n \n     std::string rt = GPR(copy(rt_value));\n     std::string s = ADDRESS(encode_s_from_address(s_value), 4);\n@@ -2613,7 +2613,7 @@ std::string NMD::APPEND(uint64 instruction)\n std::string NMD::ASET(uint64 instruction)\n {\n     uint64 bit_value = extract_bit_23_22_21(instruction);\n-    int64 s_value = extr_sil0il0bs8_il15il8bs1Tmsb8(instruction);\n+    int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);\n     uint64 rs_value = extract_rs_20_19_18_17_16(instruction);\n \n     std::string bit = IMMEDIATE(copy(bit_value));\n@@ -2636,7 +2636,7 @@ std::string NMD::ASET(uint64 instruction)\n  */\n std::string NMD::BALC_16_(uint64 instruction)\n {\n-    int64 s_value = extr_sil0il10bs1_il1il1bs9Tmsb10(instruction);\n+    int64 s_value = extract_s__se10_0_9_8_7_6_5_4_3_2_1_s1(instruction);\n \n     std::string s = ADDRESS(encode_s_from_address(s_value), 2);\n \n@@ -2656,7 +2656,7 @@ std::string NMD::BALC_16_(uint64 instruction)\n  */\n std::string NMD::BALC_32_(uint64 instruction)\n {\n-    int64 s_value = extr_sil0il25bs1_il1il1bs24Tmsb25(instruction);\n+    int64 s_value = extract_s__se25_0_24_to_1_s1(instruction);\n \n     std::string s = ADDRESS(encode_s_from_address(s_value), 4);\n \n@@ -2700,7 +2700,7 @@ std::string NMD::BBEQZC(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_25_24_23_22_21(instruction);\n     uint64 bit_value = extract_bit_16_15_14_13_12_11(instruction);\n-    int64 s_value = extr_sil0il11bs1_il1il1bs10Tmsb11(instruction);\n+    int64 s_value = extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(instruction);\n \n     std::string rt = GPR(copy(rt_value));\n     std::string bit = IMMEDIATE(copy(bit_value));\n@@ -2724,7 +2724,7 @@ std::string NMD::BBNEZC(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_25_24_23_22_21(instruction);\n     uint64 bit_value = extract_bit_16_15_14_13_12_11(instruction);\n-    int64 s_value = extr_sil0il11bs1_il1il1bs10Tmsb11(instruction);\n+    int64 s_value = extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(instruction);\n \n     std::string rt = GPR(copy(rt_value));\n     std::string bit = IMMEDIATE(copy(bit_value));\n@@ -2746,7 +2746,7 @@ std::string NMD::BBNEZC(uint64 instruction)\n  */\n std::string NMD::BC_16_(uint64 instruction)\n {\n-    int64 s_value = extr_sil0il10bs1_il1il1bs9Tmsb10(instruction);\n+    int64 s_value = extract_s__se10_0_9_8_7_6_5_4_3_2_1_s1(instruction);\n \n     std::string s = ADDRESS(encode_s_from_address(s_value), 2);\n \n@@ -2766,7 +2766,7 @@ std::string NMD::BC_16_(uint64 instruction)\n  */\n std::string NMD::BC_32_(uint64 instruction)\n {\n-    int64 s_value = extr_sil0il25bs1_il1il1bs24Tmsb25(instruction);\n+    int64 s_value = extract_s__se25_0_24_to_1_s1(instruction);\n \n     std::string s = ADDRESS(encode_s_from_address(s_value), 4);\n \n@@ -2786,7 +2786,7 @@ std::string NMD::BC_32_(uint64 instruction)\n  */\n std::string NMD::BC1EQZC(uint64 instruction)\n {\n-    int64 s_value = extr_sil0il14bs1_il1il1bs13Tmsb14(instruction);\n+    int64 s_value = extract_s__se14_0_13_to_1_s1(instruction);\n     uint64 ft_value = extract_ft_25_24_23_22_21(instruction);\n \n     std::string ft = FPR(copy(ft_value));\n@@ -2808,7 +2808,7 @@ std::string NMD::BC1EQZC(uint64 instruction)\n  */\n std::string NMD::BC1NEZC(uint64 instruction)\n {\n-    int64 s_value = extr_sil0il14bs1_il1il1bs13Tmsb14(instruction);\n+    int64 s_value = extract_s__se14_0_13_to_1_s1(instruction);\n     uint64 ft_value = extract_ft_25_24_23_22_21(instruction);\n \n     std::string ft = FPR(copy(ft_value));\n@@ -2830,7 +2830,7 @@ std::string NMD::BC1NEZC(uint64 instruction)\n  */\n std::string NMD::BC2EQZC(uint64 instruction)\n {\n-    int64 s_value = extr_sil0il14bs1_il1il1bs13Tmsb14(instruction);\n+    int64 s_value = extract_s__se14_0_13_to_1_s1(instruction);\n     uint64 ct_value = extract_ct_25_24_23_22_21(instruction);\n \n     std::string ct = CPR(copy(ct_value));\n@@ -2852,7 +2852,7 @@ std::string NMD::BC2EQZC(uint64 instruction)\n  */\n std::string NMD::BC2NEZC(uint64 instruction)\n {\n-    int64 s_value = extr_sil0il14bs1_il1il1bs13Tmsb14(instruction);\n+    int64 s_value = extract_s__se14_0_13_to_1_s1(instruction);\n     uint64 ct_value = extract_ct_25_24_23_22_21(instruction);\n \n     std::string ct = CPR(copy(ct_value));\n@@ -2899,7 +2899,7 @@ std::string NMD::BEQC_16_(uint64 instruction)\n std::string NMD::BEQC_32_(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_25_24_23_22_21(instruction);\n-    int64 s_value = extr_sil0il14bs1_il1il1bs13Tmsb14(instruction);\n+    int64 s_value = extract_s__se14_0_13_to_1_s1(instruction);\n     uint64 rs_value = extract_rs_20_19_18_17_16(instruction);\n \n     std::string rs = GPR(copy(rs_value));\n@@ -2923,7 +2923,7 @@ std::string NMD::BEQC_32_(uint64 instruction)\n std::string NMD::BEQIC(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_25_24_23_22_21(instruction);\n-    int64 s_value = extr_sil0il11bs1_il1il1bs10Tmsb11(instruction);\n+    int64 s_value = extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(instruction);\n     uint64 u_value = extract_u_17_16_15_14_13_12_11(instruction);\n \n     std::string rt = GPR(copy(rt_value));\n@@ -2946,7 +2946,7 @@ std::string NMD::BEQIC(uint64 instruction)\n  */\n std::string NMD::BEQZC_16_(uint64 instruction)\n {\n-    int64 s_value = extr_sil0il7bs1_il1il1bs6Tmsb7(instruction);\n+    int64 s_value = extract_s__se7_0_6_5_4_3_2_1_s1(instruction);\n     uint64 rt3_value = extract_rt3_9_8_7(instruction);\n \n     std::string rt3 = GPR(encode_gpr3(rt3_value));\n@@ -2969,7 +2969,7 @@ std::string NMD::BEQZC_16_(uint64 instruction)\n std::string NMD::BGEC(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_25_24_23_22_21(instruction);\n-    int64 s_value = extr_sil0il14bs1_il1il1bs13Tmsb14(instruction);\n+    int64 s_value = extract_s__se14_0_13_to_1_s1(instruction);\n     uint64 rs_value = extract_rs_20_19_18_17_16(instruction);\n \n     std::string rs = GPR(copy(rs_value));\n@@ -2993,7 +2993,7 @@ std::string NMD::BGEC(uint64 instruction)\n std::string NMD::BGEIC(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_25_24_23_22_21(instruction);\n-    int64 s_value = extr_sil0il11bs1_il1il1bs10Tmsb11(instruction);\n+    int64 s_value = extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(instruction);\n     uint64 u_value = extract_u_17_16_15_14_13_12_11(instruction);\n \n     std::string rt = GPR(copy(rt_value));\n@@ -3017,7 +3017,7 @@ std::string NMD::BGEIC(uint64 instruction)\n std::string NMD::BGEIUC(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_25_24_23_22_21(instruction);\n-    int64 s_value = extr_sil0il11bs1_il1il1bs10Tmsb11(instruction);\n+    int64 s_value = extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(instruction);\n     uint64 u_value = extract_u_17_16_15_14_13_12_11(instruction);\n \n     std::string rt = GPR(copy(rt_value));\n@@ -3041,7 +3041,7 @@ std::string NMD::BGEIUC(uint64 instruction)\n std::string NMD::BGEUC(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_25_24_23_22_21(instruction);\n-    int64 s_value = extr_sil0il14bs1_il1il1bs13Tmsb14(instruction);\n+    int64 s_value = extract_s__se14_0_13_to_1_s1(instruction);\n     uint64 rs_value = extract_rs_20_19_18_17_16(instruction);\n \n     std::string rs = GPR(copy(rs_value));\n@@ -3065,7 +3065,7 @@ std::string NMD::BGEUC(uint64 instruction)\n std::string NMD::BLTC(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_25_24_23_22_21(instruction);\n-    int64 s_value = extr_sil0il14bs1_il1il1bs13Tmsb14(instruction);\n+    int64 s_value = extract_s__se14_0_13_to_1_s1(instruction);\n     uint64 rs_value = extract_rs_20_19_18_17_16(instruction);\n \n     std::string rs = GPR(copy(rs_value));\n@@ -3089,7 +3089,7 @@ std::string NMD::BLTC(uint64 instruction)\n std::string NMD::BLTIC(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_25_24_23_22_21(instruction);\n-    int64 s_value = extr_sil0il11bs1_il1il1bs10Tmsb11(instruction);\n+    int64 s_value = extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(instruction);\n     uint64 u_value = extract_u_17_16_15_14_13_12_11(instruction);\n \n     std::string rt = GPR(copy(rt_value));\n@@ -3113,7 +3113,7 @@ std::string NMD::BLTIC(uint64 instruction)\n std::string NMD::BLTIUC(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_25_24_23_22_21(instruction);\n-    int64 s_value = extr_sil0il11bs1_il1il1bs10Tmsb11(instruction);\n+    int64 s_value = extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(instruction);\n     uint64 u_value = extract_u_17_16_15_14_13_12_11(instruction);\n \n     std::string rt = GPR(copy(rt_value));\n@@ -3137,7 +3137,7 @@ std::string NMD::BLTIUC(uint64 instruction)\n std::string NMD::BLTUC(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_25_24_23_22_21(instruction);\n-    int64 s_value = extr_sil0il14bs1_il1il1bs13Tmsb14(instruction);\n+    int64 s_value = extract_s__se14_0_13_to_1_s1(instruction);\n     uint64 rs_value = extract_rs_20_19_18_17_16(instruction);\n \n     std::string rs = GPR(copy(rs_value));\n@@ -3185,7 +3185,7 @@ std::string NMD::BNEC_16_(uint64 instruction)\n std::string NMD::BNEC_32_(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_25_24_23_22_21(instruction);\n-    int64 s_value = extr_sil0il14bs1_il1il1bs13Tmsb14(instruction);\n+    int64 s_value = extract_s__se14_0_13_to_1_s1(instruction);\n     uint64 rs_value = extract_rs_20_19_18_17_16(instruction);\n \n     std::string rs = GPR(copy(rs_value));\n@@ -3209,7 +3209,7 @@ std::string NMD::BNEC_32_(uint64 instruction)\n std::string NMD::BNEIC(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_25_24_23_22_21(instruction);\n-    int64 s_value = extr_sil0il11bs1_il1il1bs10Tmsb11(instruction);\n+    int64 s_value = extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(instruction);\n     uint64 u_value = extract_u_17_16_15_14_13_12_11(instruction);\n \n     std::string rt = GPR(copy(rt_value));\n@@ -3232,7 +3232,7 @@ std::string NMD::BNEIC(uint64 instruction)\n  */\n std::string NMD::BNEZC_16_(uint64 instruction)\n {\n-    int64 s_value = extr_sil0il7bs1_il1il1bs6Tmsb7(instruction);\n+    int64 s_value = extract_s__se7_0_6_5_4_3_2_1_s1(instruction);\n     uint64 rt3_value = extract_rt3_9_8_7(instruction);\n \n     std::string rt3 = GPR(encode_gpr3(rt3_value));\n@@ -3254,7 +3254,7 @@ std::string NMD::BNEZC_16_(uint64 instruction)\n  */\n std::string NMD::BPOSGE32C(uint64 instruction)\n {\n-    int64 s_value = extr_sil0il14bs1_il1il1bs13Tmsb14(instruction);\n+    int64 s_value = extract_s__se14_0_13_to_1_s1(instruction);\n \n     std::string s = ADDRESS(encode_s_from_address(s_value), 4);\n \n@@ -3334,7 +3334,7 @@ std::string NMD::BRSC(uint64 instruction)\n  */\n std::string NMD::CACHE(uint64 instruction)\n {\n-    int64 s_value = extr_sil0il0bs8_il15il8bs1Tmsb8(instruction);\n+    int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);\n     uint64 op_value = extract_op_25_24_23_22_21(instruction);\n     uint64 rs_value = extract_rs_20_19_18_17_16(instruction);\n \n@@ -3358,7 +3358,7 @@ std::string NMD::CACHE(uint64 instruction)\n  */\n std::string NMD::CACHEE(uint64 instruction)\n {\n-    int64 s_value = extr_sil0il0bs8_il15il8bs1Tmsb8(instruction);\n+    int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);\n     uint64 op_value = extract_op_25_24_23_22_21(instruction);\n     uint64 rs_value = extract_rs_20_19_18_17_16(instruction);\n \n@@ -5263,7 +5263,7 @@ std::string NMD::CVT_W_S(uint64 instruction)\n std::string NMD::DADDIU_48_(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_41_40_39_38_37(instruction);\n-    int64 s_value = extr_sil0il16bs16_il16il0bs16Tmsb31(instruction);\n+    int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction);\n \n     std::string rt = GPR(copy(rt_value));\n     std::string s = IMMEDIATE(copy(s_value));\n@@ -7828,7 +7828,7 @@ std::string NMD::LB_GP_(uint64 instruction)\n std::string NMD::LB_S9_(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_25_24_23_22_21(instruction);\n-    int64 s_value = extr_sil0il0bs8_il15il8bs1Tmsb8(instruction);\n+    int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);\n     uint64 rs_value = extract_rs_20_19_18_17_16(instruction);\n \n     std::string rt = GPR(copy(rt_value));\n@@ -7876,7 +7876,7 @@ std::string NMD::LB_U12_(uint64 instruction)\n std::string NMD::LBE(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_25_24_23_22_21(instruction);\n-    int64 s_value = extr_sil0il0bs8_il15il8bs1Tmsb8(instruction);\n+    int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);\n     uint64 rs_value = extract_rs_20_19_18_17_16(instruction);\n \n     std::string rt = GPR(copy(rt_value));\n@@ -7946,7 +7946,7 @@ std::string NMD::LBU_GP_(uint64 instruction)\n std::string NMD::LBU_S9_(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_25_24_23_22_21(instruction);\n-    int64 s_value = extr_sil0il0bs8_il15il8bs1Tmsb8(instruction);\n+    int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);\n     uint64 rs_value = extract_rs_20_19_18_17_16(instruction);\n \n     std::string rt = GPR(copy(rt_value));\n@@ -7994,7 +7994,7 @@ std::string NMD::LBU_U12_(uint64 instruction)\n std::string NMD::LBUE(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_25_24_23_22_21(instruction);\n-    int64 s_value = extr_sil0il0bs8_il15il8bs1Tmsb8(instruction);\n+    int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);\n     uint64 rs_value = extract_rs_20_19_18_17_16(instruction);\n \n     std::string rt = GPR(copy(rt_value));\n@@ -8088,7 +8088,7 @@ std::string NMD::LD_GP_(uint64 instruction)\n std::string NMD::LD_S9_(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_25_24_23_22_21(instruction);\n-    int64 s_value = extr_sil0il0bs8_il15il8bs1Tmsb8(instruction);\n+    int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);\n     uint64 rs_value = extract_rs_20_19_18_17_16(instruction);\n \n     std::string rt = GPR(copy(rt_value));\n@@ -8157,7 +8157,7 @@ std::string NMD::LDC1_GP_(uint64 instruction)\n  */\n std::string NMD::LDC1_S9_(uint64 instruction)\n {\n-    int64 s_value = extr_sil0il0bs8_il15il8bs1Tmsb8(instruction);\n+    int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);\n     uint64 ft_value = extract_ft_25_24_23_22_21(instruction);\n     uint64 rs_value = extract_rs_20_19_18_17_16(instruction);\n \n@@ -8253,7 +8253,7 @@ std::string NMD::LDC1X(uint64 instruction)\n  */\n std::string NMD::LDC2(uint64 instruction)\n {\n-    int64 s_value = extr_sil0il0bs8_il15il8bs1Tmsb8(instruction);\n+    int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);\n     uint64 ct_value = extract_ct_25_24_23_22_21(instruction);\n     uint64 rs_value = extract_rs_20_19_18_17_16(instruction);\n \n@@ -8279,7 +8279,7 @@ std::string NMD::LDM(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_25_24_23_22_21(instruction);\n     uint64 count3_value = extract_count3_14_13_12(instruction);\n-    int64 s_value = extr_sil0il0bs8_il15il8bs1Tmsb8(instruction);\n+    int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);\n     uint64 rs_value = extract_rs_20_19_18_17_16(instruction);\n \n     std::string rt = GPR(copy(rt_value));\n@@ -8304,7 +8304,7 @@ std::string NMD::LDM(uint64 instruction)\n std::string NMD::LDPC_48_(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_41_40_39_38_37(instruction);\n-    int64 s_value = extr_sil0il16bs16_il16il0bs16Tmsb31(instruction);\n+    int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction);\n \n     std::string rt = GPR(copy(rt_value));\n     std::string s = ADDRESS(encode_s_from_address(s_value), 6);\n@@ -8420,7 +8420,7 @@ std::string NMD::LH_GP_(uint64 instruction)\n std::string NMD::LH_S9_(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_25_24_23_22_21(instruction);\n-    int64 s_value = extr_sil0il0bs8_il15il8bs1Tmsb8(instruction);\n+    int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);\n     uint64 rs_value = extract_rs_20_19_18_17_16(instruction);\n \n     std::string rt = GPR(copy(rt_value));\n@@ -8468,7 +8468,7 @@ std::string NMD::LH_U12_(uint64 instruction)\n std::string NMD::LHE(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_25_24_23_22_21(instruction);\n-    int64 s_value = extr_sil0il0bs8_il15il8bs1Tmsb8(instruction);\n+    int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);\n     uint64 rs_value = extract_rs_20_19_18_17_16(instruction);\n \n     std::string rt = GPR(copy(rt_value));\n@@ -8538,7 +8538,7 @@ std::string NMD::LHU_GP_(uint64 instruction)\n std::string NMD::LHU_S9_(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_25_24_23_22_21(instruction);\n-    int64 s_value = extr_sil0il0bs8_il15il8bs1Tmsb8(instruction);\n+    int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);\n     uint64 rs_value = extract_rs_20_19_18_17_16(instruction);\n \n     std::string rt = GPR(copy(rt_value));\n@@ -8586,7 +8586,7 @@ std::string NMD::LHU_U12_(uint64 instruction)\n std::string NMD::LHUE(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_25_24_23_22_21(instruction);\n-    int64 s_value = extr_sil0il0bs8_il15il8bs1Tmsb8(instruction);\n+    int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);\n     uint64 rs_value = extract_rs_20_19_18_17_16(instruction);\n \n     std::string rt = GPR(copy(rt_value));\n@@ -8728,7 +8728,7 @@ std::string NMD::LI_16_(uint64 instruction)\n std::string NMD::LI_48_(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_41_40_39_38_37(instruction);\n-    int64 s_value = extr_sil0il16bs16_il16il0bs16Tmsb31(instruction);\n+    int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction);\n \n     std::string rt = GPR(copy(rt_value));\n     std::string s = IMMEDIATE(copy(s_value));\n@@ -8750,7 +8750,7 @@ std::string NMD::LI_48_(uint64 instruction)\n std::string NMD::LL(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_25_24_23_22_21(instruction);\n-    int64 s_value = extr_sil2il2bs6_il15il8bs1Tmsb8(instruction);\n+    int64 s_value = extract_s__se8_15_7_6_5_4_3_2_s2(instruction);\n     uint64 rs_value = extract_rs_20_19_18_17_16(instruction);\n \n     std::string rt = GPR(copy(rt_value));\n@@ -8774,7 +8774,7 @@ std::string NMD::LL(uint64 instruction)\n std::string NMD::LLD(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_25_24_23_22_21(instruction);\n-    int64 s_value = extr_sil3il3bs5_il15il8bs1Tmsb8(instruction);\n+    int64 s_value = extract_s__se8_15_7_6_5_4_3_s3(instruction);\n     uint64 rs_value = extract_rs_20_19_18_17_16(instruction);\n \n     std::string rt = GPR(copy(rt_value));\n@@ -8822,7 +8822,7 @@ std::string NMD::LLDP(uint64 instruction)\n std::string NMD::LLE(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_25_24_23_22_21(instruction);\n-    int64 s_value = extr_sil2il2bs6_il15il8bs1Tmsb8(instruction);\n+    int64 s_value = extract_s__se8_15_7_6_5_4_3_2_s2(instruction);\n     uint64 rs_value = extract_rs_20_19_18_17_16(instruction);\n \n     std::string rt = GPR(copy(rt_value));\n@@ -8920,7 +8920,7 @@ std::string NMD::LSA(uint64 instruction)\n std::string NMD::LUI(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_25_24_23_22_21(instruction);\n-    int64 s_value = extr_sil0il31bs1_il2il21bs10_il12il12bs9Tmsb31(instruction);\n+    int64 s_value = extract_s__se31_0_11_to_2_20_to_12_s12(instruction);\n \n     std::string rt = GPR(copy(rt_value));\n     std::string s = IMMEDIATE(copy(s_value));\n@@ -9034,7 +9034,7 @@ std::string NMD::LW_GP16_(uint64 instruction)\n std::string NMD::LW_S9_(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_25_24_23_22_21(instruction);\n-    int64 s_value = extr_sil0il0bs8_il15il8bs1Tmsb8(instruction);\n+    int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);\n     uint64 rs_value = extract_rs_20_19_18_17_16(instruction);\n \n     std::string rt = GPR(copy(rt_value));\n@@ -9125,7 +9125,7 @@ std::string NMD::LWC1_GP_(uint64 instruction)\n  */\n std::string NMD::LWC1_S9_(uint64 instruction)\n {\n-    int64 s_value = extr_sil0il0bs8_il15il8bs1Tmsb8(instruction);\n+    int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);\n     uint64 ft_value = extract_ft_25_24_23_22_21(instruction);\n     uint64 rs_value = extract_rs_20_19_18_17_16(instruction);\n \n@@ -9221,7 +9221,7 @@ std::string NMD::LWC1XS(uint64 instruction)\n  */\n std::string NMD::LWC2(uint64 instruction)\n {\n-    int64 s_value = extr_sil0il0bs8_il15il8bs1Tmsb8(instruction);\n+    int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);\n     uint64 ct_value = extract_ct_25_24_23_22_21(instruction);\n     uint64 rs_value = extract_rs_20_19_18_17_16(instruction);\n \n@@ -9246,7 +9246,7 @@ std::string NMD::LWC2(uint64 instruction)\n std::string NMD::LWE(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_25_24_23_22_21(instruction);\n-    int64 s_value = extr_sil0il0bs8_il15il8bs1Tmsb8(instruction);\n+    int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);\n     uint64 rs_value = extract_rs_20_19_18_17_16(instruction);\n \n     std::string rt = GPR(copy(rt_value));\n@@ -9271,7 +9271,7 @@ std::string NMD::LWM(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_25_24_23_22_21(instruction);\n     uint64 count3_value = extract_count3_14_13_12(instruction);\n-    int64 s_value = extr_sil0il0bs8_il15il8bs1Tmsb8(instruction);\n+    int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);\n     uint64 rs_value = extract_rs_20_19_18_17_16(instruction);\n \n     std::string rt = GPR(copy(rt_value));\n@@ -9296,7 +9296,7 @@ std::string NMD::LWM(uint64 instruction)\n std::string NMD::LWPC_48_(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_41_40_39_38_37(instruction);\n-    int64 s_value = extr_sil0il16bs16_il16il0bs16Tmsb31(instruction);\n+    int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction);\n \n     std::string rt = GPR(copy(rt_value));\n     std::string s = ADDRESS(encode_s_from_address(s_value), 6);\n@@ -9340,7 +9340,7 @@ std::string NMD::LWU_GP_(uint64 instruction)\n std::string NMD::LWU_S9_(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_25_24_23_22_21(instruction);\n-    int64 s_value = extr_sil0il0bs8_il15il8bs1Tmsb8(instruction);\n+    int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);\n     uint64 rs_value = extract_rs_20_19_18_17_16(instruction);\n \n     std::string rt = GPR(copy(rt_value));\n@@ -10289,7 +10289,7 @@ std::string NMD::MOVE_BALC(uint64 instruction)\n {\n     uint64 rtz4_value = extract_rtz4_27_26_25_23_22_21(instruction);\n     uint64 rd1_value = extract_rdl_25_24(instruction);\n-    int64 s_value = extr_sil0il21bs1_il1il1bs20Tmsb21(instruction);\n+    int64 s_value = extract_s__se21_0_20_to_1_s1(instruction);\n \n     std::string rd1 = GPR(encode_rd1_from_rd(rd1_value));\n     std::string rtz4 = GPR(encode_gpr4_zero(rtz4_value));\n@@ -12011,7 +12011,7 @@ std::string NMD::PREF_S9_(uint64 instruction)\n {\n     uint64 hint_value = extract_hint_25_24_23_22_21(instruction);\n     uint64 rs_value = extract_rs_20_19_18_17_16(instruction);\n-    int64 s_value = extr_sil0il0bs8_il15il8bs1Tmsb8(instruction);\n+    int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);\n \n     std::string hint = IMMEDIATE(copy(hint_value));\n     std::string s = IMMEDIATE(copy(s_value));\n@@ -12057,7 +12057,7 @@ std::string NMD::PREF_U12_(uint64 instruction)\n  */\n std::string NMD::PREFE(uint64 instruction)\n {\n-    int64 s_value = extr_sil0il0bs8_il15il8bs1Tmsb8(instruction);\n+    int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);\n     uint64 hint_value = extract_hint_25_24_23_22_21(instruction);\n     uint64 rs_value = extract_rs_20_19_18_17_16(instruction);\n \n@@ -12240,7 +12240,7 @@ std::string NMD::RECIP_S(uint64 instruction)\n std::string NMD::REPL_PH(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_25_24_23_22_21(instruction);\n-    int64 s_value = extr_sil11il0bs10Tmsb9(instruction);\n+    int64 s_value = extract_s__se9_20_19_18_17_16_15_14_13_12_11(instruction);\n \n     std::string rt = GPR(copy(rt_value));\n     std::string s = IMMEDIATE(copy(s_value));\n@@ -12784,7 +12784,7 @@ std::string NMD::SB_GP_(uint64 instruction)\n std::string NMD::SB_S9_(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_25_24_23_22_21(instruction);\n-    int64 s_value = extr_sil0il0bs8_il15il8bs1Tmsb8(instruction);\n+    int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);\n     uint64 rs_value = extract_rs_20_19_18_17_16(instruction);\n \n     std::string rt = GPR(copy(rt_value));\n@@ -12832,7 +12832,7 @@ std::string NMD::SB_U12_(uint64 instruction)\n std::string NMD::SBE(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_25_24_23_22_21(instruction);\n-    int64 s_value = extr_sil0il0bs8_il15il8bs1Tmsb8(instruction);\n+    int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);\n     uint64 rs_value = extract_rs_20_19_18_17_16(instruction);\n \n     std::string rt = GPR(copy(rt_value));\n@@ -12880,7 +12880,7 @@ std::string NMD::SBX(uint64 instruction)\n std::string NMD::SC(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_25_24_23_22_21(instruction);\n-    int64 s_value = extr_sil2il2bs6_il15il8bs1Tmsb8(instruction);\n+    int64 s_value = extract_s__se8_15_7_6_5_4_3_2_s2(instruction);\n     uint64 rs_value = extract_rs_20_19_18_17_16(instruction);\n \n     std::string rt = GPR(copy(rt_value));\n@@ -12904,7 +12904,7 @@ std::string NMD::SC(uint64 instruction)\n std::string NMD::SCD(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_25_24_23_22_21(instruction);\n-    int64 s_value = extr_sil3il3bs5_il15il8bs1Tmsb8(instruction);\n+    int64 s_value = extract_s__se8_15_7_6_5_4_3_s3(instruction);\n     uint64 rs_value = extract_rs_20_19_18_17_16(instruction);\n \n     std::string rt = GPR(copy(rt_value));\n@@ -12952,7 +12952,7 @@ std::string NMD::SCDP(uint64 instruction)\n std::string NMD::SCE(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_25_24_23_22_21(instruction);\n-    int64 s_value = extr_sil2il2bs6_il15il8bs1Tmsb8(instruction);\n+    int64 s_value = extract_s__se8_15_7_6_5_4_3_2_s2(instruction);\n     uint64 rs_value = extract_rs_20_19_18_17_16(instruction);\n \n     std::string rt = GPR(copy(rt_value));\n@@ -13046,7 +13046,7 @@ std::string NMD::SD_GP_(uint64 instruction)\n std::string NMD::SD_S9_(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_25_24_23_22_21(instruction);\n-    int64 s_value = extr_sil0il0bs8_il15il8bs1Tmsb8(instruction);\n+    int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);\n     uint64 rs_value = extract_rs_20_19_18_17_16(instruction);\n \n     std::string rt = GPR(copy(rt_value));\n@@ -13155,7 +13155,7 @@ std::string NMD::SDC1_GP_(uint64 instruction)\n  */\n std::string NMD::SDC1_S9_(uint64 instruction)\n {\n-    int64 s_value = extr_sil0il0bs8_il15il8bs1Tmsb8(instruction);\n+    int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);\n     uint64 ft_value = extract_ft_25_24_23_22_21(instruction);\n     uint64 rs_value = extract_rs_20_19_18_17_16(instruction);\n \n@@ -13252,7 +13252,7 @@ std::string NMD::SDC1XS(uint64 instruction)\n std::string NMD::SDC2(uint64 instruction)\n {\n     uint64 cs_value = extract_cs_25_24_23_22_21(instruction);\n-    int64 s_value = extr_sil0il0bs8_il15il8bs1Tmsb8(instruction);\n+    int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);\n     uint64 rs_value = extract_rs_20_19_18_17_16(instruction);\n \n     std::string cs = CPR(copy(cs_value));\n@@ -13277,7 +13277,7 @@ std::string NMD::SDM(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_25_24_23_22_21(instruction);\n     uint64 count3_value = extract_count3_14_13_12(instruction);\n-    int64 s_value = extr_sil0il0bs8_il15il8bs1Tmsb8(instruction);\n+    int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);\n     uint64 rs_value = extract_rs_20_19_18_17_16(instruction);\n \n     std::string rt = GPR(copy(rt_value));\n@@ -13302,7 +13302,7 @@ std::string NMD::SDM(uint64 instruction)\n std::string NMD::SDPC_48_(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_41_40_39_38_37(instruction);\n-    int64 s_value = extr_sil0il16bs16_il16il0bs16Tmsb31(instruction);\n+    int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction);\n \n     std::string rt = GPR(copy(rt_value));\n     std::string s = ADDRESS(encode_s_from_address(s_value), 6);\n@@ -13630,7 +13630,7 @@ std::string NMD::SH_GP_(uint64 instruction)\n std::string NMD::SH_S9_(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_25_24_23_22_21(instruction);\n-    int64 s_value = extr_sil0il0bs8_il15il8bs1Tmsb8(instruction);\n+    int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);\n     uint64 rs_value = extract_rs_20_19_18_17_16(instruction);\n \n     std::string rt = GPR(copy(rt_value));\n@@ -13678,7 +13678,7 @@ std::string NMD::SH_U12_(uint64 instruction)\n std::string NMD::SHE(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_25_24_23_22_21(instruction);\n-    int64 s_value = extr_sil0il0bs8_il15il8bs1Tmsb8(instruction);\n+    int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);\n     uint64 rs_value = extract_rs_20_19_18_17_16(instruction);\n \n     std::string rt = GPR(copy(rt_value));\n@@ -13701,7 +13701,7 @@ std::string NMD::SHE(uint64 instruction)\n  */\n std::string NMD::SHILO(uint64 instruction)\n {\n-    int64 shift_value = extract_shift_21_20_19_18_17_16(instruction);\n+    int64 shift_value = extract_shift__se5_21_20_19_18_17_16(instruction);\n     uint64 ac_value = extract_ac_13_12(instruction);\n \n     std::string shift = IMMEDIATE(copy(shift_value));\n@@ -15250,7 +15250,7 @@ std::string NMD::SW_GP_(uint64 instruction)\n std::string NMD::SW_S9_(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_25_24_23_22_21(instruction);\n-    int64 s_value = extr_sil0il0bs8_il15il8bs1Tmsb8(instruction);\n+    int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);\n     uint64 rs_value = extract_rs_20_19_18_17_16(instruction);\n \n     std::string rt = GPR(copy(rt_value));\n@@ -15341,7 +15341,7 @@ std::string NMD::SWC1_GP_(uint64 instruction)\n  */\n std::string NMD::SWC1_S9_(uint64 instruction)\n {\n-    int64 s_value = extr_sil0il0bs8_il15il8bs1Tmsb8(instruction);\n+    int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);\n     uint64 ft_value = extract_ft_25_24_23_22_21(instruction);\n     uint64 rs_value = extract_rs_20_19_18_17_16(instruction);\n \n@@ -15438,7 +15438,7 @@ std::string NMD::SWC1XS(uint64 instruction)\n std::string NMD::SWC2(uint64 instruction)\n {\n     uint64 cs_value = extract_cs_25_24_23_22_21(instruction);\n-    int64 s_value = extr_sil0il0bs8_il15il8bs1Tmsb8(instruction);\n+    int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);\n     uint64 rs_value = extract_rs_20_19_18_17_16(instruction);\n \n     std::string cs = CPR(copy(cs_value));\n@@ -15462,7 +15462,7 @@ std::string NMD::SWC2(uint64 instruction)\n std::string NMD::SWE(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_25_24_23_22_21(instruction);\n-    int64 s_value = extr_sil0il0bs8_il15il8bs1Tmsb8(instruction);\n+    int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);\n     uint64 rs_value = extract_rs_20_19_18_17_16(instruction);\n \n     std::string rt = GPR(copy(rt_value));\n@@ -15487,7 +15487,7 @@ std::string NMD::SWM(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_25_24_23_22_21(instruction);\n     uint64 count3_value = extract_count3_14_13_12(instruction);\n-    int64 s_value = extr_sil0il0bs8_il15il8bs1Tmsb8(instruction);\n+    int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);\n     uint64 rs_value = extract_rs_20_19_18_17_16(instruction);\n \n     std::string rt = GPR(copy(rt_value));\n@@ -15512,7 +15512,7 @@ std::string NMD::SWM(uint64 instruction)\n std::string NMD::SWPC_48_(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_41_40_39_38_37(instruction);\n-    int64 s_value = extr_sil0il16bs16_il16il0bs16Tmsb31(instruction);\n+    int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction);\n \n     std::string rt = GPR(copy(rt_value));\n     std::string s = ADDRESS(encode_s_from_address(s_value), 6);\n@@ -15601,7 +15601,7 @@ std::string NMD::SYNC(uint64 instruction)\n  */\n std::string NMD::SYNCI(uint64 instruction)\n {\n-    int64 s_value = extr_sil0il0bs8_il15il8bs1Tmsb8(instruction);\n+    int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);\n     uint64 rs_value = extract_rs_20_19_18_17_16(instruction);\n \n     std::string s = IMMEDIATE(copy(s_value));\n@@ -15623,7 +15623,7 @@ std::string NMD::SYNCI(uint64 instruction)\n  */\n std::string NMD::SYNCIE(uint64 instruction)\n {\n-    int64 s_value = extr_sil0il0bs8_il15il8bs1Tmsb8(instruction);\n+    int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);\n     uint64 rs_value = extract_rs_20_19_18_17_16(instruction);\n \n     std::string s = IMMEDIATE(copy(s_value));\n@@ -16033,7 +16033,7 @@ std::string NMD::UALDM(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_25_24_23_22_21(instruction);\n     uint64 count3_value = extract_count3_14_13_12(instruction);\n-    int64 s_value = extr_sil0il0bs8_il15il8bs1Tmsb8(instruction);\n+    int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);\n     uint64 rs_value = extract_rs_20_19_18_17_16(instruction);\n \n     std::string rt = GPR(copy(rt_value));\n@@ -16058,7 +16058,7 @@ std::string NMD::UALDM(uint64 instruction)\n std::string NMD::UALH(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_25_24_23_22_21(instruction);\n-    int64 s_value = extr_sil0il0bs8_il15il8bs1Tmsb8(instruction);\n+    int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);\n     uint64 rs_value = extract_rs_20_19_18_17_16(instruction);\n \n     std::string rt = GPR(copy(rt_value));\n@@ -16083,7 +16083,7 @@ std::string NMD::UALWM(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_25_24_23_22_21(instruction);\n     uint64 count3_value = extract_count3_14_13_12(instruction);\n-    int64 s_value = extr_sil0il0bs8_il15il8bs1Tmsb8(instruction);\n+    int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);\n     uint64 rs_value = extract_rs_20_19_18_17_16(instruction);\n \n     std::string rt = GPR(copy(rt_value));\n@@ -16109,7 +16109,7 @@ std::string NMD::UASDM(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_25_24_23_22_21(instruction);\n     uint64 count3_value = extract_count3_14_13_12(instruction);\n-    int64 s_value = extr_sil0il0bs8_il15il8bs1Tmsb8(instruction);\n+    int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);\n     uint64 rs_value = extract_rs_20_19_18_17_16(instruction);\n \n     std::string rt = GPR(copy(rt_value));\n@@ -16134,7 +16134,7 @@ std::string NMD::UASDM(uint64 instruction)\n std::string NMD::UASH(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_25_24_23_22_21(instruction);\n-    int64 s_value = extr_sil0il0bs8_il15il8bs1Tmsb8(instruction);\n+    int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);\n     uint64 rs_value = extract_rs_20_19_18_17_16(instruction);\n \n     std::string rt = GPR(copy(rt_value));\n@@ -16159,7 +16159,7 @@ std::string NMD::UASWM(uint64 instruction)\n {\n     uint64 rt_value = extract_rt_25_24_23_22_21(instruction);\n     uint64 count3_value = extract_count3_14_13_12(instruction);\n-    int64 s_value = extr_sil0il0bs8_il15il8bs1Tmsb8(instruction);\n+    int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);\n     uint64 rs_value = extract_rs_20_19_18_17_16(instruction);\n \n     std::string rt = GPR(copy(rt_value));\ndiff --git a/disas/nanomips.h b/disas/nanomips.h\nindex cf15625..86f673c 100644\n--- a/disas/nanomips.h\n+++ b/disas/nanomips.h\n@@ -143,20 +143,20 @@ private:\n     std::string CPR(uint64 reg);\n     std::string ADDRESS(uint64 value, int instruction_size);\n \n-    int64 extract_s_4_2_1_0(uint64 instruction);\n-    int64 extr_sil0il0bs8_il15il8bs1Tmsb8(uint64 instruction);\n-    int64 extr_sil0il10bs1_il1il1bs9Tmsb10(uint64 instruction);\n-    int64 extr_sil0il11bs1_il1il1bs10Tmsb11(uint64 instruction);\n-    int64 extr_sil0il14bs1_il1il1bs13Tmsb14(uint64 instruction);\n-    int64 extr_sil0il16bs16_il16il0bs16Tmsb31(uint64 instruction);\n-    int64 extr_sil0il21bs1_il1il1bs20Tmsb21(uint64 instruction);\n-    int64 extr_sil0il25bs1_il1il1bs24Tmsb25(uint64 instruction);\n-    int64 extr_sil0il31bs1_il2il21bs10_il12il12bs9Tmsb31(uint64 instruction);\n-    int64 extr_sil0il7bs1_il1il1bs6Tmsb7(uint64 instruction);\n-    int64 extr_sil11il0bs10Tmsb9(uint64 instruction);\n-    int64 extract_shift_21_20_19_18_17_16(uint64 instruction);\n-    int64 extr_sil2il2bs6_il15il8bs1Tmsb8(uint64 instruction);\n-    int64 extr_sil3il3bs5_il15il8bs1Tmsb8(uint64 instruction);\n+    int64 extract_s__se3_4_2_1_0(uint64 instruction);\n+    int64 extract_s__se7_0_6_5_4_3_2_1_s1(uint64 instruction);\n+    int64 extract_s__se8_15_7_6_5_4_3_s3(uint64 instruction);\n+    int64 extract_s__se8_15_7_6_5_4_3_2_s2(uint64 instruction);\n+    int64 extract_s__se8_15_7_6_5_4_3_2_1_0(uint64 instruction);\n+    int64 extract_s__se9_20_19_18_17_16_15_14_13_12_11(uint64 instruction);\n+    int64 extract_s__se10_0_9_8_7_6_5_4_3_2_1_s1(uint64 instruction);\n+    int64 extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(uint64 instruction);\n+    int64 extract_s__se14_0_13_to_1_s1(uint64 instruction);\n+    int64 extract_s__se21_0_20_to_1_s1(uint64 instruction);\n+    int64 extract_s__se25_0_24_to_1_s1(uint64 instruction);\n+    int64 extract_s__se31_15_to_0_31_to_16(uint64 instruction);\n+    int64 extract_s__se31_0_11_to_2_20_to_12_s12(uint64 instruction);\n+    int64 extract_shift__se5_21_20_19_18_17_16(uint64 instruction);\n \n     uint64 extract_ac_13_12(uint64 instruction);\n     uint64 extract_bit_16_15_14_13_12_11(uint64 instruction);\n",
    "prefixes": [
        "PULL",
        "20/41"
    ]
}