From patchwork Sun Oct 30 22:27:47 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 13025243 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id B35D2ECAAA1 for ; Sun, 30 Oct 2022 22:30:21 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1opGnY-0008QK-UG; Sun, 30 Oct 2022 18:28:56 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1opGnX-0008Q7-Ld for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:28:55 -0400 Received: from mail-wr1-x432.google.com ([2a00:1450:4864:20::432]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1opGnV-00079Q-Nm for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:28:55 -0400 Received: by mail-wr1-x432.google.com with SMTP id cl5so2012816wrb.9 for ; Sun, 30 Oct 2022 15:28:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=qrrHIqKWzq8VKmzufjfxmHBNMS1dtubnUSDhMzms0L8=; b=MGnD4nqxz0j/iWyXcgAmR81421WGnIjJv/dZfDaE2f66JmkqJ+HK0uGnmC6R3P4aK7 WPJnVdZRu+Kxou3W4xrAE1xbmVhnnV1itp3vbtfy/J7NDA/tBCSak5fVRA7OwtdmO0bs V6R714ixLBPlyCuEyr7x5FuF+Iq9tnhfjlZmTPLN4lsrv5u2pvWT/ah6g1qR5evuFLSQ IjJ0Vm+waFmGCGMLEqu32DYC9Ghi0a8weKWPMOX1S8OCnMDoK4bpPdizRaC28fZ2zB6d jkhhkAy+IUMhS2tyayMyrWkrM0MOSQ3pTP8PxMPjfuxKJJLr/yJxAKzLY5lB/rxKD302 uGXg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=qrrHIqKWzq8VKmzufjfxmHBNMS1dtubnUSDhMzms0L8=; b=Y367W/+6vcLUUZe9tkgOuOqWirSreu9LKsa1rY/w5J+HUJIn2hLK2HgK5fXopr/O0x ECutBolNicnkShX5SRKaYOsyEgnc/foahZyZgaDzTyrplH1k4cUb1cGYA6oEbIq+S1TV 6B0cxybAwPv5qA0rEzzeIxxRbXqYaxrxfcunacHwbE4PTjx9dEJWjBHLFcaUZx2wFgyx hE+jHRLoNgK+hIHvkzxIjORRL5/SsdE1+4KFyDO0Ww8GPHk35241myGrSv/nrP1g+azf prwrbeA5G+yuv/DdFrvDQaDIrO77ReGsT2zHbSYPEIfsa+5timN8sXg2oKtGw4tdAI8/ i/5Q== X-Gm-Message-State: ACrzQf1e4Pfzef6uS/FADnv5swLkFcuKVvCBLGo631IOJcjlT+KKrYpR P+XudMnviTyLeVa72zeSLSlKXbammZddsQ== X-Google-Smtp-Source: AMsMyM7JRjZeqK6Bf4Nsdf76ZossAJz5wnkfu32D45+hZof3Sb4H+JZ0wU6lLz5CvF2mHLyylMD0Pg== X-Received: by 2002:adf:f651:0:b0:236:9cb8:b939 with SMTP id x17-20020adff651000000b002369cb8b939mr5869286wrp.546.1667168931944; Sun, 30 Oct 2022 15:28:51 -0700 (PDT) Received: from localhost.localdomain ([185.126.107.38]) by smtp.gmail.com with ESMTPSA id j7-20020a05600c190700b003b47e8a5d22sm6304977wmq.23.2022.10.30.15.28.49 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 30 Oct 2022 15:28:50 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Aleksandar Rikalo , Huacai Chen , Stefan Pejic , Jiaxun Yang , Aurelien Jarno , Paul Burton , Bernhard Beschow , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Subject: [PULL 01/55] hw/isa/vt82c686: Resolve chip-specific realize methods Date: Sun, 30 Oct 2022 23:27:47 +0100 Message-Id: <20221030222841.42377-2-philmd@linaro.org> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221030222841.42377-1-philmd@linaro.org> References: <20221030222841.42377-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::432; envelope-from=philmd@linaro.org; helo=mail-wr1-x432.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Qemu-devel" Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Bernhard Beschow The object creation now happens in chip-specific init methods which allows the realize methods to be consolidated into one method. Shifting the logic into the init methods has the addidional advantage that the parent object's init methods are called implicitly - like constructors in object-oriented languages. Signed-off-by: Bernhard Beschow Reviewed-by: Philippe Mathieu-Daudé Message-Id: <20220901114127.53914-2-shentey@gmail.com> Signed-off-by: Philippe Mathieu-Daudé --- hw/isa/vt82c686.c | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/hw/isa/vt82c686.c b/hw/isa/vt82c686.c index 8f656251b8..0217c98fe4 100644 --- a/hw/isa/vt82c686.c +++ b/hw/isa/vt82c686.c @@ -544,7 +544,7 @@ struct ViaISAState { qemu_irq cpu_intr; qemu_irq *isa_irqs; ISABus *isa_bus; - ViaSuperIOState *via_sio; + ViaSuperIOState via_sio; }; static const VMStateDescription vmstate_via = { @@ -602,6 +602,11 @@ static void via_isa_realize(PCIDevice *d, Error **errp) d->wmask[i] = 0; } } + + /* Super I/O */ + if (!qdev_realize(DEVICE(&s->via_sio), BUS(s->isa_bus), errp)) { + return; + } } /* TYPE_VT82C686B_ISA */ @@ -615,7 +620,7 @@ static void vt82c686b_write_config(PCIDevice *d, uint32_t addr, pci_default_write_config(d, addr, val, len); if (addr == 0x85) { /* BIT(1): enable or disable superio config io ports */ - via_superio_io_enable(s->via_sio, val & BIT(1)); + via_superio_io_enable(&s->via_sio, val & BIT(1)); } } @@ -639,13 +644,11 @@ static void vt82c686b_isa_reset(DeviceState *dev) pci_conf[0x77] = 0x10; /* GPIO Control 1/2/3/4 */ } -static void vt82c686b_realize(PCIDevice *d, Error **errp) +static void vt82c686b_init(Object *obj) { - ViaISAState *s = VIA_ISA(d); + ViaISAState *s = VIA_ISA(obj); - via_isa_realize(d, errp); - s->via_sio = VIA_SUPERIO(isa_create_simple(s->isa_bus, - TYPE_VT82C686B_SUPERIO)); + object_initialize_child(obj, "sio", &s->via_sio, TYPE_VT82C686B_SUPERIO); } static void vt82c686b_class_init(ObjectClass *klass, void *data) @@ -653,7 +656,7 @@ static void vt82c686b_class_init(ObjectClass *klass, void *data) DeviceClass *dc = DEVICE_CLASS(klass); PCIDeviceClass *k = PCI_DEVICE_CLASS(klass); - k->realize = vt82c686b_realize; + k->realize = via_isa_realize; k->config_write = vt82c686b_write_config; k->vendor_id = PCI_VENDOR_ID_VIA; k->device_id = PCI_DEVICE_ID_VIA_82C686B_ISA; @@ -670,6 +673,7 @@ static const TypeInfo vt82c686b_isa_info = { .name = TYPE_VT82C686B_ISA, .parent = TYPE_VIA_ISA, .instance_size = sizeof(ViaISAState), + .instance_init = vt82c686b_init, .class_init = vt82c686b_class_init, }; @@ -684,7 +688,7 @@ static void vt8231_write_config(PCIDevice *d, uint32_t addr, pci_default_write_config(d, addr, val, len); if (addr == 0x50) { /* BIT(2): enable or disable superio config io ports */ - via_superio_io_enable(s->via_sio, val & BIT(2)); + via_superio_io_enable(&s->via_sio, val & BIT(2)); } } @@ -703,13 +707,11 @@ static void vt8231_isa_reset(DeviceState *dev) pci_conf[0x6b] = 0x01; /* Fast IR I/O Base */ } -static void vt8231_realize(PCIDevice *d, Error **errp) +static void vt8231_init(Object *obj) { - ViaISAState *s = VIA_ISA(d); + ViaISAState *s = VIA_ISA(obj); - via_isa_realize(d, errp); - s->via_sio = VIA_SUPERIO(isa_create_simple(s->isa_bus, - TYPE_VT8231_SUPERIO)); + object_initialize_child(obj, "sio", &s->via_sio, TYPE_VT8231_SUPERIO); } static void vt8231_class_init(ObjectClass *klass, void *data) @@ -717,7 +719,7 @@ static void vt8231_class_init(ObjectClass *klass, void *data) DeviceClass *dc = DEVICE_CLASS(klass); PCIDeviceClass *k = PCI_DEVICE_CLASS(klass); - k->realize = vt8231_realize; + k->realize = via_isa_realize; k->config_write = vt8231_write_config; k->vendor_id = PCI_VENDOR_ID_VIA; k->device_id = PCI_DEVICE_ID_VIA_8231_ISA; @@ -734,6 +736,7 @@ static const TypeInfo vt8231_isa_info = { .name = TYPE_VT8231_ISA, .parent = TYPE_VIA_ISA, .instance_size = sizeof(ViaISAState), + .instance_init = vt8231_init, .class_init = vt8231_class_init, }; From patchwork Sun Oct 30 22:27:48 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 13025242 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 059A4ECAAA1 for ; Sun, 30 Oct 2022 22:30:03 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1opGng-0008RL-Rq; Sun, 30 Oct 2022 18:29:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1opGnd-0008Qn-1a for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:29:01 -0400 Received: from mail-wr1-x432.google.com ([2a00:1450:4864:20::432]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1opGnb-00079Q-IJ for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:29:00 -0400 Received: by mail-wr1-x432.google.com with SMTP id cl5so2012992wrb.9 for ; Sun, 30 Oct 2022 15:28:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=O/ZLYSk+OjcEsO3vBVVMrJYzy07G1uKsEbRMLQcl2HQ=; b=WrMW5TNsSJaYTNH/LHchTmjkwGWBvgBPef4OVpwyvhHupElyx7G2jlfYUxvF2+kEOG NFvLzdDq0a+tyD/bgktezsCIbcl7R2PpsMVd+6AJKer7N+/A8gZF/stpJ+qm7vKFlYEj qSsJFepemLGN+EA4zVT32V1BbPgDG+z9q87/kTgG8UgEqtu8Fu7PMAsGukSBB7nM67Uu KmfyL6xzFRadmJqq4PGmuQ7SbGjeYrRdQC1WhoLyE1KyK4X1Q8MYJ5ciFsFnwcQd1+gz +ZACaOVL709vifeqclOYfqKQvM5iV+Wa9BFYgpWXMWrsL1aURlmnaxJuUqy5+t4k54zk /POw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=O/ZLYSk+OjcEsO3vBVVMrJYzy07G1uKsEbRMLQcl2HQ=; b=TSS7fCTgeQjj++bs0ucbd8m5Qux7Lx4gTMlGthQ572NSWhBbQG0MqI64IKNawCp1j2 cx4Ex5X/V08oPRhvlioN1nDEq5s9/nrEkaymdEzbmbtCJ1CHjZPENiJuOKBtSVCrPySk BkvHHwqrGx+kQwm0mziCWu1G5ghB0tXEbffI2Zc+ZYStWIKV/4bGBkmK0ViiMUDo9yuG sEfXTUtvnfqsBrznEK8/o8OniGRjTxDrjumLZFn2unltDlopWymap4A8WLUmP7Rnl9e5 ZahnjzYaWc29qirIhiveBEdEg8NO5BPph6YODTDjx3KG93Cok+0AuVSvi4QMTAj/2lmb bTaQ== X-Gm-Message-State: ACrzQf0icUHgS9L2GcZEMJbJRzLAoJQ557crEJVTEdwJl+cVTdvbM+XX Z0A1mmGX9u0G+7Hd5rR8Ki9JEooN3TAd7A== X-Google-Smtp-Source: AMsMyM7mOh06WFiH+tKfYZzS4KG3rkDlDETZB1mEHNGivgg/7ED1vDh2oLBgiila6DkZf8ewXUcxTw== X-Received: by 2002:a5d:6a81:0:b0:236:65a0:e7d9 with SMTP id s1-20020a5d6a81000000b0023665a0e7d9mr6048643wru.327.1667168938669; Sun, 30 Oct 2022 15:28:58 -0700 (PDT) Received: from localhost.localdomain ([185.126.107.38]) by smtp.gmail.com with ESMTPSA id v11-20020a05600c444b00b003c70191f267sm5460721wmn.39.2022.10.30.15.28.57 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 30 Oct 2022 15:28:58 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Aleksandar Rikalo , Huacai Chen , Stefan Pejic , Jiaxun Yang , Aurelien Jarno , Paul Burton , Bernhard Beschow , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Subject: [PULL 02/55] hw/isa/vt82c686: Resolve unneeded attribute Date: Sun, 30 Oct 2022 23:27:48 +0100 Message-Id: <20221030222841.42377-3-philmd@linaro.org> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221030222841.42377-1-philmd@linaro.org> References: <20221030222841.42377-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::432; envelope-from=philmd@linaro.org; helo=mail-wr1-x432.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Qemu-devel" Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Bernhard Beschow Now that also the super io device is realized in the common realize method, the isa_bus attribute can be turned into a temporary. Signed-off-by: Bernhard Beschow Reviewed-by: Philippe Mathieu-Daudé Message-Id: <20220901114127.53914-3-shentey@gmail.com> Signed-off-by: Philippe Mathieu-Daudé --- hw/isa/vt82c686.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/hw/isa/vt82c686.c b/hw/isa/vt82c686.c index 0217c98fe4..9d12e1cae4 100644 --- a/hw/isa/vt82c686.c +++ b/hw/isa/vt82c686.c @@ -543,7 +543,6 @@ struct ViaISAState { PCIDevice dev; qemu_irq cpu_intr; qemu_irq *isa_irqs; - ISABus *isa_bus; ViaSuperIOState via_sio; }; @@ -585,17 +584,18 @@ static void via_isa_realize(PCIDevice *d, Error **errp) ViaISAState *s = VIA_ISA(d); DeviceState *dev = DEVICE(d); qemu_irq *isa_irq; + ISABus *isa_bus; int i; qdev_init_gpio_out(dev, &s->cpu_intr, 1); isa_irq = qemu_allocate_irqs(via_isa_request_i8259_irq, s, 1); - s->isa_bus = isa_bus_new(dev, get_system_memory(), pci_address_space_io(d), + isa_bus = isa_bus_new(dev, get_system_memory(), pci_address_space_io(d), &error_fatal); - s->isa_irqs = i8259_init(s->isa_bus, *isa_irq); - isa_bus_irqs(s->isa_bus, s->isa_irqs); - i8254_pit_init(s->isa_bus, 0x40, 0, NULL); - i8257_dma_init(s->isa_bus, 0); - mc146818_rtc_init(s->isa_bus, 2000, NULL); + s->isa_irqs = i8259_init(isa_bus, *isa_irq); + isa_bus_irqs(isa_bus, s->isa_irqs); + i8254_pit_init(isa_bus, 0x40, 0, NULL); + i8257_dma_init(isa_bus, 0); + mc146818_rtc_init(isa_bus, 2000, NULL); for (i = 0; i < PCI_CONFIG_HEADER_SIZE; i++) { if (i < PCI_COMMAND || i >= PCI_REVISION_ID) { @@ -604,7 +604,7 @@ static void via_isa_realize(PCIDevice *d, Error **errp) } /* Super I/O */ - if (!qdev_realize(DEVICE(&s->via_sio), BUS(s->isa_bus), errp)) { + if (!qdev_realize(DEVICE(&s->via_sio), BUS(isa_bus), errp)) { return; } } From patchwork Sun Oct 30 22:27:49 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 13025238 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 04181ECAAA1 for ; Sun, 30 Oct 2022 22:29:46 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1opGnl-0008SA-Jc; Sun, 30 Oct 2022 18:29:09 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1opGnj-0008Rg-8E for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:29:07 -0400 Received: from mail-wr1-x432.google.com ([2a00:1450:4864:20::432]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1opGnh-0007A9-QT for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:29:07 -0400 Received: by mail-wr1-x432.google.com with SMTP id v1so13645570wrt.11 for ; Sun, 30 Oct 2022 15:29:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=jrsrz42sYHssiuYjKAsYt6biBGP0JSCE4Lb0wsM4SmQ=; b=GKbcQxALokapv/lioUwwuI4/IScyfHyzUoUXkFtDm5PB/BBjNU8rMZISaf3pecp6+O fLgIt81W0TmBe7MrP4LBUruLKuLDUE4qmhDZk9nUCFam76HguEZYiNvb3KOZDrC8SZ9f 5lWbEmjf5RJ9R/Ih4MmXI1Ix6Kgg/2zn45fxZIP5hF6/4u8UnZXnyygRedOhh+ptc4YM 9kL17yBdClyjScKgy5K/2pQ6SSeu4iv6mymmnvqSpoMW1rAlk+LRfUqF1Bm0E2aiy0Li w8179s//hW/7mSJXGc7BQdqXKJkyCtxTkYPwEvOIV3gyskx8FaeGdos/G0O8GJC8s+5O jNBg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=jrsrz42sYHssiuYjKAsYt6biBGP0JSCE4Lb0wsM4SmQ=; b=TRZ4hq5LWWykBtWhEjD8NBcSvmy95wwI57VHcraJjJ6deLL0sDeQBUTpdg1FU+0TLk thhA8ioE7o0ApBmaU52yUbnJ0MuLkfQg8RXpS1giGypI733J41lJqUaXtquwoUffMM5x iU7RqFJeiFEM1E0TWyxAKN+eDdiT4ETNcJBF1hbmR3oEX2K3f/2gOrfAx8cGx6a9eY+Y Fr5UtYWowa+jHJuPkjzQddX6Lf870VpACq/L/Rn/DCr9oSkcWKJ9iIFIIw8gqOjMURoN k/lkBA/ehH8CLlkQVPM88wYDoQCJ1NGZu5OFn86+hQ/KQgpj37jKpuLW0jaCDdSAIoB4 hnng== X-Gm-Message-State: ACrzQf23FSmzxB+QuC72VKMKY3iLHnf6LSRT+F1NSC+JDZfaOFMW+dTl XekWa2JUYa6ZWvlpeU+NnbfRP3VmOvXqIQ== X-Google-Smtp-Source: AMsMyM5dghwnBic0oqpX0qZ2zpcv0snUXnc8+4oc5RHxH+y+cCPLw9XeyfNO7Ad55mVxvJ6s+f1R3w== X-Received: by 2002:a05:6000:15c8:b0:236:812d:d3e5 with SMTP id y8-20020a05600015c800b00236812dd3e5mr5939903wry.303.1667168944340; Sun, 30 Oct 2022 15:29:04 -0700 (PDT) Received: from localhost.localdomain ([185.126.107.38]) by smtp.gmail.com with ESMTPSA id m13-20020adffe4d000000b0022afcc11f65sm5224921wrs.47.2022.10.30.15.29.03 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 30 Oct 2022 15:29:03 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Aleksandar Rikalo , Huacai Chen , Stefan Pejic , Jiaxun Yang , Aurelien Jarno , Paul Burton , Bernhard Beschow , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Subject: [PULL 03/55] hw/isa/vt82c686: Prefer pci_address_space() over get_system_memory() Date: Sun, 30 Oct 2022 23:27:49 +0100 Message-Id: <20221030222841.42377-4-philmd@linaro.org> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221030222841.42377-1-philmd@linaro.org> References: <20221030222841.42377-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::432; envelope-from=philmd@linaro.org; helo=mail-wr1-x432.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Qemu-devel" Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Bernhard Beschow Unlike get_system_memory(), pci_address_space() respects the memory tree available to the parent device. Signed-off-by: Bernhard Beschow Reviewed-by: Philippe Mathieu-Daudé Message-Id: <20220901114127.53914-4-shentey@gmail.com> Signed-off-by: Philippe Mathieu-Daudé --- hw/isa/vt82c686.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/isa/vt82c686.c b/hw/isa/vt82c686.c index 9d12e1cae4..5582c0b179 100644 --- a/hw/isa/vt82c686.c +++ b/hw/isa/vt82c686.c @@ -589,7 +589,7 @@ static void via_isa_realize(PCIDevice *d, Error **errp) qdev_init_gpio_out(dev, &s->cpu_intr, 1); isa_irq = qemu_allocate_irqs(via_isa_request_i8259_irq, s, 1); - isa_bus = isa_bus_new(dev, get_system_memory(), pci_address_space_io(d), + isa_bus = isa_bus_new(dev, pci_address_space(d), pci_address_space_io(d), &error_fatal); s->isa_irqs = i8259_init(isa_bus, *isa_irq); isa_bus_irqs(isa_bus, s->isa_irqs); From patchwork Sun Oct 30 22:27:50 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 13025254 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id BAAABC38A02 for ; Sun, 30 Oct 2022 22:32:40 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1opGnt-0008Vg-6b; Sun, 30 Oct 2022 18:29:17 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1opGnr-0008U8-Gu for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:29:15 -0400 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1opGnq-0007Af-2n for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:29:15 -0400 Received: by mail-wm1-x32a.google.com with SMTP id bg9-20020a05600c3c8900b003bf249616b0so7056169wmb.3 for ; Sun, 30 Oct 2022 15:29:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=sgob2DTV4yAjngl8pPPaS8z8Lhpa9ohpj9WgZyyzlGA=; b=x9XLFA0+Wtuy7mlU0e0ZVq+GaNNO+5os2SSiwXiPkpYJUrNNKRlfzWUa/PUWaiENEx GS6oyXWq9oKPp4R6+1vZZioiCmX/BVCDdaXm+pA0o9cKSWZkw0di8+KoVJ1w/kDGbCZP DGcuiKUiBa3f4R3DPeOUs8M1GffjBgqMrNVQL94f7t2X6gOH49vLffQti8e3KmWZ4vrb Gm+60etsVygHf2hUUkCM+evACgtnlkba4WuQ8f3gR8wFDnqDuDzAmHqqqaQ1piEHqwKW T6sDcOhYFem4Dd9rHVGU/fcPhG7ylUses2IL2RZu9kLX5PqFTWorzwHdRoVPFtyG+yy2 Ad/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=sgob2DTV4yAjngl8pPPaS8z8Lhpa9ohpj9WgZyyzlGA=; b=Amt7o4n+lHVRrifl12gbGT56cXT7/qOYKB4HNVw/iQXimVYGk6UM4Eio5xw71mmhrf WDnloqwbWSUeed0lOAsmqXR23qM0enrShCz7cscxqItDNoa9k8F8pVVf7u8szSlEAvc+ dKPlBlvEcZfpLO4XrHqfpqWoAA0Ed1GR6yw8qLP26mNGKDdjhcgf5NZghIt5wbgccGES AFIO8bFgYxzeIzK0aF55KhqolU/kYqmdlyTQLI7lInmgpEMi7LqrjzrljtageDISgjks z7DzdkkrLGEmnXqAL+U3xykeK8pKYGLrLShBchF3YbKnTg+Q3K8ctVRUbHtNZZQ9BwRw 2Oxg== X-Gm-Message-State: ACrzQf3ycAZsVbM0aZkPjJ5VsMaVJnjfWJy1HSahlLZMNpCDt1Qvbiaa 54C34Eaxd6lNLPv+IxPOngrleflUc1Dg+w== X-Google-Smtp-Source: AMsMyM67AGk8y9c0osHws4tn4j7MJY7vcXi7etnWOAZqLCbyK4Iy+jDHXciARDayPRSBsHQMGzIH9g== X-Received: by 2002:a05:600c:3594:b0:3ca:f978:5b97 with SMTP id p20-20020a05600c359400b003caf9785b97mr6360316wmq.64.1667168952426; Sun, 30 Oct 2022 15:29:12 -0700 (PDT) Received: from localhost.localdomain ([185.126.107.38]) by smtp.gmail.com with ESMTPSA id h3-20020adffa83000000b0022ae401e9e0sm5209025wrr.78.2022.10.30.15.29.09 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 30 Oct 2022 15:29:12 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Aleksandar Rikalo , Huacai Chen , Stefan Pejic , Jiaxun Yang , Aurelien Jarno , Paul Burton , Bernhard Beschow , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Subject: [PULL 04/55] hw/isa/vt82c686: Reuse errp Date: Sun, 30 Oct 2022 23:27:50 +0100 Message-Id: <20221030222841.42377-5-philmd@linaro.org> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221030222841.42377-1-philmd@linaro.org> References: <20221030222841.42377-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32a; envelope-from=philmd@linaro.org; helo=mail-wm1-x32a.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Qemu-devel" Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Bernhard Beschow Rather than terminating abruptly, make use of the already present errp and propagate the error to the caller. Signed-off-by: Bernhard Beschow Reviewed-by: Philippe Mathieu-Daudé Message-Id: <20220901114127.53914-5-shentey@gmail.com> Signed-off-by: Philippe Mathieu-Daudé --- hw/isa/vt82c686.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/hw/isa/vt82c686.c b/hw/isa/vt82c686.c index 5582c0b179..37e37b3855 100644 --- a/hw/isa/vt82c686.c +++ b/hw/isa/vt82c686.c @@ -590,7 +590,12 @@ static void via_isa_realize(PCIDevice *d, Error **errp) qdev_init_gpio_out(dev, &s->cpu_intr, 1); isa_irq = qemu_allocate_irqs(via_isa_request_i8259_irq, s, 1); isa_bus = isa_bus_new(dev, pci_address_space(d), pci_address_space_io(d), - &error_fatal); + errp); + + if (!isa_bus) { + return; + } + s->isa_irqs = i8259_init(isa_bus, *isa_irq); isa_bus_irqs(isa_bus, s->isa_irqs); i8254_pit_init(isa_bus, 0x40, 0, NULL); From patchwork Sun Oct 30 22:27:51 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 13025255 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 64CB0ECAAA1 for ; Sun, 30 Oct 2022 22:32:41 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1opGo1-0000AY-8E; Sun, 30 Oct 2022 18:29:25 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1opGnz-00008L-Ih for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:29:23 -0400 Received: from mail-wm1-x329.google.com ([2a00:1450:4864:20::329]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1opGnx-0007Av-Ub for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:29:23 -0400 Received: by mail-wm1-x329.google.com with SMTP id c3-20020a1c3503000000b003bd21e3dd7aso9794234wma.1 for ; Sun, 30 Oct 2022 15:29:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=n7QaJwgd7/+E/h1CKCmxp7Ly4mdpqr+k/rS/2LY+KMc=; b=L8urBlPRUiWgCqZEeuXp/Ln2usIgqhcZoiyXxyBBEO4wcZsgftSIIstZtTBHTv3ttw RC+QIOZheuN/X47doDXXV7L2Kr0iOZY97PsrMsTYdWoqytydMzNAmndjtAbwIlbJCGnL sYP8lNS/2TEp8EOL7OyN8enV5+Q784cfro1hpAlm89VdAjRpgGG7vvpHniI2lzvZV+uK lDh1oWqSWVc4IJPkXbLIaXo+XZQdAT9gnK44b5PZ7JUqbnOWgltEQwsJmZNwafRSPMfk t7OFt+/ZjAKazMAdiEgNUK/QYLIyPD+b2tTKVwG8/+H9fKOsZRRg7HbkGcjYGz14wa/Q caDA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=n7QaJwgd7/+E/h1CKCmxp7Ly4mdpqr+k/rS/2LY+KMc=; b=ApDapGmeK3h7jngrcMASQThZtUGzNCB7W07OfqT3Kzz0D0nR8zCDMQ671/8GM66oPP DJX+mCR083dZlnGBVKJ4YhvY6DiQXOwTiATc+b5EVQ/U+ZRPo8G190UBtI1vLrE3kzFg uu0RkoFRLKLdQysXRs7vof+B1XzTVO6NvWrOGoABNHYsDep2dOW7ZYuzKJ0z1mtL+6H3 ahw3pvNgrBWPVYpz6OPC9RKoan9O+39W1a4BuXy5JutqgU7g94upzxlAtRg3vhafQZDR /ED/IBD1p3U48vN7BQR3SkCUw/gV0e82pAcAgfU93B6ASpaeYRaXSUCLb43rhwpprcCW lgwg== X-Gm-Message-State: ACrzQf2ubzEh8JzbpgIAyi+/v6s7G5tE5EbvGZVqMMW3cqhPd691WIMq aSPh5kk4mLdTRWX34fz80macUVGytzD+dw== X-Google-Smtp-Source: AMsMyM5XIRX/2VITB2tfqSevWOu/Pn23tMHP2Y1ZT8B5PVSMck9uokYwrK+TKnv0BcnYkVBBxI9gtg== X-Received: by 2002:a05:600c:2116:b0:3cf:69ff:5da2 with SMTP id u22-20020a05600c211600b003cf69ff5da2mr3971043wml.16.1667168960090; Sun, 30 Oct 2022 15:29:20 -0700 (PDT) Received: from localhost.localdomain ([185.126.107.38]) by smtp.gmail.com with ESMTPSA id bs14-20020a056000070e00b0023647841c5bsm5240543wrb.60.2022.10.30.15.29.17 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 30 Oct 2022 15:29:19 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Aleksandar Rikalo , Huacai Chen , Stefan Pejic , Jiaxun Yang , Aurelien Jarno , Paul Burton , Bernhard Beschow , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Daniel Henrique Barboza Subject: [PULL 05/55] hw/isa/vt82c686: Introduce TYPE_VIA_IDE define Date: Sun, 30 Oct 2022 23:27:51 +0100 Message-Id: <20221030222841.42377-6-philmd@linaro.org> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221030222841.42377-1-philmd@linaro.org> References: <20221030222841.42377-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::329; envelope-from=philmd@linaro.org; helo=mail-wm1-x329.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Qemu-devel" Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Bernhard Beschow Establishes consistency with other (VIA) devices. Signed-off-by: Bernhard Beschow Reviewed-by: Philippe Mathieu-Daudé Acked-by: Daniel Henrique Barboza Message-Id: <20220901114127.53914-6-shentey@gmail.com> Signed-off-by: Philippe Mathieu-Daudé --- hw/ide/via.c | 2 +- hw/mips/fuloong2e.c | 2 +- hw/ppc/pegasos2.c | 2 +- include/hw/isa/vt82c686.h | 1 + 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/hw/ide/via.c b/hw/ide/via.c index 82def819c4..e1a429405d 100644 --- a/hw/ide/via.c +++ b/hw/ide/via.c @@ -230,7 +230,7 @@ static void via_ide_class_init(ObjectClass *klass, void *data) } static const TypeInfo via_ide_info = { - .name = "via-ide", + .name = TYPE_VIA_IDE, .parent = TYPE_PCI_IDE, .class_init = via_ide_class_init, }; diff --git a/hw/mips/fuloong2e.c b/hw/mips/fuloong2e.c index 5ee546f5f6..44225fbe33 100644 --- a/hw/mips/fuloong2e.c +++ b/hw/mips/fuloong2e.c @@ -205,7 +205,7 @@ static void vt82c686b_southbridge_init(PCIBus *pci_bus, int slot, qemu_irq intc, TYPE_VT82C686B_ISA); qdev_connect_gpio_out(DEVICE(dev), 0, intc); - dev = pci_create_simple(pci_bus, PCI_DEVFN(slot, 1), "via-ide"); + dev = pci_create_simple(pci_bus, PCI_DEVFN(slot, 1), TYPE_VIA_IDE); pci_ide_create_devs(dev); pci_create_simple(pci_bus, PCI_DEVFN(slot, 2), "vt82c686b-usb-uhci"); diff --git a/hw/ppc/pegasos2.c b/hw/ppc/pegasos2.c index ecf682b148..0ccc130b88 100644 --- a/hw/ppc/pegasos2.c +++ b/hw/ppc/pegasos2.c @@ -166,7 +166,7 @@ static void pegasos2_init(MachineState *machine) qdev_get_gpio_in_named(pm->mv, "gpp", 31)); /* VT8231 function 1: IDE Controller */ - dev = pci_create_simple(pci_bus, PCI_DEVFN(12, 1), "via-ide"); + dev = pci_create_simple(pci_bus, PCI_DEVFN(12, 1), TYPE_VIA_IDE); pci_ide_create_devs(dev); /* VT8231 function 2-3: USB Ports */ diff --git a/include/hw/isa/vt82c686.h b/include/hw/isa/vt82c686.h index 56ac141be3..87aca3e5bb 100644 --- a/include/hw/isa/vt82c686.h +++ b/include/hw/isa/vt82c686.h @@ -8,6 +8,7 @@ #define TYPE_VT8231_ISA "vt8231-isa" #define TYPE_VT8231_PM "vt8231-pm" #define TYPE_VIA_AC97 "via-ac97" +#define TYPE_VIA_IDE "via-ide" #define TYPE_VIA_MC97 "via-mc97" void via_isa_set_irq(PCIDevice *d, int n, int level); From patchwork Sun Oct 30 22:27:52 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 13025240 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 12459C38A02 for ; Sun, 30 Oct 2022 22:29:52 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1opGo7-0000Mi-T2; Sun, 30 Oct 2022 18:29:31 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1opGo5-0000Jn-KK for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:29:29 -0400 Received: from mail-wm1-x334.google.com ([2a00:1450:4864:20::334]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1opGo3-0007BD-R7 for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:29:29 -0400 Received: by mail-wm1-x334.google.com with SMTP id f16-20020a05600c491000b003cf66a2e7c0so2404142wmp.5 for ; Sun, 30 Oct 2022 15:29:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=B/69RLPnInvU+qZMlE1eDfBHySO7gxDsMFkwM9Xf3KA=; b=vpS4cf2U1PoGZkRSajbxOEUt8ihR94mrmj7lVI82ZCALsdnAxw+9Z/ZXUIOQijN5gG vRJfiCvBd8MyWIj4adHZz7xeERJWZFfh6wOnDGWGuDu5qrh2po1OAxEOkvHSHdPzYRpr cAzVfZ1i99fV2SzfZGQ5XVGXJRJ6h6Li6O7cih4zzs9ryE5UHKvacsIKVFOdFkmFUL6C uCDgaep+h/eQQqcB9D60OlJnp17VY+PG76ahSY5YWiEHyu8wChqY9rY1iOTYT6iSVQ0l UNoyOhFemklvneUZipSuBU8QT9GHPtyTL2viohuOHO/8yKqglB4uSuZgYkJtj586vRxy pbGg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=B/69RLPnInvU+qZMlE1eDfBHySO7gxDsMFkwM9Xf3KA=; b=4ZCGxJii+tdvuw6IluzwMTHc/7ZTKPUszAnW18/FcxpMfIOid21G0n5bnIHJT74ojI dGgYIcw15rCTlUgMfBMHdj0hFse8qoVUs8xkNagAGmYYVAIwjFLzsfUjTe/Cy2bunu9M LyC84pme6w/X/H05p08UDLwwfw1VroCIz55uiOdHkZFNGLhRGoum7Jhrdhf9JHrDp88b EBChdVKowGJ3SosbbTQSI9egbPPYNJkgVZb9InWg0X2r/a/nToXFhWP2f3y97UjJn1dT 2Yvv30IMH3MgSc1YLpUK1sbL1bNXlqYvwqLwJR1v8Rac9KvbWKR4g/7UKuiHiVaXmUfZ ZHzw== X-Gm-Message-State: ACrzQf3iPgdE6HUUPxUlI2VF+L7cNtUil7bVX6u4ZfXr2bp8ShV5cRK1 HTu+re00E9bggCXxwRF/gGDp6PfKF//V/Q== X-Google-Smtp-Source: AMsMyM7ucvOYCVK5CE7sMENDr8QSJ4gsHVfeDReuO1qoiH/Y1BVbzz0wtkxII9CJX92hHbzmV4i6+A== X-Received: by 2002:a1c:ac81:0:b0:3c6:e566:cc21 with SMTP id v123-20020a1cac81000000b003c6e566cc21mr6231340wme.0.1667168965649; Sun, 30 Oct 2022 15:29:25 -0700 (PDT) Received: from localhost.localdomain ([185.126.107.38]) by smtp.gmail.com with ESMTPSA id co4-20020a0560000a0400b002238ea5750csm6367396wrb.72.2022.10.30.15.29.24 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 30 Oct 2022 15:29:25 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Aleksandar Rikalo , Huacai Chen , Stefan Pejic , Jiaxun Yang , Aurelien Jarno , Paul Burton , Bernhard Beschow , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Daniel Henrique Barboza Subject: [PULL 06/55] hw/isa/vt82c686: Instantiate IDE function in host device Date: Sun, 30 Oct 2022 23:27:52 +0100 Message-Id: <20221030222841.42377-7-philmd@linaro.org> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221030222841.42377-1-philmd@linaro.org> References: <20221030222841.42377-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::334; envelope-from=philmd@linaro.org; helo=mail-wm1-x334.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Qemu-devel" Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Bernhard Beschow The IDE function is closely tied to the ISA function (e.g. the IDE interrupt routing happens there), so it makes sense that the IDE function is instantiated within the south bridge itself. Signed-off-by: Bernhard Beschow Reviewed-by: Philippe Mathieu-Daudé Acked-by: Daniel Henrique Barboza Message-Id: <20220901114127.53914-7-shentey@gmail.com> Signed-off-by: Philippe Mathieu-Daudé --- configs/devices/mips64el-softmmu/default.mak | 1 - hw/isa/Kconfig | 1 + hw/isa/vt82c686.c | 17 +++++++++++++++++ hw/mips/fuloong2e.c | 8 ++++---- hw/ppc/Kconfig | 1 - hw/ppc/pegasos2.c | 9 ++++----- 6 files changed, 26 insertions(+), 11 deletions(-) diff --git a/configs/devices/mips64el-softmmu/default.mak b/configs/devices/mips64el-softmmu/default.mak index c610749ac1..d5188f7ea5 100644 --- a/configs/devices/mips64el-softmmu/default.mak +++ b/configs/devices/mips64el-softmmu/default.mak @@ -1,7 +1,6 @@ # Default configuration for mips64el-softmmu include ../mips-softmmu/common.mak -CONFIG_IDE_VIA=y CONFIG_FULOONG=y CONFIG_LOONGSON3V=y CONFIG_ATI_VGA=y diff --git a/hw/isa/Kconfig b/hw/isa/Kconfig index d42143a991..20de7e9294 100644 --- a/hw/isa/Kconfig +++ b/hw/isa/Kconfig @@ -53,6 +53,7 @@ config VT82C686 select I8254 select I8257 select I8259 + select IDE_VIA select MC146818RTC select PARALLEL diff --git a/hw/isa/vt82c686.c b/hw/isa/vt82c686.c index 37e37b3855..63c1e3b8ce 100644 --- a/hw/isa/vt82c686.c +++ b/hw/isa/vt82c686.c @@ -17,6 +17,7 @@ #include "hw/isa/vt82c686.h" #include "hw/pci/pci.h" #include "hw/qdev-properties.h" +#include "hw/ide/pci.h" #include "hw/isa/isa.h" #include "hw/isa/superio.h" #include "hw/intc/i8259.h" @@ -544,6 +545,7 @@ struct ViaISAState { qemu_irq cpu_intr; qemu_irq *isa_irqs; ViaSuperIOState via_sio; + PCIIDEState ide; }; static const VMStateDescription vmstate_via = { @@ -556,10 +558,18 @@ static const VMStateDescription vmstate_via = { } }; +static void via_isa_init(Object *obj) +{ + ViaISAState *s = VIA_ISA(obj); + + object_initialize_child(obj, "ide", &s->ide, TYPE_VIA_IDE); +} + static const TypeInfo via_isa_info = { .name = TYPE_VIA_ISA, .parent = TYPE_PCI_DEVICE, .instance_size = sizeof(ViaISAState), + .instance_init = via_isa_init, .abstract = true, .interfaces = (InterfaceInfo[]) { { INTERFACE_CONVENTIONAL_PCI_DEVICE }, @@ -583,6 +593,7 @@ static void via_isa_realize(PCIDevice *d, Error **errp) { ViaISAState *s = VIA_ISA(d); DeviceState *dev = DEVICE(d); + PCIBus *pci_bus = pci_get_bus(d); qemu_irq *isa_irq; ISABus *isa_bus; int i; @@ -612,6 +623,12 @@ static void via_isa_realize(PCIDevice *d, Error **errp) if (!qdev_realize(DEVICE(&s->via_sio), BUS(isa_bus), errp)) { return; } + + /* Function 1: IDE */ + qdev_prop_set_int32(DEVICE(&s->ide), "addr", d->devfn + 1); + if (!qdev_realize(DEVICE(&s->ide), BUS(pci_bus), errp)) { + return; + } } /* TYPE_VT82C686B_ISA */ diff --git a/hw/mips/fuloong2e.c b/hw/mips/fuloong2e.c index 44225fbe33..32605901e7 100644 --- a/hw/mips/fuloong2e.c +++ b/hw/mips/fuloong2e.c @@ -199,13 +199,13 @@ static void main_cpu_reset(void *opaque) static void vt82c686b_southbridge_init(PCIBus *pci_bus, int slot, qemu_irq intc, I2CBus **i2c_bus) { - PCIDevice *dev; + PCIDevice *dev, *via; - dev = pci_create_simple_multifunction(pci_bus, PCI_DEVFN(slot, 0), true, + via = pci_create_simple_multifunction(pci_bus, PCI_DEVFN(slot, 0), true, TYPE_VT82C686B_ISA); - qdev_connect_gpio_out(DEVICE(dev), 0, intc); + qdev_connect_gpio_out(DEVICE(via), 0, intc); - dev = pci_create_simple(pci_bus, PCI_DEVFN(slot, 1), TYPE_VIA_IDE); + dev = PCI_DEVICE(object_resolve_path_component(OBJECT(via), "ide")); pci_ide_create_devs(dev); pci_create_simple(pci_bus, PCI_DEVFN(slot, 2), "vt82c686b-usb-uhci"); diff --git a/hw/ppc/Kconfig b/hw/ppc/Kconfig index 791fe78a50..76a4612d96 100644 --- a/hw/ppc/Kconfig +++ b/hw/ppc/Kconfig @@ -74,7 +74,6 @@ config PEGASOS2 imply ATI_VGA select MV64361 select VT82C686 - select IDE_VIA select SMBUS_EEPROM select VOF # This should come with VT82C686 diff --git a/hw/ppc/pegasos2.c b/hw/ppc/pegasos2.c index 0ccc130b88..76f0dee4aa 100644 --- a/hw/ppc/pegasos2.c +++ b/hw/ppc/pegasos2.c @@ -102,7 +102,7 @@ static void pegasos2_init(MachineState *machine) CPUPPCState *env; MemoryRegion *rom = g_new(MemoryRegion, 1); PCIBus *pci_bus; - PCIDevice *dev; + PCIDevice *dev, *via; I2CBus *i2c_bus; const char *fwname = machine->firmware ?: PROM_FILENAME; char *filename; @@ -160,13 +160,12 @@ static void pegasos2_init(MachineState *machine) /* VIA VT8231 South Bridge (multifunction PCI device) */ /* VT8231 function 0: PCI-to-ISA Bridge */ - dev = pci_create_simple_multifunction(pci_bus, PCI_DEVFN(12, 0), true, + via = pci_create_simple_multifunction(pci_bus, PCI_DEVFN(12, 0), true, TYPE_VT8231_ISA); - qdev_connect_gpio_out(DEVICE(dev), 0, + qdev_connect_gpio_out(DEVICE(via), 0, qdev_get_gpio_in_named(pm->mv, "gpp", 31)); - /* VT8231 function 1: IDE Controller */ - dev = pci_create_simple(pci_bus, PCI_DEVFN(12, 1), TYPE_VIA_IDE); + dev = PCI_DEVICE(object_resolve_path_component(OBJECT(via), "ide")); pci_ide_create_devs(dev); /* VT8231 function 2-3: USB Ports */ From patchwork Sun Oct 30 22:27:53 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 13025241 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id CFCFCC38A02 for ; Sun, 30 Oct 2022 22:29:55 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1opGoH-0000ZX-BI; Sun, 30 Oct 2022 18:29:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1opGoB-0000Uf-8T for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:29:35 -0400 Received: from mail-wm1-x336.google.com ([2a00:1450:4864:20::336]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1opGo9-0007D2-JA for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:29:35 -0400 Received: by mail-wm1-x336.google.com with SMTP id m29-20020a05600c3b1d00b003c6bf423c71so9822452wms.0 for ; Sun, 30 Oct 2022 15:29:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=+Whyv3BXRJ6VWOnTQ1DAYj2diPnC5pT8crq6E+lTYIk=; b=TebcZ4VxJ8S/tlkFgvuv3OmFLDrCM6mqw3EnTIIsUBoNOQTBgiWKiM9Xg7QajjIif7 croOCIm9q0+B0hbaabB+G1wT3+7q+uJ9xlvLfoIyF5AVA1tytuvVaWFHntCObKAdBWr3 0VStmqxbMZsCXQbfnUqtPlsCGtRpIHQ3Zw8RGeeQ1e+j5NsHehjstXWFa4oeBhJFLhXM HJ7HX88JKPpidTlKMlXuzuTkD9SJw5bOHKF5yeW5mHW7YJ4Ib5qJm6wOB8jNgFSGyBu+ by0CiVxjSR3Nr3BvwYO4/MOiSlhSa4/p6NhhmwGzp9DeESmeC8FTcBgNM6i1lpek8GP6 1w3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+Whyv3BXRJ6VWOnTQ1DAYj2diPnC5pT8crq6E+lTYIk=; b=C7JEP6f/UjVuIftLwcS1n4apVjiRa7jn9Xco6cea1bJEoTYoqWNxg9C3AtbGLRx0NR 6GfKIslxGmHX/e+SXZmvdGs93AswFb6ytTw75v9vdMxRAlMVT+UhCR3mv0IRoIk2Men8 rvHf4MYg/e6Fk1Q9qL/bPZAnn0kWIL5MWczAGlQxlmLTUD5qucgORwLZgkzFxPGSMnEi 3IxPVUu8JniThCtlVIrqplpueXzA7uLQpxUhe6hnnvZ+WTxJlTMw1LEjRqqr0gaGrIqh 3K0V5/asY1XNLdii8fetqfOa4H+13FtW/7zLC2F6a+ow8koFTEIlGGXmLLg1UKjnheah wuyg== X-Gm-Message-State: ACrzQf3BwZ15D7lJ7rrkg913ut6ktqovS6xc7Ba0jpX57AuFiTaBXs6N 7XXAxDfDMEtc2rdeskR5K2fTiSezRnMMEQ== X-Google-Smtp-Source: AMsMyM4UHHnS3Wc56S1Yf9hAUx8bMJ6C5nrDWXj9brvywMNTABj9TshEgD5jHmzqEY/spt3FXaYbQQ== X-Received: by 2002:a1c:35c9:0:b0:3c3:d9a:385f with SMTP id c192-20020a1c35c9000000b003c30d9a385fmr5994710wma.139.1667168971319; Sun, 30 Oct 2022 15:29:31 -0700 (PDT) Received: from localhost.localdomain ([185.126.107.38]) by smtp.gmail.com with ESMTPSA id b6-20020adfee86000000b0023677fd2657sm5202420wro.52.2022.10.30.15.29.29 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 30 Oct 2022 15:29:30 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Aleksandar Rikalo , Huacai Chen , Stefan Pejic , Jiaxun Yang , Aurelien Jarno , Paul Burton , Bernhard Beschow , BALATON Zoltan , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Daniel Henrique Barboza Subject: [PULL 07/55] hw/isa/vt82c686: Introduce TYPE_VT82C686B_USB_UHCI define Date: Sun, 30 Oct 2022 23:27:53 +0100 Message-Id: <20221030222841.42377-8-philmd@linaro.org> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221030222841.42377-1-philmd@linaro.org> References: <20221030222841.42377-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::336; envelope-from=philmd@linaro.org; helo=mail-wm1-x336.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Qemu-devel" Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Bernhard Beschow Suggested-by: BALATON Zoltan Signed-off-by: Bernhard Beschow Reviewed-by: Philippe Mathieu-Daudé Acked-by: Daniel Henrique Barboza Message-Id: <20220901114127.53914-8-shentey@gmail.com> Signed-off-by: Philippe Mathieu-Daudé --- hw/mips/fuloong2e.c | 4 ++-- hw/ppc/pegasos2.c | 4 ++-- hw/usb/vt82c686-uhci-pci.c | 4 ++-- include/hw/isa/vt82c686.h | 1 + 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/hw/mips/fuloong2e.c b/hw/mips/fuloong2e.c index 32605901e7..6b7370f2aa 100644 --- a/hw/mips/fuloong2e.c +++ b/hw/mips/fuloong2e.c @@ -208,8 +208,8 @@ static void vt82c686b_southbridge_init(PCIBus *pci_bus, int slot, qemu_irq intc, dev = PCI_DEVICE(object_resolve_path_component(OBJECT(via), "ide")); pci_ide_create_devs(dev); - pci_create_simple(pci_bus, PCI_DEVFN(slot, 2), "vt82c686b-usb-uhci"); - pci_create_simple(pci_bus, PCI_DEVFN(slot, 3), "vt82c686b-usb-uhci"); + pci_create_simple(pci_bus, PCI_DEVFN(slot, 2), TYPE_VT82C686B_USB_UHCI); + pci_create_simple(pci_bus, PCI_DEVFN(slot, 3), TYPE_VT82C686B_USB_UHCI); dev = pci_create_simple(pci_bus, PCI_DEVFN(slot, 4), TYPE_VT82C686B_PM); *i2c_bus = I2C_BUS(qdev_get_child_bus(DEVICE(dev), "i2c")); diff --git a/hw/ppc/pegasos2.c b/hw/ppc/pegasos2.c index 76f0dee4aa..23b4156a5e 100644 --- a/hw/ppc/pegasos2.c +++ b/hw/ppc/pegasos2.c @@ -169,8 +169,8 @@ static void pegasos2_init(MachineState *machine) pci_ide_create_devs(dev); /* VT8231 function 2-3: USB Ports */ - pci_create_simple(pci_bus, PCI_DEVFN(12, 2), "vt82c686b-usb-uhci"); - pci_create_simple(pci_bus, PCI_DEVFN(12, 3), "vt82c686b-usb-uhci"); + pci_create_simple(pci_bus, PCI_DEVFN(12, 2), TYPE_VT82C686B_USB_UHCI); + pci_create_simple(pci_bus, PCI_DEVFN(12, 3), TYPE_VT82C686B_USB_UHCI); /* VT8231 function 4: Power Management Controller */ dev = pci_create_simple(pci_bus, PCI_DEVFN(12, 4), TYPE_VT8231_PM); diff --git a/hw/usb/vt82c686-uhci-pci.c b/hw/usb/vt82c686-uhci-pci.c index 0bf2b72ff0..46a901f56f 100644 --- a/hw/usb/vt82c686-uhci-pci.c +++ b/hw/usb/vt82c686-uhci-pci.c @@ -31,7 +31,7 @@ static void usb_uhci_vt82c686b_realize(PCIDevice *dev, Error **errp) static UHCIInfo uhci_info[] = { { - .name = "vt82c686b-usb-uhci", + .name = TYPE_VT82C686B_USB_UHCI, .vendor_id = PCI_VENDOR_ID_VIA, .device_id = PCI_DEVICE_ID_VIA_UHCI, .revision = 0x01, @@ -45,7 +45,7 @@ static UHCIInfo uhci_info[] = { static const TypeInfo vt82c686b_usb_uhci_type_info = { .parent = TYPE_UHCI, - .name = "vt82c686b-usb-uhci", + .name = TYPE_VT82C686B_USB_UHCI, .class_init = uhci_data_class_init, .class_data = uhci_info, }; diff --git a/include/hw/isa/vt82c686.h b/include/hw/isa/vt82c686.h index 87aca3e5bb..e6f6dd4d43 100644 --- a/include/hw/isa/vt82c686.h +++ b/include/hw/isa/vt82c686.h @@ -5,6 +5,7 @@ #define TYPE_VT82C686B_ISA "vt82c686b-isa" #define TYPE_VT82C686B_PM "vt82c686b-pm" +#define TYPE_VT82C686B_USB_UHCI "vt82c686b-usb-uhci" #define TYPE_VT8231_ISA "vt8231-isa" #define TYPE_VT8231_PM "vt8231-pm" #define TYPE_VIA_AC97 "via-ac97" From patchwork Sun Oct 30 22:27:54 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 13025245 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 8C096ECAAA1 for ; Sun, 30 Oct 2022 22:30:49 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1opGoU-00015z-E8; Sun, 30 Oct 2022 18:29:54 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1opGoT-00010G-0q for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:29:53 -0400 Received: from mail-wr1-x433.google.com ([2a00:1450:4864:20::433]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1opGoF-0007Ig-U1 for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:29:52 -0400 Received: by mail-wr1-x433.google.com with SMTP id g12so13649312wrs.10 for ; Sun, 30 Oct 2022 15:29:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=q6dtBSvlruukQsa4Krt9GQSDeQQ5kK09kZhFC5HQRLY=; b=iui9zM6Ol0VRP6DhjP/aJzOTzo+X25vyAEKHAe4Ogx2lrgEr7AGrcXSwej+Yu9yLL0 Y5m8H9FNVbwGDYWG/OlzF+MwFHHQ2s/IiWwZoBTNVMMq2dTWNTVJM6+1ZoOactrseCsO 4jJ0UdvwG+nou4/o9wxpp9olvOM6P6CC2VcN4m9L2q5bGlCTDziRAQZWS6eiPrsFNZzb Nk4F7v+362cHexb+/4Fl5+l4cLuH5Xxb8bsmnuudEUajklYNJtPnlFW0p3/A/Dx7L4sa 1nD3rNvcnjnGwHnjBMDrwvZ1Ht7qsIKSyMPLkV2hr3Chygsvn8tFnJBTJe/EDRy2KYmb N7kQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=q6dtBSvlruukQsa4Krt9GQSDeQQ5kK09kZhFC5HQRLY=; b=5GGfjxXcxzFJMTnt8XoVj4hKgt30B31ddqQpTg2M6cyU7tplVbnUzFZACHa4Vyltcd tUhLytN4ENAZtllBzWoJNVGYOsiFk9lXGUJiQaVo+g8ZohF47xV+H1qiTiipC7ALmfNa WgIxbbEAL9VNENWVztkuXGcPelXKP/Dl2DwnDg06x42+GscVI0ojyyK6kzjB7eRCUDIF dQULSqFf6iro03VVpZD+dLOey3lqkVeARcjaOMryFhtQ0HayTdTvJuueVJ0Uxi59wlg6 xP4IkbM5f9wUoai9p8OJjQZpkIwR8eFCq2M7hdXvFz2xHDWrUrL5yeKn0X+1gxvGj7q+ sL+Q== X-Gm-Message-State: ACrzQf2GxQDLz//Y3tQAqwhWEwocqGE4S0QJuKCz8tKsfpTzCuthFmtL jEf5TAsxVEaoHPudoOC/wKYSOkwrwECF8Q== X-Google-Smtp-Source: AMsMyM7ssaJ8hHvdSd0fVylP1vwioa89nDVZjcTxiJzs0ir7ahKNkCBFAUQU8m3f54fYGwybtS6lpA== X-Received: by 2002:adf:f303:0:b0:236:d1c0:79dc with SMTP id i3-20020adff303000000b00236d1c079dcmr189525wro.695.1667168978315; Sun, 30 Oct 2022 15:29:38 -0700 (PDT) Received: from localhost.localdomain ([185.126.107.38]) by smtp.gmail.com with ESMTPSA id j17-20020a05600c489100b003cf6c2f9513sm2835363wmp.2.2022.10.30.15.29.36 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 30 Oct 2022 15:29:37 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Aleksandar Rikalo , Huacai Chen , Stefan Pejic , Jiaxun Yang , Aurelien Jarno , Paul Burton , Bernhard Beschow , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Daniel Henrique Barboza Subject: [PULL 08/55] hw/isa/vt82c686: Instantiate USB functions in host device Date: Sun, 30 Oct 2022 23:27:54 +0100 Message-Id: <20221030222841.42377-9-philmd@linaro.org> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221030222841.42377-1-philmd@linaro.org> References: <20221030222841.42377-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::433; envelope-from=philmd@linaro.org; helo=mail-wr1-x433.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Qemu-devel" Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Bernhard Beschow The USB functions can be enabled/disabled through the ISA function. Also its interrupt routing can be influenced there. Signed-off-by: Bernhard Beschow Reviewed-by: Philippe Mathieu-Daudé Acked-by: Daniel Henrique Barboza Message-Id: <20220901114127.53914-9-shentey@gmail.com> Signed-off-by: Philippe Mathieu-Daudé --- hw/isa/vt82c686.c | 12 ++++++++++++ hw/mips/fuloong2e.c | 3 --- hw/ppc/pegasos2.c | 4 ---- 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/hw/isa/vt82c686.c b/hw/isa/vt82c686.c index 63c1e3b8ce..f05fd9948a 100644 --- a/hw/isa/vt82c686.c +++ b/hw/isa/vt82c686.c @@ -23,6 +23,7 @@ #include "hw/intc/i8259.h" #include "hw/irq.h" #include "hw/dma/i8257.h" +#include "hw/usb/hcd-uhci.h" #include "hw/timer/i8254.h" #include "hw/rtc/mc146818rtc.h" #include "migration/vmstate.h" @@ -546,6 +547,7 @@ struct ViaISAState { qemu_irq *isa_irqs; ViaSuperIOState via_sio; PCIIDEState ide; + UHCIState uhci[2]; }; static const VMStateDescription vmstate_via = { @@ -563,6 +565,8 @@ static void via_isa_init(Object *obj) ViaISAState *s = VIA_ISA(obj); object_initialize_child(obj, "ide", &s->ide, TYPE_VIA_IDE); + object_initialize_child(obj, "uhci1", &s->uhci[0], TYPE_VT82C686B_USB_UHCI); + object_initialize_child(obj, "uhci2", &s->uhci[1], TYPE_VT82C686B_USB_UHCI); } static const TypeInfo via_isa_info = { @@ -629,6 +633,14 @@ static void via_isa_realize(PCIDevice *d, Error **errp) if (!qdev_realize(DEVICE(&s->ide), BUS(pci_bus), errp)) { return; } + + /* Functions 2-3: USB Ports */ + for (i = 0; i < ARRAY_SIZE(s->uhci); i++) { + qdev_prop_set_int32(DEVICE(&s->uhci[i]), "addr", d->devfn + 2 + i); + if (!qdev_realize(DEVICE(&s->uhci[i]), BUS(pci_bus), errp)) { + return; + } + } } /* TYPE_VT82C686B_ISA */ diff --git a/hw/mips/fuloong2e.c b/hw/mips/fuloong2e.c index 6b7370f2aa..dc92223b76 100644 --- a/hw/mips/fuloong2e.c +++ b/hw/mips/fuloong2e.c @@ -208,9 +208,6 @@ static void vt82c686b_southbridge_init(PCIBus *pci_bus, int slot, qemu_irq intc, dev = PCI_DEVICE(object_resolve_path_component(OBJECT(via), "ide")); pci_ide_create_devs(dev); - pci_create_simple(pci_bus, PCI_DEVFN(slot, 2), TYPE_VT82C686B_USB_UHCI); - pci_create_simple(pci_bus, PCI_DEVFN(slot, 3), TYPE_VT82C686B_USB_UHCI); - dev = pci_create_simple(pci_bus, PCI_DEVFN(slot, 4), TYPE_VT82C686B_PM); *i2c_bus = I2C_BUS(qdev_get_child_bus(DEVICE(dev), "i2c")); diff --git a/hw/ppc/pegasos2.c b/hw/ppc/pegasos2.c index 23b4156a5e..bd3c5cf835 100644 --- a/hw/ppc/pegasos2.c +++ b/hw/ppc/pegasos2.c @@ -168,10 +168,6 @@ static void pegasos2_init(MachineState *machine) dev = PCI_DEVICE(object_resolve_path_component(OBJECT(via), "ide")); pci_ide_create_devs(dev); - /* VT8231 function 2-3: USB Ports */ - pci_create_simple(pci_bus, PCI_DEVFN(12, 2), TYPE_VT82C686B_USB_UHCI); - pci_create_simple(pci_bus, PCI_DEVFN(12, 3), TYPE_VT82C686B_USB_UHCI); - /* VT8231 function 4: Power Management Controller */ dev = pci_create_simple(pci_bus, PCI_DEVFN(12, 4), TYPE_VT8231_PM); i2c_bus = I2C_BUS(qdev_get_child_bus(DEVICE(dev), "i2c")); From patchwork Sun Oct 30 22:27:55 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 13025250 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 497B1ECAAA1 for ; Sun, 30 Oct 2022 22:31:21 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1opGoW-0001CW-5W; Sun, 30 Oct 2022 18:29:56 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1opGoU-00016N-HP for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:29:54 -0400 Received: from mail-wm1-x32f.google.com ([2a00:1450:4864:20::32f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1opGoN-0007TA-BF for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:29:54 -0400 Received: by mail-wm1-x32f.google.com with SMTP id 5so6233567wmo.1 for ; Sun, 30 Oct 2022 15:29:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=o1FwdKp3nLabmB4WPYTY40s0ENpWueeIflLLvKR5cYc=; b=p3j4sCKHUlXdpGijQRau7/5kWIvU9WK4hzTXiSMPhzOR0P8Ozgj/feVWtkqMx1FAk5 hzGME5podqddR9Z2fxpLuBUoRTv5/g4grRTueR9B83EnyLDnLCvmMJfkk18Nl2XsIIfm 0J6w//M+0M6KnjHBqliizGphYJSpp1pYiidpSjReGCJDPs+3ywLcY/Vbpg6osjl8b40B Y0rwa/IBMMX2lmsKywU1CgI5wyfR0XuwzENC6/URDgaZWmjqE4qFHDhrNXhkqECx3trP 44ILXFfyoGJwU/+RSGbLbES5iRIo9M3QOvsjDUTvGDb+B4HB+82M9rTMAGT9D6fGXhZt /TRQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=o1FwdKp3nLabmB4WPYTY40s0ENpWueeIflLLvKR5cYc=; b=uBwZdqChdK/wWIdUqWvJSg5uaXAbFSOSCf/Og+nHlMijH3PYipwMyhdraUGWSKiQ6D u5Us309qAoUFkWNV7utmLrE3QwP+l1F4fhe+mjX0cWagS+BkviZZRknyvpwMGQf/0qxS yK1LXAbOVq2d8Xg+Miil2vQVhAD4iSqFrHH8wCxa/CqXz23nEeHA6jEDZdBKii1bbEtl OL4DrAFINZQg/QoeiASOj8M1eyBPE1g6WkHH7KIn/fQIUEqTqzzXDsg7dKv63wkbv1f0 mufLe7usH05GPOuxsjz6+TFSdSpWwos821+OSVzpz1S1TVSnrJChdBrwZPwece/D3KUf dN5w== X-Gm-Message-State: ACrzQf01SSz5Y6efSJA3suYw0HbErhV34uTqj8CzgAM2ZpiWAwME8v2m wlEjzZS/qsi4lnIFuJukPNFwcPdC3U8JKg== X-Google-Smtp-Source: AMsMyM5FC7lbbM77cJtQYqbN+9ZH/dGn6Y1JHGzPE6jME3JOm3LG3lQVQH6exR7bowAwFvuH+3U4Iw== X-Received: by 2002:a05:600c:5119:b0:3c6:cae1:1512 with SMTP id o25-20020a05600c511900b003c6cae11512mr16602742wms.80.1667168985718; Sun, 30 Oct 2022 15:29:45 -0700 (PDT) Received: from localhost.localdomain ([185.126.107.38]) by smtp.gmail.com with ESMTPSA id i10-20020adffdca000000b00236674840e9sm5181726wrs.59.2022.10.30.15.29.43 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 30 Oct 2022 15:29:45 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Aleksandar Rikalo , Huacai Chen , Stefan Pejic , Jiaxun Yang , Aurelien Jarno , Paul Burton , Bernhard Beschow , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Daniel Henrique Barboza Subject: [PULL 09/55] hw/isa/vt82c686: Instantiate PM function in host device Date: Sun, 30 Oct 2022 23:27:55 +0100 Message-Id: <20221030222841.42377-10-philmd@linaro.org> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221030222841.42377-1-philmd@linaro.org> References: <20221030222841.42377-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32f; envelope-from=philmd@linaro.org; helo=mail-wm1-x32f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Qemu-devel" Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Bernhard Beschow The PM controller has activity bits which monitor activity of other built-in devices in the host device. Signed-off-by: Bernhard Beschow Reviewed-by: Philippe Mathieu-Daudé Acked-by: Daniel Henrique Barboza Message-Id: <20220901114127.53914-10-shentey@gmail.com> Signed-off-by: Philippe Mathieu-Daudé --- hw/isa/vt82c686.c | 13 +++++++++++++ hw/mips/fuloong2e.c | 2 +- hw/ppc/pegasos2.c | 3 +-- include/hw/isa/vt82c686.h | 2 -- 4 files changed, 15 insertions(+), 5 deletions(-) diff --git a/hw/isa/vt82c686.c b/hw/isa/vt82c686.c index f05fd9948a..d048607079 100644 --- a/hw/isa/vt82c686.c +++ b/hw/isa/vt82c686.c @@ -250,6 +250,8 @@ static const ViaPMInitInfo vt82c686b_pm_init_info = { .device_id = PCI_DEVICE_ID_VIA_82C686B_PM, }; +#define TYPE_VT82C686B_PM "vt82c686b-pm" + static const TypeInfo vt82c686b_pm_info = { .name = TYPE_VT82C686B_PM, .parent = TYPE_VIA_PM, @@ -261,6 +263,8 @@ static const ViaPMInitInfo vt8231_pm_init_info = { .device_id = PCI_DEVICE_ID_VIA_8231_PM, }; +#define TYPE_VT8231_PM "vt8231-pm" + static const TypeInfo vt8231_pm_info = { .name = TYPE_VT8231_PM, .parent = TYPE_VIA_PM, @@ -548,6 +552,7 @@ struct ViaISAState { ViaSuperIOState via_sio; PCIIDEState ide; UHCIState uhci[2]; + ViaPMState pm; }; static const VMStateDescription vmstate_via = { @@ -641,6 +646,12 @@ static void via_isa_realize(PCIDevice *d, Error **errp) return; } } + + /* Function 4: Power Management */ + qdev_prop_set_int32(DEVICE(&s->pm), "addr", d->devfn + 4); + if (!qdev_realize(DEVICE(&s->pm), BUS(pci_bus), errp)) { + return; + } } /* TYPE_VT82C686B_ISA */ @@ -683,6 +694,7 @@ static void vt82c686b_init(Object *obj) ViaISAState *s = VIA_ISA(obj); object_initialize_child(obj, "sio", &s->via_sio, TYPE_VT82C686B_SUPERIO); + object_initialize_child(obj, "pm", &s->pm, TYPE_VT82C686B_PM); } static void vt82c686b_class_init(ObjectClass *klass, void *data) @@ -746,6 +758,7 @@ static void vt8231_init(Object *obj) ViaISAState *s = VIA_ISA(obj); object_initialize_child(obj, "sio", &s->via_sio, TYPE_VT8231_SUPERIO); + object_initialize_child(obj, "pm", &s->pm, TYPE_VT8231_PM); } static void vt8231_class_init(ObjectClass *klass, void *data) diff --git a/hw/mips/fuloong2e.c b/hw/mips/fuloong2e.c index dc92223b76..377108d313 100644 --- a/hw/mips/fuloong2e.c +++ b/hw/mips/fuloong2e.c @@ -208,7 +208,7 @@ static void vt82c686b_southbridge_init(PCIBus *pci_bus, int slot, qemu_irq intc, dev = PCI_DEVICE(object_resolve_path_component(OBJECT(via), "ide")); pci_ide_create_devs(dev); - dev = pci_create_simple(pci_bus, PCI_DEVFN(slot, 4), TYPE_VT82C686B_PM); + dev = PCI_DEVICE(object_resolve_path_component(OBJECT(via), "pm")); *i2c_bus = I2C_BUS(qdev_get_child_bus(DEVICE(dev), "i2c")); /* Audio support */ diff --git a/hw/ppc/pegasos2.c b/hw/ppc/pegasos2.c index bd3c5cf835..6b5d7265d3 100644 --- a/hw/ppc/pegasos2.c +++ b/hw/ppc/pegasos2.c @@ -168,8 +168,7 @@ static void pegasos2_init(MachineState *machine) dev = PCI_DEVICE(object_resolve_path_component(OBJECT(via), "ide")); pci_ide_create_devs(dev); - /* VT8231 function 4: Power Management Controller */ - dev = pci_create_simple(pci_bus, PCI_DEVFN(12, 4), TYPE_VT8231_PM); + dev = PCI_DEVICE(object_resolve_path_component(OBJECT(via), "pm")); i2c_bus = I2C_BUS(qdev_get_child_bus(DEVICE(dev), "i2c")); spd_data = spd_data_generate(DDR, machine->ram_size); smbus_eeprom_init_one(i2c_bus, 0x57, spd_data); diff --git a/include/hw/isa/vt82c686.h b/include/hw/isa/vt82c686.h index e6f6dd4d43..eaa07881c5 100644 --- a/include/hw/isa/vt82c686.h +++ b/include/hw/isa/vt82c686.h @@ -4,10 +4,8 @@ #include "hw/pci/pci.h" #define TYPE_VT82C686B_ISA "vt82c686b-isa" -#define TYPE_VT82C686B_PM "vt82c686b-pm" #define TYPE_VT82C686B_USB_UHCI "vt82c686b-usb-uhci" #define TYPE_VT8231_ISA "vt8231-isa" -#define TYPE_VT8231_PM "vt8231-pm" #define TYPE_VIA_AC97 "via-ac97" #define TYPE_VIA_IDE "via-ide" #define TYPE_VIA_MC97 "via-mc97" From patchwork Sun Oct 30 22:27:56 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 13025247 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 07FE3C38A02 for ; Sun, 30 Oct 2022 22:31:08 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1opGoW-0001F5-Sj; Sun, 30 Oct 2022 18:29:56 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1opGoV-00019O-8H for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:29:55 -0400 Received: from mail-wm1-x335.google.com ([2a00:1450:4864:20::335]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1opGoT-0007Um-GW for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:29:55 -0400 Received: by mail-wm1-x335.google.com with SMTP id l32so6238216wms.2 for ; Sun, 30 Oct 2022 15:29:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=+mUBmgZQaRbCrdceZmerfhEqzkJcclof3ppYpEcXvUU=; b=Cnqn27EYmByA5xF9ABQP/aZAXWCJAxZdstimGr9C7nQS1yZ9zn3yYC+ByRmg/7gvCo Y/6b5iu4h0JzSTBr1DeY/W9Ify+MMm91Z/SiT81t3R8tKkLJvveRPAgOeLdS/UeAoguW sGz4xkrFUcmkgrNCVIaffRMbRMimr84GV+nZGMHcUnuThUHlfuWlx4cdM0ly91WlzUYp nhBOMjznVtkIIwCdr9vbeH+lx/3MuSvbjZnJGL/9urIp87Np+2eweCgjx0uweUYUXfZb DmeOnquojtE6TVGFUVY8AQ8qVvGMoJBQLF+GhdjXrfeUb0tSmDfc2lGbx+kp4PeTOk0a ugIw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+mUBmgZQaRbCrdceZmerfhEqzkJcclof3ppYpEcXvUU=; b=KkgzbQUNqRCl/AJw0LqxZqJYkdHauybcDz9QQ3Il1azA/WsafNm2JDr6C9zgazF0r6 UG8w8MyPjZdy0oEPoSW4xYhxSCevGy0LSk0X4PuHXuGIp0Iesf4mnw12PbVBX6ZtZ1E8 vPvt2Ha7/LGzq/B+YRxq5jQ1ji+CWTCNYBzz7c/UGyxZButw/1UmpBG8ivbPtbl1JiMe gbEHPwyOx8iexFvJ2kHBfwbSy/4i4Yq7iSsP3OksYlV1a3D3q/4lei/FQheLaXOU2qax duugaezEj4iWN9BMem1DKX/CZG4w+jT00t1HfyuafkoSIZHV7tv3LWhtMnir6Zyc1usF MK8w== X-Gm-Message-State: ACrzQf2x/9XazNYHs1skBAe8F02ghG1chIeeXrFYayJS1SHbztXyVYD4 53gy8lq4J1HQO+OMzJRdZkk0aYeP0yiUmw== X-Google-Smtp-Source: AMsMyM5XoFO4BrddTI9umJxR10AwkXuZJpkjwfCBtfwY0s7WYaDVH99wPF6mJfww4SP3pMdH3KEyPg== X-Received: by 2002:a7b:c5d6:0:b0:3c6:f970:e755 with SMTP id n22-20020a7bc5d6000000b003c6f970e755mr6102902wmk.132.1667168991935; Sun, 30 Oct 2022 15:29:51 -0700 (PDT) Received: from localhost.localdomain ([185.126.107.38]) by smtp.gmail.com with ESMTPSA id r11-20020a1c440b000000b003cf4ec90938sm5355232wma.21.2022.10.30.15.29.50 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 30 Oct 2022 15:29:51 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Aleksandar Rikalo , Huacai Chen , Stefan Pejic , Jiaxun Yang , Aurelien Jarno , Paul Burton , Bernhard Beschow , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Daniel Henrique Barboza Subject: [PULL 10/55] hw/isa/vt82c686: Instantiate AC97 and MC97 functions in host device Date: Sun, 30 Oct 2022 23:27:56 +0100 Message-Id: <20221030222841.42377-11-philmd@linaro.org> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221030222841.42377-1-philmd@linaro.org> References: <20221030222841.42377-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::335; envelope-from=philmd@linaro.org; helo=mail-wm1-x335.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Qemu-devel" Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Bernhard Beschow The AC97 function's wakeup status is wired to the PM function and both the AC97 and MC97 interrupt routing is determined by the ISA function. Signed-off-by: Bernhard Beschow Reviewed-by: Philippe Mathieu-Daudé Acked-by: Daniel Henrique Barboza Message-Id: <20220901114127.53914-11-shentey@gmail.com> Signed-off-by: Philippe Mathieu-Daudé --- hw/isa/vt82c686.c | 16 ++++++++++++++++ hw/mips/fuloong2e.c | 4 ---- hw/ppc/pegasos2.c | 5 ----- 3 files changed, 16 insertions(+), 9 deletions(-) diff --git a/hw/isa/vt82c686.c b/hw/isa/vt82c686.c index d048607079..91686e9570 100644 --- a/hw/isa/vt82c686.c +++ b/hw/isa/vt82c686.c @@ -553,6 +553,8 @@ struct ViaISAState { PCIIDEState ide; UHCIState uhci[2]; ViaPMState pm; + PCIDevice ac97; + PCIDevice mc97; }; static const VMStateDescription vmstate_via = { @@ -572,6 +574,8 @@ static void via_isa_init(Object *obj) object_initialize_child(obj, "ide", &s->ide, TYPE_VIA_IDE); object_initialize_child(obj, "uhci1", &s->uhci[0], TYPE_VT82C686B_USB_UHCI); object_initialize_child(obj, "uhci2", &s->uhci[1], TYPE_VT82C686B_USB_UHCI); + object_initialize_child(obj, "ac97", &s->ac97, TYPE_VIA_AC97); + object_initialize_child(obj, "mc97", &s->mc97, TYPE_VIA_MC97); } static const TypeInfo via_isa_info = { @@ -652,6 +656,18 @@ static void via_isa_realize(PCIDevice *d, Error **errp) if (!qdev_realize(DEVICE(&s->pm), BUS(pci_bus), errp)) { return; } + + /* Function 5: AC97 Audio */ + qdev_prop_set_int32(DEVICE(&s->ac97), "addr", d->devfn + 5); + if (!qdev_realize(DEVICE(&s->ac97), BUS(pci_bus), errp)) { + return; + } + + /* Function 6: MC97 Modem */ + qdev_prop_set_int32(DEVICE(&s->mc97), "addr", d->devfn + 6); + if (!qdev_realize(DEVICE(&s->mc97), BUS(pci_bus), errp)) { + return; + } } /* TYPE_VT82C686B_ISA */ diff --git a/hw/mips/fuloong2e.c b/hw/mips/fuloong2e.c index 377108d313..2d8723ab74 100644 --- a/hw/mips/fuloong2e.c +++ b/hw/mips/fuloong2e.c @@ -210,10 +210,6 @@ static void vt82c686b_southbridge_init(PCIBus *pci_bus, int slot, qemu_irq intc, dev = PCI_DEVICE(object_resolve_path_component(OBJECT(via), "pm")); *i2c_bus = I2C_BUS(qdev_get_child_bus(DEVICE(dev), "i2c")); - - /* Audio support */ - pci_create_simple(pci_bus, PCI_DEVFN(slot, 5), TYPE_VIA_AC97); - pci_create_simple(pci_bus, PCI_DEVFN(slot, 6), TYPE_VIA_MC97); } /* Network support */ diff --git a/hw/ppc/pegasos2.c b/hw/ppc/pegasos2.c index 6b5d7265d3..474723ee27 100644 --- a/hw/ppc/pegasos2.c +++ b/hw/ppc/pegasos2.c @@ -159,7 +159,6 @@ static void pegasos2_init(MachineState *machine) pci_bus = mv64361_get_pci_bus(pm->mv, 1); /* VIA VT8231 South Bridge (multifunction PCI device) */ - /* VT8231 function 0: PCI-to-ISA Bridge */ via = pci_create_simple_multifunction(pci_bus, PCI_DEVFN(12, 0), true, TYPE_VT8231_ISA); qdev_connect_gpio_out(DEVICE(via), 0, @@ -173,10 +172,6 @@ static void pegasos2_init(MachineState *machine) spd_data = spd_data_generate(DDR, machine->ram_size); smbus_eeprom_init_one(i2c_bus, 0x57, spd_data); - /* VT8231 function 5-6: AC97 Audio & Modem */ - pci_create_simple(pci_bus, PCI_DEVFN(12, 5), TYPE_VIA_AC97); - pci_create_simple(pci_bus, PCI_DEVFN(12, 6), TYPE_VIA_MC97); - /* other PC hardware */ pci_vga_init(pci_bus); From patchwork Sun Oct 30 22:27:57 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 13025244 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 63D57ECAAA1 for ; Sun, 30 Oct 2022 22:30:29 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1opGoc-0001VF-Nl; Sun, 30 Oct 2022 18:30:02 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1opGob-0001Pd-7n for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:30:01 -0400 Received: from mail-wr1-x42c.google.com ([2a00:1450:4864:20::42c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1opGoZ-0007Vo-FG for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:30:00 -0400 Received: by mail-wr1-x42c.google.com with SMTP id z14so13647649wrn.7 for ; Sun, 30 Oct 2022 15:29:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=cItMSceJxc77hkLk4ARWSjrWRtmm6EWXY7ZRexGwKP4=; b=cVh0FLo0LXrAzJp0WFoDiqgpVeKvDfl339iHbG/lxhj3arNM7iz7dikc9KosFhw+I0 WNT12ZcKUhyTTNul3CV3/ooaNBwYH3Ip6sQGpXVyGGc65YRzV9oSkSKNu6KdSBfBDSaX IVsxi55QWwZ21hJ0Jsj8jKbRsm7CkfjMiq5HAYbhESL+OsTUAt2rL5qlqbsgE3piZDel 0vaf3P0vNVcgKIDrzIy1H4MpWvLRUxE9e/FsKNuzmptu0vaPNbFHcED7n8EkD7V/DaIN wBErEsmre7/2K6VuazQKmuWiSvYqcirV+BdR8tAUsH5zOaCw318ATwmKLAnISQatz/ew chJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=cItMSceJxc77hkLk4ARWSjrWRtmm6EWXY7ZRexGwKP4=; b=xe+0mvlcBZRFXTPfodTUcZ3pDI8BdB8LYNRn0KpyKCM/ZqCFCulvxiDpYQYUcahnYT 2hXqensQtO5lLzaWkYfWTruXBMAqSx9hxHkyEP8GurqDtz+4Zi45y0J7iEQQN6jhdgWC 01R34/oDXFUznFFK7ldWS4pepu+I/tHirF4mWqdD3vDCDpZvVLUQVwyn51cTFCwHUvSQ 9vebOtdAAnN4D2eiRW69lCuaWKg+G/4Nk173lFlgbjGHrS/cFKE/m1q2gIdbqK2oRR1v KwdEtHdWQGP0NKb08KtNozgQ/Zu3Hhx10ZRKCOy0L1fxzAh4IxQCjbZjHxE/+3ITlW/g CYlw== X-Gm-Message-State: ACrzQf32dpBikyuGN0S1Vk9oIPFaFUk/4FqctuU+RB/pBRU0pZzCJ1MX Glvr4tL2pZiD4HBGzMZBaSjkLV/GSNSXlA== X-Google-Smtp-Source: AMsMyM7SJQc41kF6rnstTcRgeDRiBvxSv7/9hFrTtYXJkDGC/6nX9BTpLR2bBrXzGF/BTm10eb4E2A== X-Received: by 2002:a05:6000:24a:b0:236:bc3a:48b2 with SMTP id m10-20020a056000024a00b00236bc3a48b2mr3719816wrz.495.1667168997771; Sun, 30 Oct 2022 15:29:57 -0700 (PDT) Received: from localhost.localdomain ([185.126.107.38]) by smtp.gmail.com with ESMTPSA id k36-20020a05600c1ca400b003b47b80cec3sm5352058wms.42.2022.10.30.15.29.56 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 30 Oct 2022 15:29:57 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Aleksandar Rikalo , Huacai Chen , Stefan Pejic , Jiaxun Yang , Aurelien Jarno , Paul Burton , Bernhard Beschow , BALATON Zoltan , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Subject: [PULL 11/55] hw/mips/fuloong2e: Inline vt82c686b_southbridge_init() and remove it Date: Sun, 30 Oct 2022 23:27:57 +0100 Message-Id: <20221030222841.42377-12-philmd@linaro.org> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221030222841.42377-1-philmd@linaro.org> References: <20221030222841.42377-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42c; envelope-from=philmd@linaro.org; helo=mail-wr1-x42c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Qemu-devel" Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Bernhard Beschow The previous patches moved most of this function into the via-isa device model such that it has become fairly trivial. So inline it for simplicity. Suggested-by: BALATON Zoltan Signed-off-by: Bernhard Beschow Reviewed-by: Philippe Mathieu-Daudé Message-Id: <20220901114127.53914-12-shentey@gmail.com> Signed-off-by: Philippe Mathieu-Daudé --- hw/mips/fuloong2e.c | 28 ++++++++++------------------ 1 file changed, 10 insertions(+), 18 deletions(-) diff --git a/hw/mips/fuloong2e.c b/hw/mips/fuloong2e.c index 2d8723ab74..3c46215616 100644 --- a/hw/mips/fuloong2e.c +++ b/hw/mips/fuloong2e.c @@ -196,22 +196,6 @@ static void main_cpu_reset(void *opaque) } } -static void vt82c686b_southbridge_init(PCIBus *pci_bus, int slot, qemu_irq intc, - I2CBus **i2c_bus) -{ - PCIDevice *dev, *via; - - via = pci_create_simple_multifunction(pci_bus, PCI_DEVFN(slot, 0), true, - TYPE_VT82C686B_ISA); - qdev_connect_gpio_out(DEVICE(via), 0, intc); - - dev = PCI_DEVICE(object_resolve_path_component(OBJECT(via), "ide")); - pci_ide_create_devs(dev); - - dev = PCI_DEVICE(object_resolve_path_component(OBJECT(via), "pm")); - *i2c_bus = I2C_BUS(qdev_get_child_bus(DEVICE(dev), "i2c")); -} - /* Network support */ static void network_init(PCIBus *pci_bus) { @@ -308,8 +292,16 @@ static void mips_fuloong2e_init(MachineState *machine) pci_bus = bonito_init((qemu_irq *)&(env->irq[2])); /* South bridge -> IP5 */ - vt82c686b_southbridge_init(pci_bus, FULOONG2E_VIA_SLOT, env->irq[5], - &smbus); + pci_dev = pci_create_simple_multifunction(pci_bus, + PCI_DEVFN(FULOONG2E_VIA_SLOT, 0), + true, TYPE_VT82C686B_ISA); + qdev_connect_gpio_out(DEVICE(pci_dev), 0, env->irq[5]); + + dev = DEVICE(object_resolve_path_component(OBJECT(pci_dev), "ide")); + pci_ide_create_devs(PCI_DEVICE(dev)); + + dev = DEVICE(object_resolve_path_component(OBJECT(pci_dev), "pm")); + smbus = I2C_BUS(qdev_get_child_bus(dev, "i2c")); /* GPU */ if (vga_interface_type != VGA_NONE) { From patchwork Sun Oct 30 22:27:58 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 13025246 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id B78A6C38A02 for ; Sun, 30 Oct 2022 22:30:59 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1opGov-0001of-2k; Sun, 30 Oct 2022 18:30:21 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1opGoh-0001gT-Gh for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:30:07 -0400 Received: from mail-wm1-x331.google.com ([2a00:1450:4864:20::331]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1opGoe-0007gJ-R3 for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:30:07 -0400 Received: by mail-wm1-x331.google.com with SMTP id v7so460309wmn.0 for ; Sun, 30 Oct 2022 15:30:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=bVCdaSuOxhsuXXra2TyjgvcXSXdswcYJ8KSoBlNRvhg=; b=c3ScNOtXd5T6zHAE0PtROwcTCjUvhho9ydshwqMI71yNsEFzxCyNpHTn0viFrflsAz GnplR4AbG+cnvVwo5UeboT1KwG9wDWRhpyKH0JLmos8zSWvHLyEO6TLtrwcj77KjAr2E mPiH61TK6Sxb119bK+rj4C9IotnwwbmKrZgiorkILJEVddClxqpuWxlFb6xJqtcVUrSm c3lPQCt2oqVTvRvKNMK2Ow2vd2GW7RzH39i07jLDHUp0lPNWQb44mhH786U4Q7gEjVEc 9xVrQSYV1G2eZ7755L9LNL9dLrDLQSgw7owk+N0iP07ARfhOX2Tc2HOqBKt/dibT7UsE DkcA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=bVCdaSuOxhsuXXra2TyjgvcXSXdswcYJ8KSoBlNRvhg=; b=KVx266m/wLaHwk5pW2F1zySPi81tb3Q7PZt58l1ausuaqYd5Ly9O4TTBThQhQaJypU H++8+1lLGQB0zMh8rujTBKMTBxCOB6ljCHlRIIrzChd0EkYxmhqWd+DKD1ZcL422g683 LvrduxtYyZyRjer+xXGZFzk2qNI4HNxQrjry6ou7smxIR+5EO2sw+KtHFI35P8qGzZCW lNDMR3pf+ZQy8GAjxKLD1F6WAw09V1a2yUIrtjPyUi9mn0vSGJfDSmjqOzKi+xH29OWI QnIzn2ITKNMY1ooHCvxPoizlg9jDioYBfelk2J/DgqLhNRVpW0RvC0m7rODEsdLp6TnO 9ISQ== X-Gm-Message-State: ACrzQf2KS7P4z3j1/8JpEDAxzvx61tI99o8dZL875QYxiwqGhviiV9Xv UOX1f5Ja78/JeoorNdbWm9O+dzMEKIq5Xg== X-Google-Smtp-Source: AMsMyM6wg26LOzbVY97b20mBtx1D5bHtVgeIkIjXIO3g0AfTg8GaQZA5VdIAbEh9QW+TGPjkt1dcDA== X-Received: by 2002:a05:600c:19cc:b0:3c6:fbb9:caab with SMTP id u12-20020a05600c19cc00b003c6fbb9caabmr16191738wmq.182.1667169003260; Sun, 30 Oct 2022 15:30:03 -0700 (PDT) Received: from localhost.localdomain ([185.126.107.38]) by smtp.gmail.com with ESMTPSA id j10-20020a5d464a000000b002365cd93d05sm5080239wrs.102.2022.10.30.15.30.01 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 30 Oct 2022 15:30:02 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Aleksandar Rikalo , Huacai Chen , Stefan Pejic , Jiaxun Yang , Aurelien Jarno , Paul Burton , Bernhard Beschow , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Subject: [PULL 12/55] hw/isa/vt82c686: Embed RTCState in host device Date: Sun, 30 Oct 2022 23:27:58 +0100 Message-Id: <20221030222841.42377-13-philmd@linaro.org> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221030222841.42377-1-philmd@linaro.org> References: <20221030222841.42377-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::331; envelope-from=philmd@linaro.org; helo=mail-wm1-x331.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Qemu-devel" Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Bernhard Beschow Embed the rtc in the host device, analoguous to the other child devices and analoguous to PIIX4. Signed-off-by: Bernhard Beschow Reviewed-by: Philippe Mathieu-Daudé Message-Id: <20220901114127.53914-13-shentey@gmail.com> Signed-off-by: Philippe Mathieu-Daudé --- hw/isa/vt82c686.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/hw/isa/vt82c686.c b/hw/isa/vt82c686.c index 91686e9570..48cd4d0036 100644 --- a/hw/isa/vt82c686.c +++ b/hw/isa/vt82c686.c @@ -550,6 +550,7 @@ struct ViaISAState { qemu_irq cpu_intr; qemu_irq *isa_irqs; ViaSuperIOState via_sio; + RTCState rtc; PCIIDEState ide; UHCIState uhci[2]; ViaPMState pm; @@ -571,6 +572,7 @@ static void via_isa_init(Object *obj) { ViaISAState *s = VIA_ISA(obj); + object_initialize_child(obj, "rtc", &s->rtc, TYPE_MC146818_RTC); object_initialize_child(obj, "ide", &s->ide, TYPE_VIA_IDE); object_initialize_child(obj, "uhci1", &s->uhci[0], TYPE_VT82C686B_USB_UHCI); object_initialize_child(obj, "uhci2", &s->uhci[1], TYPE_VT82C686B_USB_UHCI); @@ -624,7 +626,15 @@ static void via_isa_realize(PCIDevice *d, Error **errp) isa_bus_irqs(isa_bus, s->isa_irqs); i8254_pit_init(isa_bus, 0x40, 0, NULL); i8257_dma_init(isa_bus, 0); - mc146818_rtc_init(isa_bus, 2000, NULL); + + /* RTC */ + qdev_prop_set_int32(DEVICE(&s->rtc), "base_year", 2000); + if (!qdev_realize(DEVICE(&s->rtc), BUS(isa_bus), errp)) { + return; + } + object_property_add_alias(qdev_get_machine(), "rtc-time", OBJECT(&s->rtc), + "date"); + isa_connect_gpio_out(ISA_DEVICE(&s->rtc), 0, s->rtc.isairq); for (i = 0; i < PCI_CONFIG_HEADER_SIZE; i++) { if (i < PCI_COMMAND || i >= PCI_REVISION_ID) { From patchwork Sun Oct 30 22:27:59 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 13025251 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 30703ECAAA1 for ; Sun, 30 Oct 2022 22:31:26 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1opGow-0001zG-MV; Sun, 30 Oct 2022 18:30:22 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1opGon-0001kl-Np for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:30:19 -0400 Received: from mail-wr1-x42f.google.com ([2a00:1450:4864:20::42f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1opGol-0007id-4R for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:30:13 -0400 Received: by mail-wr1-x42f.google.com with SMTP id cl5so2015158wrb.9 for ; Sun, 30 Oct 2022 15:30:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=UOfIdKogUdxZbqa2JfgUg0XucLPxUOAfMZ6+8R29910=; b=E9qamUIvY6JSOGNLovjCLd12twSmwnQOWTbiiTJzSEvQVlqYF9xUErEwiP3VAIjRBT 3hfB0Ng5amgjj7EQjMnm/3lQm3tlL94KjSwFdMRVrDHuj2cc/BiNFHo6bK0TzrFQns+2 L1SKy7KQVUls0tiJNc4fUgJYN4JN4Sn/SFuTB/8AfqyveQJPwybz56PfFDwGdojtFm2i auxccKpZIQ7pILIWyB+HQnV8274frqfLne+Rl8Fx6bRxcHcHI/aEkED20UVGsvQ89G7R ia4KvzyGqBGSySNjrBWlYnhw4wbSJVRnoTt+WPTEJUs6m5+r8Nuv8hLni7BT4NlXV+7f ExXw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=UOfIdKogUdxZbqa2JfgUg0XucLPxUOAfMZ6+8R29910=; b=m4U+/we0kgElzB7qV1xPRy9z/nzecIKaKmyjCAS6+nQZJBIXM9uAbWEeMap/EQYnTG Q2jNdw5InWlH+DYpz8Uhw4+9xyVxuN1/XtFT6JwGd7z5GKBtk8GF0TdPc4QUx3+oA1QP nLYDelsN+82ohoreouKuZXLAruV9OGtEXALhpp9Ktk8RLnsHv40J79BwXlEBqv1ezBXj T7RhVmTCWjA3Cwy+C8ldwusgzZ5rbvcMQDdxLYQHIi00MIl+ZaAO3sFFDOLt0KoUYOPX /uowChtM6ec8GoE5MDx1i5kJCboG9zjp7tzFx2GLD+dl3uoM8eMFNdS1/B29RqEbex1U HTZQ== X-Gm-Message-State: ACrzQf2fSIVAGJbEg8vQ2Ln1biG8Oq8aPbihI0ibT6ZpoXe0an2acdPZ hcpKyi2ymRwT1bU3v6nphVMgJcwy4sycHQ== X-Google-Smtp-Source: AMsMyM49poc+73otybmj7DemMB0Uw6F4Mp2UiZTTgrrth5o82mCuOyKQVs7Qz/8LyFTxjE1VAirvjg== X-Received: by 2002:adf:f781:0:b0:236:5559:215b with SMTP id q1-20020adff781000000b002365559215bmr6097170wrp.16.1667169009573; Sun, 30 Oct 2022 15:30:09 -0700 (PDT) Received: from localhost.localdomain ([185.126.107.38]) by smtp.gmail.com with ESMTPSA id k2-20020a5d6282000000b00236cb3fec8fsm1710909wru.9.2022.10.30.15.30.08 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 30 Oct 2022 15:30:09 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Aleksandar Rikalo , Huacai Chen , Stefan Pejic , Jiaxun Yang , Aurelien Jarno , Paul Burton , Bernhard Beschow , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Daniel Henrique Barboza Subject: [PULL 13/55] hw/isa/vt82c686: Create rtc-time alias in boards instead Date: Sun, 30 Oct 2022 23:27:59 +0100 Message-Id: <20221030222841.42377-14-philmd@linaro.org> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221030222841.42377-1-philmd@linaro.org> References: <20221030222841.42377-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42f; envelope-from=philmd@linaro.org; helo=mail-wr1-x42f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Qemu-devel" Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Bernhard Beschow According to good QOM practice, an object should only deal with objects of its own sub tree. Having devices create an alias on the machine object doesn't respect this good practice. To resolve this, create the alias in the machine's code. Signed-off-by: Bernhard Beschow Reviewed-by: Philippe Mathieu-Daudé Acked-by: Daniel Henrique Barboza Message-Id: <20220901114127.53914-14-shentey@gmail.com> Signed-off-by: Philippe Mathieu-Daudé --- hw/isa/vt82c686.c | 2 -- hw/mips/fuloong2e.c | 4 ++++ hw/ppc/pegasos2.c | 4 ++++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/hw/isa/vt82c686.c b/hw/isa/vt82c686.c index 48cd4d0036..3f9bd0c04d 100644 --- a/hw/isa/vt82c686.c +++ b/hw/isa/vt82c686.c @@ -632,8 +632,6 @@ static void via_isa_realize(PCIDevice *d, Error **errp) if (!qdev_realize(DEVICE(&s->rtc), BUS(isa_bus), errp)) { return; } - object_property_add_alias(qdev_get_machine(), "rtc-time", OBJECT(&s->rtc), - "date"); isa_connect_gpio_out(ISA_DEVICE(&s->rtc), 0, s->rtc.isairq); for (i = 0; i < PCI_CONFIG_HEADER_SIZE; i++) { diff --git a/hw/mips/fuloong2e.c b/hw/mips/fuloong2e.c index 3c46215616..b478483706 100644 --- a/hw/mips/fuloong2e.c +++ b/hw/mips/fuloong2e.c @@ -295,6 +295,10 @@ static void mips_fuloong2e_init(MachineState *machine) pci_dev = pci_create_simple_multifunction(pci_bus, PCI_DEVFN(FULOONG2E_VIA_SLOT, 0), true, TYPE_VT82C686B_ISA); + object_property_add_alias(OBJECT(machine), "rtc-time", + object_resolve_path_component(OBJECT(pci_dev), + "rtc"), + "date"); qdev_connect_gpio_out(DEVICE(pci_dev), 0, env->irq[5]); dev = DEVICE(object_resolve_path_component(OBJECT(pci_dev), "ide")); diff --git a/hw/ppc/pegasos2.c b/hw/ppc/pegasos2.c index 474723ee27..49809b2b75 100644 --- a/hw/ppc/pegasos2.c +++ b/hw/ppc/pegasos2.c @@ -161,6 +161,10 @@ static void pegasos2_init(MachineState *machine) /* VIA VT8231 South Bridge (multifunction PCI device) */ via = pci_create_simple_multifunction(pci_bus, PCI_DEVFN(12, 0), true, TYPE_VT8231_ISA); + object_property_add_alias(OBJECT(machine), "rtc-time", + object_resolve_path_component(OBJECT(via), + "rtc"), + "date"); qdev_connect_gpio_out(DEVICE(via), 0, qdev_get_gpio_in_named(pm->mv, "gpp", 31)); From patchwork Sun Oct 30 22:28:00 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 13025273 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id B4410C38A02 for ; Sun, 30 Oct 2022 22:36:52 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1opGox-00022V-Bi; Sun, 30 Oct 2022 18:30:23 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1opGou-0001mt-Bj for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:30:20 -0400 Received: from mail-wr1-x434.google.com ([2a00:1450:4864:20::434]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1opGos-0007ix-2x for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:30:19 -0400 Received: by mail-wr1-x434.google.com with SMTP id l14so13688324wrw.2 for ; Sun, 30 Oct 2022 15:30:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=EXpt2U7urhOundj676D3XC1wCblnQcS5gsy0nmp/Pv4=; b=k6FNzc2Mp6TUeZIk+da69TntozAJqp3L/s/z89G+DoK97inwhTwozzf+n8S0MleWR9 ghv+c24DmrysYFpVoT7QYt/Rh68TOaNm8tiaxdBuzREbPQMKSeokSaxHZ1YfTTs5yBxm JvjCEaT7+/jiZiR6FIM4G/QVgQPsfgdTLhR8yp2sXhMBfmaGrBkaNzxmvobzZqspumZf sjTzs9A/4pVD+ZtpbdXWpM57M/VczW7UGvWWgTUt/JD6jqaJLI+g9QOG2ZuX+TSGDlHg RjqGS5Q5JZKqdFtNB1SA7aOSXBqfxVoV+732UPG2LLrJnbYge3fZA7fa0WJPiaAFW9Nk bXeQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=EXpt2U7urhOundj676D3XC1wCblnQcS5gsy0nmp/Pv4=; b=xXW4e3+ASSzw8XHnBUyomHcsKl7cWFv9D7m2F/IGABQFAqbJnkbMch1AFAHhIU99Tn R5Qs5kFO8xEfzc1OckUurt6O1PfLJWSZVm9hpF311qvclEDSiJQVA2MUgI/HbqCgUuGr 6Zwe7uPL1441tmPzZm9yEm8GvQco0uw9HWIQqxGF7mwY4yRy+skYnGhS36MYH+iN3vQ+ 7+Vo1vFO8FcITXNC2olas8if9Sr5j5yKqbrfRSUE7LJufMEmURQ53pMbpDRJtqWk0uRM PXN+4brbfFq9MTrdJjGIb+DekLL2csLLgi0GPDxuN0al5q2a+sB+i+4D43/epBFkqr1A xXTw== X-Gm-Message-State: ACrzQf3y4LpLrfFa+SgSqAaPjyMiFCPgtAG/JdgYTOjM+aL34rywX4DF gQdqChzk1DxazoSFadjXMjfRB4vyx/gMuQ== X-Google-Smtp-Source: AMsMyM6335zQmidcY7xXT3r6iRFIQSqr0RIkZkZSu+/wYVNALOHp1SAIGBMwl7YiVRjGc+VIBYCZkg== X-Received: by 2002:a5d:5265:0:b0:235:e1fa:98a2 with SMTP id l5-20020a5d5265000000b00235e1fa98a2mr6220596wrc.73.1667169016255; Sun, 30 Oct 2022 15:30:16 -0700 (PDT) Received: from localhost.localdomain ([185.126.107.38]) by smtp.gmail.com with ESMTPSA id i11-20020a05600c354b00b003cf57329221sm6151713wmq.14.2022.10.30.15.30.14 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 30 Oct 2022 15:30:15 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Aleksandar Rikalo , Huacai Chen , Stefan Pejic , Jiaxun Yang , Aurelien Jarno , Paul Burton , BALATON Zoltan , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Richard Henderson Subject: [PULL 14/55] hw: Remove unused MAX_IDE_BUS define Date: Sun, 30 Oct 2022 23:28:00 +0100 Message-Id: <20221030222841.42377-15-philmd@linaro.org> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221030222841.42377-1-philmd@linaro.org> References: <20221030222841.42377-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::434; envelope-from=philmd@linaro.org; helo=mail-wr1-x434.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Qemu-devel" Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: BALATON Zoltan Several machines have an unused MAX_IDE_BUS define. Remove it from these machines that don't need it. Signed-off-by: BALATON Zoltan Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson Message-Id: <20220917115136.A32EF746E06@zero.eik.bme.hu> Signed-off-by: Philippe Mathieu-Daudé --- hw/alpha/dp264.c | 2 -- hw/hppa/machine.c | 2 -- hw/mips/fuloong2e.c | 1 - hw/mips/malta.c | 2 -- hw/ppc/prep.c | 2 -- hw/sparc64/sun4u.c | 1 - 6 files changed, 10 deletions(-) diff --git a/hw/alpha/dp264.c b/hw/alpha/dp264.c index f4349eba83..c502c8c62a 100644 --- a/hw/alpha/dp264.c +++ b/hw/alpha/dp264.c @@ -20,8 +20,6 @@ #include "qemu/datadir.h" #include "net/net.h" -#define MAX_IDE_BUS 2 - static uint64_t cpu_alpha_superpage_to_phys(void *opaque, uint64_t addr) { if (((addr >> 41) & 3) == 2) { diff --git a/hw/hppa/machine.c b/hw/hppa/machine.c index e53d5f0fa7..355b3aac2e 100644 --- a/hw/hppa/machine.c +++ b/hw/hppa/machine.c @@ -30,8 +30,6 @@ #include "qemu/log.h" #include "net/net.h" -#define MAX_IDE_BUS 2 - #define MIN_SEABIOS_HPPA_VERSION 6 /* require at least this fw version */ #define HPA_POWER_BUTTON (FIRMWARE_END - 0x10) diff --git a/hw/mips/fuloong2e.c b/hw/mips/fuloong2e.c index b478483706..50c61f0e4a 100644 --- a/hw/mips/fuloong2e.c +++ b/hw/mips/fuloong2e.c @@ -49,7 +49,6 @@ /* Fuloong 2e has a 512k flash: Winbond W39L040AP70Z */ #define BIOS_SIZE (512 * KiB) -#define MAX_IDE_BUS 2 /* * PMON is not part of qemu and released with BSD license, anyone diff --git a/hw/mips/malta.c b/hw/mips/malta.c index 0e932988e0..5099ed9592 100644 --- a/hw/mips/malta.c +++ b/hw/mips/malta.c @@ -69,8 +69,6 @@ #define FLASH_SIZE 0x400000 -#define MAX_IDE_BUS 2 - typedef struct { MemoryRegion iomem; MemoryRegion iomem_lo; /* 0 - 0x900 */ diff --git a/hw/ppc/prep.c b/hw/ppc/prep.c index f08714f2ec..fcbe4c5837 100644 --- a/hw/ppc/prep.c +++ b/hw/ppc/prep.c @@ -50,8 +50,6 @@ /* SMP is not enabled, for now */ #define MAX_CPUS 1 -#define MAX_IDE_BUS 2 - #define CFG_ADDR 0xf0000510 #define KERNEL_LOAD_ADDR 0x01000000 diff --git a/hw/sparc64/sun4u.c b/hw/sparc64/sun4u.c index 0e27715ac4..387181ff77 100644 --- a/hw/sparc64/sun4u.c +++ b/hw/sparc64/sun4u.c @@ -66,7 +66,6 @@ #define PBM_PCI_IO_BASE (PBM_SPECIAL_BASE + 0x02000000ULL) #define PROM_FILENAME "openbios-sparc64" #define NVRAM_SIZE 0x2000 -#define MAX_IDE_BUS 2 #define BIOS_CFG_IOPORT 0x510 #define FW_CFG_SPARC64_WIDTH (FW_CFG_ARCH_LOCAL + 0x00) #define FW_CFG_SPARC64_HEIGHT (FW_CFG_ARCH_LOCAL + 0x01) From patchwork Sun Oct 30 22:28:01 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 13025249 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 5149CFA3743 for ; Sun, 30 Oct 2022 22:31:10 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1opGp9-0002zf-Ei; Sun, 30 Oct 2022 18:30:35 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1opGp6-0002n6-Lo for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:30:32 -0400 Received: from mail-wm1-x331.google.com ([2a00:1450:4864:20::331]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1opGp1-0007lz-6U for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:30:32 -0400 Received: by mail-wm1-x331.google.com with SMTP id i5-20020a1c3b05000000b003cf47dcd316so9792317wma.4 for ; Sun, 30 Oct 2022 15:30:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=3YoMDk0uoaZvGJ6vi06p14yyC06B9FB1lOsdVby//uE=; b=z5YrQWnbz/4RNeEVVHrntQtOoaQU9Li7LLq0HZsN57388ogO4LuIvFPMnLb+h53/rI BJ2tXC7c22DxtGqD9z6NnKTkuwPkZxm8q4EE7FGICPh0Y2sk4Y5XHurnv9ZvWgYQ4bQN 7MT3lNvj0Fy/nfyO2v+Pb1s/ivMvTvbDEreK9yiM3Q1ZFQyhie+ftrg3vb8FDPtq0vjy 4bcSjGhCpWtK1NtgrhE5U+TH/r41cfbE36oHZyXw4lH3IZoIFGqTygQwx31fA+DOs5+F ytONbDX0s4CKq1eJ32XZYe2noIyjRa3Os0SkrROU1AMjis2rtE72y1E3PdUawELjG0L1 KKow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=3YoMDk0uoaZvGJ6vi06p14yyC06B9FB1lOsdVby//uE=; b=R3/eKvMyjxP1A518a6ZPjCYZjUtsCfYmNjuQsIPoxJPRr1vrhgQU4nC+Sw+pPiNZb4 mJ1a3ZL5BCTUn8VqBcgVylVvlHMUOst9b+XcO19OCm8SN2AR9cb7SPyoA/mXi6mRzXd9 DzKc0GFJWEQ2Q9exTEnqja4ij9Tg7fYXYBusePwcNWTLjZGQBBxTcw7d66OT7m5RVOFP yqwshE3qYFB8q79im0lYBi+Id6iqBP4+mKa15t7fhri6cPKWoxlzNyWyjDsaQhIIHPix tRQt5kTXoBoNpJeOBiOx20EiHAXKPCzOfZbB+J1dYthpuktTisAFODo3zVMR4gjrWsVt O9QA== X-Gm-Message-State: ACrzQf0VoZMJDA0rqEpOdHR0g3fPK1cxu/MdFGzw3vLkAc47V1aYXaRm rS24eKYRzj+63DrVK6r1oUR6L9196v1UBQ== X-Google-Smtp-Source: AMsMyM6SRXGgdQFbgdnB00fe/oDIqAr2WRO5cwwax94kFdsUC5+ikpgOPAuMAfPaWtFPsQiS8op9wg== X-Received: by 2002:a05:600c:22d6:b0:3cf:69fc:3046 with SMTP id 22-20020a05600c22d600b003cf69fc3046mr4223149wmg.5.1667169023697; Sun, 30 Oct 2022 15:30:23 -0700 (PDT) Received: from localhost.localdomain ([185.126.107.38]) by smtp.gmail.com with ESMTPSA id bj12-20020a0560001e0c00b0022e55f40bc7sm5262041wrb.82.2022.10.30.15.30.21 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 30 Oct 2022 15:30:23 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Aleksandar Rikalo , Huacai Chen , Stefan Pejic , Jiaxun Yang , Aurelien Jarno , Paul Burton , Milica Lazarevic , Thomas Huth , Richard Henderson Subject: [PULL 15/55] disas/nanomips: Remove namespace img Date: Sun, 30 Oct 2022 23:28:01 +0100 Message-Id: <20221030222841.42377-16-philmd@linaro.org> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221030222841.42377-1-philmd@linaro.org> References: <20221030222841.42377-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::331; envelope-from=philmd@linaro.org; helo=mail-wm1-x331.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Qemu-devel" Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Milica Lazarevic Since there's no namespace feature in C, namespace img has been replaced with adding the prefix "img" to the namespace members. Prefix "img" has been added to the function names of functions that used to be wrapped in namespace img. Those are img::format() functions. I.e. replaced img::format with the img_format. Typedef address that used to belong to namespace img now is called img_address. Signed-off-by: Milica Lazarevic Reviewed-by: Thomas Huth Reviewed-by: Richard Henderson Message-Id: <20220912122635.74032-2-milica.lazarevic@syrmia.com> Signed-off-by: Philippe Mathieu-Daudé --- disas/nanomips.cpp | 1433 ++++++++++++++++++++++---------------------- disas/nanomips.h | 10 +- 2 files changed, 712 insertions(+), 731 deletions(-) diff --git a/disas/nanomips.cpp b/disas/nanomips.cpp index 9be8df75dd..84529685bf 100644 --- a/disas/nanomips.cpp +++ b/disas/nanomips.cpp @@ -137,131 +137,118 @@ int print_insn_nanomips(bfd_vma memaddr, struct disassemble_info *info) } -namespace img +std::string img_format(const char *format, ...) { - address addr32(address a) - { - return a; + char buffer[256]; + va_list args; + va_start(args, format); + int err = vsprintf(buffer, format, args); + if (err < 0) { + perror(buffer); } + va_end(args); + return buffer; +} - std::string format(const char *format, ...) - { - char buffer[256]; - va_list args; - va_start(args, format); - int err = vsprintf(buffer, format, args); - if (err < 0) { - perror(buffer); - } - va_end(args); - return buffer; - } +std::string img_format(const char *format, + std::string s) +{ + char buffer[256]; - std::string format(const char *format, - std::string s) - { - char buffer[256]; + sprintf(buffer, format, s.c_str()); - sprintf(buffer, format, s.c_str()); + return buffer; +} - return buffer; - } +std::string img_format(const char *format, + std::string s1, + std::string s2) +{ + char buffer[256]; - std::string format(const char *format, - std::string s1, - std::string s2) - { - char buffer[256]; + sprintf(buffer, format, s1.c_str(), s2.c_str()); - sprintf(buffer, format, s1.c_str(), s2.c_str()); + return buffer; +} - return buffer; - } +std::string img_format(const char *format, + std::string s1, + std::string s2, + std::string s3) +{ + char buffer[256]; - std::string format(const char *format, - std::string s1, - std::string s2, - std::string s3) - { - char buffer[256]; + sprintf(buffer, format, s1.c_str(), s2.c_str(), s3.c_str()); - sprintf(buffer, format, s1.c_str(), s2.c_str(), s3.c_str()); + return buffer; +} - return buffer; - } +std::string img_format(const char *format, + std::string s1, + std::string s2, + std::string s3, + std::string s4) +{ + char buffer[256]; - std::string format(const char *format, - std::string s1, - std::string s2, - std::string s3, - std::string s4) - { - char buffer[256]; + sprintf(buffer, format, s1.c_str(), s2.c_str(), s3.c_str(), + s4.c_str()); - sprintf(buffer, format, s1.c_str(), s2.c_str(), s3.c_str(), - s4.c_str()); + return buffer; +} - return buffer; - } +std::string img_format(const char *format, + std::string s1, + std::string s2, + std::string s3, + std::string s4, + std::string s5) +{ + char buffer[256]; - std::string format(const char *format, - std::string s1, - std::string s2, - std::string s3, - std::string s4, - std::string s5) - { - char buffer[256]; + sprintf(buffer, format, s1.c_str(), s2.c_str(), s3.c_str(), + s4.c_str(), s5.c_str()); - sprintf(buffer, format, s1.c_str(), s2.c_str(), s3.c_str(), - s4.c_str(), s5.c_str()); + return buffer; +} - return buffer; - } +std::string img_format(const char *format, + uint64 d, + std::string s2) +{ + char buffer[256]; - std::string format(const char *format, - uint64 d, - std::string s2) - { - char buffer[256]; + sprintf(buffer, format, d, s2.c_str()); - sprintf(buffer, format, d, s2.c_str()); + return buffer; +} - return buffer; - } +std::string img_format(const char *format, + std::string s1, + uint64 d, + std::string s2) +{ + char buffer[256]; - std::string format(const char *format, - std::string s1, - uint64 d, - std::string s2) - { - char buffer[256]; + sprintf(buffer, format, s1.c_str(), d, s2.c_str()); - sprintf(buffer, format, s1.c_str(), d, s2.c_str()); + return buffer; +} - return buffer; - } +std::string img_format(const char *format, + std::string s1, + std::string s2, + uint64 d) +{ + char buffer[256]; - std::string format(const char *format, - std::string s1, - std::string s2, - uint64 d) - { - char buffer[256]; + sprintf(buffer, format, s1.c_str(), s2.c_str(), d); - sprintf(buffer, format, s1.c_str(), s2.c_str(), d); - - return buffer; - } - - char as_char(int c) - { - return static_cast(c); - } -}; + return buffer; +} -std::string to_string(img::address a) +std::string to_string(img_address a) { char buffer[256]; sprintf(buffer, "0x%" PRIx64, a); @@ -289,7 +276,7 @@ uint64 NMD::renumber_registers(uint64 index, uint64 *register_list, return register_list[index]; } - throw std::runtime_error(img::format( + throw std::runtime_error(img_format( "Invalid register mapping index %" PRIu64 ", size of list = %zu", index, register_list_size)); @@ -683,7 +670,7 @@ std::string NMD::save_restore_list(uint64 rt, uint64 count, uint64 gp) for (uint64 counter = 0; counter != count; counter++) { bool use_gp = gp && (counter == count - 1); uint64 this_rt = use_gp ? 28 : ((rt & 0x10) | (rt + counter)) & 0x1f; - str += img::format(",%s", GPR(this_rt)); + str += img_format(",%s", GPR(this_rt)); } return str; @@ -703,7 +690,7 @@ std::string NMD::GPR(uint64 reg) return gpr_reg[reg]; } - throw std::runtime_error(img::format("Invalid GPR register index %" PRIu64, + throw std::runtime_error(img_format("Invalid GPR register index %" PRIu64, reg)); } @@ -721,7 +708,7 @@ std::string NMD::FPR(uint64 reg) return fpr_reg[reg]; } - throw std::runtime_error(img::format("Invalid FPR register index %" PRIu64, + throw std::runtime_error(img_format("Invalid FPR register index %" PRIu64, reg)); } @@ -736,37 +723,35 @@ std::string NMD::AC(uint64 reg) return ac_reg[reg]; } - throw std::runtime_error(img::format("Invalid AC register index %" PRIu64, + throw std::runtime_error(img_format("Invalid AC register index %" PRIu64, reg)); } std::string NMD::IMMEDIATE(uint64 value) { - return img::format("0x%" PRIx64, value); + return img_format("0x%" PRIx64, value); } std::string NMD::IMMEDIATE(int64 value) { - return img::format("%" PRId64, value); + return img_format("%" PRId64, value); } std::string NMD::CPR(uint64 reg) { /* needs more work */ - return img::format("CP%" PRIu64, reg); + return img_format("CP%" PRIu64, reg); } std::string NMD::ADDRESS(uint64 value, int instruction_size) { /* token for string replace */ - /* const char TOKEN_REPLACE = (char)0xa2; */ - img::address address = m_pc + value + instruction_size; + img_address address = m_pc + value + instruction_size; /* symbol replacement */ - /* return img::as_char(TOKEN_REPLACE) + to_string(address); */ return to_string(address); } @@ -1807,7 +1792,7 @@ std::string NMD::ABS_D(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string fd = FPR(copy(fd_value)); - return img::format("ABS.D %s, %s", fd, fs); + return img_format("ABS.D %s, %s", fd, fs); } @@ -1829,7 +1814,7 @@ std::string NMD::ABS_S(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string fd = FPR(copy(fd_value)); - return img::format("ABS.S %s, %s", fd, fs); + return img_format("ABS.S %s, %s", fd, fs); } @@ -1851,7 +1836,7 @@ std::string NMD::ABSQ_S_PH(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string rs = GPR(copy(rs_value)); - return img::format("ABSQ_S.PH %s, %s", rt, rs); + return img_format("ABSQ_S.PH %s, %s", rt, rs); } @@ -1873,7 +1858,7 @@ std::string NMD::ABSQ_S_QB(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string rs = GPR(copy(rs_value)); - return img::format("ABSQ_S.QB %s, %s", rt, rs); + return img_format("ABSQ_S.QB %s, %s", rt, rs); } @@ -1895,7 +1880,7 @@ std::string NMD::ABSQ_S_W(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string rs = GPR(copy(rs_value)); - return img::format("ABSQ_S.W %s, %s", rt, rs); + return img_format("ABSQ_S.W %s, %s", rt, rs); } @@ -1918,7 +1903,7 @@ std::string NMD::ACLR(uint64 instruction) std::string s = IMMEDIATE(copy(s_value)); std::string rs = GPR(copy(rs_value)); - return img::format("ACLR %s, %s(%s)", bit, s, rs); + return img_format("ACLR %s, %s(%s)", bit, s, rs); } @@ -1941,7 +1926,7 @@ std::string NMD::ADD(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("ADD %s, %s, %s", rd, rs, rt); + return img_format("ADD %s, %s, %s", rd, rs, rt); } @@ -1966,7 +1951,7 @@ std::string NMD::ADD_D(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string fd = FPR(copy(fd_value)); - return img::format("ADD.D %s, %s, %s", fd, fs, ft); + return img_format("ADD.D %s, %s, %s", fd, fs, ft); } @@ -1991,7 +1976,7 @@ std::string NMD::ADD_S(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string fd = FPR(copy(fd_value)); - return img::format("ADD.S %s, %s, %s", fd, fs, ft); + return img_format("ADD.S %s, %s, %s", fd, fs, ft); } @@ -2014,7 +1999,7 @@ std::string NMD::ADDIU_32_(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string u = IMMEDIATE(copy(u_value)); - return img::format("ADDIU %s, %s, %s", rt, rs, u); + return img_format("ADDIU %s, %s, %s", rt, rs, u); } @@ -2035,7 +2020,7 @@ std::string NMD::ADDIU_48_(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string s = IMMEDIATE(copy(s_value)); - return img::format("ADDIU %s, %s", rt, s); + return img_format("ADDIU %s, %s", rt, s); } @@ -2056,7 +2041,7 @@ std::string NMD::ADDIU_GP48_(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string s = IMMEDIATE(copy(s_value)); - return img::format("ADDIU %s, $%d, %s", rt, 28, s); + return img_format("ADDIU %s, $%d, %s", rt, 28, s); } @@ -2077,7 +2062,7 @@ std::string NMD::ADDIU_GP_B_(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string u = IMMEDIATE(copy(u_value)); - return img::format("ADDIU %s, $%d, %s", rt, 28, u); + return img_format("ADDIU %s, $%d, %s", rt, 28, u); } @@ -2098,7 +2083,7 @@ std::string NMD::ADDIU_GP_W_(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string u = IMMEDIATE(copy(u_value)); - return img::format("ADDIU %s, $%d, %s", rt, 28, u); + return img_format("ADDIU %s, $%d, %s", rt, 28, u); } @@ -2121,7 +2106,7 @@ std::string NMD::ADDIU_NEG_(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string u = IMMEDIATE(neg_copy(u_value)); - return img::format("ADDIU %s, %s, %s", rt, rs, u); + return img_format("ADDIU %s, %s, %s", rt, rs, u); } @@ -2142,7 +2127,7 @@ std::string NMD::ADDIU_R1_SP_(uint64 instruction) std::string rt3 = GPR(decode_gpr_gpr3(rt3_value)); std::string u = IMMEDIATE(copy(u_value)); - return img::format("ADDIU %s, $%d, %s", rt3, 29, u); + return img_format("ADDIU %s, $%d, %s", rt3, 29, u); } @@ -2165,7 +2150,7 @@ std::string NMD::ADDIU_R2_(uint64 instruction) std::string rs3 = GPR(decode_gpr_gpr3(rs3_value)); std::string u = IMMEDIATE(copy(u_value)); - return img::format("ADDIU %s, %s, %s", rt3, rs3, u); + return img_format("ADDIU %s, %s, %s", rt3, rs3, u); } @@ -2185,7 +2170,7 @@ std::string NMD::ADDIU_RS5_(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string s = IMMEDIATE(copy(s_value)); - return img::format("ADDIU %s, %s", rt, s); + return img_format("ADDIU %s, %s", rt, s); } @@ -2207,7 +2192,7 @@ std::string NMD::ADDIUPC_32_(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string s = ADDRESS(encode_s_from_address(s_value), 4); - return img::format("ADDIUPC %s, %s", rt, s); + return img_format("ADDIUPC %s, %s", rt, s); } @@ -2229,7 +2214,7 @@ std::string NMD::ADDIUPC_48_(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string s = ADDRESS(encode_s_from_address(s_value), 6); - return img::format("ADDIUPC %s, %s", rt, s); + return img_format("ADDIUPC %s, %s", rt, s); } @@ -2253,7 +2238,7 @@ std::string NMD::ADDQ_PH(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("ADDQ.PH %s, %s, %s", rd, rs, rt); + return img_format("ADDQ.PH %s, %s, %s", rd, rs, rt); } @@ -2278,7 +2263,7 @@ std::string NMD::ADDQ_S_PH(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("ADDQ_S.PH %s, %s, %s", rd, rs, rt); + return img_format("ADDQ_S.PH %s, %s, %s", rd, rs, rt); } @@ -2302,7 +2287,7 @@ std::string NMD::ADDQ_S_W(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("ADDQ_S.W %s, %s, %s", rd, rs, rt); + return img_format("ADDQ_S.W %s, %s, %s", rd, rs, rt); } @@ -2327,7 +2312,7 @@ std::string NMD::ADDQH_PH(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("ADDQH.PH %s, %s, %s", rd, rs, rt); + return img_format("ADDQH.PH %s, %s, %s", rd, rs, rt); } @@ -2352,7 +2337,7 @@ std::string NMD::ADDQH_R_PH(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("ADDQH_R.PH %s, %s, %s", rd, rs, rt); + return img_format("ADDQH_R.PH %s, %s, %s", rd, rs, rt); } @@ -2377,7 +2362,7 @@ std::string NMD::ADDQH_R_W(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("ADDQH_R.W %s, %s, %s", rd, rs, rt); + return img_format("ADDQH_R.W %s, %s, %s", rd, rs, rt); } @@ -2402,7 +2387,7 @@ std::string NMD::ADDQH_W(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("ADDQH.W %s, %s, %s", rd, rs, rt); + return img_format("ADDQH.W %s, %s, %s", rd, rs, rt); } @@ -2426,7 +2411,7 @@ std::string NMD::ADDSC(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("ADDSC %s, %s, %s", rd, rs, rt); + return img_format("ADDSC %s, %s, %s", rd, rs, rt); } @@ -2449,7 +2434,7 @@ std::string NMD::ADDU_16_(uint64 instruction) std::string rs3 = GPR(decode_gpr_gpr3(rs3_value)); std::string rd3 = GPR(decode_gpr_gpr3(rd3_value)); - return img::format("ADDU %s, %s, %s", rd3, rs3, rt3); + return img_format("ADDU %s, %s, %s", rd3, rs3, rt3); } @@ -2473,7 +2458,7 @@ std::string NMD::ADDU_32_(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("ADDU %s, %s, %s", rd, rs, rt); + return img_format("ADDU %s, %s, %s", rd, rs, rt); } @@ -2495,7 +2480,7 @@ std::string NMD::ADDU_4X4_(uint64 instruction) std::string rs4 = GPR(decode_gpr_gpr4(rs4_value)); std::string rt4 = GPR(decode_gpr_gpr4(rt4_value)); - return img::format("ADDU %s, %s", rs4, rt4); + return img_format("ADDU %s, %s", rs4, rt4); } @@ -2519,7 +2504,7 @@ std::string NMD::ADDU_PH(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("ADDU.PH %s, %s, %s", rd, rs, rt); + return img_format("ADDU.PH %s, %s, %s", rd, rs, rt); } @@ -2543,7 +2528,7 @@ std::string NMD::ADDU_QB(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("ADDU.QB %s, %s, %s", rd, rs, rt); + return img_format("ADDU.QB %s, %s, %s", rd, rs, rt); } @@ -2568,7 +2553,7 @@ std::string NMD::ADDU_S_PH(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("ADDU_S.PH %s, %s, %s", rd, rs, rt); + return img_format("ADDU_S.PH %s, %s, %s", rd, rs, rt); } @@ -2592,7 +2577,7 @@ std::string NMD::ADDU_S_QB(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("ADDU_S.QB %s, %s, %s", rd, rs, rt); + return img_format("ADDU_S.QB %s, %s, %s", rd, rs, rt); } @@ -2617,7 +2602,7 @@ std::string NMD::ADDUH_QB(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("ADDUH.QB %s, %s, %s", rd, rs, rt); + return img_format("ADDUH.QB %s, %s, %s", rd, rs, rt); } @@ -2642,7 +2627,7 @@ std::string NMD::ADDUH_R_QB(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("ADDUH_R.QB %s, %s, %s", rd, rs, rt); + return img_format("ADDUH_R.QB %s, %s, %s", rd, rs, rt); } /* @@ -2665,7 +2650,7 @@ std::string NMD::ADDWC(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("ADDWC %s, %s, %s", rd, rs, rt); + return img_format("ADDWC %s, %s, %s", rd, rs, rt); } @@ -2687,7 +2672,7 @@ std::string NMD::ALUIPC(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string s = ADDRESS(encode_s_from_address(s_value), 4); - return img::format("ALUIPC %s, %%pcrel_hi(%s)", rt, s); + return img_format("ALUIPC %s, %%pcrel_hi(%s)", rt, s); } @@ -2708,7 +2693,7 @@ std::string NMD::AND_16_(uint64 instruction) std::string rt3 = GPR(decode_gpr_gpr3(rt3_value)); std::string rs3 = GPR(decode_gpr_gpr3(rs3_value)); - return img::format("AND %s, %s", rs3, rt3); + return img_format("AND %s, %s", rs3, rt3); } @@ -2732,7 +2717,7 @@ std::string NMD::AND_32_(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("AND %s, %s, %s", rd, rs, rt); + return img_format("AND %s, %s, %s", rd, rs, rt); } @@ -2755,7 +2740,7 @@ std::string NMD::ANDI_16_(uint64 instruction) std::string rs3 = GPR(decode_gpr_gpr3(rs3_value)); std::string eu = IMMEDIATE(encode_eu_from_u_andi16(eu_value)); - return img::format("ANDI %s, %s, %s", rt3, rs3, eu); + return img_format("ANDI %s, %s, %s", rt3, rs3, eu); } @@ -2779,7 +2764,7 @@ std::string NMD::ANDI_32_(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string u = IMMEDIATE(copy(u_value)); - return img::format("ANDI %s, %s, %s", rt, rs, u); + return img_format("ANDI %s, %s, %s", rt, rs, u); } @@ -2803,7 +2788,7 @@ std::string NMD::APPEND(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string sa = IMMEDIATE(copy(sa_value)); - return img::format("APPEND %s, %s, %s", rt, rs, sa); + return img_format("APPEND %s, %s, %s", rt, rs, sa); } @@ -2827,7 +2812,7 @@ std::string NMD::ASET(uint64 instruction) std::string s = IMMEDIATE(copy(s_value)); std::string rs = GPR(copy(rs_value)); - return img::format("ASET %s, %s(%s)", bit, s, rs); + return img_format("ASET %s, %s(%s)", bit, s, rs); } @@ -2847,7 +2832,7 @@ std::string NMD::BALC_16_(uint64 instruction) std::string s = ADDRESS(encode_s_from_address(s_value), 2); - return img::format("BALC %s", s); + return img_format("BALC %s", s); } @@ -2867,7 +2852,7 @@ std::string NMD::BALC_32_(uint64 instruction) std::string s = ADDRESS(encode_s_from_address(s_value), 4); - return img::format("BALC %s", s); + return img_format("BALC %s", s); } @@ -2889,7 +2874,7 @@ std::string NMD::BALRSC(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string rs = GPR(copy(rs_value)); - return img::format("BALRSC %s, %s", rt, rs); + return img_format("BALRSC %s, %s", rt, rs); } @@ -2913,7 +2898,7 @@ std::string NMD::BBEQZC(uint64 instruction) std::string bit = IMMEDIATE(copy(bit_value)); std::string s = ADDRESS(encode_s_from_address(s_value), 4); - return img::format("BBEQZC %s, %s, %s", rt, bit, s); + return img_format("BBEQZC %s, %s, %s", rt, bit, s); } @@ -2937,7 +2922,7 @@ std::string NMD::BBNEZC(uint64 instruction) std::string bit = IMMEDIATE(copy(bit_value)); std::string s = ADDRESS(encode_s_from_address(s_value), 4); - return img::format("BBNEZC %s, %s, %s", rt, bit, s); + return img_format("BBNEZC %s, %s, %s", rt, bit, s); } @@ -2957,7 +2942,7 @@ std::string NMD::BC_16_(uint64 instruction) std::string s = ADDRESS(encode_s_from_address(s_value), 2); - return img::format("BC %s", s); + return img_format("BC %s", s); } @@ -2977,7 +2962,7 @@ std::string NMD::BC_32_(uint64 instruction) std::string s = ADDRESS(encode_s_from_address(s_value), 4); - return img::format("BC %s", s); + return img_format("BC %s", s); } @@ -2999,7 +2984,7 @@ std::string NMD::BC1EQZC(uint64 instruction) std::string ft = FPR(copy(ft_value)); std::string s = ADDRESS(encode_s_from_address(s_value), 4); - return img::format("BC1EQZC %s, %s", ft, s); + return img_format("BC1EQZC %s, %s", ft, s); } @@ -3021,7 +3006,7 @@ std::string NMD::BC1NEZC(uint64 instruction) std::string ft = FPR(copy(ft_value)); std::string s = ADDRESS(encode_s_from_address(s_value), 4); - return img::format("BC1NEZC %s, %s", ft, s); + return img_format("BC1NEZC %s, %s", ft, s); } @@ -3043,7 +3028,7 @@ std::string NMD::BC2EQZC(uint64 instruction) std::string ct = CPR(copy(ct_value)); std::string s = ADDRESS(encode_s_from_address(s_value), 4); - return img::format("BC2EQZC %s, %s", ct, s); + return img_format("BC2EQZC %s, %s", ct, s); } @@ -3065,7 +3050,7 @@ std::string NMD::BC2NEZC(uint64 instruction) std::string ct = CPR(copy(ct_value)); std::string s = ADDRESS(encode_s_from_address(s_value), 4); - return img::format("BC2NEZC %s, %s", ct, s); + return img_format("BC2NEZC %s, %s", ct, s); } @@ -3089,7 +3074,7 @@ std::string NMD::BEQC_16_(uint64 instruction) std::string rt3 = GPR(decode_gpr_gpr3(rt3_value)); std::string u = ADDRESS(encode_u_from_address(u_value), 2); - return img::format("BEQC %s, %s, %s", rs3, rt3, u); + return img_format("BEQC %s, %s, %s", rs3, rt3, u); } @@ -3113,7 +3098,7 @@ std::string NMD::BEQC_32_(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string s = ADDRESS(encode_s_from_address(s_value), 4); - return img::format("BEQC %s, %s, %s", rs, rt, s); + return img_format("BEQC %s, %s, %s", rs, rt, s); } @@ -3137,7 +3122,7 @@ std::string NMD::BEQIC(uint64 instruction) std::string u = IMMEDIATE(copy(u_value)); std::string s = ADDRESS(encode_s_from_address(s_value), 4); - return img::format("BEQIC %s, %s, %s", rt, u, s); + return img_format("BEQIC %s, %s, %s", rt, u, s); } @@ -3159,7 +3144,7 @@ std::string NMD::BEQZC_16_(uint64 instruction) std::string rt3 = GPR(decode_gpr_gpr3(rt3_value)); std::string s = ADDRESS(encode_s_from_address(s_value), 2); - return img::format("BEQZC %s, %s", rt3, s); + return img_format("BEQZC %s, %s", rt3, s); } @@ -3183,7 +3168,7 @@ std::string NMD::BGEC(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string s = ADDRESS(encode_s_from_address(s_value), 4); - return img::format("BGEC %s, %s, %s", rs, rt, s); + return img_format("BGEC %s, %s, %s", rs, rt, s); } @@ -3207,7 +3192,7 @@ std::string NMD::BGEIC(uint64 instruction) std::string u = IMMEDIATE(copy(u_value)); std::string s = ADDRESS(encode_s_from_address(s_value), 4); - return img::format("BGEIC %s, %s, %s", rt, u, s); + return img_format("BGEIC %s, %s, %s", rt, u, s); } @@ -3231,7 +3216,7 @@ std::string NMD::BGEIUC(uint64 instruction) std::string u = IMMEDIATE(copy(u_value)); std::string s = ADDRESS(encode_s_from_address(s_value), 4); - return img::format("BGEIUC %s, %s, %s", rt, u, s); + return img_format("BGEIUC %s, %s, %s", rt, u, s); } @@ -3255,7 +3240,7 @@ std::string NMD::BGEUC(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string s = ADDRESS(encode_s_from_address(s_value), 4); - return img::format("BGEUC %s, %s, %s", rs, rt, s); + return img_format("BGEUC %s, %s, %s", rs, rt, s); } @@ -3279,7 +3264,7 @@ std::string NMD::BLTC(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string s = ADDRESS(encode_s_from_address(s_value), 4); - return img::format("BLTC %s, %s, %s", rs, rt, s); + return img_format("BLTC %s, %s, %s", rs, rt, s); } @@ -3303,7 +3288,7 @@ std::string NMD::BLTIC(uint64 instruction) std::string u = IMMEDIATE(copy(u_value)); std::string s = ADDRESS(encode_s_from_address(s_value), 4); - return img::format("BLTIC %s, %s, %s", rt, u, s); + return img_format("BLTIC %s, %s, %s", rt, u, s); } @@ -3327,7 +3312,7 @@ std::string NMD::BLTIUC(uint64 instruction) std::string u = IMMEDIATE(copy(u_value)); std::string s = ADDRESS(encode_s_from_address(s_value), 4); - return img::format("BLTIUC %s, %s, %s", rt, u, s); + return img_format("BLTIUC %s, %s, %s", rt, u, s); } @@ -3351,7 +3336,7 @@ std::string NMD::BLTUC(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string s = ADDRESS(encode_s_from_address(s_value), 4); - return img::format("BLTUC %s, %s, %s", rs, rt, s); + return img_format("BLTUC %s, %s, %s", rs, rt, s); } @@ -3375,7 +3360,7 @@ std::string NMD::BNEC_16_(uint64 instruction) std::string rt3 = GPR(decode_gpr_gpr3(rt3_value)); std::string u = ADDRESS(encode_u_from_address(u_value), 2); - return img::format("BNEC %s, %s, %s", rs3, rt3, u); + return img_format("BNEC %s, %s, %s", rs3, rt3, u); } @@ -3399,7 +3384,7 @@ std::string NMD::BNEC_32_(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string s = ADDRESS(encode_s_from_address(s_value), 4); - return img::format("BNEC %s, %s, %s", rs, rt, s); + return img_format("BNEC %s, %s, %s", rs, rt, s); } @@ -3423,7 +3408,7 @@ std::string NMD::BNEIC(uint64 instruction) std::string u = IMMEDIATE(copy(u_value)); std::string s = ADDRESS(encode_s_from_address(s_value), 4); - return img::format("BNEIC %s, %s, %s", rt, u, s); + return img_format("BNEIC %s, %s, %s", rt, u, s); } @@ -3445,7 +3430,7 @@ std::string NMD::BNEZC_16_(uint64 instruction) std::string rt3 = GPR(decode_gpr_gpr3(rt3_value)); std::string s = ADDRESS(encode_s_from_address(s_value), 2); - return img::format("BNEZC %s, %s", rt3, s); + return img_format("BNEZC %s, %s", rt3, s); } @@ -3465,7 +3450,7 @@ std::string NMD::BPOSGE32C(uint64 instruction) std::string s = ADDRESS(encode_s_from_address(s_value), 4); - return img::format("BPOSGE32C %s", s); + return img_format("BPOSGE32C %s", s); } @@ -3485,7 +3470,7 @@ std::string NMD::BREAK_16_(uint64 instruction) std::string code = IMMEDIATE(copy(code_value)); - return img::format("BREAK %s", code); + return img_format("BREAK %s", code); } @@ -3505,7 +3490,7 @@ std::string NMD::BREAK_32_(uint64 instruction) std::string code = IMMEDIATE(copy(code_value)); - return img::format("BREAK %s", code); + return img_format("BREAK %s", code); } @@ -3525,7 +3510,7 @@ std::string NMD::BRSC(uint64 instruction) std::string rs = GPR(copy(rs_value)); - return img::format("BRSC %s", rs); + return img_format("BRSC %s", rs); } @@ -3549,7 +3534,7 @@ std::string NMD::CACHE(uint64 instruction) std::string s = IMMEDIATE(copy(s_value)); std::string rs = GPR(copy(rs_value)); - return img::format("CACHE %s, %s(%s)", op, s, rs); + return img_format("CACHE %s, %s(%s)", op, s, rs); } @@ -3573,7 +3558,7 @@ std::string NMD::CACHEE(uint64 instruction) std::string s = IMMEDIATE(copy(s_value)); std::string rs = GPR(copy(rs_value)); - return img::format("CACHEE %s, %s(%s)", op, s, rs); + return img_format("CACHEE %s, %s(%s)", op, s, rs); } @@ -3595,7 +3580,7 @@ std::string NMD::CEIL_L_D(uint64 instruction) std::string ft = FPR(copy(ft_value)); std::string fs = FPR(copy(fs_value)); - return img::format("CEIL.L.D %s, %s", ft, fs); + return img_format("CEIL.L.D %s, %s", ft, fs); } @@ -3617,7 +3602,7 @@ std::string NMD::CEIL_L_S(uint64 instruction) std::string ft = FPR(copy(ft_value)); std::string fs = FPR(copy(fs_value)); - return img::format("CEIL.L.S %s, %s", ft, fs); + return img_format("CEIL.L.S %s, %s", ft, fs); } @@ -3639,7 +3624,7 @@ std::string NMD::CEIL_W_D(uint64 instruction) std::string ft = FPR(copy(ft_value)); std::string fs = FPR(copy(fs_value)); - return img::format("CEIL.W.D %s, %s", ft, fs); + return img_format("CEIL.W.D %s, %s", ft, fs); } @@ -3661,7 +3646,7 @@ std::string NMD::CEIL_W_S(uint64 instruction) std::string ft = FPR(copy(ft_value)); std::string fs = FPR(copy(fs_value)); - return img::format("CEIL.W.S %s, %s", ft, fs); + return img_format("CEIL.W.S %s, %s", ft, fs); } @@ -3683,7 +3668,7 @@ std::string NMD::CFC1(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string cs = CPR(copy(cs_value)); - return img::format("CFC1 %s, %s", rt, cs); + return img_format("CFC1 %s, %s", rt, cs); } @@ -3705,7 +3690,7 @@ std::string NMD::CFC2(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string cs = CPR(copy(cs_value)); - return img::format("CFC2 %s, %s", rt, cs); + return img_format("CFC2 %s, %s", rt, cs); } @@ -3727,7 +3712,7 @@ std::string NMD::CLASS_D(uint64 instruction) std::string ft = FPR(copy(ft_value)); std::string fs = FPR(copy(fs_value)); - return img::format("CLASS.D %s, %s", ft, fs); + return img_format("CLASS.D %s, %s", ft, fs); } @@ -3749,7 +3734,7 @@ std::string NMD::CLASS_S(uint64 instruction) std::string ft = FPR(copy(ft_value)); std::string fs = FPR(copy(fs_value)); - return img::format("CLASS.S %s, %s", ft, fs); + return img_format("CLASS.S %s, %s", ft, fs); } @@ -3771,7 +3756,7 @@ std::string NMD::CLO(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string rs = GPR(copy(rs_value)); - return img::format("CLO %s, %s", rt, rs); + return img_format("CLO %s, %s", rt, rs); } @@ -3793,7 +3778,7 @@ std::string NMD::CLZ(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string rs = GPR(copy(rs_value)); - return img::format("CLZ %s, %s", rt, rs); + return img_format("CLZ %s, %s", rt, rs); } @@ -3817,7 +3802,7 @@ std::string NMD::CMP_AF_D(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("CMP.AF.D %s, %s, %s", fd, fs, ft); + return img_format("CMP.AF.D %s, %s, %s", fd, fs, ft); } @@ -3841,7 +3826,7 @@ std::string NMD::CMP_AF_S(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("CMP.AF.S %s, %s, %s", fd, fs, ft); + return img_format("CMP.AF.S %s, %s, %s", fd, fs, ft); } @@ -3865,7 +3850,7 @@ std::string NMD::CMP_EQ_D(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("CMP.EQ.D %s, %s, %s", fd, fs, ft); + return img_format("CMP.EQ.D %s, %s, %s", fd, fs, ft); } @@ -3886,7 +3871,7 @@ std::string NMD::CMP_EQ_PH(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("CMP.EQ.PH %s, %s", rs, rt); + return img_format("CMP.EQ.PH %s, %s", rs, rt); } @@ -3910,7 +3895,7 @@ std::string NMD::CMP_EQ_S(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("CMP.EQ.S %s, %s, %s", fd, fs, ft); + return img_format("CMP.EQ.S %s, %s, %s", fd, fs, ft); } @@ -3934,7 +3919,7 @@ std::string NMD::CMP_LE_D(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("CMP.LE.D %s, %s, %s", fd, fs, ft); + return img_format("CMP.LE.D %s, %s, %s", fd, fs, ft); } @@ -3955,7 +3940,7 @@ std::string NMD::CMP_LE_PH(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("CMP.LE.PH %s, %s", rs, rt); + return img_format("CMP.LE.PH %s, %s", rs, rt); } @@ -3979,7 +3964,7 @@ std::string NMD::CMP_LE_S(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("CMP.LE.S %s, %s, %s", fd, fs, ft); + return img_format("CMP.LE.S %s, %s, %s", fd, fs, ft); } @@ -4003,7 +3988,7 @@ std::string NMD::CMP_LT_D(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("CMP.LT.D %s, %s, %s", fd, fs, ft); + return img_format("CMP.LT.D %s, %s, %s", fd, fs, ft); } @@ -4024,7 +4009,7 @@ std::string NMD::CMP_LT_PH(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("CMP.LT.PH %s, %s", rs, rt); + return img_format("CMP.LT.PH %s, %s", rs, rt); } @@ -4048,7 +4033,7 @@ std::string NMD::CMP_LT_S(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("CMP.LT.S %s, %s, %s", fd, fs, ft); + return img_format("CMP.LT.S %s, %s, %s", fd, fs, ft); } @@ -4072,7 +4057,7 @@ std::string NMD::CMP_NE_D(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("CMP.NE.D %s, %s, %s", fd, fs, ft); + return img_format("CMP.NE.D %s, %s, %s", fd, fs, ft); } @@ -4096,7 +4081,7 @@ std::string NMD::CMP_NE_S(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("CMP.NE.S %s, %s, %s", fd, fs, ft); + return img_format("CMP.NE.S %s, %s, %s", fd, fs, ft); } @@ -4120,7 +4105,7 @@ std::string NMD::CMP_OR_D(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("CMP.OR.D %s, %s, %s", fd, fs, ft); + return img_format("CMP.OR.D %s, %s, %s", fd, fs, ft); } @@ -4144,7 +4129,7 @@ std::string NMD::CMP_OR_S(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("CMP.OR.S %s, %s, %s", fd, fs, ft); + return img_format("CMP.OR.S %s, %s, %s", fd, fs, ft); } @@ -4168,7 +4153,7 @@ std::string NMD::CMP_SAF_D(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("CMP.SAF.D %s, %s, %s", fd, fs, ft); + return img_format("CMP.SAF.D %s, %s, %s", fd, fs, ft); } @@ -4192,7 +4177,7 @@ std::string NMD::CMP_SAF_S(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("CMP.SAF.S %s, %s, %s", fd, fs, ft); + return img_format("CMP.SAF.S %s, %s, %s", fd, fs, ft); } @@ -4216,7 +4201,7 @@ std::string NMD::CMP_SEQ_D(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("CMP.SEQ.D %s, %s, %s", fd, fs, ft); + return img_format("CMP.SEQ.D %s, %s, %s", fd, fs, ft); } @@ -4240,7 +4225,7 @@ std::string NMD::CMP_SEQ_S(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("CMP.SEQ.S %s, %s, %s", fd, fs, ft); + return img_format("CMP.SEQ.S %s, %s, %s", fd, fs, ft); } @@ -4264,7 +4249,7 @@ std::string NMD::CMP_SLE_D(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("CMP.SLE.D %s, %s, %s", fd, fs, ft); + return img_format("CMP.SLE.D %s, %s, %s", fd, fs, ft); } @@ -4288,7 +4273,7 @@ std::string NMD::CMP_SLE_S(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("CMP.SLE.S %s, %s, %s", fd, fs, ft); + return img_format("CMP.SLE.S %s, %s, %s", fd, fs, ft); } @@ -4312,7 +4297,7 @@ std::string NMD::CMP_SLT_D(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("CMP.SLT.D %s, %s, %s", fd, fs, ft); + return img_format("CMP.SLT.D %s, %s, %s", fd, fs, ft); } @@ -4336,7 +4321,7 @@ std::string NMD::CMP_SLT_S(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("CMP.SLT.S %s, %s, %s", fd, fs, ft); + return img_format("CMP.SLT.S %s, %s, %s", fd, fs, ft); } @@ -4360,7 +4345,7 @@ std::string NMD::CMP_SNE_D(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("CMP.SNE.D %s, %s, %s", fd, fs, ft); + return img_format("CMP.SNE.D %s, %s, %s", fd, fs, ft); } @@ -4384,7 +4369,7 @@ std::string NMD::CMP_SNE_S(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("CMP.SNE.S %s, %s, %s", fd, fs, ft); + return img_format("CMP.SNE.S %s, %s, %s", fd, fs, ft); } @@ -4408,7 +4393,7 @@ std::string NMD::CMP_SOR_D(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("CMP.SOR.D %s, %s, %s", fd, fs, ft); + return img_format("CMP.SOR.D %s, %s, %s", fd, fs, ft); } @@ -4432,7 +4417,7 @@ std::string NMD::CMP_SOR_S(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("CMP.SOR.S %s, %s, %s", fd, fs, ft); + return img_format("CMP.SOR.S %s, %s, %s", fd, fs, ft); } @@ -4456,7 +4441,7 @@ std::string NMD::CMP_SUEQ_D(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("CMP.SUEQ.D %s, %s, %s", fd, fs, ft); + return img_format("CMP.SUEQ.D %s, %s, %s", fd, fs, ft); } @@ -4480,7 +4465,7 @@ std::string NMD::CMP_SUEQ_S(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("CMP.SUEQ.S %s, %s, %s", fd, fs, ft); + return img_format("CMP.SUEQ.S %s, %s, %s", fd, fs, ft); } @@ -4504,7 +4489,7 @@ std::string NMD::CMP_SULE_D(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("CMP.SULE.D %s, %s, %s", fd, fs, ft); + return img_format("CMP.SULE.D %s, %s, %s", fd, fs, ft); } @@ -4528,7 +4513,7 @@ std::string NMD::CMP_SULE_S(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("CMP.SULE.S %s, %s, %s", fd, fs, ft); + return img_format("CMP.SULE.S %s, %s, %s", fd, fs, ft); } @@ -4552,7 +4537,7 @@ std::string NMD::CMP_SULT_D(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("CMP.SULT.D %s, %s, %s", fd, fs, ft); + return img_format("CMP.SULT.D %s, %s, %s", fd, fs, ft); } @@ -4576,7 +4561,7 @@ std::string NMD::CMP_SULT_S(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("CMP.SULT.S %s, %s, %s", fd, fs, ft); + return img_format("CMP.SULT.S %s, %s, %s", fd, fs, ft); } @@ -4600,7 +4585,7 @@ std::string NMD::CMP_SUN_D(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("CMP.SUN.D %s, %s, %s", fd, fs, ft); + return img_format("CMP.SUN.D %s, %s, %s", fd, fs, ft); } @@ -4624,7 +4609,7 @@ std::string NMD::CMP_SUNE_D(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("CMP.SUNE.D %s, %s, %s", fd, fs, ft); + return img_format("CMP.SUNE.D %s, %s, %s", fd, fs, ft); } @@ -4648,7 +4633,7 @@ std::string NMD::CMP_SUNE_S(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("CMP.SUNE.S %s, %s, %s", fd, fs, ft); + return img_format("CMP.SUNE.S %s, %s, %s", fd, fs, ft); } @@ -4672,7 +4657,7 @@ std::string NMD::CMP_SUN_S(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("CMP.SUN.S %s, %s, %s", fd, fs, ft); + return img_format("CMP.SUN.S %s, %s, %s", fd, fs, ft); } @@ -4696,7 +4681,7 @@ std::string NMD::CMP_UEQ_D(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("CMP.UEQ.D %s, %s, %s", fd, fs, ft); + return img_format("CMP.UEQ.D %s, %s, %s", fd, fs, ft); } @@ -4720,7 +4705,7 @@ std::string NMD::CMP_UEQ_S(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("CMP.UEQ.S %s, %s, %s", fd, fs, ft); + return img_format("CMP.UEQ.S %s, %s, %s", fd, fs, ft); } @@ -4744,7 +4729,7 @@ std::string NMD::CMP_ULE_D(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("CMP.ULE.D %s, %s, %s", fd, fs, ft); + return img_format("CMP.ULE.D %s, %s, %s", fd, fs, ft); } @@ -4768,7 +4753,7 @@ std::string NMD::CMP_ULE_S(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("CMP.ULE.S %s, %s, %s", fd, fs, ft); + return img_format("CMP.ULE.S %s, %s, %s", fd, fs, ft); } @@ -4792,7 +4777,7 @@ std::string NMD::CMP_ULT_D(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("CMP.ULT.D %s, %s, %s", fd, fs, ft); + return img_format("CMP.ULT.D %s, %s, %s", fd, fs, ft); } @@ -4816,7 +4801,7 @@ std::string NMD::CMP_ULT_S(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("CMP.ULT.S %s, %s, %s", fd, fs, ft); + return img_format("CMP.ULT.S %s, %s, %s", fd, fs, ft); } @@ -4840,7 +4825,7 @@ std::string NMD::CMP_UN_D(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("CMP.UN.D %s, %s, %s", fd, fs, ft); + return img_format("CMP.UN.D %s, %s, %s", fd, fs, ft); } @@ -4864,7 +4849,7 @@ std::string NMD::CMP_UNE_D(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("CMP.UNE.D %s, %s, %s", fd, fs, ft); + return img_format("CMP.UNE.D %s, %s, %s", fd, fs, ft); } @@ -4888,7 +4873,7 @@ std::string NMD::CMP_UNE_S(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("CMP.UNE.S %s, %s, %s", fd, fs, ft); + return img_format("CMP.UNE.S %s, %s, %s", fd, fs, ft); } @@ -4912,7 +4897,7 @@ std::string NMD::CMP_UN_S(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("CMP.UN.S %s, %s, %s", fd, fs, ft); + return img_format("CMP.UN.S %s, %s, %s", fd, fs, ft); } @@ -4937,7 +4922,7 @@ std::string NMD::CMPGDU_EQ_QB(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("CMPGDU.EQ.QB %s, %s, %s", rd, rs, rt); + return img_format("CMPGDU.EQ.QB %s, %s, %s", rd, rs, rt); } @@ -4962,7 +4947,7 @@ std::string NMD::CMPGDU_LE_QB(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("CMPGDU.LE.QB %s, %s, %s", rd, rs, rt); + return img_format("CMPGDU.LE.QB %s, %s, %s", rd, rs, rt); } @@ -4987,7 +4972,7 @@ std::string NMD::CMPGDU_LT_QB(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("CMPGDU.LT.QB %s, %s, %s", rd, rs, rt); + return img_format("CMPGDU.LT.QB %s, %s, %s", rd, rs, rt); } @@ -5012,7 +4997,7 @@ std::string NMD::CMPGU_EQ_QB(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("CMPGU.EQ.QB %s, %s, %s", rd, rs, rt); + return img_format("CMPGU.EQ.QB %s, %s, %s", rd, rs, rt); } @@ -5037,7 +5022,7 @@ std::string NMD::CMPGU_LE_QB(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("CMPGU.LE.QB %s, %s, %s", rd, rs, rt); + return img_format("CMPGU.LE.QB %s, %s, %s", rd, rs, rt); } @@ -5062,7 +5047,7 @@ std::string NMD::CMPGU_LT_QB(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("CMPGU.LT.QB %s, %s, %s", rd, rs, rt); + return img_format("CMPGU.LT.QB %s, %s, %s", rd, rs, rt); } @@ -5084,7 +5069,7 @@ std::string NMD::CMPU_EQ_QB(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("CMPU.EQ.QB %s, %s", rs, rt); + return img_format("CMPU.EQ.QB %s, %s", rs, rt); } @@ -5106,7 +5091,7 @@ std::string NMD::CMPU_LE_QB(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("CMPU.LE.QB %s, %s", rs, rt); + return img_format("CMPU.LE.QB %s, %s", rs, rt); } @@ -5128,7 +5113,7 @@ std::string NMD::CMPU_LT_QB(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("CMPU.LT.QB %s, %s", rs, rt); + return img_format("CMPU.LT.QB %s, %s", rs, rt); } @@ -5148,7 +5133,7 @@ std::string NMD::COP2_1(uint64 instruction) std::string cofun = IMMEDIATE(copy(cofun_value)); - return img::format("COP2_1 %s", cofun); + return img_format("COP2_1 %s", cofun); } @@ -5170,7 +5155,7 @@ std::string NMD::CTC1(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string cs = CPR(copy(cs_value)); - return img::format("CTC1 %s, %s", rt, cs); + return img_format("CTC1 %s, %s", rt, cs); } @@ -5192,7 +5177,7 @@ std::string NMD::CTC2(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string cs = CPR(copy(cs_value)); - return img::format("CTC2 %s, %s", rt, cs); + return img_format("CTC2 %s, %s", rt, cs); } @@ -5214,7 +5199,7 @@ std::string NMD::CVT_D_L(uint64 instruction) std::string ft = FPR(copy(ft_value)); std::string fs = FPR(copy(fs_value)); - return img::format("CVT.D.L %s, %s", ft, fs); + return img_format("CVT.D.L %s, %s", ft, fs); } @@ -5236,7 +5221,7 @@ std::string NMD::CVT_D_S(uint64 instruction) std::string ft = FPR(copy(ft_value)); std::string fs = FPR(copy(fs_value)); - return img::format("CVT.D.S %s, %s", ft, fs); + return img_format("CVT.D.S %s, %s", ft, fs); } @@ -5258,7 +5243,7 @@ std::string NMD::CVT_D_W(uint64 instruction) std::string ft = FPR(copy(ft_value)); std::string fs = FPR(copy(fs_value)); - return img::format("CVT.D.W %s, %s", ft, fs); + return img_format("CVT.D.W %s, %s", ft, fs); } @@ -5280,7 +5265,7 @@ std::string NMD::CVT_L_D(uint64 instruction) std::string ft = FPR(copy(ft_value)); std::string fs = FPR(copy(fs_value)); - return img::format("CVT.L.D %s, %s", ft, fs); + return img_format("CVT.L.D %s, %s", ft, fs); } @@ -5302,7 +5287,7 @@ std::string NMD::CVT_L_S(uint64 instruction) std::string ft = FPR(copy(ft_value)); std::string fs = FPR(copy(fs_value)); - return img::format("CVT.L.S %s, %s", ft, fs); + return img_format("CVT.L.S %s, %s", ft, fs); } @@ -5324,7 +5309,7 @@ std::string NMD::CVT_S_D(uint64 instruction) std::string ft = FPR(copy(ft_value)); std::string fs = FPR(copy(fs_value)); - return img::format("CVT.S.D %s, %s", ft, fs); + return img_format("CVT.S.D %s, %s", ft, fs); } @@ -5346,7 +5331,7 @@ std::string NMD::CVT_S_L(uint64 instruction) std::string ft = FPR(copy(ft_value)); std::string fs = FPR(copy(fs_value)); - return img::format("CVT.S.L %s, %s", ft, fs); + return img_format("CVT.S.L %s, %s", ft, fs); } @@ -5368,7 +5353,7 @@ std::string NMD::CVT_S_PL(uint64 instruction) std::string ft = FPR(copy(ft_value)); std::string fs = FPR(copy(fs_value)); - return img::format("CVT.S.PL %s, %s", ft, fs); + return img_format("CVT.S.PL %s, %s", ft, fs); } @@ -5390,7 +5375,7 @@ std::string NMD::CVT_S_PU(uint64 instruction) std::string ft = FPR(copy(ft_value)); std::string fs = FPR(copy(fs_value)); - return img::format("CVT.S.PU %s, %s", ft, fs); + return img_format("CVT.S.PU %s, %s", ft, fs); } @@ -5412,7 +5397,7 @@ std::string NMD::CVT_S_W(uint64 instruction) std::string ft = FPR(copy(ft_value)); std::string fs = FPR(copy(fs_value)); - return img::format("CVT.S.W %s, %s", ft, fs); + return img_format("CVT.S.W %s, %s", ft, fs); } @@ -5434,7 +5419,7 @@ std::string NMD::CVT_W_D(uint64 instruction) std::string ft = FPR(copy(ft_value)); std::string fs = FPR(copy(fs_value)); - return img::format("CVT.W.D %s, %s", ft, fs); + return img_format("CVT.W.D %s, %s", ft, fs); } @@ -5456,7 +5441,7 @@ std::string NMD::CVT_W_S(uint64 instruction) std::string ft = FPR(copy(ft_value)); std::string fs = FPR(copy(fs_value)); - return img::format("CVT.W.S %s, %s", ft, fs); + return img_format("CVT.W.S %s, %s", ft, fs); } @@ -5478,7 +5463,7 @@ std::string NMD::DADDIU_48_(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string s = IMMEDIATE(copy(s_value)); - return img::format("DADDIU %s, %s", rt, s); + return img_format("DADDIU %s, %s", rt, s); } @@ -5502,7 +5487,7 @@ std::string NMD::DADDIU_NEG_(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string u = IMMEDIATE(neg_copy(u_value)); - return img::format("DADDIU %s, %s, %s", rt, rs, u); + return img_format("DADDIU %s, %s, %s", rt, rs, u); } @@ -5526,7 +5511,7 @@ std::string NMD::DADDIU_U12_(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string u = IMMEDIATE(copy(u_value)); - return img::format("DADDIU %s, %s, %s", rt, rs, u); + return img_format("DADDIU %s, %s, %s", rt, rs, u); } @@ -5550,7 +5535,7 @@ std::string NMD::DADD(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("DADD %s, %s, %s", rd, rs, rt); + return img_format("DADD %s, %s, %s", rd, rs, rt); } @@ -5574,7 +5559,7 @@ std::string NMD::DADDU(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("DADDU %s, %s, %s", rd, rs, rt); + return img_format("DADDU %s, %s, %s", rd, rs, rt); } @@ -5596,7 +5581,7 @@ std::string NMD::DCLO(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string rs = GPR(copy(rs_value)); - return img::format("DCLO %s, %s", rt, rs); + return img_format("DCLO %s, %s", rt, rs); } @@ -5618,7 +5603,7 @@ std::string NMD::DCLZ(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string rs = GPR(copy(rs_value)); - return img::format("DCLZ %s, %s", rt, rs); + return img_format("DCLZ %s, %s", rt, rs); } @@ -5642,7 +5627,7 @@ std::string NMD::DDIV(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("DDIV %s, %s, %s", rd, rs, rt); + return img_format("DDIV %s, %s, %s", rd, rs, rt); } @@ -5666,7 +5651,7 @@ std::string NMD::DDIVU(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("DDIVU %s, %s, %s", rd, rs, rt); + return img_format("DDIVU %s, %s, %s", rd, rs, rt); } @@ -5710,7 +5695,7 @@ std::string NMD::DEXTM(uint64 instruction) std::string lsb = IMMEDIATE(copy(lsb_value)); std::string msbd = IMMEDIATE(encode_msbd_from_size(msbd_value)); - return img::format("DEXTM %s, %s, %s, %s", rt, rs, lsb, msbd); + return img_format("DEXTM %s, %s, %s, %s", rt, rs, lsb, msbd); } @@ -5736,7 +5721,7 @@ std::string NMD::DEXT(uint64 instruction) std::string lsb = IMMEDIATE(copy(lsb_value)); std::string msbd = IMMEDIATE(encode_msbd_from_size(msbd_value)); - return img::format("DEXT %s, %s, %s, %s", rt, rs, lsb, msbd); + return img_format("DEXT %s, %s, %s, %s", rt, rs, lsb, msbd); } @@ -5762,7 +5747,7 @@ std::string NMD::DEXTU(uint64 instruction) std::string lsb = IMMEDIATE(copy(lsb_value)); std::string msbd = IMMEDIATE(encode_msbd_from_size(msbd_value)); - return img::format("DEXTU %s, %s, %s, %s", rt, rs, lsb, msbd); + return img_format("DEXTU %s, %s, %s, %s", rt, rs, lsb, msbd); } @@ -5789,7 +5774,7 @@ std::string NMD::DINSM(uint64 instruction) std::string size = IMMEDIATE(encode_lsb_from_pos_and_size(msbd_value)); /* !!!!!!!!!! - no conversion function */ - return img::format("DINSM %s, %s, %s, %s", rt, rs, pos, size); + return img_format("DINSM %s, %s, %s, %s", rt, rs, pos, size); /* hand edited */ } @@ -5817,7 +5802,7 @@ std::string NMD::DINS(uint64 instruction) std::string size = IMMEDIATE(encode_lsb_from_pos_and_size(msbd_value)); /* !!!!!!!!!! - no conversion function */ - return img::format("DINS %s, %s, %s, %s", rt, rs, pos, size); + return img_format("DINS %s, %s, %s, %s", rt, rs, pos, size); /* hand edited */ } @@ -5845,7 +5830,7 @@ std::string NMD::DINSU(uint64 instruction) std::string size = IMMEDIATE(encode_lsb_from_pos_and_size(msbd_value)); /* !!!!!!!!!! - no conversion function */ - return img::format("DINSU %s, %s, %s, %s", rt, rs, pos, size); + return img_format("DINSU %s, %s, %s, %s", rt, rs, pos, size); /* hand edited */ } @@ -5866,7 +5851,7 @@ std::string NMD::DI(uint64 instruction) std::string rt = GPR(copy(rt_value)); - return img::format("DI %s", rt); + return img_format("DI %s", rt); } @@ -5890,7 +5875,7 @@ std::string NMD::DIV(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("DIV %s, %s, %s", rd, rs, rt); + return img_format("DIV %s, %s, %s", rd, rs, rt); } @@ -5914,7 +5899,7 @@ std::string NMD::DIV_D(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("DIV.D %s, %s, %s", fd, fs, ft); + return img_format("DIV.D %s, %s, %s", fd, fs, ft); } @@ -5938,7 +5923,7 @@ std::string NMD::DIV_S(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("DIV.S %s, %s, %s", fd, fs, ft); + return img_format("DIV.S %s, %s, %s", fd, fs, ft); } @@ -5962,7 +5947,7 @@ std::string NMD::DIVU(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("DIVU %s, %s, %s", rd, rs, rt); + return img_format("DIVU %s, %s, %s", rd, rs, rt); } @@ -5988,7 +5973,7 @@ std::string NMD::DLSA(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string u2 = IMMEDIATE(copy(u2_value)); - return img::format("DLSA %s, %s, %s, %s", rd, rs, rt, u2); + return img_format("DLSA %s, %s, %s, %s", rd, rs, rt, u2); } @@ -6010,7 +5995,7 @@ std::string NMD::DLUI_48_(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string u = IMMEDIATE(copy(u_value)); - return img::format("DLUI %s, %s", rt, u); + return img_format("DLUI %s, %s", rt, u); } @@ -6034,7 +6019,7 @@ std::string NMD::DMFC0(uint64 instruction) std::string c0s = CPR(copy(c0s_value)); std::string sel = IMMEDIATE(copy(sel_value)); - return img::format("DMFC0 %s, %s, %s", rt, c0s, sel); + return img_format("DMFC0 %s, %s, %s", rt, c0s, sel); } @@ -6056,7 +6041,7 @@ std::string NMD::DMFC1(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string fs = FPR(copy(fs_value)); - return img::format("DMFC1 %s, %s", rt, fs); + return img_format("DMFC1 %s, %s", rt, fs); } @@ -6078,7 +6063,7 @@ std::string NMD::DMFC2(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string cs = CPR(copy(cs_value)); - return img::format("DMFC2 %s, %s", rt, cs); + return img_format("DMFC2 %s, %s", rt, cs); } @@ -6102,7 +6087,7 @@ std::string NMD::DMFGC0(uint64 instruction) std::string c0s = CPR(copy(c0s_value)); std::string sel = IMMEDIATE(copy(sel_value)); - return img::format("DMFGC0 %s, %s, %s", rt, c0s, sel); + return img_format("DMFGC0 %s, %s, %s", rt, c0s, sel); } @@ -6126,7 +6111,7 @@ std::string NMD::DMOD(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("DMOD %s, %s, %s", rd, rs, rt); + return img_format("DMOD %s, %s, %s", rd, rs, rt); } @@ -6150,7 +6135,7 @@ std::string NMD::DMODU(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("DMODU %s, %s, %s", rd, rs, rt); + return img_format("DMODU %s, %s, %s", rd, rs, rt); } @@ -6174,7 +6159,7 @@ std::string NMD::DMTC0(uint64 instruction) std::string c0s = CPR(copy(c0s_value)); std::string sel = IMMEDIATE(copy(sel_value)); - return img::format("DMTC0 %s, %s, %s", rt, c0s, sel); + return img_format("DMTC0 %s, %s, %s", rt, c0s, sel); } @@ -6196,7 +6181,7 @@ std::string NMD::DMTC1(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string fs = FPR(copy(fs_value)); - return img::format("DMTC1 %s, %s", rt, fs); + return img_format("DMTC1 %s, %s", rt, fs); } @@ -6218,7 +6203,7 @@ std::string NMD::DMTC2(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string cs = CPR(copy(cs_value)); - return img::format("DMTC2 %s, %s", rt, cs); + return img_format("DMTC2 %s, %s", rt, cs); } @@ -6242,7 +6227,7 @@ std::string NMD::DMTGC0(uint64 instruction) std::string c0s = CPR(copy(c0s_value)); std::string sel = IMMEDIATE(copy(sel_value)); - return img::format("DMTGC0 %s, %s, %s", rt, c0s, sel); + return img_format("DMTGC0 %s, %s, %s", rt, c0s, sel); } @@ -6262,7 +6247,7 @@ std::string NMD::DMT(uint64 instruction) std::string rt = GPR(copy(rt_value)); - return img::format("DMT %s", rt); + return img_format("DMT %s", rt); } @@ -6286,7 +6271,7 @@ std::string NMD::DMUH(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("DMUH %s, %s, %s", rd, rs, rt); + return img_format("DMUH %s, %s, %s", rd, rs, rt); } @@ -6310,7 +6295,7 @@ std::string NMD::DMUHU(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("DMUHU %s, %s, %s", rd, rs, rt); + return img_format("DMUHU %s, %s, %s", rd, rs, rt); } @@ -6334,7 +6319,7 @@ std::string NMD::DMUL(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("DMUL %s, %s, %s", rd, rs, rt); + return img_format("DMUL %s, %s, %s", rd, rs, rt); } @@ -6358,7 +6343,7 @@ std::string NMD::DMULU(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("DMULU %s, %s, %s", rd, rs, rt); + return img_format("DMULU %s, %s, %s", rd, rs, rt); } @@ -6383,7 +6368,7 @@ std::string NMD::DPA_W_PH(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("DPA.W.PH %s, %s, %s", ac, rs, rt); + return img_format("DPA.W.PH %s, %s, %s", ac, rs, rt); } @@ -6407,7 +6392,7 @@ std::string NMD::DPAQ_SA_L_W(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("DPAQ_SA.L.W %s, %s, %s", ac, rs, rt); + return img_format("DPAQ_SA.L.W %s, %s, %s", ac, rs, rt); } @@ -6431,7 +6416,7 @@ std::string NMD::DPAQ_S_W_PH(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("DPAQ_S.W.PH %s, %s, %s", ac, rs, rt); + return img_format("DPAQ_S.W.PH %s, %s, %s", ac, rs, rt); } @@ -6455,7 +6440,7 @@ std::string NMD::DPAQX_SA_W_PH(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("DPAQX_SA.W.PH %s, %s, %s", ac, rs, rt); + return img_format("DPAQX_SA.W.PH %s, %s, %s", ac, rs, rt); } @@ -6479,7 +6464,7 @@ std::string NMD::DPAQX_S_W_PH(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("DPAQX_S.W.PH %s, %s, %s", ac, rs, rt); + return img_format("DPAQX_S.W.PH %s, %s, %s", ac, rs, rt); } @@ -6503,7 +6488,7 @@ std::string NMD::DPAU_H_QBL(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("DPAU.H.QBL %s, %s, %s", ac, rs, rt); + return img_format("DPAU.H.QBL %s, %s, %s", ac, rs, rt); } @@ -6527,7 +6512,7 @@ std::string NMD::DPAU_H_QBR(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("DPAU.H.QBR %s, %s, %s", ac, rs, rt); + return img_format("DPAU.H.QBR %s, %s, %s", ac, rs, rt); } @@ -6551,7 +6536,7 @@ std::string NMD::DPAX_W_PH(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("DPAX.W.PH %s, %s, %s", ac, rs, rt); + return img_format("DPAX.W.PH %s, %s, %s", ac, rs, rt); } @@ -6575,7 +6560,7 @@ std::string NMD::DPS_W_PH(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("DPS.W.PH %s, %s, %s", ac, rs, rt); + return img_format("DPS.W.PH %s, %s, %s", ac, rs, rt); } @@ -6599,7 +6584,7 @@ std::string NMD::DPSQ_SA_L_W(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("DPSQ_SA.L.W %s, %s, %s", ac, rs, rt); + return img_format("DPSQ_SA.L.W %s, %s, %s", ac, rs, rt); } @@ -6623,7 +6608,7 @@ std::string NMD::DPSQ_S_W_PH(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("DPSQ_S.W.PH %s, %s, %s", ac, rs, rt); + return img_format("DPSQ_S.W.PH %s, %s, %s", ac, rs, rt); } @@ -6647,7 +6632,7 @@ std::string NMD::DPSQX_SA_W_PH(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("DPSQX_SA.W.PH %s, %s, %s", ac, rs, rt); + return img_format("DPSQX_SA.W.PH %s, %s, %s", ac, rs, rt); } @@ -6671,7 +6656,7 @@ std::string NMD::DPSQX_S_W_PH(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("DPSQX_S.W.PH %s, %s, %s", ac, rs, rt); + return img_format("DPSQX_S.W.PH %s, %s, %s", ac, rs, rt); } @@ -6695,7 +6680,7 @@ std::string NMD::DPSU_H_QBL(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("DPSU.H.QBL %s, %s, %s", ac, rs, rt); + return img_format("DPSU.H.QBL %s, %s, %s", ac, rs, rt); } @@ -6719,7 +6704,7 @@ std::string NMD::DPSU_H_QBR(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("DPSU.H.QBR %s, %s, %s", ac, rs, rt); + return img_format("DPSU.H.QBR %s, %s, %s", ac, rs, rt); } @@ -6743,7 +6728,7 @@ std::string NMD::DPSX_W_PH(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("DPSX.W.PH %s, %s, %s", ac, rs, rt); + return img_format("DPSX.W.PH %s, %s, %s", ac, rs, rt); } @@ -6767,7 +6752,7 @@ std::string NMD::DROTR(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string shift = IMMEDIATE(copy(shift_value)); - return img::format("DROTR %s, %s, %s", rt, rs, shift); + return img_format("DROTR %s, %s, %s", rt, rs, shift); } @@ -6791,7 +6776,7 @@ std::string NMD::DROTR32(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string shift = IMMEDIATE(copy(shift_value)); - return img::format("DROTR32 %s, %s, %s", rt, rs, shift); + return img_format("DROTR32 %s, %s, %s", rt, rs, shift); } @@ -6815,7 +6800,7 @@ std::string NMD::DROTRV(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("DROTRV %s, %s, %s", rd, rs, rt); + return img_format("DROTRV %s, %s, %s", rd, rs, rt); } @@ -6841,7 +6826,7 @@ std::string NMD::DROTX(uint64 instruction) std::string shift = IMMEDIATE(copy(shift_value)); std::string shiftx = IMMEDIATE(copy(shiftx_value)); - return img::format("DROTX %s, %s, %s, %s", rt, rs, shift, shiftx); + return img_format("DROTX %s, %s, %s, %s", rt, rs, shift, shiftx); } @@ -6865,7 +6850,7 @@ std::string NMD::DSLL(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string shift = IMMEDIATE(copy(shift_value)); - return img::format("DSLL %s, %s, %s", rt, rs, shift); + return img_format("DSLL %s, %s, %s", rt, rs, shift); } @@ -6889,7 +6874,7 @@ std::string NMD::DSLL32(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string shift = IMMEDIATE(copy(shift_value)); - return img::format("DSLL32 %s, %s, %s", rt, rs, shift); + return img_format("DSLL32 %s, %s, %s", rt, rs, shift); } @@ -6913,7 +6898,7 @@ std::string NMD::DSLLV(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("DSLLV %s, %s, %s", rd, rs, rt); + return img_format("DSLLV %s, %s, %s", rd, rs, rt); } @@ -6937,7 +6922,7 @@ std::string NMD::DSRA(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string shift = IMMEDIATE(copy(shift_value)); - return img::format("DSRA %s, %s, %s", rt, rs, shift); + return img_format("DSRA %s, %s, %s", rt, rs, shift); } @@ -6961,7 +6946,7 @@ std::string NMD::DSRA32(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string shift = IMMEDIATE(copy(shift_value)); - return img::format("DSRA32 %s, %s, %s", rt, rs, shift); + return img_format("DSRA32 %s, %s, %s", rt, rs, shift); } @@ -6985,7 +6970,7 @@ std::string NMD::DSRAV(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("DSRAV %s, %s, %s", rd, rs, rt); + return img_format("DSRAV %s, %s, %s", rd, rs, rt); } @@ -7009,7 +6994,7 @@ std::string NMD::DSRL(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string shift = IMMEDIATE(copy(shift_value)); - return img::format("DSRL %s, %s, %s", rt, rs, shift); + return img_format("DSRL %s, %s, %s", rt, rs, shift); } @@ -7033,7 +7018,7 @@ std::string NMD::DSRL32(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string shift = IMMEDIATE(copy(shift_value)); - return img::format("DSRL32 %s, %s, %s", rt, rs, shift); + return img_format("DSRL32 %s, %s, %s", rt, rs, shift); } @@ -7057,7 +7042,7 @@ std::string NMD::DSRLV(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("DSRLV %s, %s, %s", rd, rs, rt); + return img_format("DSRLV %s, %s, %s", rd, rs, rt); } @@ -7081,7 +7066,7 @@ std::string NMD::DSUB(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("DSUB %s, %s, %s", rd, rs, rt); + return img_format("DSUB %s, %s, %s", rd, rs, rt); } @@ -7105,7 +7090,7 @@ std::string NMD::DSUBU(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("DSUBU %s, %s, %s", rd, rs, rt); + return img_format("DSUBU %s, %s, %s", rd, rs, rt); } @@ -7125,7 +7110,7 @@ std::string NMD::DVPE(uint64 instruction) std::string rt = GPR(copy(rt_value)); - return img::format("DVPE %s", rt); + return img_format("DVPE %s", rt); } @@ -7145,7 +7130,7 @@ std::string NMD::DVP(uint64 instruction) std::string rt = GPR(copy(rt_value)); - return img::format("DVP %s", rt); + return img_format("DVP %s", rt); } @@ -7183,7 +7168,7 @@ std::string NMD::EI(uint64 instruction) std::string rt = GPR(copy(rt_value)); - return img::format("EI %s", rt); + return img_format("EI %s", rt); } @@ -7203,7 +7188,7 @@ std::string NMD::EMT(uint64 instruction) std::string rt = GPR(copy(rt_value)); - return img::format("EMT %s", rt); + return img_format("EMT %s", rt); } @@ -7259,7 +7244,7 @@ std::string NMD::EVP(uint64 instruction) std::string rt = GPR(copy(rt_value)); - return img::format("EVP %s", rt); + return img_format("EVP %s", rt); } @@ -7279,7 +7264,7 @@ std::string NMD::EVPE(uint64 instruction) std::string rt = GPR(copy(rt_value)); - return img::format("EVPE %s", rt); + return img_format("EVPE %s", rt); } @@ -7305,7 +7290,7 @@ std::string NMD::EXT(uint64 instruction) std::string lsb = IMMEDIATE(copy(lsb_value)); std::string msbd = IMMEDIATE(encode_msbd_from_size(msbd_value)); - return img::format("EXT %s, %s, %s, %s", rt, rs, lsb, msbd); + return img_format("EXT %s, %s, %s, %s", rt, rs, lsb, msbd); } @@ -7331,7 +7316,7 @@ std::string NMD::EXTD(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string shift = IMMEDIATE(copy(shift_value)); - return img::format("EXTD %s, %s, %s, %s", rd, rs, rt, shift); + return img_format("EXTD %s, %s, %s, %s", rd, rs, rt, shift); } @@ -7357,7 +7342,7 @@ std::string NMD::EXTD32(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string shift = IMMEDIATE(copy(shift_value)); - return img::format("EXTD32 %s, %s, %s, %s", rd, rs, rt, shift); + return img_format("EXTD32 %s, %s, %s, %s", rd, rs, rt, shift); } @@ -7381,7 +7366,7 @@ std::string NMD::EXTPDP(uint64 instruction) std::string ac = AC(copy(ac_value)); std::string size = IMMEDIATE(copy(size_value)); - return img::format("EXTPDP %s, %s, %s", rt, ac, size); + return img_format("EXTPDP %s, %s, %s", rt, ac, size); } @@ -7405,7 +7390,7 @@ std::string NMD::EXTPDPV(uint64 instruction) std::string ac = AC(copy(ac_value)); std::string rs = GPR(copy(rs_value)); - return img::format("EXTPDPV %s, %s, %s", rt, ac, rs); + return img_format("EXTPDPV %s, %s, %s", rt, ac, rs); } @@ -7429,7 +7414,7 @@ std::string NMD::EXTP(uint64 instruction) std::string ac = AC(copy(ac_value)); std::string size = IMMEDIATE(copy(size_value)); - return img::format("EXTP %s, %s, %s", rt, ac, size); + return img_format("EXTP %s, %s, %s", rt, ac, size); } @@ -7453,7 +7438,7 @@ std::string NMD::EXTPV(uint64 instruction) std::string ac = AC(copy(ac_value)); std::string rs = GPR(copy(rs_value)); - return img::format("EXTPV %s, %s, %s", rt, ac, rs); + return img_format("EXTPV %s, %s, %s", rt, ac, rs); } @@ -7478,7 +7463,7 @@ std::string NMD::EXTR_RS_W(uint64 instruction) std::string ac = AC(copy(ac_value)); std::string shift = IMMEDIATE(copy(shift_value)); - return img::format("EXTR_RS.W %s, %s, %s", rt, ac, shift); + return img_format("EXTR_RS.W %s, %s, %s", rt, ac, shift); } @@ -7503,7 +7488,7 @@ std::string NMD::EXTR_R_W(uint64 instruction) std::string ac = AC(copy(ac_value)); std::string shift = IMMEDIATE(copy(shift_value)); - return img::format("EXTR_R.W %s, %s, %s", rt, ac, shift); + return img_format("EXTR_R.W %s, %s, %s", rt, ac, shift); } @@ -7528,7 +7513,7 @@ std::string NMD::EXTR_S_H(uint64 instruction) std::string ac = AC(copy(ac_value)); std::string shift = IMMEDIATE(copy(shift_value)); - return img::format("EXTR_S.H %s, %s, %s", rt, ac, shift); + return img_format("EXTR_S.H %s, %s, %s", rt, ac, shift); } @@ -7553,7 +7538,7 @@ std::string NMD::EXTR_W(uint64 instruction) std::string ac = AC(copy(ac_value)); std::string shift = IMMEDIATE(copy(shift_value)); - return img::format("EXTR.W %s, %s, %s", rt, ac, shift); + return img_format("EXTR.W %s, %s, %s", rt, ac, shift); } @@ -7578,7 +7563,7 @@ std::string NMD::EXTRV_RS_W(uint64 instruction) std::string ac = AC(copy(ac_value)); std::string rs = GPR(copy(rs_value)); - return img::format("EXTRV_RS.W %s, %s, %s", rt, ac, rs); + return img_format("EXTRV_RS.W %s, %s, %s", rt, ac, rs); } @@ -7603,7 +7588,7 @@ std::string NMD::EXTRV_R_W(uint64 instruction) std::string ac = AC(copy(ac_value)); std::string rs = GPR(copy(rs_value)); - return img::format("EXTRV_R.W %s, %s, %s", rt, ac, rs); + return img_format("EXTRV_R.W %s, %s, %s", rt, ac, rs); } @@ -7628,7 +7613,7 @@ std::string NMD::EXTRV_S_H(uint64 instruction) std::string ac = AC(copy(ac_value)); std::string rs = GPR(copy(rs_value)); - return img::format("EXTRV_S.H %s, %s, %s", rt, ac, rs); + return img_format("EXTRV_S.H %s, %s, %s", rt, ac, rs); } @@ -7653,7 +7638,7 @@ std::string NMD::EXTRV_W(uint64 instruction) std::string ac = AC(copy(ac_value)); std::string rs = GPR(copy(rs_value)); - return img::format("EXTRV.W %s, %s, %s", rt, ac, rs); + return img_format("EXTRV.W %s, %s, %s", rt, ac, rs); } @@ -7680,7 +7665,7 @@ std::string NMD::EXTW(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string shift = IMMEDIATE(copy(shift_value)); - return img::format("EXTW %s, %s, %s, %s", rd, rs, rt, shift); + return img_format("EXTW %s, %s, %s, %s", rd, rs, rt, shift); } @@ -7702,7 +7687,7 @@ std::string NMD::FLOOR_L_D(uint64 instruction) std::string ft = FPR(copy(ft_value)); std::string fs = FPR(copy(fs_value)); - return img::format("FLOOR.L.D %s, %s", ft, fs); + return img_format("FLOOR.L.D %s, %s", ft, fs); } @@ -7724,7 +7709,7 @@ std::string NMD::FLOOR_L_S(uint64 instruction) std::string ft = FPR(copy(ft_value)); std::string fs = FPR(copy(fs_value)); - return img::format("FLOOR.L.S %s, %s", ft, fs); + return img_format("FLOOR.L.S %s, %s", ft, fs); } @@ -7746,7 +7731,7 @@ std::string NMD::FLOOR_W_D(uint64 instruction) std::string ft = FPR(copy(ft_value)); std::string fs = FPR(copy(fs_value)); - return img::format("FLOOR.W.D %s, %s", ft, fs); + return img_format("FLOOR.W.D %s, %s", ft, fs); } @@ -7768,7 +7753,7 @@ std::string NMD::FLOOR_W_S(uint64 instruction) std::string ft = FPR(copy(ft_value)); std::string fs = FPR(copy(fs_value)); - return img::format("FLOOR.W.S %s, %s", ft, fs); + return img_format("FLOOR.W.S %s, %s", ft, fs); } @@ -7792,7 +7777,7 @@ std::string NMD::FORK(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("FORK %s, %s, %s", rd, rs, rt); + return img_format("FORK %s, %s, %s", rd, rs, rt); } @@ -7812,7 +7797,7 @@ std::string NMD::HYPCALL(uint64 instruction) std::string code = IMMEDIATE(copy(code_value)); - return img::format("HYPCALL %s", code); + return img_format("HYPCALL %s", code); } @@ -7832,7 +7817,7 @@ std::string NMD::HYPCALL_16_(uint64 instruction) std::string code = IMMEDIATE(copy(code_value)); - return img::format("HYPCALL %s", code); + return img_format("HYPCALL %s", code); } @@ -7859,7 +7844,7 @@ std::string NMD::INS(uint64 instruction) std::string size = IMMEDIATE(encode_lsb_from_pos_and_size(msbd_value)); /* !!!!!!!!!! - no conversion function */ - return img::format("INS %s, %s, %s, %s", rt, rs, pos, size); + return img_format("INS %s, %s, %s, %s", rt, rs, pos, size); /* hand edited */ } @@ -7881,7 +7866,7 @@ std::string NMD::INSV(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string rs = GPR(copy(rs_value)); - return img::format("INSV %s, %s", rt, rs); + return img_format("INSV %s, %s", rt, rs); } @@ -7919,7 +7904,7 @@ std::string NMD::JALRC_16_(uint64 instruction) std::string rt = GPR(copy(rt_value)); - return img::format("JALRC $%d, %s", 31, rt); + return img_format("JALRC $%d, %s", 31, rt); } @@ -7941,7 +7926,7 @@ std::string NMD::JALRC_32_(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string rs = GPR(copy(rs_value)); - return img::format("JALRC %s, %s", rt, rs); + return img_format("JALRC %s, %s", rt, rs); } @@ -7963,7 +7948,7 @@ std::string NMD::JALRC_HB(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string rs = GPR(copy(rs_value)); - return img::format("JALRC.HB %s, %s", rt, rs); + return img_format("JALRC.HB %s, %s", rt, rs); } @@ -7983,7 +7968,7 @@ std::string NMD::JRC(uint64 instruction) std::string rt = GPR(copy(rt_value)); - return img::format("JRC %s", rt); + return img_format("JRC %s", rt); } @@ -8007,7 +7992,7 @@ std::string NMD::LB_16_(uint64 instruction) std::string u = IMMEDIATE(copy(u_value)); std::string rs3 = GPR(decode_gpr_gpr3(rs3_value)); - return img::format("LB %s, %s(%s)", rt3, u, rs3); + return img_format("LB %s, %s(%s)", rt3, u, rs3); } @@ -8029,7 +8014,7 @@ std::string NMD::LB_GP_(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string u = IMMEDIATE(copy(u_value)); - return img::format("LB %s, %s($%d)", rt, u, 28); + return img_format("LB %s, %s($%d)", rt, u, 28); } @@ -8053,7 +8038,7 @@ std::string NMD::LB_S9_(uint64 instruction) std::string s = IMMEDIATE(copy(s_value)); std::string rs = GPR(copy(rs_value)); - return img::format("LB %s, %s(%s)", rt, s, rs); + return img_format("LB %s, %s(%s)", rt, s, rs); } @@ -8077,7 +8062,7 @@ std::string NMD::LB_U12_(uint64 instruction) std::string u = IMMEDIATE(copy(u_value)); std::string rs = GPR(copy(rs_value)); - return img::format("LB %s, %s(%s)", rt, u, rs); + return img_format("LB %s, %s(%s)", rt, u, rs); } @@ -8101,7 +8086,7 @@ std::string NMD::LBE(uint64 instruction) std::string s = IMMEDIATE(copy(s_value)); std::string rs = GPR(copy(rs_value)); - return img::format("LBE %s, %s(%s)", rt, s, rs); + return img_format("LBE %s, %s(%s)", rt, s, rs); } @@ -8125,7 +8110,7 @@ std::string NMD::LBU_16_(uint64 instruction) std::string u = IMMEDIATE(copy(u_value)); std::string rs3 = GPR(decode_gpr_gpr3(rs3_value)); - return img::format("LBU %s, %s(%s)", rt3, u, rs3); + return img_format("LBU %s, %s(%s)", rt3, u, rs3); } @@ -8147,7 +8132,7 @@ std::string NMD::LBU_GP_(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string u = IMMEDIATE(copy(u_value)); - return img::format("LBU %s, %s($%d)", rt, u, 28); + return img_format("LBU %s, %s($%d)", rt, u, 28); } @@ -8171,7 +8156,7 @@ std::string NMD::LBU_S9_(uint64 instruction) std::string s = IMMEDIATE(copy(s_value)); std::string rs = GPR(copy(rs_value)); - return img::format("LBU %s, %s(%s)", rt, s, rs); + return img_format("LBU %s, %s(%s)", rt, s, rs); } @@ -8195,7 +8180,7 @@ std::string NMD::LBU_U12_(uint64 instruction) std::string u = IMMEDIATE(copy(u_value)); std::string rs = GPR(copy(rs_value)); - return img::format("LBU %s, %s(%s)", rt, u, rs); + return img_format("LBU %s, %s(%s)", rt, u, rs); } @@ -8219,7 +8204,7 @@ std::string NMD::LBUE(uint64 instruction) std::string s = IMMEDIATE(copy(s_value)); std::string rs = GPR(copy(rs_value)); - return img::format("LBUE %s, %s(%s)", rt, s, rs); + return img_format("LBUE %s, %s(%s)", rt, s, rs); } @@ -8243,7 +8228,7 @@ std::string NMD::LBUX(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("LBUX %s, %s(%s)", rd, rs, rt); + return img_format("LBUX %s, %s(%s)", rd, rs, rt); } @@ -8267,7 +8252,7 @@ std::string NMD::LBX(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("LBX %s, %s(%s)", rd, rs, rt); + return img_format("LBX %s, %s(%s)", rd, rs, rt); } @@ -8289,7 +8274,7 @@ std::string NMD::LD_GP_(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string u = IMMEDIATE(copy(u_value)); - return img::format("LD %s, %s($%d)", rt, u, 28); + return img_format("LD %s, %s($%d)", rt, u, 28); } @@ -8313,7 +8298,7 @@ std::string NMD::LD_S9_(uint64 instruction) std::string s = IMMEDIATE(copy(s_value)); std::string rs = GPR(copy(rs_value)); - return img::format("LD %s, %s(%s)", rt, s, rs); + return img_format("LD %s, %s(%s)", rt, s, rs); } @@ -8337,7 +8322,7 @@ std::string NMD::LD_U12_(uint64 instruction) std::string u = IMMEDIATE(copy(u_value)); std::string rs = GPR(copy(rs_value)); - return img::format("LD %s, %s(%s)", rt, u, rs); + return img_format("LD %s, %s(%s)", rt, u, rs); } @@ -8359,7 +8344,7 @@ std::string NMD::LDC1_GP_(uint64 instruction) std::string ft = FPR(copy(ft_value)); std::string u = IMMEDIATE(copy(u_value)); - return img::format("LDC1 %s, %s($%d)", ft, u, 28); + return img_format("LDC1 %s, %s($%d)", ft, u, 28); } @@ -8383,7 +8368,7 @@ std::string NMD::LDC1_S9_(uint64 instruction) std::string s = IMMEDIATE(copy(s_value)); std::string rs = GPR(copy(rs_value)); - return img::format("LDC1 %s, %s(%s)", ft, s, rs); + return img_format("LDC1 %s, %s(%s)", ft, s, rs); } @@ -8407,7 +8392,7 @@ std::string NMD::LDC1_U12_(uint64 instruction) std::string u = IMMEDIATE(copy(u_value)); std::string rs = GPR(copy(rs_value)); - return img::format("LDC1 %s, %s(%s)", ft, u, rs); + return img_format("LDC1 %s, %s(%s)", ft, u, rs); } @@ -8431,7 +8416,7 @@ std::string NMD::LDC1XS(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("LDC1XS %s, %s(%s)", ft, rs, rt); + return img_format("LDC1XS %s, %s(%s)", ft, rs, rt); } @@ -8455,7 +8440,7 @@ std::string NMD::LDC1X(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("LDC1X %s, %s(%s)", ft, rs, rt); + return img_format("LDC1X %s, %s(%s)", ft, rs, rt); } @@ -8479,7 +8464,7 @@ std::string NMD::LDC2(uint64 instruction) std::string s = IMMEDIATE(copy(s_value)); std::string rs = GPR(copy(rs_value)); - return img::format("LDC2 %s, %s(%s)", ct, s, rs); + return img_format("LDC2 %s, %s(%s)", ct, s, rs); } @@ -8505,7 +8490,7 @@ std::string NMD::LDM(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string count3 = IMMEDIATE(encode_count3_from_count(count3_value)); - return img::format("LDM %s, %s(%s), %s", rt, s, rs, count3); + return img_format("LDM %s, %s(%s), %s", rt, s, rs, count3); } @@ -8527,7 +8512,7 @@ std::string NMD::LDPC_48_(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string s = ADDRESS(encode_s_from_address(s_value), 6); - return img::format("LDPC %s, %s", rt, s); + return img_format("LDPC %s, %s", rt, s); } @@ -8551,7 +8536,7 @@ std::string NMD::LDX(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("LDX %s, %s(%s)", rd, rs, rt); + return img_format("LDX %s, %s(%s)", rd, rs, rt); } @@ -8575,7 +8560,7 @@ std::string NMD::LDXS(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("LDXS %s, %s(%s)", rd, rs, rt); + return img_format("LDXS %s, %s(%s)", rd, rs, rt); } @@ -8599,7 +8584,7 @@ std::string NMD::LH_16_(uint64 instruction) std::string u = IMMEDIATE(copy(u_value)); std::string rs3 = GPR(decode_gpr_gpr3(rs3_value)); - return img::format("LH %s, %s(%s)", rt3, u, rs3); + return img_format("LH %s, %s(%s)", rt3, u, rs3); } @@ -8621,7 +8606,7 @@ std::string NMD::LH_GP_(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string u = IMMEDIATE(copy(u_value)); - return img::format("LH %s, %s($%d)", rt, u, 28); + return img_format("LH %s, %s($%d)", rt, u, 28); } @@ -8645,7 +8630,7 @@ std::string NMD::LH_S9_(uint64 instruction) std::string s = IMMEDIATE(copy(s_value)); std::string rs = GPR(copy(rs_value)); - return img::format("LH %s, %s(%s)", rt, s, rs); + return img_format("LH %s, %s(%s)", rt, s, rs); } @@ -8669,7 +8654,7 @@ std::string NMD::LH_U12_(uint64 instruction) std::string u = IMMEDIATE(copy(u_value)); std::string rs = GPR(copy(rs_value)); - return img::format("LH %s, %s(%s)", rt, u, rs); + return img_format("LH %s, %s(%s)", rt, u, rs); } @@ -8693,7 +8678,7 @@ std::string NMD::LHE(uint64 instruction) std::string s = IMMEDIATE(copy(s_value)); std::string rs = GPR(copy(rs_value)); - return img::format("LHE %s, %s(%s)", rt, s, rs); + return img_format("LHE %s, %s(%s)", rt, s, rs); } @@ -8717,7 +8702,7 @@ std::string NMD::LHU_16_(uint64 instruction) std::string u = IMMEDIATE(copy(u_value)); std::string rs3 = GPR(decode_gpr_gpr3(rs3_value)); - return img::format("LHU %s, %s(%s)", rt3, u, rs3); + return img_format("LHU %s, %s(%s)", rt3, u, rs3); } @@ -8739,7 +8724,7 @@ std::string NMD::LHU_GP_(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string u = IMMEDIATE(copy(u_value)); - return img::format("LHU %s, %s($%d)", rt, u, 28); + return img_format("LHU %s, %s($%d)", rt, u, 28); } @@ -8763,7 +8748,7 @@ std::string NMD::LHU_S9_(uint64 instruction) std::string s = IMMEDIATE(copy(s_value)); std::string rs = GPR(copy(rs_value)); - return img::format("LHU %s, %s(%s)", rt, s, rs); + return img_format("LHU %s, %s(%s)", rt, s, rs); } @@ -8787,7 +8772,7 @@ std::string NMD::LHU_U12_(uint64 instruction) std::string u = IMMEDIATE(copy(u_value)); std::string rs = GPR(copy(rs_value)); - return img::format("LHU %s, %s(%s)", rt, u, rs); + return img_format("LHU %s, %s(%s)", rt, u, rs); } @@ -8811,7 +8796,7 @@ std::string NMD::LHUE(uint64 instruction) std::string s = IMMEDIATE(copy(s_value)); std::string rs = GPR(copy(rs_value)); - return img::format("LHUE %s, %s(%s)", rt, s, rs); + return img_format("LHUE %s, %s(%s)", rt, s, rs); } @@ -8835,7 +8820,7 @@ std::string NMD::LHUX(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("LHUX %s, %s(%s)", rd, rs, rt); + return img_format("LHUX %s, %s(%s)", rd, rs, rt); } @@ -8859,7 +8844,7 @@ std::string NMD::LHUXS(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("LHUXS %s, %s(%s)", rd, rs, rt); + return img_format("LHUXS %s, %s(%s)", rd, rs, rt); } @@ -8883,7 +8868,7 @@ std::string NMD::LHXS(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("LHXS %s, %s(%s)", rd, rs, rt); + return img_format("LHXS %s, %s(%s)", rd, rs, rt); } @@ -8907,7 +8892,7 @@ std::string NMD::LHX(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("LHX %s, %s(%s)", rd, rs, rt); + return img_format("LHX %s, %s(%s)", rd, rs, rt); } @@ -8929,7 +8914,7 @@ std::string NMD::LI_16_(uint64 instruction) std::string rt3 = GPR(decode_gpr_gpr3(rt3_value)); std::string eu = IMMEDIATE(encode_eu_from_s_li16(eu_value)); - return img::format("LI %s, %s", rt3, eu); + return img_format("LI %s, %s", rt3, eu); } @@ -8951,7 +8936,7 @@ std::string NMD::LI_48_(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string s = IMMEDIATE(copy(s_value)); - return img::format("LI %s, %s", rt, s); + return img_format("LI %s, %s", rt, s); } @@ -8975,7 +8960,7 @@ std::string NMD::LL(uint64 instruction) std::string s = IMMEDIATE(copy(s_value)); std::string rs = GPR(copy(rs_value)); - return img::format("LL %s, %s(%s)", rt, s, rs); + return img_format("LL %s, %s(%s)", rt, s, rs); } @@ -8999,7 +8984,7 @@ std::string NMD::LLD(uint64 instruction) std::string s = IMMEDIATE(copy(s_value)); std::string rs = GPR(copy(rs_value)); - return img::format("LLD %s, %s(%s)", rt, s, rs); + return img_format("LLD %s, %s(%s)", rt, s, rs); } @@ -9023,7 +9008,7 @@ std::string NMD::LLDP(uint64 instruction) std::string ru = GPR(copy(ru_value)); std::string rs = GPR(copy(rs_value)); - return img::format("LLDP %s, %s, (%s)", rt, ru, rs); + return img_format("LLDP %s, %s, (%s)", rt, ru, rs); } @@ -9047,7 +9032,7 @@ std::string NMD::LLE(uint64 instruction) std::string s = IMMEDIATE(copy(s_value)); std::string rs = GPR(copy(rs_value)); - return img::format("LLE %s, %s(%s)", rt, s, rs); + return img_format("LLE %s, %s(%s)", rt, s, rs); } @@ -9071,7 +9056,7 @@ std::string NMD::LLWP(uint64 instruction) std::string ru = GPR(copy(ru_value)); std::string rs = GPR(copy(rs_value)); - return img::format("LLWP %s, %s, (%s)", rt, ru, rs); + return img_format("LLWP %s, %s, (%s)", rt, ru, rs); } @@ -9095,7 +9080,7 @@ std::string NMD::LLWPE(uint64 instruction) std::string ru = GPR(copy(ru_value)); std::string rs = GPR(copy(rs_value)); - return img::format("LLWPE %s, %s, (%s)", rt, ru, rs); + return img_format("LLWPE %s, %s, (%s)", rt, ru, rs); } @@ -9121,7 +9106,7 @@ std::string NMD::LSA(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string u2 = IMMEDIATE(copy(u2_value)); - return img::format("LSA %s, %s, %s, %s", rd, rs, rt, u2); + return img_format("LSA %s, %s, %s, %s", rd, rs, rt, u2); } @@ -9143,7 +9128,7 @@ std::string NMD::LUI(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string s = IMMEDIATE(copy(s_value)); - return img::format("LUI %s, %%hi(%s)", rt, s); + return img_format("LUI %s, %%hi(%s)", rt, s); } @@ -9167,7 +9152,7 @@ std::string NMD::LW_16_(uint64 instruction) std::string u = IMMEDIATE(copy(u_value)); std::string rs3 = GPR(decode_gpr_gpr3(rs3_value)); - return img::format("LW %s, %s(%s)", rt3, u, rs3); + return img_format("LW %s, %s(%s)", rt3, u, rs3); } @@ -9191,7 +9176,7 @@ std::string NMD::LW_4X4_(uint64 instruction) std::string u = IMMEDIATE(copy(u_value)); std::string rs4 = GPR(decode_gpr_gpr4(rs4_value)); - return img::format("LW %s, %s(%s)", rt4, u, rs4); + return img_format("LW %s, %s(%s)", rt4, u, rs4); } @@ -9213,7 +9198,7 @@ std::string NMD::LW_GP_(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string u = IMMEDIATE(copy(u_value)); - return img::format("LW %s, %s($%d)", rt, u, 28); + return img_format("LW %s, %s($%d)", rt, u, 28); } @@ -9235,7 +9220,7 @@ std::string NMD::LW_GP16_(uint64 instruction) std::string rt3 = GPR(decode_gpr_gpr3(rt3_value)); std::string u = IMMEDIATE(copy(u_value)); - return img::format("LW %s, %s($%d)", rt3, u, 28); + return img_format("LW %s, %s($%d)", rt3, u, 28); } @@ -9259,7 +9244,7 @@ std::string NMD::LW_S9_(uint64 instruction) std::string s = IMMEDIATE(copy(s_value)); std::string rs = GPR(copy(rs_value)); - return img::format("LW %s, %s(%s)", rt, s, rs); + return img_format("LW %s, %s(%s)", rt, s, rs); } @@ -9281,7 +9266,7 @@ std::string NMD::LW_SP_(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string u = IMMEDIATE(copy(u_value)); - return img::format("LW %s, %s($%d)", rt, u, 29); + return img_format("LW %s, %s($%d)", rt, u, 29); } @@ -9305,7 +9290,7 @@ std::string NMD::LW_U12_(uint64 instruction) std::string u = IMMEDIATE(copy(u_value)); std::string rs = GPR(copy(rs_value)); - return img::format("LW %s, %s(%s)", rt, u, rs); + return img_format("LW %s, %s(%s)", rt, u, rs); } @@ -9327,7 +9312,7 @@ std::string NMD::LWC1_GP_(uint64 instruction) std::string ft = FPR(copy(ft_value)); std::string u = IMMEDIATE(copy(u_value)); - return img::format("LWC1 %s, %s($%d)", ft, u, 28); + return img_format("LWC1 %s, %s($%d)", ft, u, 28); } @@ -9351,7 +9336,7 @@ std::string NMD::LWC1_S9_(uint64 instruction) std::string s = IMMEDIATE(copy(s_value)); std::string rs = GPR(copy(rs_value)); - return img::format("LWC1 %s, %s(%s)", ft, s, rs); + return img_format("LWC1 %s, %s(%s)", ft, s, rs); } @@ -9375,7 +9360,7 @@ std::string NMD::LWC1_U12_(uint64 instruction) std::string u = IMMEDIATE(copy(u_value)); std::string rs = GPR(copy(rs_value)); - return img::format("LWC1 %s, %s(%s)", ft, u, rs); + return img_format("LWC1 %s, %s(%s)", ft, u, rs); } @@ -9399,7 +9384,7 @@ std::string NMD::LWC1X(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("LWC1X %s, %s(%s)", ft, rs, rt); + return img_format("LWC1X %s, %s(%s)", ft, rs, rt); } @@ -9423,7 +9408,7 @@ std::string NMD::LWC1XS(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("LWC1XS %s, %s(%s)", ft, rs, rt); + return img_format("LWC1XS %s, %s(%s)", ft, rs, rt); } @@ -9447,7 +9432,7 @@ std::string NMD::LWC2(uint64 instruction) std::string s = IMMEDIATE(copy(s_value)); std::string rs = GPR(copy(rs_value)); - return img::format("LWC2 %s, %s(%s)", ct, s, rs); + return img_format("LWC2 %s, %s(%s)", ct, s, rs); } @@ -9471,7 +9456,7 @@ std::string NMD::LWE(uint64 instruction) std::string s = IMMEDIATE(copy(s_value)); std::string rs = GPR(copy(rs_value)); - return img::format("LWE %s, %s(%s)", rt, s, rs); + return img_format("LWE %s, %s(%s)", rt, s, rs); } @@ -9497,7 +9482,7 @@ std::string NMD::LWM(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string count3 = IMMEDIATE(encode_count3_from_count(count3_value)); - return img::format("LWM %s, %s(%s), %s", rt, s, rs, count3); + return img_format("LWM %s, %s(%s), %s", rt, s, rs, count3); } @@ -9519,7 +9504,7 @@ std::string NMD::LWPC_48_(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string s = ADDRESS(encode_s_from_address(s_value), 6); - return img::format("LWPC %s, %s", rt, s); + return img_format("LWPC %s, %s", rt, s); } @@ -9541,7 +9526,7 @@ std::string NMD::LWU_GP_(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string u = IMMEDIATE(copy(u_value)); - return img::format("LWU %s, %s($%d)", rt, u, 28); + return img_format("LWU %s, %s($%d)", rt, u, 28); } @@ -9565,7 +9550,7 @@ std::string NMD::LWU_S9_(uint64 instruction) std::string s = IMMEDIATE(copy(s_value)); std::string rs = GPR(copy(rs_value)); - return img::format("LWU %s, %s(%s)", rt, s, rs); + return img_format("LWU %s, %s(%s)", rt, s, rs); } @@ -9589,7 +9574,7 @@ std::string NMD::LWU_U12_(uint64 instruction) std::string u = IMMEDIATE(copy(u_value)); std::string rs = GPR(copy(rs_value)); - return img::format("LWU %s, %s(%s)", rt, u, rs); + return img_format("LWU %s, %s(%s)", rt, u, rs); } @@ -9613,7 +9598,7 @@ std::string NMD::LWUX(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("LWUX %s, %s(%s)", rd, rs, rt); + return img_format("LWUX %s, %s(%s)", rd, rs, rt); } @@ -9637,7 +9622,7 @@ std::string NMD::LWUXS(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("LWUXS %s, %s(%s)", rd, rs, rt); + return img_format("LWUXS %s, %s(%s)", rd, rs, rt); } @@ -9661,7 +9646,7 @@ std::string NMD::LWX(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("LWX %s, %s(%s)", rd, rs, rt); + return img_format("LWX %s, %s(%s)", rd, rs, rt); } @@ -9685,7 +9670,7 @@ std::string NMD::LWXS_16_(uint64 instruction) std::string rs3 = GPR(decode_gpr_gpr3(rs3_value)); std::string rt3 = IMMEDIATE(decode_gpr_gpr3(rt3_value)); - return img::format("LWXS %s, %s(%s)", rd3, rs3, rt3); + return img_format("LWXS %s, %s(%s)", rd3, rs3, rt3); } @@ -9709,7 +9694,7 @@ std::string NMD::LWXS_32_(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("LWXS %s, %s(%s)", rd, rs, rt); + return img_format("LWXS %s, %s(%s)", rd, rs, rt); } @@ -9734,7 +9719,7 @@ std::string NMD::MADD_DSP_(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("MADD %s, %s, %s", ac, rs, rt); + return img_format("MADD %s, %s, %s", ac, rs, rt); } @@ -9758,7 +9743,7 @@ std::string NMD::MADDF_D(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("MADDF.D %s, %s, %s", fd, fs, ft); + return img_format("MADDF.D %s, %s, %s", fd, fs, ft); } @@ -9782,7 +9767,7 @@ std::string NMD::MADDF_S(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("MADDF.S %s, %s, %s", fd, fs, ft); + return img_format("MADDF.S %s, %s, %s", fd, fs, ft); } @@ -9807,7 +9792,7 @@ std::string NMD::MADDU_DSP_(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("MADDU %s, %s, %s", ac, rs, rt); + return img_format("MADDU %s, %s, %s", ac, rs, rt); } @@ -9832,7 +9817,7 @@ std::string NMD::MAQ_S_W_PHL(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("MAQ_S.W.PHL %s, %s, %s", ac, rs, rt); + return img_format("MAQ_S.W.PHL %s, %s, %s", ac, rs, rt); } @@ -9857,7 +9842,7 @@ std::string NMD::MAQ_S_W_PHR(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("MAQ_S.W.PHR %s, %s, %s", ac, rs, rt); + return img_format("MAQ_S.W.PHR %s, %s, %s", ac, rs, rt); } @@ -9882,7 +9867,7 @@ std::string NMD::MAQ_SA_W_PHL(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("MAQ_SA.W.PHL %s, %s, %s", ac, rs, rt); + return img_format("MAQ_SA.W.PHL %s, %s, %s", ac, rs, rt); } @@ -9907,7 +9892,7 @@ std::string NMD::MAQ_SA_W_PHR(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("MAQ_SA.W.PHR %s, %s, %s", ac, rs, rt); + return img_format("MAQ_SA.W.PHR %s, %s, %s", ac, rs, rt); } @@ -9931,7 +9916,7 @@ std::string NMD::MAX_D(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("MAX.D %s, %s, %s", fd, fs, ft); + return img_format("MAX.D %s, %s, %s", fd, fs, ft); } @@ -9955,7 +9940,7 @@ std::string NMD::MAX_S(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("MAX.S %s, %s, %s", fd, fs, ft); + return img_format("MAX.S %s, %s, %s", fd, fs, ft); } @@ -9979,7 +9964,7 @@ std::string NMD::MAXA_D(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("MAXA.D %s, %s, %s", fd, fs, ft); + return img_format("MAXA.D %s, %s, %s", fd, fs, ft); } @@ -10003,7 +9988,7 @@ std::string NMD::MAXA_S(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("MAXA.S %s, %s, %s", fd, fs, ft); + return img_format("MAXA.S %s, %s, %s", fd, fs, ft); } @@ -10027,7 +10012,7 @@ std::string NMD::MFC0(uint64 instruction) std::string c0s = CPR(copy(c0s_value)); std::string sel = IMMEDIATE(copy(sel_value)); - return img::format("MFC0 %s, %s, %s", rt, c0s, sel); + return img_format("MFC0 %s, %s, %s", rt, c0s, sel); } @@ -10049,7 +10034,7 @@ std::string NMD::MFC1(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string fs = FPR(copy(fs_value)); - return img::format("MFC1 %s, %s", rt, fs); + return img_format("MFC1 %s, %s", rt, fs); } @@ -10071,7 +10056,7 @@ std::string NMD::MFC2(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string cs = CPR(copy(cs_value)); - return img::format("MFC2 %s, %s", rt, cs); + return img_format("MFC2 %s, %s", rt, cs); } @@ -10095,7 +10080,7 @@ std::string NMD::MFGC0(uint64 instruction) std::string c0s = CPR(copy(c0s_value)); std::string sel = IMMEDIATE(copy(sel_value)); - return img::format("MFGC0 %s, %s, %s", rt, c0s, sel); + return img_format("MFGC0 %s, %s, %s", rt, c0s, sel); } @@ -10119,7 +10104,7 @@ std::string NMD::MFHC0(uint64 instruction) std::string c0s = CPR(copy(c0s_value)); std::string sel = IMMEDIATE(copy(sel_value)); - return img::format("MFHC0 %s, %s, %s", rt, c0s, sel); + return img_format("MFHC0 %s, %s, %s", rt, c0s, sel); } @@ -10141,7 +10126,7 @@ std::string NMD::MFHC1(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string fs = FPR(copy(fs_value)); - return img::format("MFHC1 %s, %s", rt, fs); + return img_format("MFHC1 %s, %s", rt, fs); } @@ -10163,7 +10148,7 @@ std::string NMD::MFHC2(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string cs = CPR(copy(cs_value)); - return img::format("MFHC2 %s, %s", rt, cs); + return img_format("MFHC2 %s, %s", rt, cs); } @@ -10187,7 +10172,7 @@ std::string NMD::MFHGC0(uint64 instruction) std::string c0s = CPR(copy(c0s_value)); std::string sel = IMMEDIATE(copy(sel_value)); - return img::format("MFHGC0 %s, %s, %s", rt, c0s, sel); + return img_format("MFHGC0 %s, %s, %s", rt, c0s, sel); } @@ -10208,7 +10193,7 @@ std::string NMD::MFHI_DSP_(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string ac = AC(copy(ac_value)); - return img::format("MFHI %s, %s", rt, ac); + return img_format("MFHI %s, %s", rt, ac); } @@ -10234,7 +10219,7 @@ std::string NMD::MFHTR(uint64 instruction) std::string u = IMMEDIATE(copy(u_value)); std::string sel = IMMEDIATE(copy(sel_value)); - return img::format("MFHTR %s, %s, %s, %s", rt, c0s, u, sel); + return img_format("MFHTR %s, %s, %s, %s", rt, c0s, u, sel); } @@ -10255,7 +10240,7 @@ std::string NMD::MFLO_DSP_(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string ac = AC(copy(ac_value)); - return img::format("MFLO %s, %s", rt, ac); + return img_format("MFLO %s, %s", rt, ac); } @@ -10281,7 +10266,7 @@ std::string NMD::MFTR(uint64 instruction) std::string u = IMMEDIATE(copy(u_value)); std::string sel = IMMEDIATE(copy(sel_value)); - return img::format("MFTR %s, %s, %s, %s", rt, c0s, u, sel); + return img_format("MFTR %s, %s, %s, %s", rt, c0s, u, sel); } @@ -10305,7 +10290,7 @@ std::string NMD::MIN_D(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("MIN.D %s, %s, %s", fd, fs, ft); + return img_format("MIN.D %s, %s, %s", fd, fs, ft); } @@ -10329,7 +10314,7 @@ std::string NMD::MIN_S(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("MIN.S %s, %s, %s", fd, fs, ft); + return img_format("MIN.S %s, %s, %s", fd, fs, ft); } @@ -10353,7 +10338,7 @@ std::string NMD::MINA_D(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("MINA.D %s, %s, %s", fd, fs, ft); + return img_format("MINA.D %s, %s, %s", fd, fs, ft); } @@ -10377,7 +10362,7 @@ std::string NMD::MINA_S(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("MINA.S %s, %s, %s", fd, fs, ft); + return img_format("MINA.S %s, %s, %s", fd, fs, ft); } @@ -10401,7 +10386,7 @@ std::string NMD::MOD(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("MOD %s, %s, %s", rd, rs, rt); + return img_format("MOD %s, %s, %s", rd, rs, rt); } @@ -10425,7 +10410,7 @@ std::string NMD::MODSUB(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("MODSUB %s, %s, %s", rd, rs, rt); + return img_format("MODSUB %s, %s, %s", rd, rs, rt); } @@ -10449,7 +10434,7 @@ std::string NMD::MODU(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("MODU %s, %s, %s", rd, rs, rt); + return img_format("MODU %s, %s, %s", rd, rs, rt); } @@ -10471,7 +10456,7 @@ std::string NMD::MOV_D(uint64 instruction) std::string ft = FPR(copy(ft_value)); std::string fs = FPR(copy(fs_value)); - return img::format("MOV.D %s, %s", ft, fs); + return img_format("MOV.D %s, %s", ft, fs); } @@ -10493,7 +10478,7 @@ std::string NMD::MOV_S(uint64 instruction) std::string ft = FPR(copy(ft_value)); std::string fs = FPR(copy(fs_value)); - return img::format("MOV.S %s, %s", ft, fs); + return img_format("MOV.S %s, %s", ft, fs); } @@ -10517,7 +10502,7 @@ std::string NMD::MOVE_BALC(uint64 instruction) std::string rtz4 = GPR(decode_gpr_gpr4_zero(rtz4_value)); std::string s = ADDRESS(encode_s_from_address(s_value), 4); - return img::format("MOVE.BALC %s, %s, %s", rd1, rtz4, s); + return img_format("MOVE.BALC %s, %s, %s", rd1, rtz4, s); } @@ -10543,7 +10528,7 @@ std::string NMD::MOVEP(uint64 instruction) std::string rsz4 = GPR(decode_gpr_gpr4_zero(rsz4_value)); std::string rtz4 = GPR(decode_gpr_gpr4_zero(rtz4_value)); - return img::format("MOVEP %s, %s, %s, %s", rd2, re2, rsz4, rtz4); + return img_format("MOVEP %s, %s, %s, %s", rd2, re2, rsz4, rtz4); /* hand edited */ } @@ -10570,7 +10555,7 @@ std::string NMD::MOVEP_REV_(uint64 instruction) std::string rs2 = GPR(decode_gpr_gpr2_reg2(rd2_value)); /* !!!!!!!!!! - no conversion function */ - return img::format("MOVEP %s, %s, %s, %s", rs4, rt4, rd2, rs2); + return img_format("MOVEP %s, %s, %s, %s", rs4, rt4, rd2, rs2); /* hand edited */ } @@ -10593,7 +10578,7 @@ std::string NMD::MOVE(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string rs = GPR(copy(rs_value)); - return img::format("MOVE %s, %s", rt, rs); + return img_format("MOVE %s, %s", rt, rs); } @@ -10617,7 +10602,7 @@ std::string NMD::MOVN(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("MOVN %s, %s, %s", rd, rs, rt); + return img_format("MOVN %s, %s, %s", rd, rs, rt); } @@ -10641,7 +10626,7 @@ std::string NMD::MOVZ(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("MOVZ %s, %s, %s", rd, rs, rt); + return img_format("MOVZ %s, %s, %s", rd, rs, rt); } @@ -10665,7 +10650,7 @@ std::string NMD::MSUB_DSP_(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("MSUB %s, %s, %s", ac, rs, rt); + return img_format("MSUB %s, %s, %s", ac, rs, rt); } @@ -10689,7 +10674,7 @@ std::string NMD::MSUBF_D(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("MSUBF.D %s, %s, %s", fd, fs, ft); + return img_format("MSUBF.D %s, %s, %s", fd, fs, ft); } @@ -10713,7 +10698,7 @@ std::string NMD::MSUBF_S(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("MSUBF.S %s, %s, %s", fd, fs, ft); + return img_format("MSUBF.S %s, %s, %s", fd, fs, ft); } @@ -10737,7 +10722,7 @@ std::string NMD::MSUBU_DSP_(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("MSUBU %s, %s, %s", ac, rs, rt); + return img_format("MSUBU %s, %s, %s", ac, rs, rt); } @@ -10761,7 +10746,7 @@ std::string NMD::MTC0(uint64 instruction) std::string c0s = CPR(copy(c0s_value)); std::string sel = IMMEDIATE(copy(sel_value)); - return img::format("MTC0 %s, %s, %s", rt, c0s, sel); + return img_format("MTC0 %s, %s, %s", rt, c0s, sel); } @@ -10783,7 +10768,7 @@ std::string NMD::MTC1(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string fs = FPR(copy(fs_value)); - return img::format("MTC1 %s, %s", rt, fs); + return img_format("MTC1 %s, %s", rt, fs); } @@ -10805,7 +10790,7 @@ std::string NMD::MTC2(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string cs = CPR(copy(cs_value)); - return img::format("MTC2 %s, %s", rt, cs); + return img_format("MTC2 %s, %s", rt, cs); } @@ -10829,7 +10814,7 @@ std::string NMD::MTGC0(uint64 instruction) std::string c0s = CPR(copy(c0s_value)); std::string sel = IMMEDIATE(copy(sel_value)); - return img::format("MTGC0 %s, %s, %s", rt, c0s, sel); + return img_format("MTGC0 %s, %s, %s", rt, c0s, sel); } @@ -10853,7 +10838,7 @@ std::string NMD::MTHC0(uint64 instruction) std::string c0s = CPR(copy(c0s_value)); std::string sel = IMMEDIATE(copy(sel_value)); - return img::format("MTHC0 %s, %s, %s", rt, c0s, sel); + return img_format("MTHC0 %s, %s, %s", rt, c0s, sel); } @@ -10875,7 +10860,7 @@ std::string NMD::MTHC1(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string fs = FPR(copy(fs_value)); - return img::format("MTHC1 %s, %s", rt, fs); + return img_format("MTHC1 %s, %s", rt, fs); } @@ -10897,7 +10882,7 @@ std::string NMD::MTHC2(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string cs = CPR(copy(cs_value)); - return img::format("MTHC2 %s, %s", rt, cs); + return img_format("MTHC2 %s, %s", rt, cs); } @@ -10921,7 +10906,7 @@ std::string NMD::MTHGC0(uint64 instruction) std::string c0s = CPR(copy(c0s_value)); std::string sel = IMMEDIATE(copy(sel_value)); - return img::format("MTHGC0 %s, %s, %s", rt, c0s, sel); + return img_format("MTHGC0 %s, %s, %s", rt, c0s, sel); } @@ -10942,7 +10927,7 @@ std::string NMD::MTHI_DSP_(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string ac = AC(copy(ac_value)); - return img::format("MTHI %s, %s", rs, ac); + return img_format("MTHI %s, %s", rs, ac); } @@ -10963,7 +10948,7 @@ std::string NMD::MTHLIP(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string ac = AC(copy(ac_value)); - return img::format("MTHLIP %s, %s", rs, ac); + return img_format("MTHLIP %s, %s", rs, ac); } @@ -10989,7 +10974,7 @@ std::string NMD::MTHTR(uint64 instruction) std::string u = IMMEDIATE(copy(u_value)); std::string sel = IMMEDIATE(copy(sel_value)); - return img::format("MTHTR %s, %s, %s, %s", rt, c0s, u, sel); + return img_format("MTHTR %s, %s, %s, %s", rt, c0s, u, sel); } @@ -11010,7 +10995,7 @@ std::string NMD::MTLO_DSP_(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string ac = AC(copy(ac_value)); - return img::format("MTLO %s, %s", rs, ac); + return img_format("MTLO %s, %s", rs, ac); } @@ -11036,7 +11021,7 @@ std::string NMD::MTTR(uint64 instruction) std::string u = IMMEDIATE(copy(u_value)); std::string sel = IMMEDIATE(copy(sel_value)); - return img::format("MTTR %s, %s, %s, %s", rt, c0s, u, sel); + return img_format("MTTR %s, %s, %s, %s", rt, c0s, u, sel); } @@ -11060,7 +11045,7 @@ std::string NMD::MUH(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("MUH %s, %s, %s", rd, rs, rt); + return img_format("MUH %s, %s, %s", rd, rs, rt); } @@ -11084,7 +11069,7 @@ std::string NMD::MUHU(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("MUHU %s, %s, %s", rd, rs, rt); + return img_format("MUHU %s, %s, %s", rd, rs, rt); } @@ -11108,7 +11093,7 @@ std::string NMD::MUL_32_(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("MUL %s, %s, %s", rd, rs, rt); + return img_format("MUL %s, %s, %s", rd, rs, rt); } @@ -11130,7 +11115,7 @@ std::string NMD::MUL_4X4_(uint64 instruction) std::string rs4 = GPR(decode_gpr_gpr4(rs4_value)); std::string rt4 = GPR(decode_gpr_gpr4(rt4_value)); - return img::format("MUL %s, %s", rs4, rt4); + return img_format("MUL %s, %s", rs4, rt4); } @@ -11154,7 +11139,7 @@ std::string NMD::MUL_D(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("MUL.D %s, %s, %s", fd, fs, ft); + return img_format("MUL.D %s, %s, %s", fd, fs, ft); } @@ -11179,7 +11164,7 @@ std::string NMD::MUL_PH(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("MUL.PH %s, %s, %s", rd, rs, rt); + return img_format("MUL.PH %s, %s, %s", rd, rs, rt); } @@ -11204,7 +11189,7 @@ std::string NMD::MUL_S_PH(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("MUL_S.PH %s, %s, %s", rd, rs, rt); + return img_format("MUL_S.PH %s, %s, %s", rd, rs, rt); } @@ -11228,7 +11213,7 @@ std::string NMD::MUL_S(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("MUL.S %s, %s, %s", fd, fs, ft); + return img_format("MUL.S %s, %s, %s", fd, fs, ft); } @@ -11253,7 +11238,7 @@ std::string NMD::MULEQ_S_W_PHL(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("MULEQ_S.W.PHL %s, %s, %s", rd, rs, rt); + return img_format("MULEQ_S.W.PHL %s, %s, %s", rd, rs, rt); } @@ -11278,7 +11263,7 @@ std::string NMD::MULEQ_S_W_PHR(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("MULEQ_S.W.PHR %s, %s, %s", rd, rs, rt); + return img_format("MULEQ_S.W.PHR %s, %s, %s", rd, rs, rt); } @@ -11303,7 +11288,7 @@ std::string NMD::MULEU_S_PH_QBL(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("MULEU_S.PH.QBL %s, %s, %s", rd, rs, rt); + return img_format("MULEU_S.PH.QBL %s, %s, %s", rd, rs, rt); } @@ -11328,7 +11313,7 @@ std::string NMD::MULEU_S_PH_QBR(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("MULEU_S.PH.QBR %s, %s, %s", rd, rs, rt); + return img_format("MULEU_S.PH.QBR %s, %s, %s", rd, rs, rt); } @@ -11353,7 +11338,7 @@ std::string NMD::MULQ_RS_PH(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("MULQ_RS.PH %s, %s, %s", rd, rs, rt); + return img_format("MULQ_RS.PH %s, %s, %s", rd, rs, rt); } @@ -11378,7 +11363,7 @@ std::string NMD::MULQ_RS_W(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("MULQ_RS.W %s, %s, %s", rd, rs, rt); + return img_format("MULQ_RS.W %s, %s, %s", rd, rs, rt); } @@ -11403,7 +11388,7 @@ std::string NMD::MULQ_S_PH(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("MULQ_S.PH %s, %s, %s", rd, rs, rt); + return img_format("MULQ_S.PH %s, %s, %s", rd, rs, rt); } @@ -11428,7 +11413,7 @@ std::string NMD::MULQ_S_W(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("MULQ_S.W %s, %s, %s", rd, rs, rt); + return img_format("MULQ_S.W %s, %s, %s", rd, rs, rt); } @@ -11453,7 +11438,7 @@ std::string NMD::MULSA_W_PH(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("MULSA.W.PH %s, %s, %s", ac, rs, rt); + return img_format("MULSA.W.PH %s, %s, %s", ac, rs, rt); } @@ -11478,7 +11463,7 @@ std::string NMD::MULSAQ_S_W_PH(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("MULSAQ_S.W.PH %s, %s, %s", ac, rs, rt); + return img_format("MULSAQ_S.W.PH %s, %s, %s", ac, rs, rt); } @@ -11502,7 +11487,7 @@ std::string NMD::MULT_DSP_(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("MULT %s, %s, %s", ac, rs, rt); + return img_format("MULT %s, %s, %s", ac, rs, rt); } @@ -11526,7 +11511,7 @@ std::string NMD::MULTU_DSP_(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("MULTU %s, %s, %s", ac, rs, rt); + return img_format("MULTU %s, %s, %s", ac, rs, rt); } @@ -11550,7 +11535,7 @@ std::string NMD::MULU(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("MULU %s, %s, %s", rd, rs, rt); + return img_format("MULU %s, %s, %s", rd, rs, rt); } @@ -11572,7 +11557,7 @@ std::string NMD::NEG_D(uint64 instruction) std::string ft = FPR(copy(ft_value)); std::string fs = FPR(copy(fs_value)); - return img::format("NEG.D %s, %s", ft, fs); + return img_format("NEG.D %s, %s", ft, fs); } @@ -11594,7 +11579,7 @@ std::string NMD::NEG_S(uint64 instruction) std::string ft = FPR(copy(ft_value)); std::string fs = FPR(copy(fs_value)); - return img::format("NEG.S %s, %s", ft, fs); + return img_format("NEG.S %s, %s", ft, fs); } @@ -11654,7 +11639,7 @@ std::string NMD::NOR(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("NOR %s, %s, %s", rd, rs, rt); + return img_format("NOR %s, %s, %s", rd, rs, rt); } @@ -11676,7 +11661,7 @@ std::string NMD::NOT_16_(uint64 instruction) std::string rt3 = GPR(decode_gpr_gpr3(rt3_value)); std::string rs3 = GPR(decode_gpr_gpr3(rs3_value)); - return img::format("NOT %s, %s", rt3, rs3); + return img_format("NOT %s, %s", rt3, rs3); } @@ -11698,7 +11683,7 @@ std::string NMD::OR_16_(uint64 instruction) std::string rs3 = GPR(decode_gpr_gpr3(rs3_value)); std::string rt3 = GPR(decode_gpr_gpr3(rt3_value)); - return img::format("OR %s, %s", rs3, rt3); + return img_format("OR %s, %s", rs3, rt3); } @@ -11722,7 +11707,7 @@ std::string NMD::OR_32_(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("OR %s, %s, %s", rd, rs, rt); + return img_format("OR %s, %s, %s", rd, rs, rt); } @@ -11746,7 +11731,7 @@ std::string NMD::ORI(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string u = IMMEDIATE(copy(u_value)); - return img::format("ORI %s, %s, %s", rt, rs, u); + return img_format("ORI %s, %s, %s", rt, rs, u); } @@ -11771,7 +11756,7 @@ std::string NMD::PACKRL_PH(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("PACKRL.PH %s, %s, %s", rd, rs, rt); + return img_format("PACKRL.PH %s, %s, %s", rd, rs, rt); } @@ -11814,7 +11799,7 @@ std::string NMD::PICK_PH(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("PICK.PH %s, %s, %s", rd, rs, rt); + return img_format("PICK.PH %s, %s, %s", rd, rs, rt); } @@ -11839,7 +11824,7 @@ std::string NMD::PICK_QB(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("PICK.QB %s, %s, %s", rd, rs, rt); + return img_format("PICK.QB %s, %s, %s", rd, rs, rt); } @@ -11862,7 +11847,7 @@ std::string NMD::PRECEQ_W_PHL(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string rs = GPR(copy(rs_value)); - return img::format("PRECEQ.W.PHL %s, %s", rt, rs); + return img_format("PRECEQ.W.PHL %s, %s", rt, rs); } @@ -11885,7 +11870,7 @@ std::string NMD::PRECEQ_W_PHR(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string rs = GPR(copy(rs_value)); - return img::format("PRECEQ.W.PHR %s, %s", rt, rs); + return img_format("PRECEQ.W.PHR %s, %s", rt, rs); } @@ -11908,7 +11893,7 @@ std::string NMD::PRECEQU_PH_QBLA(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string rs = GPR(copy(rs_value)); - return img::format("PRECEQU.PH.QBLA %s, %s", rt, rs); + return img_format("PRECEQU.PH.QBLA %s, %s", rt, rs); } @@ -11931,7 +11916,7 @@ std::string NMD::PRECEQU_PH_QBL(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string rs = GPR(copy(rs_value)); - return img::format("PRECEQU.PH.QBL %s, %s", rt, rs); + return img_format("PRECEQU.PH.QBL %s, %s", rt, rs); } @@ -11954,7 +11939,7 @@ std::string NMD::PRECEQU_PH_QBRA(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string rs = GPR(copy(rs_value)); - return img::format("PRECEQU.PH.QBRA %s, %s", rt, rs); + return img_format("PRECEQU.PH.QBRA %s, %s", rt, rs); } @@ -11977,7 +11962,7 @@ std::string NMD::PRECEQU_PH_QBR(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string rs = GPR(copy(rs_value)); - return img::format("PRECEQU.PH.QBR %s, %s", rt, rs); + return img_format("PRECEQU.PH.QBR %s, %s", rt, rs); } @@ -12001,7 +11986,7 @@ std::string NMD::PRECEU_PH_QBLA(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string rs = GPR(copy(rs_value)); - return img::format("PRECEU.PH.QBLA %s, %s", rt, rs); + return img_format("PRECEU.PH.QBLA %s, %s", rt, rs); } @@ -12024,7 +12009,7 @@ std::string NMD::PRECEU_PH_QBL(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string rs = GPR(copy(rs_value)); - return img::format("PRECEU.PH.QBL %s, %s", rt, rs); + return img_format("PRECEU.PH.QBL %s, %s", rt, rs); } @@ -12048,7 +12033,7 @@ std::string NMD::PRECEU_PH_QBRA(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string rs = GPR(copy(rs_value)); - return img::format("PRECEU.PH.QBRA %s, %s", rt, rs); + return img_format("PRECEU.PH.QBRA %s, %s", rt, rs); } @@ -12071,7 +12056,7 @@ std::string NMD::PRECEU_PH_QBR(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string rs = GPR(copy(rs_value)); - return img::format("PRECEU.PH.QBR %s, %s", rt, rs); + return img_format("PRECEU.PH.QBR %s, %s", rt, rs); } @@ -12096,7 +12081,7 @@ std::string NMD::PRECR_QB_PH(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("PRECR.QB.PH %s, %s, %s", rd, rs, rt); + return img_format("PRECR.QB.PH %s, %s, %s", rd, rs, rt); } @@ -12121,7 +12106,7 @@ std::string NMD::PRECR_SRA_PH_W(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string sa = IMMEDIATE(copy(sa_value)); - return img::format("PRECR_SRA.PH.W %s, %s, %s", rt, rs, sa); + return img_format("PRECR_SRA.PH.W %s, %s, %s", rt, rs, sa); } @@ -12146,7 +12131,7 @@ std::string NMD::PRECR_SRA_R_PH_W(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string sa = IMMEDIATE(copy(sa_value)); - return img::format("PRECR_SRA_R.PH.W %s, %s, %s", rt, rs, sa); + return img_format("PRECR_SRA_R.PH.W %s, %s, %s", rt, rs, sa); } @@ -12171,7 +12156,7 @@ std::string NMD::PRECRQ_PH_W(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("PRECRQ.PH.W %s, %s, %s", rd, rs, rt); + return img_format("PRECRQ.PH.W %s, %s, %s", rd, rs, rt); } @@ -12196,7 +12181,7 @@ std::string NMD::PRECRQ_QB_PH(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("PRECRQ.QB.PH %s, %s, %s", rd, rs, rt); + return img_format("PRECRQ.QB.PH %s, %s, %s", rd, rs, rt); } @@ -12221,7 +12206,7 @@ std::string NMD::PRECRQ_RS_PH_W(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("PRECRQ_RS.PH.W %s, %s, %s", rd, rs, rt); + return img_format("PRECRQ_RS.PH.W %s, %s, %s", rd, rs, rt); } @@ -12246,7 +12231,7 @@ std::string NMD::PRECRQU_S_QB_PH(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("PRECRQU_S.QB.PH %s, %s, %s", rd, rs, rt); + return img_format("PRECRQU_S.QB.PH %s, %s, %s", rd, rs, rt); } @@ -12270,7 +12255,7 @@ std::string NMD::PREF_S9_(uint64 instruction) std::string s = IMMEDIATE(copy(s_value)); std::string rs = GPR(copy(rs_value)); - return img::format("PREF %s, %s(%s)", hint, s, rs); + return img_format("PREF %s, %s(%s)", hint, s, rs); } @@ -12294,7 +12279,7 @@ std::string NMD::PREF_U12_(uint64 instruction) std::string u = IMMEDIATE(copy(u_value)); std::string rs = GPR(copy(rs_value)); - return img::format("PREF %s, %s(%s)", hint, u, rs); + return img_format("PREF %s, %s(%s)", hint, u, rs); } @@ -12318,7 +12303,7 @@ std::string NMD::PREFE(uint64 instruction) std::string s = IMMEDIATE(copy(s_value)); std::string rs = GPR(copy(rs_value)); - return img::format("PREFE %s, %s(%s)", hint, s, rs); + return img_format("PREFE %s, %s(%s)", hint, s, rs); } @@ -12342,7 +12327,7 @@ std::string NMD::PREPEND(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string sa = IMMEDIATE(copy(sa_value)); - return img::format("PREPEND %s, %s, %s", rt, rs, sa); + return img_format("PREPEND %s, %s, %s", rt, rs, sa); } @@ -12363,7 +12348,7 @@ std::string NMD::RADDU_W_QB(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string rs = GPR(copy(rs_value)); - return img::format("RADDU.W.QB %s, %s", rt, rs); + return img_format("RADDU.W.QB %s, %s", rt, rs); } @@ -12384,7 +12369,7 @@ std::string NMD::RDDSP(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string mask = IMMEDIATE(copy(mask_value)); - return img::format("RDDSP %s, %s", rt, mask); + return img_format("RDDSP %s, %s", rt, mask); } @@ -12408,7 +12393,7 @@ std::string NMD::RDHWR(uint64 instruction) std::string hs = CPR(copy(hs_value)); std::string sel = IMMEDIATE(copy(sel_value)); - return img::format("RDHWR %s, %s, %s", rt, hs, sel); + return img_format("RDHWR %s, %s, %s", rt, hs, sel); } @@ -12430,7 +12415,7 @@ std::string NMD::RDPGPR(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string rs = GPR(copy(rs_value)); - return img::format("RDPGPR %s, %s", rt, rs); + return img_format("RDPGPR %s, %s", rt, rs); } @@ -12452,7 +12437,7 @@ std::string NMD::RECIP_D(uint64 instruction) std::string ft = FPR(copy(ft_value)); std::string fs = FPR(copy(fs_value)); - return img::format("RECIP.D %s, %s", ft, fs); + return img_format("RECIP.D %s, %s", ft, fs); } @@ -12474,7 +12459,7 @@ std::string NMD::RECIP_S(uint64 instruction) std::string ft = FPR(copy(ft_value)); std::string fs = FPR(copy(fs_value)); - return img::format("RECIP.S %s, %s", ft, fs); + return img_format("RECIP.S %s, %s", ft, fs); } @@ -12496,7 +12481,7 @@ std::string NMD::REPL_PH(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string s = IMMEDIATE(copy(s_value)); - return img::format("REPL.PH %s, %s", rt, s); + return img_format("REPL.PH %s, %s", rt, s); } @@ -12518,7 +12503,7 @@ std::string NMD::REPL_QB(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string u = IMMEDIATE(copy(u_value)); - return img::format("REPL.QB %s, %s", rt, u); + return img_format("REPL.QB %s, %s", rt, u); } @@ -12540,7 +12525,7 @@ std::string NMD::REPLV_PH(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string rs = GPR(copy(rs_value)); - return img::format("REPLV.PH %s, %s", rt, rs); + return img_format("REPLV.PH %s, %s", rt, rs); } @@ -12561,7 +12546,7 @@ std::string NMD::REPLV_QB(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string rs = GPR(copy(rs_value)); - return img::format("REPLV.QB %s, %s", rt, rs); + return img_format("REPLV.QB %s, %s", rt, rs); } @@ -12583,7 +12568,7 @@ std::string NMD::RESTORE_32_(uint64 instruction) uint64 gp_value = extract_gp_2(instruction); std::string u = IMMEDIATE(copy(u_value)); - return img::format("RESTORE %s%s", u, + return img_format("RESTORE %s%s", u, save_restore_list(rt_value, count_value, gp_value)); } @@ -12605,7 +12590,7 @@ std::string NMD::RESTORE_JRC_16_(uint64 instruction) uint64 count_value = extract_count_3_2_1_0(instruction); std::string u = IMMEDIATE(copy(u_value)); - return img::format("RESTORE.JRC %s%s", u, + return img_format("RESTORE.JRC %s%s", u, save_restore_list(encode_rt1_from_rt(rt1_value), count_value, 0)); } @@ -12628,7 +12613,7 @@ std::string NMD::RESTORE_JRC_32_(uint64 instruction) uint64 gp_value = extract_gp_2(instruction); std::string u = IMMEDIATE(copy(u_value)); - return img::format("RESTORE.JRC %s%s", u, + return img_format("RESTORE.JRC %s%s", u, save_restore_list(rt_value, count_value, gp_value)); } @@ -12651,7 +12636,7 @@ std::string NMD::RESTOREF(uint64 instruction) std::string u = IMMEDIATE(copy(u_value)); std::string count = IMMEDIATE(copy(count_value)); - return img::format("RESTOREF %s, %s", u, count); + return img_format("RESTOREF %s, %s", u, count); } @@ -12673,7 +12658,7 @@ std::string NMD::RINT_D(uint64 instruction) std::string ft = FPR(copy(ft_value)); std::string fs = FPR(copy(fs_value)); - return img::format("RINT.D %s, %s", ft, fs); + return img_format("RINT.D %s, %s", ft, fs); } @@ -12695,7 +12680,7 @@ std::string NMD::RINT_S(uint64 instruction) std::string ft = FPR(copy(ft_value)); std::string fs = FPR(copy(fs_value)); - return img::format("RINT.S %s, %s", ft, fs); + return img_format("RINT.S %s, %s", ft, fs); } @@ -12719,7 +12704,7 @@ std::string NMD::ROTR(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string shift = IMMEDIATE(copy(shift_value)); - return img::format("ROTR %s, %s, %s", rt, rs, shift); + return img_format("ROTR %s, %s, %s", rt, rs, shift); } @@ -12743,7 +12728,7 @@ std::string NMD::ROTRV(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("ROTRV %s, %s, %s", rd, rs, rt); + return img_format("ROTRV %s, %s, %s", rd, rs, rt); } @@ -12771,7 +12756,7 @@ std::string NMD::ROTX(uint64 instruction) std::string shiftx = IMMEDIATE(copy(shiftx_value)); std::string stripe = IMMEDIATE(copy(stripe_value)); - return img::format("ROTX %s, %s, %s, %s, %s", + return img_format("ROTX %s, %s, %s, %s, %s", rt, rs, shift, shiftx, stripe); } @@ -12794,7 +12779,7 @@ std::string NMD::ROUND_L_D(uint64 instruction) std::string ft = FPR(copy(ft_value)); std::string fs = FPR(copy(fs_value)); - return img::format("ROUND.L.D %s, %s", ft, fs); + return img_format("ROUND.L.D %s, %s", ft, fs); } @@ -12816,7 +12801,7 @@ std::string NMD::ROUND_L_S(uint64 instruction) std::string ft = FPR(copy(ft_value)); std::string fs = FPR(copy(fs_value)); - return img::format("ROUND.L.S %s, %s", ft, fs); + return img_format("ROUND.L.S %s, %s", ft, fs); } @@ -12838,7 +12823,7 @@ std::string NMD::ROUND_W_D(uint64 instruction) std::string ft = FPR(copy(ft_value)); std::string fs = FPR(copy(fs_value)); - return img::format("ROUND.W.D %s, %s", ft, fs); + return img_format("ROUND.W.D %s, %s", ft, fs); } @@ -12860,7 +12845,7 @@ std::string NMD::ROUND_W_S(uint64 instruction) std::string ft = FPR(copy(ft_value)); std::string fs = FPR(copy(fs_value)); - return img::format("ROUND.W.S %s, %s", ft, fs); + return img_format("ROUND.W.S %s, %s", ft, fs); } @@ -12882,7 +12867,7 @@ std::string NMD::RSQRT_D(uint64 instruction) std::string ft = FPR(copy(ft_value)); std::string fs = FPR(copy(fs_value)); - return img::format("RSQRT.D %s, %s", ft, fs); + return img_format("RSQRT.D %s, %s", ft, fs); } @@ -12904,7 +12889,7 @@ std::string NMD::RSQRT_S(uint64 instruction) std::string ft = FPR(copy(ft_value)); std::string fs = FPR(copy(fs_value)); - return img::format("RSQRT.S %s, %s", ft, fs); + return img_format("RSQRT.S %s, %s", ft, fs); } @@ -12925,7 +12910,7 @@ std::string NMD::SAVE_16_(uint64 instruction) uint64 count_value = extract_count_3_2_1_0(instruction); std::string u = IMMEDIATE(copy(u_value)); - return img::format("SAVE %s%s", u, + return img_format("SAVE %s%s", u, save_restore_list(encode_rt1_from_rt(rt1_value), count_value, 0)); } @@ -12948,7 +12933,7 @@ std::string NMD::SAVE_32_(uint64 instruction) uint64 gp_value = extract_gp_2(instruction); std::string u = IMMEDIATE(copy(u_value)); - return img::format("SAVE %s%s", u, + return img_format("SAVE %s%s", u, save_restore_list(rt_value, count_value, gp_value)); } @@ -12971,7 +12956,7 @@ std::string NMD::SAVEF(uint64 instruction) std::string u = IMMEDIATE(copy(u_value)); std::string count = IMMEDIATE(copy(count_value)); - return img::format("SAVEF %s, %s", u, count); + return img_format("SAVEF %s, %s", u, count); } @@ -12995,7 +12980,7 @@ std::string NMD::SB_16_(uint64 instruction) std::string u = IMMEDIATE(copy(u_value)); std::string rs3 = GPR(decode_gpr_gpr3(rs3_value)); - return img::format("SB %s, %s(%s)", rtz3, u, rs3); + return img_format("SB %s, %s(%s)", rtz3, u, rs3); } @@ -13017,7 +13002,7 @@ std::string NMD::SB_GP_(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string u = IMMEDIATE(copy(u_value)); - return img::format("SB %s, %s($%d)", rt, u, 28); + return img_format("SB %s, %s($%d)", rt, u, 28); } @@ -13041,7 +13026,7 @@ std::string NMD::SB_S9_(uint64 instruction) std::string s = IMMEDIATE(copy(s_value)); std::string rs = GPR(copy(rs_value)); - return img::format("SB %s, %s(%s)", rt, s, rs); + return img_format("SB %s, %s(%s)", rt, s, rs); } @@ -13065,7 +13050,7 @@ std::string NMD::SB_U12_(uint64 instruction) std::string u = IMMEDIATE(copy(u_value)); std::string rs = GPR(copy(rs_value)); - return img::format("SB %s, %s(%s)", rt, u, rs); + return img_format("SB %s, %s(%s)", rt, u, rs); } @@ -13089,7 +13074,7 @@ std::string NMD::SBE(uint64 instruction) std::string s = IMMEDIATE(copy(s_value)); std::string rs = GPR(copy(rs_value)); - return img::format("SBE %s, %s(%s)", rt, s, rs); + return img_format("SBE %s, %s(%s)", rt, s, rs); } @@ -13113,7 +13098,7 @@ std::string NMD::SBX(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("SBX %s, %s(%s)", rd, rs, rt); + return img_format("SBX %s, %s(%s)", rd, rs, rt); } @@ -13137,7 +13122,7 @@ std::string NMD::SC(uint64 instruction) std::string s = IMMEDIATE(copy(s_value)); std::string rs = GPR(copy(rs_value)); - return img::format("SC %s, %s(%s)", rt, s, rs); + return img_format("SC %s, %s(%s)", rt, s, rs); } @@ -13161,7 +13146,7 @@ std::string NMD::SCD(uint64 instruction) std::string s = IMMEDIATE(copy(s_value)); std::string rs = GPR(copy(rs_value)); - return img::format("SCD %s, %s(%s)", rt, s, rs); + return img_format("SCD %s, %s(%s)", rt, s, rs); } @@ -13185,7 +13170,7 @@ std::string NMD::SCDP(uint64 instruction) std::string ru = GPR(copy(ru_value)); std::string rs = GPR(copy(rs_value)); - return img::format("SCDP %s, %s, (%s)", rt, ru, rs); + return img_format("SCDP %s, %s, (%s)", rt, ru, rs); } @@ -13209,7 +13194,7 @@ std::string NMD::SCE(uint64 instruction) std::string s = IMMEDIATE(copy(s_value)); std::string rs = GPR(copy(rs_value)); - return img::format("SCE %s, %s(%s)", rt, s, rs); + return img_format("SCE %s, %s(%s)", rt, s, rs); } @@ -13233,7 +13218,7 @@ std::string NMD::SCWP(uint64 instruction) std::string ru = GPR(copy(ru_value)); std::string rs = GPR(copy(rs_value)); - return img::format("SCWP %s, %s, (%s)", rt, ru, rs); + return img_format("SCWP %s, %s, (%s)", rt, ru, rs); } @@ -13257,7 +13242,7 @@ std::string NMD::SCWPE(uint64 instruction) std::string ru = GPR(copy(ru_value)); std::string rs = GPR(copy(rs_value)); - return img::format("SCWPE %s, %s, (%s)", rt, ru, rs); + return img_format("SCWPE %s, %s, (%s)", rt, ru, rs); } @@ -13279,7 +13264,7 @@ std::string NMD::SD_GP_(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string u = IMMEDIATE(copy(u_value)); - return img::format("SD %s, %s($%d)", rt, u, 28); + return img_format("SD %s, %s($%d)", rt, u, 28); } @@ -13303,7 +13288,7 @@ std::string NMD::SD_S9_(uint64 instruction) std::string s = IMMEDIATE(copy(s_value)); std::string rs = GPR(copy(rs_value)); - return img::format("SD %s, %s(%s)", rt, s, rs); + return img_format("SD %s, %s(%s)", rt, s, rs); } @@ -13327,7 +13312,7 @@ std::string NMD::SD_U12_(uint64 instruction) std::string u = IMMEDIATE(copy(u_value)); std::string rs = GPR(copy(rs_value)); - return img::format("SD %s, %s(%s)", rt, u, rs); + return img_format("SD %s, %s(%s)", rt, u, rs); } @@ -13347,7 +13332,7 @@ std::string NMD::SDBBP_16_(uint64 instruction) std::string code = IMMEDIATE(copy(code_value)); - return img::format("SDBBP %s", code); + return img_format("SDBBP %s", code); } @@ -13367,7 +13352,7 @@ std::string NMD::SDBBP_32_(uint64 instruction) std::string code = IMMEDIATE(copy(code_value)); - return img::format("SDBBP %s", code); + return img_format("SDBBP %s", code); } @@ -13389,7 +13374,7 @@ std::string NMD::SDC1_GP_(uint64 instruction) std::string ft = FPR(copy(ft_value)); std::string u = IMMEDIATE(copy(u_value)); - return img::format("SDC1 %s, %s($%d)", ft, u, 28); + return img_format("SDC1 %s, %s($%d)", ft, u, 28); } @@ -13413,7 +13398,7 @@ std::string NMD::SDC1_S9_(uint64 instruction) std::string s = IMMEDIATE(copy(s_value)); std::string rs = GPR(copy(rs_value)); - return img::format("SDC1 %s, %s(%s)", ft, s, rs); + return img_format("SDC1 %s, %s(%s)", ft, s, rs); } @@ -13437,7 +13422,7 @@ std::string NMD::SDC1_U12_(uint64 instruction) std::string u = IMMEDIATE(copy(u_value)); std::string rs = GPR(copy(rs_value)); - return img::format("SDC1 %s, %s(%s)", ft, u, rs); + return img_format("SDC1 %s, %s(%s)", ft, u, rs); } @@ -13461,7 +13446,7 @@ std::string NMD::SDC1X(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("SDC1X %s, %s(%s)", ft, rs, rt); + return img_format("SDC1X %s, %s(%s)", ft, rs, rt); } @@ -13485,7 +13470,7 @@ std::string NMD::SDC1XS(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("SDC1XS %s, %s(%s)", ft, rs, rt); + return img_format("SDC1XS %s, %s(%s)", ft, rs, rt); } @@ -13509,7 +13494,7 @@ std::string NMD::SDC2(uint64 instruction) std::string s = IMMEDIATE(copy(s_value)); std::string rs = GPR(copy(rs_value)); - return img::format("SDC2 %s, %s(%s)", cs, s, rs); + return img_format("SDC2 %s, %s(%s)", cs, s, rs); } @@ -13535,7 +13520,7 @@ std::string NMD::SDM(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string count3 = IMMEDIATE(encode_count3_from_count(count3_value)); - return img::format("SDM %s, %s(%s), %s", rt, s, rs, count3); + return img_format("SDM %s, %s(%s), %s", rt, s, rs, count3); } @@ -13557,7 +13542,7 @@ std::string NMD::SDPC_48_(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string s = ADDRESS(encode_s_from_address(s_value), 6); - return img::format("SDPC %s, %s", rt, s); + return img_format("SDPC %s, %s", rt, s); } @@ -13581,7 +13566,7 @@ std::string NMD::SDXS(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("SDXS %s, %s(%s)", rd, rs, rt); + return img_format("SDXS %s, %s(%s)", rd, rs, rt); } @@ -13605,7 +13590,7 @@ std::string NMD::SDX(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("SDX %s, %s(%s)", rd, rs, rt); + return img_format("SDX %s, %s(%s)", rd, rs, rt); } @@ -13627,7 +13612,7 @@ std::string NMD::SEB(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string rs = GPR(copy(rs_value)); - return img::format("SEB %s, %s", rt, rs); + return img_format("SEB %s, %s", rt, rs); } @@ -13649,7 +13634,7 @@ std::string NMD::SEH(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string rs = GPR(copy(rs_value)); - return img::format("SEH %s, %s", rt, rs); + return img_format("SEH %s, %s", rt, rs); } @@ -13673,7 +13658,7 @@ std::string NMD::SEL_D(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("SEL.D %s, %s, %s", fd, fs, ft); + return img_format("SEL.D %s, %s, %s", fd, fs, ft); } @@ -13697,7 +13682,7 @@ std::string NMD::SEL_S(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("SEL.S %s, %s, %s", fd, fs, ft); + return img_format("SEL.S %s, %s, %s", fd, fs, ft); } @@ -13721,7 +13706,7 @@ std::string NMD::SELEQZ_D(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("SELEQZ.D %s, %s, %s", fd, fs, ft); + return img_format("SELEQZ.D %s, %s, %s", fd, fs, ft); } @@ -13745,7 +13730,7 @@ std::string NMD::SELEQZ_S(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("SELEQZ.S %s, %s, %s", fd, fs, ft); + return img_format("SELEQZ.S %s, %s, %s", fd, fs, ft); } @@ -13769,7 +13754,7 @@ std::string NMD::SELNEZ_D(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("SELNEZ.D %s, %s, %s", fd, fs, ft); + return img_format("SELNEZ.D %s, %s, %s", fd, fs, ft); } @@ -13793,7 +13778,7 @@ std::string NMD::SELNEZ_S(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("SELNEZ.S %s, %s, %s", fd, fs, ft); + return img_format("SELNEZ.S %s, %s, %s", fd, fs, ft); } @@ -13817,7 +13802,7 @@ std::string NMD::SEQI(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string u = IMMEDIATE(copy(u_value)); - return img::format("SEQI %s, %s, %s", rt, rs, u); + return img_format("SEQI %s, %s, %s", rt, rs, u); } @@ -13841,7 +13826,7 @@ std::string NMD::SH_16_(uint64 instruction) std::string u = IMMEDIATE(copy(u_value)); std::string rs3 = GPR(decode_gpr_gpr3(rs3_value)); - return img::format("SH %s, %s(%s)", rtz3, u, rs3); + return img_format("SH %s, %s(%s)", rtz3, u, rs3); } @@ -13863,7 +13848,7 @@ std::string NMD::SH_GP_(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string u = IMMEDIATE(copy(u_value)); - return img::format("SH %s, %s($%d)", rt, u, 28); + return img_format("SH %s, %s($%d)", rt, u, 28); } @@ -13887,7 +13872,7 @@ std::string NMD::SH_S9_(uint64 instruction) std::string s = IMMEDIATE(copy(s_value)); std::string rs = GPR(copy(rs_value)); - return img::format("SH %s, %s(%s)", rt, s, rs); + return img_format("SH %s, %s(%s)", rt, s, rs); } @@ -13911,7 +13896,7 @@ std::string NMD::SH_U12_(uint64 instruction) std::string u = IMMEDIATE(copy(u_value)); std::string rs = GPR(copy(rs_value)); - return img::format("SH %s, %s(%s)", rt, u, rs); + return img_format("SH %s, %s(%s)", rt, u, rs); } @@ -13935,7 +13920,7 @@ std::string NMD::SHE(uint64 instruction) std::string s = IMMEDIATE(copy(s_value)); std::string rs = GPR(copy(rs_value)); - return img::format("SHE %s, %s(%s)", rt, s, rs); + return img_format("SHE %s, %s(%s)", rt, s, rs); } @@ -13957,7 +13942,7 @@ std::string NMD::SHILO(uint64 instruction) std::string shift = IMMEDIATE(copy(shift_value)); std::string ac = AC(copy(ac_value)); - return img::format("SHILO %s, %s", ac, shift); + return img_format("SHILO %s, %s", ac, shift); } @@ -13979,7 +13964,7 @@ std::string NMD::SHILOV(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string ac = AC(copy(ac_value)); - return img::format("SHILOV %s, %s", ac, rs); + return img_format("SHILOV %s, %s", ac, rs); } @@ -14003,7 +13988,7 @@ std::string NMD::SHLL_PH(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string sa = IMMEDIATE(copy(sa_value)); - return img::format("SHLL.PH %s, %s, %s", rt, rs, sa); + return img_format("SHLL.PH %s, %s, %s", rt, rs, sa); } @@ -14027,7 +14012,7 @@ std::string NMD::SHLL_QB(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string sa = IMMEDIATE(copy(sa_value)); - return img::format("SHLL.QB %s, %s, %s", rt, rs, sa); + return img_format("SHLL.QB %s, %s, %s", rt, rs, sa); } @@ -14052,7 +14037,7 @@ std::string NMD::SHLL_S_PH(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string sa = IMMEDIATE(copy(sa_value)); - return img::format("SHLL_S.PH %s, %s, %s", rt, rs, sa); + return img_format("SHLL_S.PH %s, %s, %s", rt, rs, sa); } @@ -14076,7 +14061,7 @@ std::string NMD::SHLL_S_W(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string sa = IMMEDIATE(copy(sa_value)); - return img::format("SHLL_S.W %s, %s, %s", rt, rs, sa); + return img_format("SHLL_S.W %s, %s, %s", rt, rs, sa); } @@ -14101,7 +14086,7 @@ std::string NMD::SHLLV_PH(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string rs = GPR(copy(rs_value)); - return img::format("SHLLV.PH %s, %s, %s", rd, rt, rs); + return img_format("SHLLV.PH %s, %s, %s", rd, rt, rs); } @@ -14125,7 +14110,7 @@ std::string NMD::SHLLV_QB(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string rs = GPR(copy(rs_value)); - return img::format("SHLLV.QB %s, %s, %s", rd, rt, rs); + return img_format("SHLLV.QB %s, %s, %s", rd, rt, rs); } @@ -14150,7 +14135,7 @@ std::string NMD::SHLLV_S_PH(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string rs = GPR(copy(rs_value)); - return img::format("SHLLV_S.PH %s, %s, %s", rd, rt, rs); + return img_format("SHLLV_S.PH %s, %s, %s", rd, rt, rs); } @@ -14174,7 +14159,7 @@ std::string NMD::SHLLV_S_W(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string rs = GPR(copy(rs_value)); - return img::format("SHLLV_S.W %s, %s, %s", rd, rt, rs); + return img_format("SHLLV_S.W %s, %s, %s", rd, rt, rs); } @@ -14198,7 +14183,7 @@ std::string NMD::SHRA_PH(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string sa = IMMEDIATE(copy(sa_value)); - return img::format("SHRA.PH %s, %s, %s", rt, rs, sa); + return img_format("SHRA.PH %s, %s, %s", rt, rs, sa); } @@ -14222,7 +14207,7 @@ std::string NMD::SHRA_QB(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string sa = IMMEDIATE(copy(sa_value)); - return img::format("SHRA.QB %s, %s, %s", rt, rs, sa); + return img_format("SHRA.QB %s, %s, %s", rt, rs, sa); } @@ -14246,7 +14231,7 @@ std::string NMD::SHRA_R_PH(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string sa = IMMEDIATE(copy(sa_value)); - return img::format("SHRA_R.PH %s, %s, %s", rt, rs, sa); + return img_format("SHRA_R.PH %s, %s, %s", rt, rs, sa); } @@ -14270,7 +14255,7 @@ std::string NMD::SHRA_R_QB(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string sa = IMMEDIATE(copy(sa_value)); - return img::format("SHRA_R.QB %s, %s, %s", rt, rs, sa); + return img_format("SHRA_R.QB %s, %s, %s", rt, rs, sa); } @@ -14294,7 +14279,7 @@ std::string NMD::SHRA_R_W(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string sa = IMMEDIATE(copy(sa_value)); - return img::format("SHRA_R.W %s, %s, %s", rt, rs, sa); + return img_format("SHRA_R.W %s, %s, %s", rt, rs, sa); } @@ -14318,7 +14303,7 @@ std::string NMD::SHRAV_PH(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string rs = GPR(copy(rs_value)); - return img::format("SHRAV.PH %s, %s, %s", rd, rt, rs); + return img_format("SHRAV.PH %s, %s, %s", rd, rt, rs); } @@ -14342,7 +14327,7 @@ std::string NMD::SHRAV_QB(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string rs = GPR(copy(rs_value)); - return img::format("SHRAV.QB %s, %s, %s", rd, rt, rs); + return img_format("SHRAV.QB %s, %s, %s", rd, rt, rs); } @@ -14366,7 +14351,7 @@ std::string NMD::SHRAV_R_PH(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string rs = GPR(copy(rs_value)); - return img::format("SHRAV_R.PH %s, %s, %s", rd, rt, rs); + return img_format("SHRAV_R.PH %s, %s, %s", rd, rt, rs); } @@ -14390,7 +14375,7 @@ std::string NMD::SHRAV_R_QB(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string rs = GPR(copy(rs_value)); - return img::format("SHRAV_R.QB %s, %s, %s", rd, rt, rs); + return img_format("SHRAV_R.QB %s, %s, %s", rd, rt, rs); } @@ -14414,7 +14399,7 @@ std::string NMD::SHRAV_R_W(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string rs = GPR(copy(rs_value)); - return img::format("SHRAV_R.W %s, %s, %s", rd, rt, rs); + return img_format("SHRAV_R.W %s, %s, %s", rd, rt, rs); } @@ -14438,7 +14423,7 @@ std::string NMD::SHRL_PH(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string sa = IMMEDIATE(copy(sa_value)); - return img::format("SHRL.PH %s, %s, %s", rt, rs, sa); + return img_format("SHRL.PH %s, %s, %s", rt, rs, sa); } @@ -14462,7 +14447,7 @@ std::string NMD::SHRL_QB(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string sa = IMMEDIATE(copy(sa_value)); - return img::format("SHRL.QB %s, %s, %s", rt, rs, sa); + return img_format("SHRL.QB %s, %s, %s", rt, rs, sa); } @@ -14487,7 +14472,7 @@ std::string NMD::SHRLV_PH(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string rs = GPR(copy(rs_value)); - return img::format("SHRLV.PH %s, %s, %s", rd, rt, rs); + return img_format("SHRLV.PH %s, %s, %s", rd, rt, rs); } @@ -14511,7 +14496,7 @@ std::string NMD::SHRLV_QB(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string rs = GPR(copy(rs_value)); - return img::format("SHRLV.QB %s, %s, %s", rd, rt, rs); + return img_format("SHRLV.QB %s, %s, %s", rd, rt, rs); } @@ -14535,7 +14520,7 @@ std::string NMD::SHX(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("SHX %s, %s(%s)", rd, rs, rt); + return img_format("SHX %s, %s(%s)", rd, rs, rt); } @@ -14559,7 +14544,7 @@ std::string NMD::SHXS(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("SHXS %s, %s(%s)", rd, rs, rt); + return img_format("SHXS %s, %s(%s)", rd, rs, rt); } @@ -14579,7 +14564,7 @@ std::string NMD::SIGRIE(uint64 instruction) std::string code = IMMEDIATE(copy(code_value)); - return img::format("SIGRIE %s", code); + return img_format("SIGRIE %s", code); } @@ -14603,7 +14588,7 @@ std::string NMD::SLL_16_(uint64 instruction) std::string rs3 = GPR(decode_gpr_gpr3(rs3_value)); std::string shift3 = IMMEDIATE(encode_shift3_from_shift(shift3_value)); - return img::format("SLL %s, %s, %s", rt3, rs3, shift3); + return img_format("SLL %s, %s, %s", rt3, rs3, shift3); } @@ -14627,7 +14612,7 @@ std::string NMD::SLL_32_(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string shift = IMMEDIATE(copy(shift_value)); - return img::format("SLL %s, %s, %s", rt, rs, shift); + return img_format("SLL %s, %s, %s", rt, rs, shift); } @@ -14651,7 +14636,7 @@ std::string NMD::SLLV(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("SLLV %s, %s, %s", rd, rs, rt); + return img_format("SLLV %s, %s, %s", rd, rs, rt); } @@ -14675,7 +14660,7 @@ std::string NMD::SLT(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("SLT %s, %s, %s", rd, rs, rt); + return img_format("SLT %s, %s, %s", rd, rs, rt); } @@ -14699,7 +14684,7 @@ std::string NMD::SLTI(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string u = IMMEDIATE(copy(u_value)); - return img::format("SLTI %s, %s, %s", rt, rs, u); + return img_format("SLTI %s, %s, %s", rt, rs, u); } @@ -14723,7 +14708,7 @@ std::string NMD::SLTIU(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string u = IMMEDIATE(copy(u_value)); - return img::format("SLTIU %s, %s, %s", rt, rs, u); + return img_format("SLTIU %s, %s, %s", rt, rs, u); } @@ -14747,7 +14732,7 @@ std::string NMD::SLTU(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("SLTU %s, %s, %s", rd, rs, rt); + return img_format("SLTU %s, %s, %s", rd, rs, rt); } @@ -14771,7 +14756,7 @@ std::string NMD::SOV(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("SOV %s, %s, %s", rd, rs, rt); + return img_format("SOV %s, %s, %s", rd, rs, rt); } @@ -14791,7 +14776,7 @@ std::string NMD::SPECIAL2(uint64 instruction) std::string op = IMMEDIATE(copy(op_value)); - return img::format("SPECIAL2 %s", op); + return img_format("SPECIAL2 %s", op); } @@ -14813,7 +14798,7 @@ std::string NMD::SQRT_D(uint64 instruction) std::string ft = FPR(copy(ft_value)); std::string fs = FPR(copy(fs_value)); - return img::format("SQRT.D %s, %s", ft, fs); + return img_format("SQRT.D %s, %s", ft, fs); } @@ -14835,7 +14820,7 @@ std::string NMD::SQRT_S(uint64 instruction) std::string ft = FPR(copy(ft_value)); std::string fs = FPR(copy(fs_value)); - return img::format("SQRT.S %s, %s", ft, fs); + return img_format("SQRT.S %s, %s", ft, fs); } @@ -14859,7 +14844,7 @@ std::string NMD::SRA(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string shift = IMMEDIATE(copy(shift_value)); - return img::format("SRA %s, %s, %s", rt, rs, shift); + return img_format("SRA %s, %s, %s", rt, rs, shift); } @@ -14883,7 +14868,7 @@ std::string NMD::SRAV(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("SRAV %s, %s, %s", rd, rs, rt); + return img_format("SRAV %s, %s, %s", rd, rs, rt); } @@ -14907,7 +14892,7 @@ std::string NMD::SRL_16_(uint64 instruction) std::string rs3 = GPR(decode_gpr_gpr3(rs3_value)); std::string shift3 = IMMEDIATE(encode_shift3_from_shift(shift3_value)); - return img::format("SRL %s, %s, %s", rt3, rs3, shift3); + return img_format("SRL %s, %s, %s", rt3, rs3, shift3); } @@ -14931,7 +14916,7 @@ std::string NMD::SRL_32_(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string shift = IMMEDIATE(copy(shift_value)); - return img::format("SRL %s, %s, %s", rt, rs, shift); + return img_format("SRL %s, %s, %s", rt, rs, shift); } @@ -14955,7 +14940,7 @@ std::string NMD::SRLV(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("SRLV %s, %s, %s", rd, rs, rt); + return img_format("SRLV %s, %s, %s", rd, rs, rt); } @@ -14979,7 +14964,7 @@ std::string NMD::SUB(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("SUB %s, %s, %s", rd, rs, rt); + return img_format("SUB %s, %s, %s", rd, rs, rt); } @@ -15003,7 +14988,7 @@ std::string NMD::SUB_D(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("SUB.D %s, %s, %s", fd, fs, ft); + return img_format("SUB.D %s, %s, %s", fd, fs, ft); } @@ -15027,7 +15012,7 @@ std::string NMD::SUB_S(uint64 instruction) std::string fs = FPR(copy(fs_value)); std::string ft = FPR(copy(ft_value)); - return img::format("SUB.S %s, %s, %s", fd, fs, ft); + return img_format("SUB.S %s, %s, %s", fd, fs, ft); } @@ -15051,7 +15036,7 @@ std::string NMD::SUBQ_PH(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("SUBQ.PH %s, %s, %s", rd, rs, rt); + return img_format("SUBQ.PH %s, %s, %s", rd, rs, rt); } @@ -15076,7 +15061,7 @@ std::string NMD::SUBQ_S_PH(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("SUBQ_S.PH %s, %s, %s", rd, rs, rt); + return img_format("SUBQ_S.PH %s, %s, %s", rd, rs, rt); } @@ -15101,7 +15086,7 @@ std::string NMD::SUBQ_S_W(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("SUBQ_S.W %s, %s, %s", rd, rs, rt); + return img_format("SUBQ_S.W %s, %s, %s", rd, rs, rt); } @@ -15126,7 +15111,7 @@ std::string NMD::SUBQH_PH(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("SUBQH.PH %s, %s, %s", rd, rs, rt); + return img_format("SUBQH.PH %s, %s, %s", rd, rs, rt); } @@ -15151,7 +15136,7 @@ std::string NMD::SUBQH_R_PH(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("SUBQH_R.PH %s, %s, %s", rd, rs, rt); + return img_format("SUBQH_R.PH %s, %s, %s", rd, rs, rt); } @@ -15176,7 +15161,7 @@ std::string NMD::SUBQH_R_W(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("SUBQH_R.W %s, %s, %s", rd, rs, rt); + return img_format("SUBQH_R.W %s, %s, %s", rd, rs, rt); } @@ -15201,7 +15186,7 @@ std::string NMD::SUBQH_W(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("SUBQH.W %s, %s, %s", rd, rs, rt); + return img_format("SUBQH.W %s, %s, %s", rd, rs, rt); } @@ -15225,7 +15210,7 @@ std::string NMD::SUBU_16_(uint64 instruction) std::string rs3 = GPR(decode_gpr_gpr3(rs3_value)); std::string rt3 = GPR(decode_gpr_gpr3(rt3_value)); - return img::format("SUBU %s, %s, %s", rd3, rs3, rt3); + return img_format("SUBU %s, %s, %s", rd3, rs3, rt3); } @@ -15249,7 +15234,7 @@ std::string NMD::SUBU_32_(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("SUBU %s, %s, %s", rd, rs, rt); + return img_format("SUBU %s, %s, %s", rd, rs, rt); } @@ -15273,7 +15258,7 @@ std::string NMD::SUBU_PH(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("SUBU.PH %s, %s, %s", rd, rs, rt); + return img_format("SUBU.PH %s, %s, %s", rd, rs, rt); } @@ -15297,7 +15282,7 @@ std::string NMD::SUBU_QB(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("SUBU.QB %s, %s, %s", rd, rs, rt); + return img_format("SUBU.QB %s, %s, %s", rd, rs, rt); } @@ -15322,7 +15307,7 @@ std::string NMD::SUBU_S_PH(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("SUBU_S.PH %s, %s, %s", rd, rs, rt); + return img_format("SUBU_S.PH %s, %s, %s", rd, rs, rt); } @@ -15347,7 +15332,7 @@ std::string NMD::SUBU_S_QB(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("SUBU_S.QB %s, %s, %s", rd, rs, rt); + return img_format("SUBU_S.QB %s, %s, %s", rd, rs, rt); } @@ -15372,7 +15357,7 @@ std::string NMD::SUBUH_QB(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("SUBUH.QB %s, %s, %s", rd, rs, rt); + return img_format("SUBUH.QB %s, %s, %s", rd, rs, rt); } @@ -15397,7 +15382,7 @@ std::string NMD::SUBUH_R_QB(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("SUBUH_R.QB %s, %s, %s", rd, rs, rt); + return img_format("SUBUH_R.QB %s, %s, %s", rd, rs, rt); } @@ -15421,7 +15406,7 @@ std::string NMD::SW_16_(uint64 instruction) std::string u = IMMEDIATE(copy(u_value)); std::string rs3 = GPR(decode_gpr_gpr3(rs3_value)); - return img::format("SW %s, %s(%s)", rtz3, u, rs3); + return img_format("SW %s, %s(%s)", rtz3, u, rs3); } @@ -15445,7 +15430,7 @@ std::string NMD::SW_4X4_(uint64 instruction) std::string u = IMMEDIATE(copy(u_value)); std::string rs4 = GPR(decode_gpr_gpr4(rs4_value)); - return img::format("SW %s, %s(%s)", rtz4, u, rs4); + return img_format("SW %s, %s(%s)", rtz4, u, rs4); } @@ -15467,7 +15452,7 @@ std::string NMD::SW_GP16_(uint64 instruction) std::string rtz3 = GPR(decode_gpr_gpr3_src_store(rtz3_value)); std::string u = IMMEDIATE(copy(u_value)); - return img::format("SW %s, %s($%d)", rtz3, u, 28); + return img_format("SW %s, %s($%d)", rtz3, u, 28); } @@ -15489,7 +15474,7 @@ std::string NMD::SW_GP_(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string u = IMMEDIATE(copy(u_value)); - return img::format("SW %s, %s($%d)", rt, u, 28); + return img_format("SW %s, %s($%d)", rt, u, 28); } @@ -15513,7 +15498,7 @@ std::string NMD::SW_S9_(uint64 instruction) std::string s = IMMEDIATE(copy(s_value)); std::string rs = GPR(copy(rs_value)); - return img::format("SW %s, %s(%s)", rt, s, rs); + return img_format("SW %s, %s(%s)", rt, s, rs); } @@ -15535,7 +15520,7 @@ std::string NMD::SW_SP_(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string u = IMMEDIATE(copy(u_value)); - return img::format("SW %s, %s($%d)", rt, u, 29); + return img_format("SW %s, %s($%d)", rt, u, 29); } @@ -15559,7 +15544,7 @@ std::string NMD::SW_U12_(uint64 instruction) std::string u = IMMEDIATE(copy(u_value)); std::string rs = GPR(copy(rs_value)); - return img::format("SW %s, %s(%s)", rt, u, rs); + return img_format("SW %s, %s(%s)", rt, u, rs); } @@ -15581,7 +15566,7 @@ std::string NMD::SWC1_GP_(uint64 instruction) std::string ft = FPR(copy(ft_value)); std::string u = IMMEDIATE(copy(u_value)); - return img::format("SWC1 %s, %s($%d)", ft, u, 28); + return img_format("SWC1 %s, %s($%d)", ft, u, 28); } @@ -15605,7 +15590,7 @@ std::string NMD::SWC1_S9_(uint64 instruction) std::string s = IMMEDIATE(copy(s_value)); std::string rs = GPR(copy(rs_value)); - return img::format("SWC1 %s, %s(%s)", ft, s, rs); + return img_format("SWC1 %s, %s(%s)", ft, s, rs); } @@ -15629,7 +15614,7 @@ std::string NMD::SWC1_U12_(uint64 instruction) std::string u = IMMEDIATE(copy(u_value)); std::string rs = GPR(copy(rs_value)); - return img::format("SWC1 %s, %s(%s)", ft, u, rs); + return img_format("SWC1 %s, %s(%s)", ft, u, rs); } @@ -15653,7 +15638,7 @@ std::string NMD::SWC1X(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("SWC1X %s, %s(%s)", ft, rs, rt); + return img_format("SWC1X %s, %s(%s)", ft, rs, rt); } @@ -15677,7 +15662,7 @@ std::string NMD::SWC1XS(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("SWC1XS %s, %s(%s)", ft, rs, rt); + return img_format("SWC1XS %s, %s(%s)", ft, rs, rt); } @@ -15701,7 +15686,7 @@ std::string NMD::SWC2(uint64 instruction) std::string s = IMMEDIATE(copy(s_value)); std::string rs = GPR(copy(rs_value)); - return img::format("SWC2 %s, %s(%s)", cs, s, rs); + return img_format("SWC2 %s, %s(%s)", cs, s, rs); } @@ -15725,7 +15710,7 @@ std::string NMD::SWE(uint64 instruction) std::string s = IMMEDIATE(copy(s_value)); std::string rs = GPR(copy(rs_value)); - return img::format("SWE %s, %s(%s)", rt, s, rs); + return img_format("SWE %s, %s(%s)", rt, s, rs); } @@ -15751,7 +15736,7 @@ std::string NMD::SWM(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string count3 = IMMEDIATE(encode_count3_from_count(count3_value)); - return img::format("SWM %s, %s(%s), %s", rt, s, rs, count3); + return img_format("SWM %s, %s(%s), %s", rt, s, rs, count3); } @@ -15773,7 +15758,7 @@ std::string NMD::SWPC_48_(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string s = ADDRESS(encode_s_from_address(s_value), 6); - return img::format("SWPC %s, %s", rt, s); + return img_format("SWPC %s, %s", rt, s); } @@ -15797,7 +15782,7 @@ std::string NMD::SWX(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("SWX %s, %s(%s)", rd, rs, rt); + return img_format("SWX %s, %s(%s)", rd, rs, rt); } @@ -15821,7 +15806,7 @@ std::string NMD::SWXS(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("SWXS %s, %s(%s)", rd, rs, rt); + return img_format("SWXS %s, %s(%s)", rd, rs, rt); } @@ -15841,7 +15826,7 @@ std::string NMD::SYNC(uint64 instruction) std::string stype = IMMEDIATE(copy(stype_value)); - return img::format("SYNC %s", stype); + return img_format("SYNC %s", stype); } @@ -15863,7 +15848,7 @@ std::string NMD::SYNCI(uint64 instruction) std::string s = IMMEDIATE(copy(s_value)); std::string rs = GPR(copy(rs_value)); - return img::format("SYNCI %s(%s)", s, rs); + return img_format("SYNCI %s(%s)", s, rs); } @@ -15885,7 +15870,7 @@ std::string NMD::SYNCIE(uint64 instruction) std::string s = IMMEDIATE(copy(s_value)); std::string rs = GPR(copy(rs_value)); - return img::format("SYNCIE %s(%s)", s, rs); + return img_format("SYNCIE %s(%s)", s, rs); } @@ -15905,7 +15890,7 @@ std::string NMD::SYSCALL_16_(uint64 instruction) std::string code = IMMEDIATE(copy(code_value)); - return img::format("SYSCALL %s", code); + return img_format("SYSCALL %s", code); } @@ -15923,7 +15908,7 @@ std::string NMD::SYSCALL_32_(uint64 instruction) std::string code = IMMEDIATE(copy(code_value)); - return img::format("SYSCALL %s", code); + return img_format("SYSCALL %s", code); } @@ -15945,7 +15930,7 @@ std::string NMD::TEQ(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("TEQ %s, %s", rs, rt); + return img_format("TEQ %s, %s", rs, rt); } @@ -16183,7 +16168,7 @@ std::string NMD::TNE(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("TNE %s, %s", rs, rt); + return img_format("TNE %s, %s", rs, rt); } @@ -16205,7 +16190,7 @@ std::string NMD::TRUNC_L_D(uint64 instruction) std::string ft = FPR(copy(ft_value)); std::string fs = FPR(copy(fs_value)); - return img::format("TRUNC.L.D %s, %s", ft, fs); + return img_format("TRUNC.L.D %s, %s", ft, fs); } @@ -16227,7 +16212,7 @@ std::string NMD::TRUNC_L_S(uint64 instruction) std::string ft = FPR(copy(ft_value)); std::string fs = FPR(copy(fs_value)); - return img::format("TRUNC.L.S %s, %s", ft, fs); + return img_format("TRUNC.L.S %s, %s", ft, fs); } @@ -16249,7 +16234,7 @@ std::string NMD::TRUNC_W_D(uint64 instruction) std::string ft = FPR(copy(ft_value)); std::string fs = FPR(copy(fs_value)); - return img::format("TRUNC.W.D %s, %s", ft, fs); + return img_format("TRUNC.W.D %s, %s", ft, fs); } @@ -16271,7 +16256,7 @@ std::string NMD::TRUNC_W_S(uint64 instruction) std::string ft = FPR(copy(ft_value)); std::string fs = FPR(copy(fs_value)); - return img::format("TRUNC.W.S %s, %s", ft, fs); + return img_format("TRUNC.W.S %s, %s", ft, fs); } @@ -16297,7 +16282,7 @@ std::string NMD::UALDM(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string count3 = IMMEDIATE(encode_count3_from_count(count3_value)); - return img::format("UALDM %s, %s(%s), %s", rt, s, rs, count3); + return img_format("UALDM %s, %s(%s), %s", rt, s, rs, count3); } @@ -16321,7 +16306,7 @@ std::string NMD::UALH(uint64 instruction) std::string s = IMMEDIATE(copy(s_value)); std::string rs = GPR(copy(rs_value)); - return img::format("UALH %s, %s(%s)", rt, s, rs); + return img_format("UALH %s, %s(%s)", rt, s, rs); } @@ -16347,7 +16332,7 @@ std::string NMD::UALWM(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string count3 = IMMEDIATE(encode_count3_from_count(count3_value)); - return img::format("UALWM %s, %s(%s), %s", rt, s, rs, count3); + return img_format("UALWM %s, %s(%s), %s", rt, s, rs, count3); } @@ -16373,7 +16358,7 @@ std::string NMD::UASDM(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string count3 = IMMEDIATE(encode_count3_from_count(count3_value)); - return img::format("UASDM %s, %s(%s), %s", rt, s, rs, count3); + return img_format("UASDM %s, %s(%s), %s", rt, s, rs, count3); } @@ -16397,7 +16382,7 @@ std::string NMD::UASH(uint64 instruction) std::string s = IMMEDIATE(copy(s_value)); std::string rs = GPR(copy(rs_value)); - return img::format("UASH %s, %s(%s)", rt, s, rs); + return img_format("UASH %s, %s(%s)", rt, s, rs); } @@ -16423,7 +16408,7 @@ std::string NMD::UASWM(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string count3 = IMMEDIATE(encode_count3_from_count(count3_value)); - return img::format("UASWM %s, %s(%s), %s", rt, s, rs, count3); + return img_format("UASWM %s, %s(%s), %s", rt, s, rs, count3); } @@ -16443,7 +16428,7 @@ std::string NMD::UDI(uint64 instruction) std::string op = IMMEDIATE(copy(op_value)); - return img::format("UDI %s", op); + return img_format("UDI %s", op); } @@ -16461,7 +16446,7 @@ std::string NMD::WAIT(uint64 instruction) std::string code = IMMEDIATE(copy(code_value)); - return img::format("WAIT %s", code); + return img_format("WAIT %s", code); } @@ -16483,7 +16468,7 @@ std::string NMD::WRDSP(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string mask = IMMEDIATE(copy(mask_value)); - return img::format("WRDSP %s, %s", rt, mask); + return img_format("WRDSP %s, %s", rt, mask); } @@ -16505,7 +16490,7 @@ std::string NMD::WRPGPR(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string rs = GPR(copy(rs_value)); - return img::format("WRPGPR %s, %s", rt, rs); + return img_format("WRPGPR %s, %s", rt, rs); } @@ -16527,7 +16512,7 @@ std::string NMD::XOR_16_(uint64 instruction) std::string rs3 = GPR(decode_gpr_gpr3(rs3_value)); std::string rt3 = GPR(decode_gpr_gpr3(rt3_value)); - return img::format("XOR %s, %s", rs3, rt3); + return img_format("XOR %s, %s", rs3, rt3); } @@ -16551,7 +16536,7 @@ std::string NMD::XOR_32_(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - return img::format("XOR %s, %s, %s", rd, rs, rt); + return img_format("XOR %s, %s, %s", rd, rs, rt); } @@ -16575,7 +16560,7 @@ std::string NMD::XORI(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string u = IMMEDIATE(copy(u_value)); - return img::format("XORI %s, %s, %s", rt, rs, u); + return img_format("XORI %s, %s, %s", rt, rs, u); } @@ -16596,7 +16581,7 @@ std::string NMD::YIELD(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string rs = GPR(copy(rs_value)); - return img::format("YIELD %s, %s", rt, rs); + return img_format("YIELD %s, %s", rt, rs); } diff --git a/disas/nanomips.h b/disas/nanomips.h index a0a2225301..9fe0cc67da 100644 --- a/disas/nanomips.h +++ b/disas/nanomips.h @@ -29,11 +29,7 @@ typedef int64_t int64; typedef uint64_t uint64; typedef uint32_t uint32; typedef uint16_t uint16; - -namespace img -{ - typedef uint64_t address; -} +typedef uint64_t img_address; class NMD @@ -70,7 +66,7 @@ public: }; - NMD(img::address pc, TABLE_ATTRIBUTE_TYPE requested_instruction_categories) + NMD(img_address pc, TABLE_ATTRIBUTE_TYPE requested_instruction_categories) : m_pc(pc) , m_requested_instruction_categories(requested_instruction_categories) { @@ -81,7 +77,7 @@ public: private: - img::address m_pc; + img_address m_pc; TABLE_ATTRIBUTE_TYPE m_requested_instruction_categories; typedef std::string(NMD:: *disassembly_function)(uint64 instruction); From patchwork Sun Oct 30 22:28:02 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 13025252 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 4AA8FECAAA1 for ; Sun, 30 Oct 2022 22:31:29 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1opGpA-00037L-TI; Sun, 30 Oct 2022 18:30:36 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1opGp7-0002ty-W9 for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:30:34 -0400 Received: from mail-wm1-x334.google.com ([2a00:1450:4864:20::334]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1opGp5-0007p8-Q1 for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:30:33 -0400 Received: by mail-wm1-x334.google.com with SMTP id l16-20020a05600c4f1000b003c6c0d2a445so7049563wmq.4 for ; Sun, 30 Oct 2022 15:30:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=CGyBSYD+JsH4+UKvfVd3HbDWxqeqvtSsbbGqIJahaV8=; b=pBzAjOdJAcDvQvlyf0qNODSNDj9yW9lQ1JARx5gMrOSEQGUCan3/uBU4Js4YUklVXS PKtz5PwSbR1xgEsXgLSAjVQKs0iJzFrv+ZayCYjNGfZZXnj5oLBuO07gnh1xRARwCvts ILG94uLKqKAeqV/G1NbKP+Laq6BR+KFvSCS+Chv5vca01W5LeMkFJaYLRUSLSpKN4j1x 9hPjE0vTZMWH80ELQQcW2haK5HFsg8OxrtO8ErxY9EKTotGQ47EKDnum1fvtFp9mob7y Y6MG41zYox2s7QBNTg767rpaa5MPsC8BkveOXOV57Em+7rW3dN3djrtfu1HX7l3LpGeC z8uA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=CGyBSYD+JsH4+UKvfVd3HbDWxqeqvtSsbbGqIJahaV8=; b=q1y66TiPLO9Nw2ZUEz06UV4bKe1yEk5Yd9hCph3bU0abKnCieXEA4/+Ht91B3E8dkw 4wAWKiueqXSjMiTLr+q7pb5qazYaV9PVWNF0xj9Wmls5J7uBXWADXqweDTYrS3J+nTSW s9R6oX00HvBYJ12qpu193Xb4pHlqHsdkmMkaijtOQ81HSokiYWgajC0zP4Skk3CnLEtp 3JALwrD+0nNNTGiWVPmUStEoIiN9XOwJOcan4tPWdNzCHrOy25xXMlY9TMP0aaL38Rj9 D5ooXJqVTf/+gDJvwUdLQ0zBMj/Yz5DV/VFjRpneb8ol3SBIaMuthD2swyZUOp129w/A /63g== X-Gm-Message-State: ACrzQf0/CtHlFw5bieqOi+Lw4Ph0dlbVtErp60xbXE5e2u2Qw+IiFdqW 2EipHyx3uK+LQS7kKvlGp3AjHWtoaD4imQ== X-Google-Smtp-Source: AMsMyM5kaJYtuvDezcwmP5tpV8DbBzK0Pbx5lKobAoAFJAMDtBGx0HkRNxa86BxEHhiM8mxTX3Yd6A== X-Received: by 2002:a05:600c:524c:b0:3cc:ed19:707 with SMTP id fc12-20020a05600c524c00b003cced190707mr6199080wmb.80.1667169030170; Sun, 30 Oct 2022 15:30:30 -0700 (PDT) Received: from localhost.localdomain ([185.126.107.38]) by smtp.gmail.com with ESMTPSA id a16-20020a5d5090000000b002206203ed3dsm5213599wrt.29.2022.10.30.15.30.28 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 30 Oct 2022 15:30:29 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Aleksandar Rikalo , Huacai Chen , Stefan Pejic , Jiaxun Yang , Aurelien Jarno , Paul Burton , Milica Lazarevic , Thomas Huth , Richard Henderson Subject: [PULL 16/55] disas/nanomips: Extract enums out of the NMD class Date: Sun, 30 Oct 2022 23:28:02 +0100 Message-Id: <20221030222841.42377-17-philmd@linaro.org> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221030222841.42377-1-philmd@linaro.org> References: <20221030222841.42377-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::334; envelope-from=philmd@linaro.org; helo=mail-wm1-x334.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Qemu-devel" Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Milica Lazarevic Definitions of enums TABLE_ENTRY_TYPE and TABLE_ATTRIBUTE_TYPE are moved out of the NMD class. The main goal is to remove NMD class completely. Signed-off-by: Milica Lazarevic Reviewed-by: Thomas Huth Reviewed-by: Richard Henderson Message-Id: <20220912122635.74032-3-milica.lazarevic@syrmia.com> Signed-off-by: Philippe Mathieu-Daudé --- disas/nanomips.cpp | 8 +++---- disas/nanomips.h | 59 +++++++++++++++++++++++----------------------- 2 files changed, 33 insertions(+), 34 deletions(-) diff --git a/disas/nanomips.cpp b/disas/nanomips.cpp index 84529685bf..bdc640b38b 100644 --- a/disas/nanomips.cpp +++ b/disas/nanomips.cpp @@ -50,8 +50,8 @@ int nanomips_dis(char *buf, std::string disasm; uint16 bits[3] = {one, two, three}; - NMD::TABLE_ENTRY_TYPE type; - NMD d(address, NMD::ALL_ATTRIBUTES); + TABLE_ENTRY_TYPE type; + NMD d(address, ALL_ATTRIBUTES); int size = d.Disassemble(bits, disasm, type); strcpy(buf, disasm.c_str()); @@ -772,7 +772,7 @@ uint64 NMD::extract_op_code_value(const uint16 * data, int size) int NMD::Disassemble(const uint16 * data, std::string & dis, - NMD::TABLE_ENTRY_TYPE & type) + TABLE_ENTRY_TYPE & type) { return Disassemble(data, dis, type, MAJOR, 2); } @@ -790,7 +790,7 @@ int NMD::Disassemble(const uint16 * data, std::string & dis, * disassembly string - on error will constain error string */ int NMD::Disassemble(const uint16 * data, std::string & dis, - NMD::TABLE_ENTRY_TYPE & type, const Pool *table, + TABLE_ENTRY_TYPE & type, const Pool *table, int table_size) { try diff --git a/disas/nanomips.h b/disas/nanomips.h index 9fe0cc67da..f65a0957b8 100644 --- a/disas/nanomips.h +++ b/disas/nanomips.h @@ -31,41 +31,40 @@ typedef uint32_t uint32; typedef uint16_t uint16; typedef uint64_t img_address; +enum TABLE_ENTRY_TYPE { + instruction, + call_instruction, + branch_instruction, + return_instruction, + reserved_block, + pool, +}; + +enum TABLE_ATTRIBUTE_TYPE { + MIPS64_ = 0x00000001, + XNP_ = 0x00000002, + XMMS_ = 0x00000004, + EVA_ = 0x00000008, + DSP_ = 0x00000010, + MT_ = 0x00000020, + EJTAG_ = 0x00000040, + TLBINV_ = 0x00000080, + CP0_ = 0x00000100, + CP1_ = 0x00000200, + CP2_ = 0x00000400, + UDI_ = 0x00000800, + MCU_ = 0x00001000, + VZ_ = 0x00002000, + TLB_ = 0x00004000, + MVH_ = 0x00008000, + ALL_ATTRIBUTES = 0xffffffffull, +}; + class NMD { public: - enum TABLE_ENTRY_TYPE { - instruction, - call_instruction, - branch_instruction, - return_instruction, - reserved_block, - pool, - }; - - enum TABLE_ATTRIBUTE_TYPE { - MIPS64_ = 0x00000001, - XNP_ = 0x00000002, - XMMS_ = 0x00000004, - EVA_ = 0x00000008, - DSP_ = 0x00000010, - MT_ = 0x00000020, - EJTAG_ = 0x00000040, - TLBINV_ = 0x00000080, - CP0_ = 0x00000100, - CP1_ = 0x00000200, - CP2_ = 0x00000400, - UDI_ = 0x00000800, - MCU_ = 0x00001000, - VZ_ = 0x00002000, - TLB_ = 0x00004000, - MVH_ = 0x00008000, - ALL_ATTRIBUTES = 0xffffffffull, - }; - - NMD(img_address pc, TABLE_ATTRIBUTE_TYPE requested_instruction_categories) : m_pc(pc) , m_requested_instruction_categories(requested_instruction_categories) From patchwork Sun Oct 30 22:28:03 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 13025248 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 9A76CECAAA1 for ; Sun, 30 Oct 2022 22:31:09 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1opGpG-0003YY-JD; Sun, 30 Oct 2022 18:30:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1opGpE-0003Nu-M8 for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:30:40 -0400 Received: from mail-wr1-x42b.google.com ([2a00:1450:4864:20::42b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1opGpC-0007z8-RN for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:30:40 -0400 Received: by mail-wr1-x42b.google.com with SMTP id v1so13648251wrt.11 for ; Sun, 30 Oct 2022 15:30:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=YuLrB6PN9aH0KHWyG0T6ZTaW1FYgHjfaNl3gUqsPi8Q=; b=Cp3SeKrEIoYKu7d6OoHLUGudPG4A4aI6QQTNFGPzDFtq2sRxjVU5ueCDPcV88PaURi Xy5Y9EoqS9fMNibFOiuRS6WhjyTtwSpLkXysCLLr7F5sfUEypjNUbGtujKBt2z52RJrA uUKOywM7A1JYqyqOOrbHrnnHg71NbqTNYS9z9/Mr2+v9PmssbZaObkU/PV0OFUTLSAAA NeE9fcGo+muIDfa9n34U7xrghREggTtA/gGsHH526Lw5h3UKkOtvZzodT13yPgVfkCEN 83KLiV8CRqqs3uhJEBz7lkjST/R7eJn7n2y7GDIBn7/P4fjw6250ZJNI/l5KX9d6Nvpn plfQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=YuLrB6PN9aH0KHWyG0T6ZTaW1FYgHjfaNl3gUqsPi8Q=; b=Xh6Bqb96io7Zsw9dY3FpUhzozaBswX9Pc8jkfTdTMgzSI3NXESPKAIhcsWGXRxyKOr vNIX8KPNTWscv3cXsxSEkmJPunoLb3iCEC7qx2RnoQ0ENMpg1+PLJOwQwxSjPBc7CEN3 25gf+uq1n9M+FCDwwBbWCaPe1Qx0Rq6pEZiI6TDLeDIgDRC+Jgw8T6EQXcVLk/zpiH8U 45pWPC7rd+WpQ2isTBBlKZOyPwZesZaUM9I2gjyA8kXrhqpWLVatx7g2tdckip71vrsD DR6PZHLxdBHxfbp6MwSoCCQhiQDkcpyAdL7IzUrS4OVrahAoC0lnAh0jDJAk57ZXUq9e rghw== X-Gm-Message-State: ACrzQf3w7oaKy71hkoyQO7h3DDWHS5LyyHhVZqAHclFT2au6FaVr9I0+ a7kqL/xwAUg+pRbp/ZQsNkkYZIX+4OI4xw== X-Google-Smtp-Source: AMsMyM4Gv6PHV5fpgd4rB10lBSdB/kTZCce6+6R2hMZaSg4wi1ZU5N5ZgbpCYKBKTHprw3EWa27IWA== X-Received: by 2002:a05:6000:16cd:b0:236:cd1a:ba1c with SMTP id h13-20020a05600016cd00b00236cd1aba1cmr825738wrf.261.1667169037198; Sun, 30 Oct 2022 15:30:37 -0700 (PDT) Received: from localhost.localdomain ([185.126.107.38]) by smtp.gmail.com with ESMTPSA id b13-20020a5d550d000000b002366b17ca8bsm6004756wrv.108.2022.10.30.15.30.34 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 30 Oct 2022 15:30:36 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Aleksandar Rikalo , Huacai Chen , Stefan Pejic , Jiaxun Yang , Aurelien Jarno , Paul Burton , Milica Lazarevic , Richard Henderson Subject: [PULL 17/55] disas/nanomips: Delete NMD class field Date: Sun, 30 Oct 2022 23:28:03 +0100 Message-Id: <20221030222841.42377-18-philmd@linaro.org> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221030222841.42377-1-philmd@linaro.org> References: <20221030222841.42377-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42b; envelope-from=philmd@linaro.org; helo=mail-wr1-x42b.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Qemu-devel" Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Milica Lazarevic The m_requested_instruction_categories field always has the same value, ALL_ATTRIBUTES. The only use of that field is within the if statement. When replaced with a specific value, the if statement is always false, so it has been removed. Now, when the only use of the m_requested_instruction_categories field is removed, we can delete the field declaration and initialization in the NMD class. Also, we're changing the way of the construction of the NMD object in the nanomips_dis function. Signed-off-by: Milica Lazarevic Reviewed-by: Richard Henderson Message-Id: <20220912122635.74032-4-milica.lazarevic@syrmia.com> Signed-off-by: Philippe Mathieu-Daudé --- disas/nanomips.cpp | 13 +------------ disas/nanomips.h | 4 +--- 2 files changed, 2 insertions(+), 15 deletions(-) diff --git a/disas/nanomips.cpp b/disas/nanomips.cpp index bdc640b38b..721ca3f52b 100644 --- a/disas/nanomips.cpp +++ b/disas/nanomips.cpp @@ -51,7 +51,7 @@ int nanomips_dis(char *buf, uint16 bits[3] = {one, two, three}; TABLE_ENTRY_TYPE type; - NMD d(address, ALL_ATTRIBUTES); + NMD d(address); int size = d.Disassemble(bits, disasm, type); strcpy(buf, disasm.c_str()); @@ -812,17 +812,6 @@ int NMD::Disassemble(const uint16 * data, std::string & dis, (table[i].type == call_instruction) || (table[i].type == branch_instruction) || (table[i].type == return_instruction)) { - if ((table[i].attributes != 0) && - (m_requested_instruction_categories & - table[i].attributes) == 0) { - /* - * failed due to instruction having - * an ASE attribute and the requested version - * not having that attribute - */ - dis = "ASE attribute mismatch"; - return -5; - } disassembly_function dis_fn = table[i].disassembly; if (dis_fn == 0) { dis = "disassembler failure - bad table entry"; diff --git a/disas/nanomips.h b/disas/nanomips.h index f65a0957b8..5bdfe1e30b 100644 --- a/disas/nanomips.h +++ b/disas/nanomips.h @@ -65,9 +65,8 @@ class NMD { public: - NMD(img_address pc, TABLE_ATTRIBUTE_TYPE requested_instruction_categories) + NMD(img_address pc) : m_pc(pc) - , m_requested_instruction_categories(requested_instruction_categories) { } @@ -77,7 +76,6 @@ public: private: img_address m_pc; - TABLE_ATTRIBUTE_TYPE m_requested_instruction_categories; typedef std::string(NMD:: *disassembly_function)(uint64 instruction); typedef bool(NMD:: *conditional_function)(uint64 instruction); From patchwork Sun Oct 30 22:28:04 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 13025260 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id DA641ECAAA1 for ; Sun, 30 Oct 2022 22:33:49 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1opGpZ-0004VO-5b; Sun, 30 Oct 2022 18:31:01 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1opGpQ-0004A0-Ne for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:30:58 -0400 Received: from mail-wr1-x42c.google.com ([2a00:1450:4864:20::42c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1opGpL-0007zc-0q for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:30:52 -0400 Received: by mail-wr1-x42c.google.com with SMTP id cl5so2016342wrb.9 for ; Sun, 30 Oct 2022 15:30:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=8n/CsfBfKGRo118iiLxjXIB926yadTMrmqLQleBWZr4=; b=qlCpk9j5ajc4XaFgug4IMgN49g1+q4RUDjwp8yk0MfaUug+otnlsRDpCEMYTLyGVYz CLC9RqdT/BWlTNhjPQl/N6iSyTlmivQPaaB6IQhYxC0itgPI0GyrYfqFZ97hxzFb9iFX 6PW7WqkgT+jbzkTA43IHmKmn8sGQrMFM18PMK3/dJ1LbY/1dsx11kNbWlzIiVcVVfEd2 +R0FTRxEkdgNsYMp3tca4zuDXSvMxPrzW0YDKQ/lfyiQIDxwSDwzhdeZwXKXt47gbjcp 67jsRLtxkHWuIZpCTaosMHWnhignYFwusA5BkDyWIXPRQl8XJkwAdZglMgCeHP4BRI/S r7RA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=8n/CsfBfKGRo118iiLxjXIB926yadTMrmqLQleBWZr4=; b=mcqIQ3BxcV107dJR3Chw6rrRCPIjWvRtprJJwXRaj5ABb7IT2xmEI/WFbuHbQtmLke bM35WvTpYonw2vTX4dEklyHbWJjB2uAoj0UDpoqFX6Lk5WEOIKkRZPa9qy3eh6UUefHZ igdsxntxuYqGUiPGVYp5cTyRyNIBzqXaFKVpyPUVH24XZ+6gqyaIlPZ4XGEfy/r/VbAK Ii54aqnRCe6DMr9oh5kZLc2LFgvN6LJ2DHeL9NaYclbS5AyeiljuUXRiz4D+U5W24N4N GuVfqCzz8hWuRJBTkscuynRG/voDGYNrRw1kc58XYI6aIPtsUbYhYE9druqkY6Jm7LCn M5ag== X-Gm-Message-State: ACrzQf1bWPYodmQItxh6brREJmAhzjfREEGbracmXsb5aDINle/rFi2Y 62xgKpuzt/DD15ftUi4fpKF5Bl70n74GaA== X-Google-Smtp-Source: AMsMyM5TbCyuYXRmTXPOm0bEYDjyc9ShG8lT6GXwM6xAEEA+1MD6a9tU+z9C2066rrBLB/yCBOp5oA== X-Received: by 2002:a5d:64a3:0:b0:231:f82e:9a57 with SMTP id m3-20020a5d64a3000000b00231f82e9a57mr6144002wrp.492.1667169044342; Sun, 30 Oct 2022 15:30:44 -0700 (PDT) Received: from localhost.localdomain ([185.126.107.38]) by smtp.gmail.com with ESMTPSA id n10-20020a05600c3b8a00b003cf71b1f66csm1128596wms.0.2022.10.30.15.30.42 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 30 Oct 2022 15:30:43 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Aleksandar Rikalo , Huacai Chen , Stefan Pejic , Jiaxun Yang , Aurelien Jarno , Paul Burton , Milica Lazarevic , Richard Henderson Subject: [PULL 18/55] disas/nanomips: Delete NMD class second field Date: Sun, 30 Oct 2022 23:28:04 +0100 Message-Id: <20221030222841.42377-19-philmd@linaro.org> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221030222841.42377-1-philmd@linaro.org> References: <20221030222841.42377-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42c; envelope-from=philmd@linaro.org; helo=mail-wr1-x42c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Qemu-devel" Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Milica Lazarevic We're deleting the m_pc field of the NMD class. It's now part of the Dis_info struct that this patch introduces. Currently, the Dis_info struct has just one field, m_pc, which we need for address calculation in the ADDRESS function. We're filling Dis_info at the entrance of the nanoMIPS disassembler. I.e. print_insn_nanomips. Next, we're adding that information as an argument wherever we need to. Since NMD class now has no more fields, the NMD constructor is also deleted. Signed-off-by: Milica Lazarevic Reviewed-by: Richard Henderson Message-Id: <20220912122635.74032-5-milica.lazarevic@syrmia.com> Signed-off-by: Philippe Mathieu-Daudé --- disas/nanomips.cpp | 1368 ++++++++++++++++++++++---------------------- disas/nanomips.h | 1292 +++++++++++++++++++++-------------------- 2 files changed, 1331 insertions(+), 1329 deletions(-) diff --git a/disas/nanomips.cpp b/disas/nanomips.cpp index 721ca3f52b..9005f26ee3 100644 --- a/disas/nanomips.cpp +++ b/disas/nanomips.cpp @@ -42,7 +42,7 @@ int nanomips_dis(char *buf, - unsigned address, + Dis_info *info, unsigned short one, unsigned short two, unsigned short three) @@ -51,8 +51,8 @@ int nanomips_dis(char *buf, uint16 bits[3] = {one, two, three}; TABLE_ENTRY_TYPE type; - NMD d(address); - int size = d.Disassemble(bits, disasm, type); + NMD d; + int size = d.Disassemble(bits, disasm, type, info); strcpy(buf, disasm.c_str()); return size; @@ -74,6 +74,9 @@ int print_insn_nanomips(bfd_vma memaddr, struct disassemble_info *info) info->target = 0; info->target2 = 0; + Dis_info disassm_info; + disassm_info.m_pc = memaddr; + status = (*info->read_memory_func)(memaddr, buffer, 2, info); if (status != 0) { (*info->memory_error_func)(status, memaddr, info); @@ -122,7 +125,7 @@ int print_insn_nanomips(bfd_vma memaddr, struct disassemble_info *info) (*info->fprintf_func)(info->stream, " "); } - int length = nanomips_dis(buf, memaddr, insn1, insn2, insn3); + int length = nanomips_dis(buf, &disassm_info, insn1, insn2, insn3); /* FIXME: Should probably use a hash table on the major opcode here. */ @@ -747,10 +750,10 @@ std::string NMD::CPR(uint64 reg) } -std::string NMD::ADDRESS(uint64 value, int instruction_size) +std::string NMD::ADDRESS(uint64 value, int instruction_size, Dis_info *info) { /* token for string replace */ - img_address address = m_pc + value + instruction_size; + img_address address = info->m_pc + value + instruction_size; /* symbol replacement */ return to_string(address); } @@ -772,9 +775,9 @@ uint64 NMD::extract_op_code_value(const uint16 * data, int size) int NMD::Disassemble(const uint16 * data, std::string & dis, - TABLE_ENTRY_TYPE & type) + TABLE_ENTRY_TYPE & type, Dis_info *info) { - return Disassemble(data, dis, type, MAJOR, 2); + return Disassemble(data, dis, type, MAJOR, 2, info); } @@ -791,7 +794,7 @@ int NMD::Disassemble(const uint16 * data, std::string & dis, */ int NMD::Disassemble(const uint16 * data, std::string & dis, TABLE_ENTRY_TYPE & type, const Pool *table, - int table_size) + int table_size, Dis_info *info) { try { @@ -807,7 +810,8 @@ int NMD::Disassemble(const uint16 * data, std::string & dis, if (table[i].type == pool) { return Disassemble(data, dis, type, table[i].next_table, - table[i].next_table_size); + table[i].next_table_size, + info); } else if ((table[i].type == instruction) || (table[i].type == call_instruction) || (table[i].type == branch_instruction) || @@ -818,7 +822,7 @@ int NMD::Disassemble(const uint16 * data, std::string & dis, return -6; } type = table[i].type; - dis = (this->*dis_fn)(op_code); + dis = (this->*dis_fn)(op_code, info); return table[i].instructions_size; } else { dis = "reserved instruction"; @@ -1773,7 +1777,7 @@ bool NMD::SLTU_cond(uint64 instruction) * fs ----- * fd ----- */ -std::string NMD::ABS_D(uint64 instruction) +std::string NMD::ABS_D(uint64 instruction, Dis_info *info) { uint64 fd_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -1795,7 +1799,7 @@ std::string NMD::ABS_D(uint64 instruction) * fd ----- * fs ----- */ -std::string NMD::ABS_S(uint64 instruction) +std::string NMD::ABS_S(uint64 instruction, Dis_info *info) { uint64 fd_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -1817,7 +1821,7 @@ std::string NMD::ABS_S(uint64 instruction) * rt ----- * rs ----- */ -std::string NMD::ABSQ_S_PH(uint64 instruction) +std::string NMD::ABSQ_S_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -1839,7 +1843,7 @@ std::string NMD::ABSQ_S_PH(uint64 instruction) * rt ----- * rs ----- */ -std::string NMD::ABSQ_S_QB(uint64 instruction) +std::string NMD::ABSQ_S_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -1861,7 +1865,7 @@ std::string NMD::ABSQ_S_QB(uint64 instruction) * rt ----- * rs ----- */ -std::string NMD::ABSQ_S_W(uint64 instruction) +std::string NMD::ABSQ_S_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -1882,7 +1886,7 @@ std::string NMD::ABSQ_S_W(uint64 instruction) * rt ----- * rs ----- */ -std::string NMD::ACLR(uint64 instruction) +std::string NMD::ACLR(uint64 instruction, Dis_info *info) { uint64 bit_value = extract_bit_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -1905,7 +1909,7 @@ std::string NMD::ACLR(uint64 instruction) * rt ----- * rs ----- */ -std::string NMD::ADD(uint64 instruction) +std::string NMD::ADD(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -1930,7 +1934,7 @@ std::string NMD::ADD(uint64 instruction) * fs ----- * fd ----- */ -std::string NMD::ADD_D(uint64 instruction) +std::string NMD::ADD_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -1955,7 +1959,7 @@ std::string NMD::ADD_D(uint64 instruction) * fs ----- * fd ----- */ -std::string NMD::ADD_S(uint64 instruction) +std::string NMD::ADD_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -1978,7 +1982,7 @@ std::string NMD::ADD_S(uint64 instruction) * rt ----- * rs ----- */ -std::string NMD::ADDIU_32_(uint64 instruction) +std::string NMD::ADDIU_32_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -2001,7 +2005,7 @@ std::string NMD::ADDIU_32_(uint64 instruction) * rt ----- * rs ----- */ -std::string NMD::ADDIU_48_(uint64 instruction) +std::string NMD::ADDIU_48_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_41_40_39_38_37(instruction); int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction); @@ -2022,7 +2026,7 @@ std::string NMD::ADDIU_48_(uint64 instruction) * rt ----- * rs ----- */ -std::string NMD::ADDIU_GP48_(uint64 instruction) +std::string NMD::ADDIU_GP48_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_41_40_39_38_37(instruction); int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction); @@ -2043,7 +2047,7 @@ std::string NMD::ADDIU_GP48_(uint64 instruction) * rt ----- * rs ----- */ -std::string NMD::ADDIU_GP_B_(uint64 instruction) +std::string NMD::ADDIU_GP_B_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_0(instruction); @@ -2064,7 +2068,7 @@ std::string NMD::ADDIU_GP_B_(uint64 instruction) * rt ----- * rs ----- */ -std::string NMD::ADDIU_GP_W_(uint64 instruction) +std::string NMD::ADDIU_GP_W_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_20_to_2__s2(instruction); @@ -2085,7 +2089,7 @@ std::string NMD::ADDIU_GP_W_(uint64 instruction) * rt ----- * rs ----- */ -std::string NMD::ADDIU_NEG_(uint64 instruction) +std::string NMD::ADDIU_NEG_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -2108,7 +2112,7 @@ std::string NMD::ADDIU_NEG_(uint64 instruction) * rt ----- * rs ----- */ -std::string NMD::ADDIU_R1_SP_(uint64 instruction) +std::string NMD::ADDIU_R1_SP_(uint64 instruction, Dis_info *info) { uint64 u_value = extract_u_5_4_3_2_1_0__s2(instruction); uint64 rt3_value = extract_rt3_9_8_7(instruction); @@ -2129,7 +2133,7 @@ std::string NMD::ADDIU_R1_SP_(uint64 instruction) * rt ----- * rs ----- */ -std::string NMD::ADDIU_R2_(uint64 instruction) +std::string NMD::ADDIU_R2_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); @@ -2151,7 +2155,7 @@ std::string NMD::ADDIU_R2_(uint64 instruction) * rt ----- * s - --- */ -std::string NMD::ADDIU_RS5_(uint64 instruction) +std::string NMD::ADDIU_RS5_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_9_8_7_6_5(instruction); int64 s_value = extract_s__se3_4_2_1_0(instruction); @@ -2173,13 +2177,13 @@ std::string NMD::ADDIU_RS5_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::ADDIUPC_32_(uint64 instruction) +std::string NMD::ADDIUPC_32_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); int64 s_value = extract_s__se21_0_20_to_1_s1(instruction); std::string rt = GPR(copy(rt_value)); - std::string s = ADDRESS(encode_s_from_address(s_value), 4); + std::string s = ADDRESS(encode_s_from_address(s_value), 4, info); return img_format("ADDIUPC %s, %s", rt, s); } @@ -2195,13 +2199,13 @@ std::string NMD::ADDIUPC_32_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::ADDIUPC_48_(uint64 instruction) +std::string NMD::ADDIUPC_48_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_41_40_39_38_37(instruction); int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction); std::string rt = GPR(copy(rt_value)); - std::string s = ADDRESS(encode_s_from_address(s_value), 6); + std::string s = ADDRESS(encode_s_from_address(s_value), 6, info); return img_format("ADDIUPC %s, %s", rt, s); } @@ -2217,7 +2221,7 @@ std::string NMD::ADDIUPC_48_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::ADDQ_PH(uint64 instruction) +std::string NMD::ADDQ_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -2242,7 +2246,7 @@ std::string NMD::ADDQ_PH(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::ADDQ_S_PH(uint64 instruction) +std::string NMD::ADDQ_S_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -2266,7 +2270,7 @@ std::string NMD::ADDQ_S_PH(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::ADDQ_S_W(uint64 instruction) +std::string NMD::ADDQ_S_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -2291,7 +2295,7 @@ std::string NMD::ADDQ_S_W(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::ADDQH_PH(uint64 instruction) +std::string NMD::ADDQH_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -2316,7 +2320,7 @@ std::string NMD::ADDQH_PH(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::ADDQH_R_PH(uint64 instruction) +std::string NMD::ADDQH_R_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -2341,7 +2345,7 @@ std::string NMD::ADDQH_R_PH(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::ADDQH_R_W(uint64 instruction) +std::string NMD::ADDQH_R_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -2366,7 +2370,7 @@ std::string NMD::ADDQH_R_W(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::ADDQH_W(uint64 instruction) +std::string NMD::ADDQH_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -2390,7 +2394,7 @@ std::string NMD::ADDQH_W(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::ADDSC(uint64 instruction) +std::string NMD::ADDSC(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -2413,7 +2417,7 @@ std::string NMD::ADDSC(uint64 instruction) * rs3 --- * rd3 --- */ -std::string NMD::ADDU_16_(uint64 instruction) +std::string NMD::ADDU_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); @@ -2437,7 +2441,7 @@ std::string NMD::ADDU_16_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::ADDU_32_(uint64 instruction) +std::string NMD::ADDU_32_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -2461,7 +2465,7 @@ std::string NMD::ADDU_32_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::ADDU_4X4_(uint64 instruction) +std::string NMD::ADDU_4X4_(uint64 instruction, Dis_info *info) { uint64 rt4_value = extract_rt4_9_7_6_5(instruction); uint64 rs4_value = extract_rs4_4_2_1_0(instruction); @@ -2483,7 +2487,7 @@ std::string NMD::ADDU_4X4_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::ADDU_PH(uint64 instruction) +std::string NMD::ADDU_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -2507,7 +2511,7 @@ std::string NMD::ADDU_PH(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::ADDU_QB(uint64 instruction) +std::string NMD::ADDU_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -2532,7 +2536,7 @@ std::string NMD::ADDU_QB(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::ADDU_S_PH(uint64 instruction) +std::string NMD::ADDU_S_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -2556,7 +2560,7 @@ std::string NMD::ADDU_S_PH(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::ADDU_S_QB(uint64 instruction) +std::string NMD::ADDU_S_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -2581,7 +2585,7 @@ std::string NMD::ADDU_S_QB(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::ADDUH_QB(uint64 instruction) +std::string NMD::ADDUH_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -2606,7 +2610,7 @@ std::string NMD::ADDUH_QB(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::ADDUH_R_QB(uint64 instruction) +std::string NMD::ADDUH_R_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -2629,7 +2633,7 @@ std::string NMD::ADDUH_R_QB(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::ADDWC(uint64 instruction) +std::string NMD::ADDWC(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -2653,13 +2657,13 @@ std::string NMD::ADDWC(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::ALUIPC(uint64 instruction) +std::string NMD::ALUIPC(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); int64 s_value = extract_s__se31_0_11_to_2_20_to_12_s12(instruction); std::string rt = GPR(copy(rt_value)); - std::string s = ADDRESS(encode_s_from_address(s_value), 4); + std::string s = ADDRESS(encode_s_from_address(s_value), 4, info); return img_format("ALUIPC %s, %%pcrel_hi(%s)", rt, s); } @@ -2674,7 +2678,7 @@ std::string NMD::ALUIPC(uint64 instruction) * rs3 --- * eu ---- */ -std::string NMD::AND_16_(uint64 instruction) +std::string NMD::AND_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); @@ -2696,7 +2700,7 @@ std::string NMD::AND_16_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::AND_32_(uint64 instruction) +std::string NMD::AND_32_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -2719,7 +2723,7 @@ std::string NMD::AND_32_(uint64 instruction) * rs3 --- * eu ---- */ -std::string NMD::ANDI_16_(uint64 instruction) +std::string NMD::ANDI_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); @@ -2743,7 +2747,7 @@ std::string NMD::ANDI_16_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::ANDI_32_(uint64 instruction) +std::string NMD::ANDI_32_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -2767,7 +2771,7 @@ std::string NMD::ANDI_32_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::APPEND(uint64 instruction) +std::string NMD::APPEND(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -2791,7 +2795,7 @@ std::string NMD::APPEND(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::ASET(uint64 instruction) +std::string NMD::ASET(uint64 instruction, Dis_info *info) { uint64 bit_value = extract_bit_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -2815,11 +2819,11 @@ std::string NMD::ASET(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::BALC_16_(uint64 instruction) +std::string NMD::BALC_16_(uint64 instruction, Dis_info *info) { int64 s_value = extract_s__se10_0_9_8_7_6_5_4_3_2_1_s1(instruction); - std::string s = ADDRESS(encode_s_from_address(s_value), 2); + std::string s = ADDRESS(encode_s_from_address(s_value), 2, info); return img_format("BALC %s", s); } @@ -2835,11 +2839,11 @@ std::string NMD::BALC_16_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::BALC_32_(uint64 instruction) +std::string NMD::BALC_32_(uint64 instruction, Dis_info *info) { int64 s_value = extract_s__se25_0_24_to_1_s1(instruction); - std::string s = ADDRESS(encode_s_from_address(s_value), 4); + std::string s = ADDRESS(encode_s_from_address(s_value), 4, info); return img_format("BALC %s", s); } @@ -2855,7 +2859,7 @@ std::string NMD::BALC_32_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::BALRSC(uint64 instruction) +std::string NMD::BALRSC(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -2877,7 +2881,7 @@ std::string NMD::BALRSC(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::BBEQZC(uint64 instruction) +std::string NMD::BBEQZC(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 bit_value = extract_bit_16_15_14_13_12_11(instruction); @@ -2885,7 +2889,7 @@ std::string NMD::BBEQZC(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string bit = IMMEDIATE(copy(bit_value)); - std::string s = ADDRESS(encode_s_from_address(s_value), 4); + std::string s = ADDRESS(encode_s_from_address(s_value), 4, info); return img_format("BBEQZC %s, %s, %s", rt, bit, s); } @@ -2901,7 +2905,7 @@ std::string NMD::BBEQZC(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::BBNEZC(uint64 instruction) +std::string NMD::BBNEZC(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 bit_value = extract_bit_16_15_14_13_12_11(instruction); @@ -2909,7 +2913,7 @@ std::string NMD::BBNEZC(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string bit = IMMEDIATE(copy(bit_value)); - std::string s = ADDRESS(encode_s_from_address(s_value), 4); + std::string s = ADDRESS(encode_s_from_address(s_value), 4, info); return img_format("BBNEZC %s, %s, %s", rt, bit, s); } @@ -2925,11 +2929,11 @@ std::string NMD::BBNEZC(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::BC_16_(uint64 instruction) +std::string NMD::BC_16_(uint64 instruction, Dis_info *info) { int64 s_value = extract_s__se10_0_9_8_7_6_5_4_3_2_1_s1(instruction); - std::string s = ADDRESS(encode_s_from_address(s_value), 2); + std::string s = ADDRESS(encode_s_from_address(s_value), 2, info); return img_format("BC %s", s); } @@ -2945,11 +2949,11 @@ std::string NMD::BC_16_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::BC_32_(uint64 instruction) +std::string NMD::BC_32_(uint64 instruction, Dis_info *info) { int64 s_value = extract_s__se25_0_24_to_1_s1(instruction); - std::string s = ADDRESS(encode_s_from_address(s_value), 4); + std::string s = ADDRESS(encode_s_from_address(s_value), 4, info); return img_format("BC %s", s); } @@ -2965,13 +2969,13 @@ std::string NMD::BC_32_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::BC1EQZC(uint64 instruction) +std::string NMD::BC1EQZC(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); int64 s_value = extract_s__se14_0_13_to_1_s1(instruction); std::string ft = FPR(copy(ft_value)); - std::string s = ADDRESS(encode_s_from_address(s_value), 4); + std::string s = ADDRESS(encode_s_from_address(s_value), 4, info); return img_format("BC1EQZC %s, %s", ft, s); } @@ -2987,13 +2991,13 @@ std::string NMD::BC1EQZC(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::BC1NEZC(uint64 instruction) +std::string NMD::BC1NEZC(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); int64 s_value = extract_s__se14_0_13_to_1_s1(instruction); std::string ft = FPR(copy(ft_value)); - std::string s = ADDRESS(encode_s_from_address(s_value), 4); + std::string s = ADDRESS(encode_s_from_address(s_value), 4, info); return img_format("BC1NEZC %s, %s", ft, s); } @@ -3009,13 +3013,13 @@ std::string NMD::BC1NEZC(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::BC2EQZC(uint64 instruction) +std::string NMD::BC2EQZC(uint64 instruction, Dis_info *info) { uint64 ct_value = extract_ct_25_24_23_22_21(instruction); int64 s_value = extract_s__se14_0_13_to_1_s1(instruction); std::string ct = CPR(copy(ct_value)); - std::string s = ADDRESS(encode_s_from_address(s_value), 4); + std::string s = ADDRESS(encode_s_from_address(s_value), 4, info); return img_format("BC2EQZC %s, %s", ct, s); } @@ -3031,13 +3035,13 @@ std::string NMD::BC2EQZC(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::BC2NEZC(uint64 instruction) +std::string NMD::BC2NEZC(uint64 instruction, Dis_info *info) { uint64 ct_value = extract_ct_25_24_23_22_21(instruction); int64 s_value = extract_s__se14_0_13_to_1_s1(instruction); std::string ct = CPR(copy(ct_value)); - std::string s = ADDRESS(encode_s_from_address(s_value), 4); + std::string s = ADDRESS(encode_s_from_address(s_value), 4, info); return img_format("BC2NEZC %s, %s", ct, s); } @@ -3053,7 +3057,7 @@ std::string NMD::BC2NEZC(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::BEQC_16_(uint64 instruction) +std::string NMD::BEQC_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); @@ -3061,7 +3065,7 @@ std::string NMD::BEQC_16_(uint64 instruction) std::string rs3 = GPR(encode_rs3_and_check_rs3_lt_rt3(rs3_value)); std::string rt3 = GPR(decode_gpr_gpr3(rt3_value)); - std::string u = ADDRESS(encode_u_from_address(u_value), 2); + std::string u = ADDRESS(encode_u_from_address(u_value), 2, info); return img_format("BEQC %s, %s, %s", rs3, rt3, u); } @@ -3077,7 +3081,7 @@ std::string NMD::BEQC_16_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::BEQC_32_(uint64 instruction) +std::string NMD::BEQC_32_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -3085,7 +3089,7 @@ std::string NMD::BEQC_32_(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - std::string s = ADDRESS(encode_s_from_address(s_value), 4); + std::string s = ADDRESS(encode_s_from_address(s_value), 4, info); return img_format("BEQC %s, %s, %s", rs, rt, s); } @@ -3101,7 +3105,7 @@ std::string NMD::BEQC_32_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::BEQIC(uint64 instruction) +std::string NMD::BEQIC(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_16_15_14_13_12_11(instruction); @@ -3109,7 +3113,7 @@ std::string NMD::BEQIC(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string u = IMMEDIATE(copy(u_value)); - std::string s = ADDRESS(encode_s_from_address(s_value), 4); + std::string s = ADDRESS(encode_s_from_address(s_value), 4, info); return img_format("BEQIC %s, %s, %s", rt, u, s); } @@ -3125,13 +3129,13 @@ std::string NMD::BEQIC(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::BEQZC_16_(uint64 instruction) +std::string NMD::BEQZC_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); int64 s_value = extract_s__se7_0_6_5_4_3_2_1_s1(instruction); std::string rt3 = GPR(decode_gpr_gpr3(rt3_value)); - std::string s = ADDRESS(encode_s_from_address(s_value), 2); + std::string s = ADDRESS(encode_s_from_address(s_value), 2, info); return img_format("BEQZC %s, %s", rt3, s); } @@ -3147,7 +3151,7 @@ std::string NMD::BEQZC_16_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::BGEC(uint64 instruction) +std::string NMD::BGEC(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -3155,7 +3159,7 @@ std::string NMD::BGEC(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - std::string s = ADDRESS(encode_s_from_address(s_value), 4); + std::string s = ADDRESS(encode_s_from_address(s_value), 4, info); return img_format("BGEC %s, %s, %s", rs, rt, s); } @@ -3171,7 +3175,7 @@ std::string NMD::BGEC(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::BGEIC(uint64 instruction) +std::string NMD::BGEIC(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_16_15_14_13_12_11(instruction); @@ -3179,7 +3183,7 @@ std::string NMD::BGEIC(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string u = IMMEDIATE(copy(u_value)); - std::string s = ADDRESS(encode_s_from_address(s_value), 4); + std::string s = ADDRESS(encode_s_from_address(s_value), 4, info); return img_format("BGEIC %s, %s, %s", rt, u, s); } @@ -3195,7 +3199,7 @@ std::string NMD::BGEIC(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::BGEIUC(uint64 instruction) +std::string NMD::BGEIUC(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_16_15_14_13_12_11(instruction); @@ -3203,7 +3207,7 @@ std::string NMD::BGEIUC(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string u = IMMEDIATE(copy(u_value)); - std::string s = ADDRESS(encode_s_from_address(s_value), 4); + std::string s = ADDRESS(encode_s_from_address(s_value), 4, info); return img_format("BGEIUC %s, %s, %s", rt, u, s); } @@ -3219,7 +3223,7 @@ std::string NMD::BGEIUC(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::BGEUC(uint64 instruction) +std::string NMD::BGEUC(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -3227,7 +3231,7 @@ std::string NMD::BGEUC(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - std::string s = ADDRESS(encode_s_from_address(s_value), 4); + std::string s = ADDRESS(encode_s_from_address(s_value), 4, info); return img_format("BGEUC %s, %s, %s", rs, rt, s); } @@ -3243,7 +3247,7 @@ std::string NMD::BGEUC(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::BLTC(uint64 instruction) +std::string NMD::BLTC(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -3251,7 +3255,7 @@ std::string NMD::BLTC(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - std::string s = ADDRESS(encode_s_from_address(s_value), 4); + std::string s = ADDRESS(encode_s_from_address(s_value), 4, info); return img_format("BLTC %s, %s, %s", rs, rt, s); } @@ -3267,7 +3271,7 @@ std::string NMD::BLTC(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::BLTIC(uint64 instruction) +std::string NMD::BLTIC(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_16_15_14_13_12_11(instruction); @@ -3275,7 +3279,7 @@ std::string NMD::BLTIC(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string u = IMMEDIATE(copy(u_value)); - std::string s = ADDRESS(encode_s_from_address(s_value), 4); + std::string s = ADDRESS(encode_s_from_address(s_value), 4, info); return img_format("BLTIC %s, %s, %s", rt, u, s); } @@ -3291,7 +3295,7 @@ std::string NMD::BLTIC(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::BLTIUC(uint64 instruction) +std::string NMD::BLTIUC(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_16_15_14_13_12_11(instruction); @@ -3299,7 +3303,7 @@ std::string NMD::BLTIUC(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string u = IMMEDIATE(copy(u_value)); - std::string s = ADDRESS(encode_s_from_address(s_value), 4); + std::string s = ADDRESS(encode_s_from_address(s_value), 4, info); return img_format("BLTIUC %s, %s, %s", rt, u, s); } @@ -3315,7 +3319,7 @@ std::string NMD::BLTIUC(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::BLTUC(uint64 instruction) +std::string NMD::BLTUC(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -3323,7 +3327,7 @@ std::string NMD::BLTUC(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - std::string s = ADDRESS(encode_s_from_address(s_value), 4); + std::string s = ADDRESS(encode_s_from_address(s_value), 4, info); return img_format("BLTUC %s, %s, %s", rs, rt, s); } @@ -3339,7 +3343,7 @@ std::string NMD::BLTUC(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::BNEC_16_(uint64 instruction) +std::string NMD::BNEC_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); @@ -3347,7 +3351,7 @@ std::string NMD::BNEC_16_(uint64 instruction) std::string rs3 = GPR(encode_rs3_and_check_rs3_ge_rt3(rs3_value)); std::string rt3 = GPR(decode_gpr_gpr3(rt3_value)); - std::string u = ADDRESS(encode_u_from_address(u_value), 2); + std::string u = ADDRESS(encode_u_from_address(u_value), 2, info); return img_format("BNEC %s, %s, %s", rs3, rt3, u); } @@ -3363,7 +3367,7 @@ std::string NMD::BNEC_16_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::BNEC_32_(uint64 instruction) +std::string NMD::BNEC_32_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -3371,7 +3375,7 @@ std::string NMD::BNEC_32_(uint64 instruction) std::string rs = GPR(copy(rs_value)); std::string rt = GPR(copy(rt_value)); - std::string s = ADDRESS(encode_s_from_address(s_value), 4); + std::string s = ADDRESS(encode_s_from_address(s_value), 4, info); return img_format("BNEC %s, %s, %s", rs, rt, s); } @@ -3387,7 +3391,7 @@ std::string NMD::BNEC_32_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::BNEIC(uint64 instruction) +std::string NMD::BNEIC(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_16_15_14_13_12_11(instruction); @@ -3395,7 +3399,7 @@ std::string NMD::BNEIC(uint64 instruction) std::string rt = GPR(copy(rt_value)); std::string u = IMMEDIATE(copy(u_value)); - std::string s = ADDRESS(encode_s_from_address(s_value), 4); + std::string s = ADDRESS(encode_s_from_address(s_value), 4, info); return img_format("BNEIC %s, %s, %s", rt, u, s); } @@ -3411,13 +3415,13 @@ std::string NMD::BNEIC(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::BNEZC_16_(uint64 instruction) +std::string NMD::BNEZC_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); int64 s_value = extract_s__se7_0_6_5_4_3_2_1_s1(instruction); std::string rt3 = GPR(decode_gpr_gpr3(rt3_value)); - std::string s = ADDRESS(encode_s_from_address(s_value), 2); + std::string s = ADDRESS(encode_s_from_address(s_value), 2, info); return img_format("BNEZC %s, %s", rt3, s); } @@ -3433,11 +3437,11 @@ std::string NMD::BNEZC_16_(uint64 instruction) * s[13:1] ------------- * s[14] - */ -std::string NMD::BPOSGE32C(uint64 instruction) +std::string NMD::BPOSGE32C(uint64 instruction, Dis_info *info) { int64 s_value = extract_s__se14_0_13_to_1_s1(instruction); - std::string s = ADDRESS(encode_s_from_address(s_value), 4); + std::string s = ADDRESS(encode_s_from_address(s_value), 4, info); return img_format("BPOSGE32C %s", s); } @@ -3453,7 +3457,7 @@ std::string NMD::BPOSGE32C(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::BREAK_16_(uint64 instruction) +std::string NMD::BREAK_16_(uint64 instruction, Dis_info *info) { uint64 code_value = extract_code_2_1_0(instruction); @@ -3473,7 +3477,7 @@ std::string NMD::BREAK_16_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::BREAK_32_(uint64 instruction) +std::string NMD::BREAK_32_(uint64 instruction, Dis_info *info) { uint64 code_value = extract_code_18_to_0(instruction); @@ -3493,7 +3497,7 @@ std::string NMD::BREAK_32_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::BRSC(uint64 instruction) +std::string NMD::BRSC(uint64 instruction, Dis_info *info) { uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -3513,7 +3517,7 @@ std::string NMD::BRSC(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CACHE(uint64 instruction) +std::string NMD::CACHE(uint64 instruction, Dis_info *info) { uint64 op_value = extract_op_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -3537,7 +3541,7 @@ std::string NMD::CACHE(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CACHEE(uint64 instruction) +std::string NMD::CACHEE(uint64 instruction, Dis_info *info) { uint64 op_value = extract_op_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -3561,7 +3565,7 @@ std::string NMD::CACHEE(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CEIL_L_D(uint64 instruction) +std::string NMD::CEIL_L_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -3583,7 +3587,7 @@ std::string NMD::CEIL_L_D(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CEIL_L_S(uint64 instruction) +std::string NMD::CEIL_L_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -3605,7 +3609,7 @@ std::string NMD::CEIL_L_S(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CEIL_W_D(uint64 instruction) +std::string NMD::CEIL_W_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -3627,7 +3631,7 @@ std::string NMD::CEIL_W_D(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CEIL_W_S(uint64 instruction) +std::string NMD::CEIL_W_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -3649,7 +3653,7 @@ std::string NMD::CEIL_W_S(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CFC1(uint64 instruction) +std::string NMD::CFC1(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 cs_value = extract_cs_20_19_18_17_16(instruction); @@ -3671,7 +3675,7 @@ std::string NMD::CFC1(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CFC2(uint64 instruction) +std::string NMD::CFC2(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 cs_value = extract_cs_20_19_18_17_16(instruction); @@ -3693,7 +3697,7 @@ std::string NMD::CFC2(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CLASS_D(uint64 instruction) +std::string NMD::CLASS_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -3715,7 +3719,7 @@ std::string NMD::CLASS_D(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CLASS_S(uint64 instruction) +std::string NMD::CLASS_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -3737,7 +3741,7 @@ std::string NMD::CLASS_S(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CLO(uint64 instruction) +std::string NMD::CLO(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -3759,7 +3763,7 @@ std::string NMD::CLO(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CLZ(uint64 instruction) +std::string NMD::CLZ(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -3781,7 +3785,7 @@ std::string NMD::CLZ(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CMP_AF_D(uint64 instruction) +std::string NMD::CMP_AF_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -3805,7 +3809,7 @@ std::string NMD::CMP_AF_D(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CMP_AF_S(uint64 instruction) +std::string NMD::CMP_AF_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -3829,7 +3833,7 @@ std::string NMD::CMP_AF_S(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CMP_EQ_D(uint64 instruction) +std::string NMD::CMP_EQ_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -3852,7 +3856,7 @@ std::string NMD::CMP_EQ_D(uint64 instruction) * rt ----- * rs ----- */ -std::string NMD::CMP_EQ_PH(uint64 instruction) +std::string NMD::CMP_EQ_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -3874,7 +3878,7 @@ std::string NMD::CMP_EQ_PH(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CMP_EQ_S(uint64 instruction) +std::string NMD::CMP_EQ_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -3898,7 +3902,7 @@ std::string NMD::CMP_EQ_S(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CMP_LE_D(uint64 instruction) +std::string NMD::CMP_LE_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -3921,7 +3925,7 @@ std::string NMD::CMP_LE_D(uint64 instruction) * rt ----- * rs ----- */ -std::string NMD::CMP_LE_PH(uint64 instruction) +std::string NMD::CMP_LE_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -3943,7 +3947,7 @@ std::string NMD::CMP_LE_PH(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CMP_LE_S(uint64 instruction) +std::string NMD::CMP_LE_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -3967,7 +3971,7 @@ std::string NMD::CMP_LE_S(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CMP_LT_D(uint64 instruction) +std::string NMD::CMP_LT_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -3990,7 +3994,7 @@ std::string NMD::CMP_LT_D(uint64 instruction) * rt ----- * rs ----- */ -std::string NMD::CMP_LT_PH(uint64 instruction) +std::string NMD::CMP_LT_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -4012,7 +4016,7 @@ std::string NMD::CMP_LT_PH(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CMP_LT_S(uint64 instruction) +std::string NMD::CMP_LT_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4036,7 +4040,7 @@ std::string NMD::CMP_LT_S(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CMP_NE_D(uint64 instruction) +std::string NMD::CMP_NE_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4060,7 +4064,7 @@ std::string NMD::CMP_NE_D(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CMP_NE_S(uint64 instruction) +std::string NMD::CMP_NE_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4084,7 +4088,7 @@ std::string NMD::CMP_NE_S(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CMP_OR_D(uint64 instruction) +std::string NMD::CMP_OR_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4108,7 +4112,7 @@ std::string NMD::CMP_OR_D(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CMP_OR_S(uint64 instruction) +std::string NMD::CMP_OR_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4132,7 +4136,7 @@ std::string NMD::CMP_OR_S(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CMP_SAF_D(uint64 instruction) +std::string NMD::CMP_SAF_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4156,7 +4160,7 @@ std::string NMD::CMP_SAF_D(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CMP_SAF_S(uint64 instruction) +std::string NMD::CMP_SAF_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4180,7 +4184,7 @@ std::string NMD::CMP_SAF_S(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CMP_SEQ_D(uint64 instruction) +std::string NMD::CMP_SEQ_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4204,7 +4208,7 @@ std::string NMD::CMP_SEQ_D(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CMP_SEQ_S(uint64 instruction) +std::string NMD::CMP_SEQ_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4228,7 +4232,7 @@ std::string NMD::CMP_SEQ_S(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CMP_SLE_D(uint64 instruction) +std::string NMD::CMP_SLE_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4252,7 +4256,7 @@ std::string NMD::CMP_SLE_D(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CMP_SLE_S(uint64 instruction) +std::string NMD::CMP_SLE_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4276,7 +4280,7 @@ std::string NMD::CMP_SLE_S(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CMP_SLT_D(uint64 instruction) +std::string NMD::CMP_SLT_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4300,7 +4304,7 @@ std::string NMD::CMP_SLT_D(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CMP_SLT_S(uint64 instruction) +std::string NMD::CMP_SLT_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4324,7 +4328,7 @@ std::string NMD::CMP_SLT_S(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CMP_SNE_D(uint64 instruction) +std::string NMD::CMP_SNE_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4348,7 +4352,7 @@ std::string NMD::CMP_SNE_D(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CMP_SNE_S(uint64 instruction) +std::string NMD::CMP_SNE_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4372,7 +4376,7 @@ std::string NMD::CMP_SNE_S(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CMP_SOR_D(uint64 instruction) +std::string NMD::CMP_SOR_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4396,7 +4400,7 @@ std::string NMD::CMP_SOR_D(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CMP_SOR_S(uint64 instruction) +std::string NMD::CMP_SOR_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4420,7 +4424,7 @@ std::string NMD::CMP_SOR_S(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CMP_SUEQ_D(uint64 instruction) +std::string NMD::CMP_SUEQ_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4444,7 +4448,7 @@ std::string NMD::CMP_SUEQ_D(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CMP_SUEQ_S(uint64 instruction) +std::string NMD::CMP_SUEQ_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4468,7 +4472,7 @@ std::string NMD::CMP_SUEQ_S(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CMP_SULE_D(uint64 instruction) +std::string NMD::CMP_SULE_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4492,7 +4496,7 @@ std::string NMD::CMP_SULE_D(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CMP_SULE_S(uint64 instruction) +std::string NMD::CMP_SULE_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4516,7 +4520,7 @@ std::string NMD::CMP_SULE_S(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CMP_SULT_D(uint64 instruction) +std::string NMD::CMP_SULT_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4540,7 +4544,7 @@ std::string NMD::CMP_SULT_D(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CMP_SULT_S(uint64 instruction) +std::string NMD::CMP_SULT_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4564,7 +4568,7 @@ std::string NMD::CMP_SULT_S(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CMP_SUN_D(uint64 instruction) +std::string NMD::CMP_SUN_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4588,7 +4592,7 @@ std::string NMD::CMP_SUN_D(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CMP_SUNE_D(uint64 instruction) +std::string NMD::CMP_SUNE_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4612,7 +4616,7 @@ std::string NMD::CMP_SUNE_D(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CMP_SUNE_S(uint64 instruction) +std::string NMD::CMP_SUNE_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4636,7 +4640,7 @@ std::string NMD::CMP_SUNE_S(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CMP_SUN_S(uint64 instruction) +std::string NMD::CMP_SUN_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4660,7 +4664,7 @@ std::string NMD::CMP_SUN_S(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CMP_UEQ_D(uint64 instruction) +std::string NMD::CMP_UEQ_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4684,7 +4688,7 @@ std::string NMD::CMP_UEQ_D(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CMP_UEQ_S(uint64 instruction) +std::string NMD::CMP_UEQ_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4708,7 +4712,7 @@ std::string NMD::CMP_UEQ_S(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CMP_ULE_D(uint64 instruction) +std::string NMD::CMP_ULE_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4732,7 +4736,7 @@ std::string NMD::CMP_ULE_D(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CMP_ULE_S(uint64 instruction) +std::string NMD::CMP_ULE_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4756,7 +4760,7 @@ std::string NMD::CMP_ULE_S(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CMP_ULT_D(uint64 instruction) +std::string NMD::CMP_ULT_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4780,7 +4784,7 @@ std::string NMD::CMP_ULT_D(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CMP_ULT_S(uint64 instruction) +std::string NMD::CMP_ULT_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4804,7 +4808,7 @@ std::string NMD::CMP_ULT_S(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CMP_UN_D(uint64 instruction) +std::string NMD::CMP_UN_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4828,7 +4832,7 @@ std::string NMD::CMP_UN_D(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CMP_UNE_D(uint64 instruction) +std::string NMD::CMP_UNE_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4852,7 +4856,7 @@ std::string NMD::CMP_UNE_D(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CMP_UNE_S(uint64 instruction) +std::string NMD::CMP_UNE_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4876,7 +4880,7 @@ std::string NMD::CMP_UNE_S(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CMP_UN_S(uint64 instruction) +std::string NMD::CMP_UN_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4901,7 +4905,7 @@ std::string NMD::CMP_UN_S(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CMPGDU_EQ_QB(uint64 instruction) +std::string NMD::CMPGDU_EQ_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -4926,7 +4930,7 @@ std::string NMD::CMPGDU_EQ_QB(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CMPGDU_LE_QB(uint64 instruction) +std::string NMD::CMPGDU_LE_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -4951,7 +4955,7 @@ std::string NMD::CMPGDU_LE_QB(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CMPGDU_LT_QB(uint64 instruction) +std::string NMD::CMPGDU_LT_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -4976,7 +4980,7 @@ std::string NMD::CMPGDU_LT_QB(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CMPGU_EQ_QB(uint64 instruction) +std::string NMD::CMPGU_EQ_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -5001,7 +5005,7 @@ std::string NMD::CMPGU_EQ_QB(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CMPGU_LE_QB(uint64 instruction) +std::string NMD::CMPGU_LE_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -5026,7 +5030,7 @@ std::string NMD::CMPGU_LE_QB(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CMPGU_LT_QB(uint64 instruction) +std::string NMD::CMPGU_LT_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -5050,7 +5054,7 @@ std::string NMD::CMPGU_LT_QB(uint64 instruction) * rt ----- * rs ----- */ -std::string NMD::CMPU_EQ_QB(uint64 instruction) +std::string NMD::CMPU_EQ_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -5072,7 +5076,7 @@ std::string NMD::CMPU_EQ_QB(uint64 instruction) * rt ----- * rs ----- */ -std::string NMD::CMPU_LE_QB(uint64 instruction) +std::string NMD::CMPU_LE_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -5094,7 +5098,7 @@ std::string NMD::CMPU_LE_QB(uint64 instruction) * rt ----- * rs ----- */ -std::string NMD::CMPU_LT_QB(uint64 instruction) +std::string NMD::CMPU_LT_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -5116,7 +5120,7 @@ std::string NMD::CMPU_LT_QB(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::COP2_1(uint64 instruction) +std::string NMD::COP2_1(uint64 instruction, Dis_info *info) { uint64 cofun_value = extract_cofun_25_24_23(instruction); @@ -5136,7 +5140,7 @@ std::string NMD::COP2_1(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CTC1(uint64 instruction) +std::string NMD::CTC1(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 cs_value = extract_cs_20_19_18_17_16(instruction); @@ -5158,7 +5162,7 @@ std::string NMD::CTC1(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CTC2(uint64 instruction) +std::string NMD::CTC2(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 cs_value = extract_cs_20_19_18_17_16(instruction); @@ -5180,7 +5184,7 @@ std::string NMD::CTC2(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CVT_D_L(uint64 instruction) +std::string NMD::CVT_D_L(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -5202,7 +5206,7 @@ std::string NMD::CVT_D_L(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CVT_D_S(uint64 instruction) +std::string NMD::CVT_D_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -5224,7 +5228,7 @@ std::string NMD::CVT_D_S(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CVT_D_W(uint64 instruction) +std::string NMD::CVT_D_W(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -5246,7 +5250,7 @@ std::string NMD::CVT_D_W(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CVT_L_D(uint64 instruction) +std::string NMD::CVT_L_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -5268,7 +5272,7 @@ std::string NMD::CVT_L_D(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CVT_L_S(uint64 instruction) +std::string NMD::CVT_L_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -5290,7 +5294,7 @@ std::string NMD::CVT_L_S(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CVT_S_D(uint64 instruction) +std::string NMD::CVT_S_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -5312,7 +5316,7 @@ std::string NMD::CVT_S_D(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CVT_S_L(uint64 instruction) +std::string NMD::CVT_S_L(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -5334,7 +5338,7 @@ std::string NMD::CVT_S_L(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CVT_S_PL(uint64 instruction) +std::string NMD::CVT_S_PL(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -5356,7 +5360,7 @@ std::string NMD::CVT_S_PL(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CVT_S_PU(uint64 instruction) +std::string NMD::CVT_S_PU(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -5378,7 +5382,7 @@ std::string NMD::CVT_S_PU(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CVT_S_W(uint64 instruction) +std::string NMD::CVT_S_W(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -5400,7 +5404,7 @@ std::string NMD::CVT_S_W(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CVT_W_D(uint64 instruction) +std::string NMD::CVT_W_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -5422,7 +5426,7 @@ std::string NMD::CVT_W_D(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::CVT_W_S(uint64 instruction) +std::string NMD::CVT_W_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -5444,7 +5448,7 @@ std::string NMD::CVT_W_S(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DADDIU_48_(uint64 instruction) +std::string NMD::DADDIU_48_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_41_40_39_38_37(instruction); int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction); @@ -5466,7 +5470,7 @@ std::string NMD::DADDIU_48_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DADDIU_NEG_(uint64 instruction) +std::string NMD::DADDIU_NEG_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -5490,7 +5494,7 @@ std::string NMD::DADDIU_NEG_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DADDIU_U12_(uint64 instruction) +std::string NMD::DADDIU_U12_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -5514,7 +5518,7 @@ std::string NMD::DADDIU_U12_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DADD(uint64 instruction) +std::string NMD::DADD(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -5538,7 +5542,7 @@ std::string NMD::DADD(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DADDU(uint64 instruction) +std::string NMD::DADDU(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -5562,7 +5566,7 @@ std::string NMD::DADDU(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DCLO(uint64 instruction) +std::string NMD::DCLO(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -5584,7 +5588,7 @@ std::string NMD::DCLO(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DCLZ(uint64 instruction) +std::string NMD::DCLZ(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -5606,7 +5610,7 @@ std::string NMD::DCLZ(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DDIV(uint64 instruction) +std::string NMD::DDIV(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -5630,7 +5634,7 @@ std::string NMD::DDIV(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DDIVU(uint64 instruction) +std::string NMD::DDIVU(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -5654,7 +5658,7 @@ std::string NMD::DDIVU(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DERET(uint64 instruction) +std::string NMD::DERET(uint64 instruction, Dis_info *info) { (void)instruction; @@ -5672,7 +5676,7 @@ std::string NMD::DERET(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DEXTM(uint64 instruction) +std::string NMD::DEXTM(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -5698,7 +5702,7 @@ std::string NMD::DEXTM(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DEXT(uint64 instruction) +std::string NMD::DEXT(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -5724,7 +5728,7 @@ std::string NMD::DEXT(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DEXTU(uint64 instruction) +std::string NMD::DEXTU(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -5750,7 +5754,7 @@ std::string NMD::DEXTU(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DINSM(uint64 instruction) +std::string NMD::DINSM(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -5778,7 +5782,7 @@ std::string NMD::DINSM(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DINS(uint64 instruction) +std::string NMD::DINS(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -5806,7 +5810,7 @@ std::string NMD::DINS(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DINSU(uint64 instruction) +std::string NMD::DINSU(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -5834,7 +5838,7 @@ std::string NMD::DINSU(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DI(uint64 instruction) +std::string NMD::DI(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); @@ -5854,7 +5858,7 @@ std::string NMD::DI(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DIV(uint64 instruction) +std::string NMD::DIV(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -5878,7 +5882,7 @@ std::string NMD::DIV(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DIV_D(uint64 instruction) +std::string NMD::DIV_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -5902,7 +5906,7 @@ std::string NMD::DIV_D(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DIV_S(uint64 instruction) +std::string NMD::DIV_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -5926,7 +5930,7 @@ std::string NMD::DIV_S(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DIVU(uint64 instruction) +std::string NMD::DIVU(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -5950,7 +5954,7 @@ std::string NMD::DIVU(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DLSA(uint64 instruction) +std::string NMD::DLSA(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -5976,7 +5980,7 @@ std::string NMD::DLSA(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DLUI_48_(uint64 instruction) +std::string NMD::DLUI_48_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_41_40_39_38_37(instruction); uint64 u_value = extract_u_31_to_0__s32(instruction); @@ -5998,7 +6002,7 @@ std::string NMD::DLUI_48_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DMFC0(uint64 instruction) +std::string NMD::DMFC0(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); @@ -6022,7 +6026,7 @@ std::string NMD::DMFC0(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DMFC1(uint64 instruction) +std::string NMD::DMFC1(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -6044,7 +6048,7 @@ std::string NMD::DMFC1(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DMFC2(uint64 instruction) +std::string NMD::DMFC2(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 cs_value = extract_cs_20_19_18_17_16(instruction); @@ -6066,7 +6070,7 @@ std::string NMD::DMFC2(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DMFGC0(uint64 instruction) +std::string NMD::DMFGC0(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); @@ -6090,7 +6094,7 @@ std::string NMD::DMFGC0(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DMOD(uint64 instruction) +std::string NMD::DMOD(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6114,7 +6118,7 @@ std::string NMD::DMOD(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DMODU(uint64 instruction) +std::string NMD::DMODU(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6138,7 +6142,7 @@ std::string NMD::DMODU(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DMTC0(uint64 instruction) +std::string NMD::DMTC0(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); @@ -6162,7 +6166,7 @@ std::string NMD::DMTC0(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DMTC1(uint64 instruction) +std::string NMD::DMTC1(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -6184,7 +6188,7 @@ std::string NMD::DMTC1(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DMTC2(uint64 instruction) +std::string NMD::DMTC2(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 cs_value = extract_cs_20_19_18_17_16(instruction); @@ -6206,7 +6210,7 @@ std::string NMD::DMTC2(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DMTGC0(uint64 instruction) +std::string NMD::DMTGC0(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); @@ -6230,7 +6234,7 @@ std::string NMD::DMTGC0(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DMT(uint64 instruction) +std::string NMD::DMT(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); @@ -6250,7 +6254,7 @@ std::string NMD::DMT(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DMUH(uint64 instruction) +std::string NMD::DMUH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6274,7 +6278,7 @@ std::string NMD::DMUH(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DMUHU(uint64 instruction) +std::string NMD::DMUHU(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6298,7 +6302,7 @@ std::string NMD::DMUHU(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DMUL(uint64 instruction) +std::string NMD::DMUL(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6322,7 +6326,7 @@ std::string NMD::DMUL(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DMULU(uint64 instruction) +std::string NMD::DMULU(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6347,7 +6351,7 @@ std::string NMD::DMULU(uint64 instruction) * rs ----- * ac -- */ -std::string NMD::DPA_W_PH(uint64 instruction) +std::string NMD::DPA_W_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6371,7 +6375,7 @@ std::string NMD::DPA_W_PH(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DPAQ_SA_L_W(uint64 instruction) +std::string NMD::DPAQ_SA_L_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6395,7 +6399,7 @@ std::string NMD::DPAQ_SA_L_W(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DPAQ_S_W_PH(uint64 instruction) +std::string NMD::DPAQ_S_W_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6419,7 +6423,7 @@ std::string NMD::DPAQ_S_W_PH(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DPAQX_SA_W_PH(uint64 instruction) +std::string NMD::DPAQX_SA_W_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6443,7 +6447,7 @@ std::string NMD::DPAQX_SA_W_PH(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DPAQX_S_W_PH(uint64 instruction) +std::string NMD::DPAQX_S_W_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6467,7 +6471,7 @@ std::string NMD::DPAQX_S_W_PH(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DPAU_H_QBL(uint64 instruction) +std::string NMD::DPAU_H_QBL(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6491,7 +6495,7 @@ std::string NMD::DPAU_H_QBL(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DPAU_H_QBR(uint64 instruction) +std::string NMD::DPAU_H_QBR(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6515,7 +6519,7 @@ std::string NMD::DPAU_H_QBR(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DPAX_W_PH(uint64 instruction) +std::string NMD::DPAX_W_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6539,7 +6543,7 @@ std::string NMD::DPAX_W_PH(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DPS_W_PH(uint64 instruction) +std::string NMD::DPS_W_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6563,7 +6567,7 @@ std::string NMD::DPS_W_PH(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DPSQ_SA_L_W(uint64 instruction) +std::string NMD::DPSQ_SA_L_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6587,7 +6591,7 @@ std::string NMD::DPSQ_SA_L_W(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DPSQ_S_W_PH(uint64 instruction) +std::string NMD::DPSQ_S_W_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6611,7 +6615,7 @@ std::string NMD::DPSQ_S_W_PH(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DPSQX_SA_W_PH(uint64 instruction) +std::string NMD::DPSQX_SA_W_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6635,7 +6639,7 @@ std::string NMD::DPSQX_SA_W_PH(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DPSQX_S_W_PH(uint64 instruction) +std::string NMD::DPSQX_S_W_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6659,7 +6663,7 @@ std::string NMD::DPSQX_S_W_PH(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DPSU_H_QBL(uint64 instruction) +std::string NMD::DPSU_H_QBL(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6683,7 +6687,7 @@ std::string NMD::DPSU_H_QBL(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DPSU_H_QBR(uint64 instruction) +std::string NMD::DPSU_H_QBR(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6707,7 +6711,7 @@ std::string NMD::DPSU_H_QBR(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DPSX_W_PH(uint64 instruction) +std::string NMD::DPSX_W_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6731,7 +6735,7 @@ std::string NMD::DPSX_W_PH(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DROTR(uint64 instruction) +std::string NMD::DROTR(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6755,7 +6759,7 @@ std::string NMD::DROTR(uint64 instruction) * rs ----- * shift ----- */ -std::string NMD::DROTR32(uint64 instruction) +std::string NMD::DROTR32(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6779,7 +6783,7 @@ std::string NMD::DROTR32(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DROTRV(uint64 instruction) +std::string NMD::DROTRV(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6803,7 +6807,7 @@ std::string NMD::DROTRV(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DROTX(uint64 instruction) +std::string NMD::DROTX(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6829,7 +6833,7 @@ std::string NMD::DROTX(uint64 instruction) * rs ----- * shift ----- */ -std::string NMD::DSLL(uint64 instruction) +std::string NMD::DSLL(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6853,7 +6857,7 @@ std::string NMD::DSLL(uint64 instruction) * rs ----- * shift ----- */ -std::string NMD::DSLL32(uint64 instruction) +std::string NMD::DSLL32(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6877,7 +6881,7 @@ std::string NMD::DSLL32(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DSLLV(uint64 instruction) +std::string NMD::DSLLV(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6901,7 +6905,7 @@ std::string NMD::DSLLV(uint64 instruction) * rs ----- * shift ----- */ -std::string NMD::DSRA(uint64 instruction) +std::string NMD::DSRA(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6925,7 +6929,7 @@ std::string NMD::DSRA(uint64 instruction) * rs ----- * shift ----- */ -std::string NMD::DSRA32(uint64 instruction) +std::string NMD::DSRA32(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6949,7 +6953,7 @@ std::string NMD::DSRA32(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DSRAV(uint64 instruction) +std::string NMD::DSRAV(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6973,7 +6977,7 @@ std::string NMD::DSRAV(uint64 instruction) * rs ----- * shift ----- */ -std::string NMD::DSRL(uint64 instruction) +std::string NMD::DSRL(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6997,7 +7001,7 @@ std::string NMD::DSRL(uint64 instruction) * rs ----- * shift ----- */ -std::string NMD::DSRL32(uint64 instruction) +std::string NMD::DSRL32(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -7021,7 +7025,7 @@ std::string NMD::DSRL32(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DSRLV(uint64 instruction) +std::string NMD::DSRLV(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -7045,7 +7049,7 @@ std::string NMD::DSRLV(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DSUB(uint64 instruction) +std::string NMD::DSUB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -7069,7 +7073,7 @@ std::string NMD::DSUB(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DSUBU(uint64 instruction) +std::string NMD::DSUBU(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -7093,7 +7097,7 @@ std::string NMD::DSUBU(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DVPE(uint64 instruction) +std::string NMD::DVPE(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); @@ -7113,7 +7117,7 @@ std::string NMD::DVPE(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::DVP(uint64 instruction) +std::string NMD::DVP(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); @@ -7133,7 +7137,7 @@ std::string NMD::DVP(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::EHB(uint64 instruction) +std::string NMD::EHB(uint64 instruction, Dis_info *info) { (void)instruction; @@ -7151,7 +7155,7 @@ std::string NMD::EHB(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::EI(uint64 instruction) +std::string NMD::EI(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); @@ -7171,7 +7175,7 @@ std::string NMD::EI(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::EMT(uint64 instruction) +std::string NMD::EMT(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); @@ -7191,7 +7195,7 @@ std::string NMD::EMT(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::ERET(uint64 instruction) +std::string NMD::ERET(uint64 instruction, Dis_info *info) { (void)instruction; @@ -7209,7 +7213,7 @@ std::string NMD::ERET(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::ERETNC(uint64 instruction) +std::string NMD::ERETNC(uint64 instruction, Dis_info *info) { (void)instruction; @@ -7227,7 +7231,7 @@ std::string NMD::ERETNC(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::EVP(uint64 instruction) +std::string NMD::EVP(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); @@ -7247,7 +7251,7 @@ std::string NMD::EVP(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::EVPE(uint64 instruction) +std::string NMD::EVPE(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); @@ -7267,7 +7271,7 @@ std::string NMD::EVPE(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::EXT(uint64 instruction) +std::string NMD::EXT(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -7293,7 +7297,7 @@ std::string NMD::EXT(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::EXTD(uint64 instruction) +std::string NMD::EXTD(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -7319,7 +7323,7 @@ std::string NMD::EXTD(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::EXTD32(uint64 instruction) +std::string NMD::EXTD32(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -7345,7 +7349,7 @@ std::string NMD::EXTD32(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::EXTPDP(uint64 instruction) +std::string NMD::EXTPDP(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 size_value = extract_size_20_19_18_17_16(instruction); @@ -7369,7 +7373,7 @@ std::string NMD::EXTPDP(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::EXTPDPV(uint64 instruction) +std::string NMD::EXTPDPV(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -7393,7 +7397,7 @@ std::string NMD::EXTPDPV(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::EXTP(uint64 instruction) +std::string NMD::EXTP(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 size_value = extract_size_20_19_18_17_16(instruction); @@ -7417,7 +7421,7 @@ std::string NMD::EXTP(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::EXTPV(uint64 instruction) +std::string NMD::EXTPV(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -7442,7 +7446,7 @@ std::string NMD::EXTPV(uint64 instruction) * shift ----- * ac -- */ -std::string NMD::EXTR_RS_W(uint64 instruction) +std::string NMD::EXTR_RS_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 shift_value = extract_shift_20_19_18_17_16(instruction); @@ -7467,7 +7471,7 @@ std::string NMD::EXTR_RS_W(uint64 instruction) * shift ----- * ac -- */ -std::string NMD::EXTR_R_W(uint64 instruction) +std::string NMD::EXTR_R_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 shift_value = extract_shift_20_19_18_17_16(instruction); @@ -7492,7 +7496,7 @@ std::string NMD::EXTR_R_W(uint64 instruction) * shift ----- * ac -- */ -std::string NMD::EXTR_S_H(uint64 instruction) +std::string NMD::EXTR_S_H(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 shift_value = extract_shift_20_19_18_17_16(instruction); @@ -7517,7 +7521,7 @@ std::string NMD::EXTR_S_H(uint64 instruction) * shift ----- * ac -- */ -std::string NMD::EXTR_W(uint64 instruction) +std::string NMD::EXTR_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 shift_value = extract_shift_20_19_18_17_16(instruction); @@ -7542,7 +7546,7 @@ std::string NMD::EXTR_W(uint64 instruction) * rs ----- * ac -- */ -std::string NMD::EXTRV_RS_W(uint64 instruction) +std::string NMD::EXTRV_RS_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -7567,7 +7571,7 @@ std::string NMD::EXTRV_RS_W(uint64 instruction) * rs ----- * ac -- */ -std::string NMD::EXTRV_R_W(uint64 instruction) +std::string NMD::EXTRV_R_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -7592,7 +7596,7 @@ std::string NMD::EXTRV_R_W(uint64 instruction) * rs ----- * ac -- */ -std::string NMD::EXTRV_S_H(uint64 instruction) +std::string NMD::EXTRV_S_H(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -7617,7 +7621,7 @@ std::string NMD::EXTRV_S_H(uint64 instruction) * rs ----- * ac -- */ -std::string NMD::EXTRV_W(uint64 instruction) +std::string NMD::EXTRV_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -7642,7 +7646,7 @@ std::string NMD::EXTRV_W(uint64 instruction) * rd ----- * shift ----- */ -std::string NMD::EXTW(uint64 instruction) +std::string NMD::EXTW(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -7668,7 +7672,7 @@ std::string NMD::EXTW(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::FLOOR_L_D(uint64 instruction) +std::string NMD::FLOOR_L_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -7690,7 +7694,7 @@ std::string NMD::FLOOR_L_D(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::FLOOR_L_S(uint64 instruction) +std::string NMD::FLOOR_L_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -7712,7 +7716,7 @@ std::string NMD::FLOOR_L_S(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::FLOOR_W_D(uint64 instruction) +std::string NMD::FLOOR_W_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -7734,7 +7738,7 @@ std::string NMD::FLOOR_W_D(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::FLOOR_W_S(uint64 instruction) +std::string NMD::FLOOR_W_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -7756,7 +7760,7 @@ std::string NMD::FLOOR_W_S(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::FORK(uint64 instruction) +std::string NMD::FORK(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -7780,7 +7784,7 @@ std::string NMD::FORK(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::HYPCALL(uint64 instruction) +std::string NMD::HYPCALL(uint64 instruction, Dis_info *info) { uint64 code_value = extract_code_17_to_0(instruction); @@ -7800,7 +7804,7 @@ std::string NMD::HYPCALL(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::HYPCALL_16_(uint64 instruction) +std::string NMD::HYPCALL_16_(uint64 instruction, Dis_info *info) { uint64 code_value = extract_code_1_0(instruction); @@ -7820,7 +7824,7 @@ std::string NMD::HYPCALL_16_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::INS(uint64 instruction) +std::string NMD::INS(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -7847,7 +7851,7 @@ std::string NMD::INS(uint64 instruction) * rt ----- * rs ----- */ -std::string NMD::INSV(uint64 instruction) +std::string NMD::INSV(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -7869,7 +7873,7 @@ std::string NMD::INSV(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::IRET(uint64 instruction) +std::string NMD::IRET(uint64 instruction, Dis_info *info) { (void)instruction; @@ -7887,7 +7891,7 @@ std::string NMD::IRET(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::JALRC_16_(uint64 instruction) +std::string NMD::JALRC_16_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_9_8_7_6_5(instruction); @@ -7907,7 +7911,7 @@ std::string NMD::JALRC_16_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::JALRC_32_(uint64 instruction) +std::string NMD::JALRC_32_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -7929,7 +7933,7 @@ std::string NMD::JALRC_32_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::JALRC_HB(uint64 instruction) +std::string NMD::JALRC_HB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -7951,7 +7955,7 @@ std::string NMD::JALRC_HB(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::JRC(uint64 instruction) +std::string NMD::JRC(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_9_8_7_6_5(instruction); @@ -7971,7 +7975,7 @@ std::string NMD::JRC(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LB_16_(uint64 instruction) +std::string NMD::LB_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); @@ -7995,7 +7999,7 @@ std::string NMD::LB_16_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LB_GP_(uint64 instruction) +std::string NMD::LB_GP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_0(instruction); @@ -8017,7 +8021,7 @@ std::string NMD::LB_GP_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LB_S9_(uint64 instruction) +std::string NMD::LB_S9_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8041,7 +8045,7 @@ std::string NMD::LB_S9_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LB_U12_(uint64 instruction) +std::string NMD::LB_U12_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8065,7 +8069,7 @@ std::string NMD::LB_U12_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LBE(uint64 instruction) +std::string NMD::LBE(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8089,7 +8093,7 @@ std::string NMD::LBE(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LBU_16_(uint64 instruction) +std::string NMD::LBU_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); @@ -8113,7 +8117,7 @@ std::string NMD::LBU_16_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LBU_GP_(uint64 instruction) +std::string NMD::LBU_GP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_0(instruction); @@ -8135,7 +8139,7 @@ std::string NMD::LBU_GP_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LBU_S9_(uint64 instruction) +std::string NMD::LBU_S9_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8159,7 +8163,7 @@ std::string NMD::LBU_S9_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LBU_U12_(uint64 instruction) +std::string NMD::LBU_U12_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8183,7 +8187,7 @@ std::string NMD::LBU_U12_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LBUE(uint64 instruction) +std::string NMD::LBUE(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8207,7 +8211,7 @@ std::string NMD::LBUE(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LBUX(uint64 instruction) +std::string NMD::LBUX(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8231,7 +8235,7 @@ std::string NMD::LBUX(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LBX(uint64 instruction) +std::string NMD::LBX(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8255,7 +8259,7 @@ std::string NMD::LBX(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LD_GP_(uint64 instruction) +std::string NMD::LD_GP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_20_to_3__s3(instruction); @@ -8277,7 +8281,7 @@ std::string NMD::LD_GP_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LD_S9_(uint64 instruction) +std::string NMD::LD_S9_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8301,7 +8305,7 @@ std::string NMD::LD_S9_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LD_U12_(uint64 instruction) +std::string NMD::LD_U12_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8325,7 +8329,7 @@ std::string NMD::LD_U12_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LDC1_GP_(uint64 instruction) +std::string NMD::LDC1_GP_(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_2__s2(instruction); @@ -8347,7 +8351,7 @@ std::string NMD::LDC1_GP_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LDC1_S9_(uint64 instruction) +std::string NMD::LDC1_S9_(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8371,7 +8375,7 @@ std::string NMD::LDC1_S9_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LDC1_U12_(uint64 instruction) +std::string NMD::LDC1_U12_(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8395,7 +8399,7 @@ std::string NMD::LDC1_U12_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LDC1XS(uint64 instruction) +std::string NMD::LDC1XS(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8419,7 +8423,7 @@ std::string NMD::LDC1XS(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LDC1X(uint64 instruction) +std::string NMD::LDC1X(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8443,7 +8447,7 @@ std::string NMD::LDC1X(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LDC2(uint64 instruction) +std::string NMD::LDC2(uint64 instruction, Dis_info *info) { uint64 ct_value = extract_ct_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8467,7 +8471,7 @@ std::string NMD::LDC2(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LDM(uint64 instruction) +std::string NMD::LDM(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8493,13 +8497,13 @@ std::string NMD::LDM(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LDPC_48_(uint64 instruction) +std::string NMD::LDPC_48_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_41_40_39_38_37(instruction); int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction); std::string rt = GPR(copy(rt_value)); - std::string s = ADDRESS(encode_s_from_address(s_value), 6); + std::string s = ADDRESS(encode_s_from_address(s_value), 6, info); return img_format("LDPC %s, %s", rt, s); } @@ -8515,7 +8519,7 @@ std::string NMD::LDPC_48_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LDX(uint64 instruction) +std::string NMD::LDX(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8539,7 +8543,7 @@ std::string NMD::LDX(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LDXS(uint64 instruction) +std::string NMD::LDXS(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8563,7 +8567,7 @@ std::string NMD::LDXS(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LH_16_(uint64 instruction) +std::string NMD::LH_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); @@ -8587,7 +8591,7 @@ std::string NMD::LH_16_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LH_GP_(uint64 instruction) +std::string NMD::LH_GP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_1__s1(instruction); @@ -8609,7 +8613,7 @@ std::string NMD::LH_GP_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LH_S9_(uint64 instruction) +std::string NMD::LH_S9_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8633,7 +8637,7 @@ std::string NMD::LH_S9_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LH_U12_(uint64 instruction) +std::string NMD::LH_U12_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8657,7 +8661,7 @@ std::string NMD::LH_U12_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LHE(uint64 instruction) +std::string NMD::LHE(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8681,7 +8685,7 @@ std::string NMD::LHE(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LHU_16_(uint64 instruction) +std::string NMD::LHU_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); @@ -8705,7 +8709,7 @@ std::string NMD::LHU_16_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LHU_GP_(uint64 instruction) +std::string NMD::LHU_GP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_1__s1(instruction); @@ -8727,7 +8731,7 @@ std::string NMD::LHU_GP_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LHU_S9_(uint64 instruction) +std::string NMD::LHU_S9_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8751,7 +8755,7 @@ std::string NMD::LHU_S9_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LHU_U12_(uint64 instruction) +std::string NMD::LHU_U12_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8775,7 +8779,7 @@ std::string NMD::LHU_U12_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LHUE(uint64 instruction) +std::string NMD::LHUE(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8799,7 +8803,7 @@ std::string NMD::LHUE(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LHUX(uint64 instruction) +std::string NMD::LHUX(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8823,7 +8827,7 @@ std::string NMD::LHUX(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LHUXS(uint64 instruction) +std::string NMD::LHUXS(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8847,7 +8851,7 @@ std::string NMD::LHUXS(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LHXS(uint64 instruction) +std::string NMD::LHXS(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8871,7 +8875,7 @@ std::string NMD::LHXS(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LHX(uint64 instruction) +std::string NMD::LHX(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8895,7 +8899,7 @@ std::string NMD::LHX(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LI_16_(uint64 instruction) +std::string NMD::LI_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 eu_value = extract_eu_6_5_4_3_2_1_0(instruction); @@ -8917,7 +8921,7 @@ std::string NMD::LI_16_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LI_48_(uint64 instruction) +std::string NMD::LI_48_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_41_40_39_38_37(instruction); int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction); @@ -8939,7 +8943,7 @@ std::string NMD::LI_48_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LL(uint64 instruction) +std::string NMD::LL(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8963,7 +8967,7 @@ std::string NMD::LL(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LLD(uint64 instruction) +std::string NMD::LLD(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8987,7 +8991,7 @@ std::string NMD::LLD(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LLDP(uint64 instruction) +std::string NMD::LLDP(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -9011,7 +9015,7 @@ std::string NMD::LLDP(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LLE(uint64 instruction) +std::string NMD::LLE(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -9035,7 +9039,7 @@ std::string NMD::LLE(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LLWP(uint64 instruction) +std::string NMD::LLWP(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -9059,7 +9063,7 @@ std::string NMD::LLWP(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LLWPE(uint64 instruction) +std::string NMD::LLWPE(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -9083,7 +9087,7 @@ std::string NMD::LLWPE(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LSA(uint64 instruction) +std::string NMD::LSA(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -9109,7 +9113,7 @@ std::string NMD::LSA(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LUI(uint64 instruction) +std::string NMD::LUI(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); int64 s_value = extract_s__se31_0_11_to_2_20_to_12_s12(instruction); @@ -9131,7 +9135,7 @@ std::string NMD::LUI(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LW_16_(uint64 instruction) +std::string NMD::LW_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); @@ -9155,7 +9159,7 @@ std::string NMD::LW_16_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LW_4X4_(uint64 instruction) +std::string NMD::LW_4X4_(uint64 instruction, Dis_info *info) { uint64 rt4_value = extract_rt4_9_7_6_5(instruction); uint64 rs4_value = extract_rs4_4_2_1_0(instruction); @@ -9179,7 +9183,7 @@ std::string NMD::LW_4X4_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LW_GP_(uint64 instruction) +std::string NMD::LW_GP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_20_to_2__s2(instruction); @@ -9201,7 +9205,7 @@ std::string NMD::LW_GP_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LW_GP16_(uint64 instruction) +std::string NMD::LW_GP16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 u_value = extract_u_6_5_4_3_2_1_0__s2(instruction); @@ -9223,7 +9227,7 @@ std::string NMD::LW_GP16_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LW_S9_(uint64 instruction) +std::string NMD::LW_S9_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -9247,7 +9251,7 @@ std::string NMD::LW_S9_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LW_SP_(uint64 instruction) +std::string NMD::LW_SP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_9_8_7_6_5(instruction); uint64 u_value = extract_u_4_3_2_1_0__s2(instruction); @@ -9269,7 +9273,7 @@ std::string NMD::LW_SP_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LW_U12_(uint64 instruction) +std::string NMD::LW_U12_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -9293,7 +9297,7 @@ std::string NMD::LW_U12_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LWC1_GP_(uint64 instruction) +std::string NMD::LWC1_GP_(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_2__s2(instruction); @@ -9315,7 +9319,7 @@ std::string NMD::LWC1_GP_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LWC1_S9_(uint64 instruction) +std::string NMD::LWC1_S9_(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -9339,7 +9343,7 @@ std::string NMD::LWC1_S9_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LWC1_U12_(uint64 instruction) +std::string NMD::LWC1_U12_(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -9363,7 +9367,7 @@ std::string NMD::LWC1_U12_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LWC1X(uint64 instruction) +std::string NMD::LWC1X(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -9387,7 +9391,7 @@ std::string NMD::LWC1X(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LWC1XS(uint64 instruction) +std::string NMD::LWC1XS(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -9411,7 +9415,7 @@ std::string NMD::LWC1XS(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LWC2(uint64 instruction) +std::string NMD::LWC2(uint64 instruction, Dis_info *info) { uint64 ct_value = extract_ct_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -9435,7 +9439,7 @@ std::string NMD::LWC2(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LWE(uint64 instruction) +std::string NMD::LWE(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -9459,7 +9463,7 @@ std::string NMD::LWE(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LWM(uint64 instruction) +std::string NMD::LWM(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -9485,13 +9489,13 @@ std::string NMD::LWM(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LWPC_48_(uint64 instruction) +std::string NMD::LWPC_48_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_41_40_39_38_37(instruction); int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction); std::string rt = GPR(copy(rt_value)); - std::string s = ADDRESS(encode_s_from_address(s_value), 6); + std::string s = ADDRESS(encode_s_from_address(s_value), 6, info); return img_format("LWPC %s, %s", rt, s); } @@ -9507,7 +9511,7 @@ std::string NMD::LWPC_48_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LWU_GP_(uint64 instruction) +std::string NMD::LWU_GP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_2__s2(instruction); @@ -9529,7 +9533,7 @@ std::string NMD::LWU_GP_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LWU_S9_(uint64 instruction) +std::string NMD::LWU_S9_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -9553,7 +9557,7 @@ std::string NMD::LWU_S9_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LWU_U12_(uint64 instruction) +std::string NMD::LWU_U12_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -9577,7 +9581,7 @@ std::string NMD::LWU_U12_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LWUX(uint64 instruction) +std::string NMD::LWUX(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -9601,7 +9605,7 @@ std::string NMD::LWUX(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LWUXS(uint64 instruction) +std::string NMD::LWUXS(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -9625,7 +9629,7 @@ std::string NMD::LWUXS(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LWX(uint64 instruction) +std::string NMD::LWX(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -9649,7 +9653,7 @@ std::string NMD::LWX(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LWXS_16_(uint64 instruction) +std::string NMD::LWXS_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); @@ -9673,7 +9677,7 @@ std::string NMD::LWXS_16_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::LWXS_32_(uint64 instruction) +std::string NMD::LWXS_32_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -9698,7 +9702,7 @@ std::string NMD::LWXS_32_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MADD_DSP_(uint64 instruction) +std::string NMD::MADD_DSP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -9722,7 +9726,7 @@ std::string NMD::MADD_DSP_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MADDF_D(uint64 instruction) +std::string NMD::MADDF_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -9746,7 +9750,7 @@ std::string NMD::MADDF_D(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MADDF_S(uint64 instruction) +std::string NMD::MADDF_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -9771,7 +9775,7 @@ std::string NMD::MADDF_S(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MADDU_DSP_(uint64 instruction) +std::string NMD::MADDU_DSP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -9796,7 +9800,7 @@ std::string NMD::MADDU_DSP_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MAQ_S_W_PHL(uint64 instruction) +std::string NMD::MAQ_S_W_PHL(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -9821,7 +9825,7 @@ std::string NMD::MAQ_S_W_PHL(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MAQ_S_W_PHR(uint64 instruction) +std::string NMD::MAQ_S_W_PHR(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -9846,7 +9850,7 @@ std::string NMD::MAQ_S_W_PHR(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MAQ_SA_W_PHL(uint64 instruction) +std::string NMD::MAQ_SA_W_PHL(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -9871,7 +9875,7 @@ std::string NMD::MAQ_SA_W_PHL(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MAQ_SA_W_PHR(uint64 instruction) +std::string NMD::MAQ_SA_W_PHR(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -9895,7 +9899,7 @@ std::string NMD::MAQ_SA_W_PHR(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MAX_D(uint64 instruction) +std::string NMD::MAX_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -9919,7 +9923,7 @@ std::string NMD::MAX_D(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MAX_S(uint64 instruction) +std::string NMD::MAX_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -9943,7 +9947,7 @@ std::string NMD::MAX_S(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MAXA_D(uint64 instruction) +std::string NMD::MAXA_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -9967,7 +9971,7 @@ std::string NMD::MAXA_D(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MAXA_S(uint64 instruction) +std::string NMD::MAXA_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -9991,7 +9995,7 @@ std::string NMD::MAXA_S(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MFC0(uint64 instruction) +std::string NMD::MFC0(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); @@ -10015,7 +10019,7 @@ std::string NMD::MFC0(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MFC1(uint64 instruction) +std::string NMD::MFC1(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -10037,7 +10041,7 @@ std::string NMD::MFC1(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MFC2(uint64 instruction) +std::string NMD::MFC2(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 cs_value = extract_cs_20_19_18_17_16(instruction); @@ -10059,7 +10063,7 @@ std::string NMD::MFC2(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MFGC0(uint64 instruction) +std::string NMD::MFGC0(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); @@ -10083,7 +10087,7 @@ std::string NMD::MFGC0(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MFHC0(uint64 instruction) +std::string NMD::MFHC0(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); @@ -10107,7 +10111,7 @@ std::string NMD::MFHC0(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MFHC1(uint64 instruction) +std::string NMD::MFHC1(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -10129,7 +10133,7 @@ std::string NMD::MFHC1(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MFHC2(uint64 instruction) +std::string NMD::MFHC2(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 cs_value = extract_cs_20_19_18_17_16(instruction); @@ -10151,7 +10155,7 @@ std::string NMD::MFHC2(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MFHGC0(uint64 instruction) +std::string NMD::MFHGC0(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); @@ -10174,7 +10178,7 @@ std::string NMD::MFHGC0(uint64 instruction) * rt ----- * ac -- */ -std::string NMD::MFHI_DSP_(uint64 instruction) +std::string NMD::MFHI_DSP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 ac_value = extract_ac_15_14(instruction); @@ -10196,7 +10200,7 @@ std::string NMD::MFHI_DSP_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MFHTR(uint64 instruction) +std::string NMD::MFHTR(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); @@ -10221,7 +10225,7 @@ std::string NMD::MFHTR(uint64 instruction) * rt ----- * ac -- */ -std::string NMD::MFLO_DSP_(uint64 instruction) +std::string NMD::MFLO_DSP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 ac_value = extract_ac_15_14(instruction); @@ -10243,7 +10247,7 @@ std::string NMD::MFLO_DSP_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MFTR(uint64 instruction) +std::string NMD::MFTR(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); @@ -10269,7 +10273,7 @@ std::string NMD::MFTR(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MIN_D(uint64 instruction) +std::string NMD::MIN_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -10293,7 +10297,7 @@ std::string NMD::MIN_D(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MIN_S(uint64 instruction) +std::string NMD::MIN_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -10317,7 +10321,7 @@ std::string NMD::MIN_S(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MINA_D(uint64 instruction) +std::string NMD::MINA_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -10341,7 +10345,7 @@ std::string NMD::MINA_D(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MINA_S(uint64 instruction) +std::string NMD::MINA_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -10365,7 +10369,7 @@ std::string NMD::MINA_S(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MOD(uint64 instruction) +std::string NMD::MOD(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -10389,7 +10393,7 @@ std::string NMD::MOD(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MODSUB(uint64 instruction) +std::string NMD::MODSUB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -10413,7 +10417,7 @@ std::string NMD::MODSUB(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MODU(uint64 instruction) +std::string NMD::MODU(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -10437,7 +10441,7 @@ std::string NMD::MODU(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MOV_D(uint64 instruction) +std::string NMD::MOV_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -10459,7 +10463,7 @@ std::string NMD::MOV_D(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MOV_S(uint64 instruction) +std::string NMD::MOV_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -10481,7 +10485,7 @@ std::string NMD::MOV_S(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MOVE_BALC(uint64 instruction) +std::string NMD::MOVE_BALC(uint64 instruction, Dis_info *info) { uint64 rtz4_value = extract_rtz4_27_26_25_23_22_21(instruction); uint64 rd1_value = extract_rdl_25_24(instruction); @@ -10489,7 +10493,7 @@ std::string NMD::MOVE_BALC(uint64 instruction) std::string rd1 = GPR(decode_gpr_gpr1(rd1_value)); std::string rtz4 = GPR(decode_gpr_gpr4_zero(rtz4_value)); - std::string s = ADDRESS(encode_s_from_address(s_value), 4); + std::string s = ADDRESS(encode_s_from_address(s_value), 4, info); return img_format("MOVE.BALC %s, %s, %s", rd1, rtz4, s); } @@ -10505,7 +10509,7 @@ std::string NMD::MOVE_BALC(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MOVEP(uint64 instruction) +std::string NMD::MOVEP(uint64 instruction, Dis_info *info) { uint64 rtz4_value = extract_rtz4_9_7_6_5(instruction); uint64 rd2_value = extract_rd2_3_8(instruction); @@ -10532,7 +10536,7 @@ std::string NMD::MOVEP(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MOVEP_REV_(uint64 instruction) +std::string NMD::MOVEP_REV_(uint64 instruction, Dis_info *info) { uint64 rt4_value = extract_rt4_9_7_6_5(instruction); uint64 rd2_value = extract_rd2_3_8(instruction); @@ -10559,7 +10563,7 @@ std::string NMD::MOVEP_REV_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MOVE(uint64 instruction) +std::string NMD::MOVE(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_9_8_7_6_5(instruction); uint64 rs_value = extract_rs_4_3_2_1_0(instruction); @@ -10581,7 +10585,7 @@ std::string NMD::MOVE(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MOVN(uint64 instruction) +std::string NMD::MOVN(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -10605,7 +10609,7 @@ std::string NMD::MOVN(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MOVZ(uint64 instruction) +std::string NMD::MOVZ(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -10629,7 +10633,7 @@ std::string NMD::MOVZ(uint64 instruction) * rs ----- * ac -- */ -std::string NMD::MSUB_DSP_(uint64 instruction) +std::string NMD::MSUB_DSP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -10653,7 +10657,7 @@ std::string NMD::MSUB_DSP_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MSUBF_D(uint64 instruction) +std::string NMD::MSUBF_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -10677,7 +10681,7 @@ std::string NMD::MSUBF_D(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MSUBF_S(uint64 instruction) +std::string NMD::MSUBF_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -10701,7 +10705,7 @@ std::string NMD::MSUBF_S(uint64 instruction) * rs ----- * ac -- */ -std::string NMD::MSUBU_DSP_(uint64 instruction) +std::string NMD::MSUBU_DSP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -10725,7 +10729,7 @@ std::string NMD::MSUBU_DSP_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MTC0(uint64 instruction) +std::string NMD::MTC0(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); @@ -10749,7 +10753,7 @@ std::string NMD::MTC0(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MTC1(uint64 instruction) +std::string NMD::MTC1(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -10771,7 +10775,7 @@ std::string NMD::MTC1(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MTC2(uint64 instruction) +std::string NMD::MTC2(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 cs_value = extract_cs_20_19_18_17_16(instruction); @@ -10793,7 +10797,7 @@ std::string NMD::MTC2(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MTGC0(uint64 instruction) +std::string NMD::MTGC0(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); @@ -10817,7 +10821,7 @@ std::string NMD::MTGC0(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MTHC0(uint64 instruction) +std::string NMD::MTHC0(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); @@ -10841,7 +10845,7 @@ std::string NMD::MTHC0(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MTHC1(uint64 instruction) +std::string NMD::MTHC1(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -10863,7 +10867,7 @@ std::string NMD::MTHC1(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MTHC2(uint64 instruction) +std::string NMD::MTHC2(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 cs_value = extract_cs_20_19_18_17_16(instruction); @@ -10885,7 +10889,7 @@ std::string NMD::MTHC2(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MTHGC0(uint64 instruction) +std::string NMD::MTHGC0(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); @@ -10908,7 +10912,7 @@ std::string NMD::MTHGC0(uint64 instruction) * rs ----- * ac -- */ -std::string NMD::MTHI_DSP_(uint64 instruction) +std::string NMD::MTHI_DSP_(uint64 instruction, Dis_info *info) { uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); @@ -10929,7 +10933,7 @@ std::string NMD::MTHI_DSP_(uint64 instruction) * rs ----- * ac -- */ -std::string NMD::MTHLIP(uint64 instruction) +std::string NMD::MTHLIP(uint64 instruction, Dis_info *info) { uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); @@ -10951,7 +10955,7 @@ std::string NMD::MTHLIP(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MTHTR(uint64 instruction) +std::string NMD::MTHTR(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); @@ -10976,7 +10980,7 @@ std::string NMD::MTHTR(uint64 instruction) * rs ----- * ac -- */ -std::string NMD::MTLO_DSP_(uint64 instruction) +std::string NMD::MTLO_DSP_(uint64 instruction, Dis_info *info) { uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); @@ -10998,7 +11002,7 @@ std::string NMD::MTLO_DSP_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MTTR(uint64 instruction) +std::string NMD::MTTR(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); @@ -11024,7 +11028,7 @@ std::string NMD::MTTR(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MUH(uint64 instruction) +std::string NMD::MUH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11048,7 +11052,7 @@ std::string NMD::MUH(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MUHU(uint64 instruction) +std::string NMD::MUHU(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11072,7 +11076,7 @@ std::string NMD::MUHU(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MUL_32_(uint64 instruction) +std::string NMD::MUL_32_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11096,7 +11100,7 @@ std::string NMD::MUL_32_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MUL_4X4_(uint64 instruction) +std::string NMD::MUL_4X4_(uint64 instruction, Dis_info *info) { uint64 rt4_value = extract_rt4_9_7_6_5(instruction); uint64 rs4_value = extract_rs4_4_2_1_0(instruction); @@ -11118,7 +11122,7 @@ std::string NMD::MUL_4X4_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MUL_D(uint64 instruction) +std::string NMD::MUL_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -11143,7 +11147,7 @@ std::string NMD::MUL_D(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MUL_PH(uint64 instruction) +std::string NMD::MUL_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11168,7 +11172,7 @@ std::string NMD::MUL_PH(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MUL_S_PH(uint64 instruction) +std::string NMD::MUL_S_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11192,7 +11196,7 @@ std::string NMD::MUL_S_PH(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MUL_S(uint64 instruction) +std::string NMD::MUL_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -11217,7 +11221,7 @@ std::string NMD::MUL_S(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MULEQ_S_W_PHL(uint64 instruction) +std::string NMD::MULEQ_S_W_PHL(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11242,7 +11246,7 @@ std::string NMD::MULEQ_S_W_PHL(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MULEQ_S_W_PHR(uint64 instruction) +std::string NMD::MULEQ_S_W_PHR(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11267,7 +11271,7 @@ std::string NMD::MULEQ_S_W_PHR(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MULEU_S_PH_QBL(uint64 instruction) +std::string NMD::MULEU_S_PH_QBL(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11292,7 +11296,7 @@ std::string NMD::MULEU_S_PH_QBL(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MULEU_S_PH_QBR(uint64 instruction) +std::string NMD::MULEU_S_PH_QBR(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11317,7 +11321,7 @@ std::string NMD::MULEU_S_PH_QBR(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MULQ_RS_PH(uint64 instruction) +std::string NMD::MULQ_RS_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11342,7 +11346,7 @@ std::string NMD::MULQ_RS_PH(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MULQ_RS_W(uint64 instruction) +std::string NMD::MULQ_RS_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11367,7 +11371,7 @@ std::string NMD::MULQ_RS_W(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MULQ_S_PH(uint64 instruction) +std::string NMD::MULQ_S_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11392,7 +11396,7 @@ std::string NMD::MULQ_S_PH(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MULQ_S_W(uint64 instruction) +std::string NMD::MULQ_S_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11417,7 +11421,7 @@ std::string NMD::MULQ_S_W(uint64 instruction) * rs ----- * ac -- */ -std::string NMD::MULSA_W_PH(uint64 instruction) +std::string NMD::MULSA_W_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11442,7 +11446,7 @@ std::string NMD::MULSA_W_PH(uint64 instruction) * rs ----- * ac -- */ -std::string NMD::MULSAQ_S_W_PH(uint64 instruction) +std::string NMD::MULSAQ_S_W_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11466,7 +11470,7 @@ std::string NMD::MULSAQ_S_W_PH(uint64 instruction) * rs ----- * ac -- */ -std::string NMD::MULT_DSP_(uint64 instruction) +std::string NMD::MULT_DSP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11490,7 +11494,7 @@ std::string NMD::MULT_DSP_(uint64 instruction) * rs ----- * ac -- */ -std::string NMD::MULTU_DSP_(uint64 instruction) +std::string NMD::MULTU_DSP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11514,7 +11518,7 @@ std::string NMD::MULTU_DSP_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::MULU(uint64 instruction) +std::string NMD::MULU(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11538,7 +11542,7 @@ std::string NMD::MULU(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::NEG_D(uint64 instruction) +std::string NMD::NEG_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -11560,7 +11564,7 @@ std::string NMD::NEG_D(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::NEG_S(uint64 instruction) +std::string NMD::NEG_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -11582,7 +11586,7 @@ std::string NMD::NEG_S(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::NOP_16_(uint64 instruction) +std::string NMD::NOP_16_(uint64 instruction, Dis_info *info) { (void)instruction; @@ -11600,7 +11604,7 @@ std::string NMD::NOP_16_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::NOP_32_(uint64 instruction) +std::string NMD::NOP_32_(uint64 instruction, Dis_info *info) { (void)instruction; @@ -11618,7 +11622,7 @@ std::string NMD::NOP_32_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::NOR(uint64 instruction) +std::string NMD::NOR(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11642,7 +11646,7 @@ std::string NMD::NOR(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::NOT_16_(uint64 instruction) +std::string NMD::NOT_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); @@ -11664,7 +11668,7 @@ std::string NMD::NOT_16_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::OR_16_(uint64 instruction) +std::string NMD::OR_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); @@ -11686,7 +11690,7 @@ std::string NMD::OR_16_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::OR_32_(uint64 instruction) +std::string NMD::OR_32_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11710,7 +11714,7 @@ std::string NMD::OR_32_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::ORI(uint64 instruction) +std::string NMD::ORI(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11735,7 +11739,7 @@ std::string NMD::ORI(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::PACKRL_PH(uint64 instruction) +std::string NMD::PACKRL_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11759,7 +11763,7 @@ std::string NMD::PACKRL_PH(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::PAUSE(uint64 instruction) +std::string NMD::PAUSE(uint64 instruction, Dis_info *info) { (void)instruction; @@ -11778,7 +11782,7 @@ std::string NMD::PAUSE(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::PICK_PH(uint64 instruction) +std::string NMD::PICK_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11803,7 +11807,7 @@ std::string NMD::PICK_PH(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::PICK_QB(uint64 instruction) +std::string NMD::PICK_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11828,7 +11832,7 @@ std::string NMD::PICK_QB(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::PRECEQ_W_PHL(uint64 instruction) +std::string NMD::PRECEQ_W_PHL(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11851,7 +11855,7 @@ std::string NMD::PRECEQ_W_PHL(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::PRECEQ_W_PHR(uint64 instruction) +std::string NMD::PRECEQ_W_PHR(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11874,7 +11878,7 @@ std::string NMD::PRECEQ_W_PHR(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::PRECEQU_PH_QBLA(uint64 instruction) +std::string NMD::PRECEQU_PH_QBLA(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11897,7 +11901,7 @@ std::string NMD::PRECEQU_PH_QBLA(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::PRECEQU_PH_QBL(uint64 instruction) +std::string NMD::PRECEQU_PH_QBL(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11920,7 +11924,7 @@ std::string NMD::PRECEQU_PH_QBL(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::PRECEQU_PH_QBRA(uint64 instruction) +std::string NMD::PRECEQU_PH_QBRA(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11943,7 +11947,7 @@ std::string NMD::PRECEQU_PH_QBRA(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::PRECEQU_PH_QBR(uint64 instruction) +std::string NMD::PRECEQU_PH_QBR(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11967,7 +11971,7 @@ std::string NMD::PRECEQU_PH_QBR(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::PRECEU_PH_QBLA(uint64 instruction) +std::string NMD::PRECEU_PH_QBLA(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11990,7 +11994,7 @@ std::string NMD::PRECEU_PH_QBLA(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::PRECEU_PH_QBL(uint64 instruction) +std::string NMD::PRECEU_PH_QBL(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -12014,7 +12018,7 @@ std::string NMD::PRECEU_PH_QBL(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::PRECEU_PH_QBRA(uint64 instruction) +std::string NMD::PRECEU_PH_QBRA(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -12037,7 +12041,7 @@ std::string NMD::PRECEU_PH_QBRA(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::PRECEU_PH_QBR(uint64 instruction) +std::string NMD::PRECEU_PH_QBR(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -12060,7 +12064,7 @@ std::string NMD::PRECEU_PH_QBR(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::PRECR_QB_PH(uint64 instruction) +std::string NMD::PRECR_QB_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -12085,7 +12089,7 @@ std::string NMD::PRECR_QB_PH(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::PRECR_SRA_PH_W(uint64 instruction) +std::string NMD::PRECR_SRA_PH_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -12110,7 +12114,7 @@ std::string NMD::PRECR_SRA_PH_W(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::PRECR_SRA_R_PH_W(uint64 instruction) +std::string NMD::PRECR_SRA_R_PH_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -12135,7 +12139,7 @@ std::string NMD::PRECR_SRA_R_PH_W(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::PRECRQ_PH_W(uint64 instruction) +std::string NMD::PRECRQ_PH_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -12160,7 +12164,7 @@ std::string NMD::PRECRQ_PH_W(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::PRECRQ_QB_PH(uint64 instruction) +std::string NMD::PRECRQ_QB_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -12185,7 +12189,7 @@ std::string NMD::PRECRQ_QB_PH(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::PRECRQ_RS_PH_W(uint64 instruction) +std::string NMD::PRECRQ_RS_PH_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -12210,7 +12214,7 @@ std::string NMD::PRECRQ_RS_PH_W(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::PRECRQU_S_QB_PH(uint64 instruction) +std::string NMD::PRECRQU_S_QB_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -12234,7 +12238,7 @@ std::string NMD::PRECRQU_S_QB_PH(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::PREF_S9_(uint64 instruction) +std::string NMD::PREF_S9_(uint64 instruction, Dis_info *info) { uint64 hint_value = extract_hint_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -12258,7 +12262,7 @@ std::string NMD::PREF_S9_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::PREF_U12_(uint64 instruction) +std::string NMD::PREF_U12_(uint64 instruction, Dis_info *info) { uint64 hint_value = extract_hint_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -12282,7 +12286,7 @@ std::string NMD::PREF_U12_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::PREFE(uint64 instruction) +std::string NMD::PREFE(uint64 instruction, Dis_info *info) { uint64 hint_value = extract_hint_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -12306,7 +12310,7 @@ std::string NMD::PREFE(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::PREPEND(uint64 instruction) +std::string NMD::PREPEND(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -12329,7 +12333,7 @@ std::string NMD::PREPEND(uint64 instruction) * rt ----- * rs ----- */ -std::string NMD::RADDU_W_QB(uint64 instruction) +std::string NMD::RADDU_W_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -12350,7 +12354,7 @@ std::string NMD::RADDU_W_QB(uint64 instruction) * rt ----- * mask ------- */ -std::string NMD::RDDSP(uint64 instruction) +std::string NMD::RDDSP(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 mask_value = extract_mask_20_19_18_17_16_15_14(instruction); @@ -12372,7 +12376,7 @@ std::string NMD::RDDSP(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::RDHWR(uint64 instruction) +std::string NMD::RDHWR(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 hs_value = extract_hs_20_19_18_17_16(instruction); @@ -12396,7 +12400,7 @@ std::string NMD::RDHWR(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::RDPGPR(uint64 instruction) +std::string NMD::RDPGPR(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -12418,7 +12422,7 @@ std::string NMD::RDPGPR(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::RECIP_D(uint64 instruction) +std::string NMD::RECIP_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -12440,7 +12444,7 @@ std::string NMD::RECIP_D(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::RECIP_S(uint64 instruction) +std::string NMD::RECIP_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -12462,7 +12466,7 @@ std::string NMD::RECIP_S(uint64 instruction) * rt ----- * s ---------- */ -std::string NMD::REPL_PH(uint64 instruction) +std::string NMD::REPL_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); int64 s_value = extract_s__se9_20_19_18_17_16_15_14_13_12_11(instruction); @@ -12484,7 +12488,7 @@ std::string NMD::REPL_PH(uint64 instruction) * rt ----- * u -------- */ -std::string NMD::REPL_QB(uint64 instruction) +std::string NMD::REPL_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_20_19_18_17_16_15_14_13(instruction); @@ -12506,7 +12510,7 @@ std::string NMD::REPL_QB(uint64 instruction) * rt ----- * rs ----- */ -std::string NMD::REPLV_PH(uint64 instruction) +std::string NMD::REPLV_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -12527,7 +12531,7 @@ std::string NMD::REPLV_PH(uint64 instruction) * rt ----- * rs ----- */ -std::string NMD::REPLV_QB(uint64 instruction) +std::string NMD::REPLV_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -12549,7 +12553,7 @@ std::string NMD::REPLV_QB(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::RESTORE_32_(uint64 instruction) +std::string NMD::RESTORE_32_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 count_value = extract_count_19_18_17_16(instruction); @@ -12572,7 +12576,7 @@ std::string NMD::RESTORE_32_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::RESTORE_JRC_16_(uint64 instruction) +std::string NMD::RESTORE_JRC_16_(uint64 instruction, Dis_info *info) { uint64 rt1_value = extract_rtl_11(instruction); uint64 u_value = extract_u_7_6_5_4__s4(instruction); @@ -12594,7 +12598,7 @@ std::string NMD::RESTORE_JRC_16_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::RESTORE_JRC_32_(uint64 instruction) +std::string NMD::RESTORE_JRC_32_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 count_value = extract_count_19_18_17_16(instruction); @@ -12617,7 +12621,7 @@ std::string NMD::RESTORE_JRC_32_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::RESTOREF(uint64 instruction) +std::string NMD::RESTOREF(uint64 instruction, Dis_info *info) { uint64 count_value = extract_count_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3__s3(instruction); @@ -12639,7 +12643,7 @@ std::string NMD::RESTOREF(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::RINT_D(uint64 instruction) +std::string NMD::RINT_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -12661,7 +12665,7 @@ std::string NMD::RINT_D(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::RINT_S(uint64 instruction) +std::string NMD::RINT_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -12683,7 +12687,7 @@ std::string NMD::RINT_S(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::ROTR(uint64 instruction) +std::string NMD::ROTR(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -12707,7 +12711,7 @@ std::string NMD::ROTR(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::ROTRV(uint64 instruction) +std::string NMD::ROTRV(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -12731,7 +12735,7 @@ std::string NMD::ROTRV(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::ROTX(uint64 instruction) +std::string NMD::ROTX(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -12760,7 +12764,7 @@ std::string NMD::ROTX(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::ROUND_L_D(uint64 instruction) +std::string NMD::ROUND_L_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -12782,7 +12786,7 @@ std::string NMD::ROUND_L_D(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::ROUND_L_S(uint64 instruction) +std::string NMD::ROUND_L_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -12804,7 +12808,7 @@ std::string NMD::ROUND_L_S(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::ROUND_W_D(uint64 instruction) +std::string NMD::ROUND_W_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -12826,7 +12830,7 @@ std::string NMD::ROUND_W_D(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::ROUND_W_S(uint64 instruction) +std::string NMD::ROUND_W_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -12848,7 +12852,7 @@ std::string NMD::ROUND_W_S(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::RSQRT_D(uint64 instruction) +std::string NMD::RSQRT_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -12870,7 +12874,7 @@ std::string NMD::RSQRT_D(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::RSQRT_S(uint64 instruction) +std::string NMD::RSQRT_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -12892,7 +12896,7 @@ std::string NMD::RSQRT_S(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SAVE_16_(uint64 instruction) +std::string NMD::SAVE_16_(uint64 instruction, Dis_info *info) { uint64 rt1_value = extract_rtl_11(instruction); uint64 u_value = extract_u_7_6_5_4__s4(instruction); @@ -12914,7 +12918,7 @@ std::string NMD::SAVE_16_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SAVE_32_(uint64 instruction) +std::string NMD::SAVE_32_(uint64 instruction, Dis_info *info) { uint64 count_value = extract_count_19_18_17_16(instruction); uint64 rt_value = extract_rt_25_24_23_22_21(instruction); @@ -12937,7 +12941,7 @@ std::string NMD::SAVE_32_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SAVEF(uint64 instruction) +std::string NMD::SAVEF(uint64 instruction, Dis_info *info) { uint64 count_value = extract_count_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3__s3(instruction); @@ -12959,7 +12963,7 @@ std::string NMD::SAVEF(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SB_16_(uint64 instruction) +std::string NMD::SB_16_(uint64 instruction, Dis_info *info) { uint64 rtz3_value = extract_rtz3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); @@ -12983,7 +12987,7 @@ std::string NMD::SB_16_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SB_GP_(uint64 instruction) +std::string NMD::SB_GP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_0(instruction); @@ -13005,7 +13009,7 @@ std::string NMD::SB_GP_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SB_S9_(uint64 instruction) +std::string NMD::SB_S9_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -13029,7 +13033,7 @@ std::string NMD::SB_S9_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SB_U12_(uint64 instruction) +std::string NMD::SB_U12_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -13053,7 +13057,7 @@ std::string NMD::SB_U12_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SBE(uint64 instruction) +std::string NMD::SBE(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -13077,7 +13081,7 @@ std::string NMD::SBE(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SBX(uint64 instruction) +std::string NMD::SBX(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -13101,7 +13105,7 @@ std::string NMD::SBX(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SC(uint64 instruction) +std::string NMD::SC(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -13125,7 +13129,7 @@ std::string NMD::SC(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SCD(uint64 instruction) +std::string NMD::SCD(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -13149,7 +13153,7 @@ std::string NMD::SCD(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SCDP(uint64 instruction) +std::string NMD::SCDP(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -13173,7 +13177,7 @@ std::string NMD::SCDP(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SCE(uint64 instruction) +std::string NMD::SCE(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -13197,7 +13201,7 @@ std::string NMD::SCE(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SCWP(uint64 instruction) +std::string NMD::SCWP(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -13221,7 +13225,7 @@ std::string NMD::SCWP(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SCWPE(uint64 instruction) +std::string NMD::SCWPE(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -13245,7 +13249,7 @@ std::string NMD::SCWPE(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SD_GP_(uint64 instruction) +std::string NMD::SD_GP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_20_to_3__s3(instruction); @@ -13267,7 +13271,7 @@ std::string NMD::SD_GP_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SD_S9_(uint64 instruction) +std::string NMD::SD_S9_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -13291,7 +13295,7 @@ std::string NMD::SD_S9_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SD_U12_(uint64 instruction) +std::string NMD::SD_U12_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -13315,7 +13319,7 @@ std::string NMD::SD_U12_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SDBBP_16_(uint64 instruction) +std::string NMD::SDBBP_16_(uint64 instruction, Dis_info *info) { uint64 code_value = extract_code_2_1_0(instruction); @@ -13335,7 +13339,7 @@ std::string NMD::SDBBP_16_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SDBBP_32_(uint64 instruction) +std::string NMD::SDBBP_32_(uint64 instruction, Dis_info *info) { uint64 code_value = extract_code_18_to_0(instruction); @@ -13355,7 +13359,7 @@ std::string NMD::SDBBP_32_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SDC1_GP_(uint64 instruction) +std::string NMD::SDC1_GP_(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_2__s2(instruction); @@ -13377,7 +13381,7 @@ std::string NMD::SDC1_GP_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SDC1_S9_(uint64 instruction) +std::string NMD::SDC1_S9_(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -13401,7 +13405,7 @@ std::string NMD::SDC1_S9_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SDC1_U12_(uint64 instruction) +std::string NMD::SDC1_U12_(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -13425,7 +13429,7 @@ std::string NMD::SDC1_U12_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SDC1X(uint64 instruction) +std::string NMD::SDC1X(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -13449,7 +13453,7 @@ std::string NMD::SDC1X(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SDC1XS(uint64 instruction) +std::string NMD::SDC1XS(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -13473,7 +13477,7 @@ std::string NMD::SDC1XS(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SDC2(uint64 instruction) +std::string NMD::SDC2(uint64 instruction, Dis_info *info) { uint64 cs_value = extract_cs_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -13497,7 +13501,7 @@ std::string NMD::SDC2(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SDM(uint64 instruction) +std::string NMD::SDM(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -13523,13 +13527,13 @@ std::string NMD::SDM(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SDPC_48_(uint64 instruction) +std::string NMD::SDPC_48_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_41_40_39_38_37(instruction); int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction); std::string rt = GPR(copy(rt_value)); - std::string s = ADDRESS(encode_s_from_address(s_value), 6); + std::string s = ADDRESS(encode_s_from_address(s_value), 6, info); return img_format("SDPC %s, %s", rt, s); } @@ -13545,7 +13549,7 @@ std::string NMD::SDPC_48_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SDXS(uint64 instruction) +std::string NMD::SDXS(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -13569,7 +13573,7 @@ std::string NMD::SDXS(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SDX(uint64 instruction) +std::string NMD::SDX(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -13593,7 +13597,7 @@ std::string NMD::SDX(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SEB(uint64 instruction) +std::string NMD::SEB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -13615,7 +13619,7 @@ std::string NMD::SEB(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SEH(uint64 instruction) +std::string NMD::SEH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -13637,7 +13641,7 @@ std::string NMD::SEH(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SEL_D(uint64 instruction) +std::string NMD::SEL_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -13661,7 +13665,7 @@ std::string NMD::SEL_D(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SEL_S(uint64 instruction) +std::string NMD::SEL_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -13685,7 +13689,7 @@ std::string NMD::SEL_S(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SELEQZ_D(uint64 instruction) +std::string NMD::SELEQZ_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -13709,7 +13713,7 @@ std::string NMD::SELEQZ_D(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SELEQZ_S(uint64 instruction) +std::string NMD::SELEQZ_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -13733,7 +13737,7 @@ std::string NMD::SELEQZ_S(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SELNEZ_D(uint64 instruction) +std::string NMD::SELNEZ_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -13757,7 +13761,7 @@ std::string NMD::SELNEZ_D(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SELNEZ_S(uint64 instruction) +std::string NMD::SELNEZ_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -13781,7 +13785,7 @@ std::string NMD::SELNEZ_S(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SEQI(uint64 instruction) +std::string NMD::SEQI(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -13805,7 +13809,7 @@ std::string NMD::SEQI(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SH_16_(uint64 instruction) +std::string NMD::SH_16_(uint64 instruction, Dis_info *info) { uint64 rtz3_value = extract_rtz3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); @@ -13829,7 +13833,7 @@ std::string NMD::SH_16_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SH_GP_(uint64 instruction) +std::string NMD::SH_GP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_1__s1(instruction); @@ -13851,7 +13855,7 @@ std::string NMD::SH_GP_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SH_S9_(uint64 instruction) +std::string NMD::SH_S9_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -13875,7 +13879,7 @@ std::string NMD::SH_S9_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SH_U12_(uint64 instruction) +std::string NMD::SH_U12_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -13899,7 +13903,7 @@ std::string NMD::SH_U12_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SHE(uint64 instruction) +std::string NMD::SHE(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -13923,7 +13927,7 @@ std::string NMD::SHE(uint64 instruction) * shift ------ * ac -- */ -std::string NMD::SHILO(uint64 instruction) +std::string NMD::SHILO(uint64 instruction, Dis_info *info) { int64 shift_value = extract_shift__se5_21_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); @@ -13945,7 +13949,7 @@ std::string NMD::SHILO(uint64 instruction) * rs ----- * ac -- */ -std::string NMD::SHILOV(uint64 instruction) +std::string NMD::SHILOV(uint64 instruction, Dis_info *info) { uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); @@ -13967,7 +13971,7 @@ std::string NMD::SHILOV(uint64 instruction) * rs ----- * sa ---- */ -std::string NMD::SHLL_PH(uint64 instruction) +std::string NMD::SHLL_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -13991,7 +13995,7 @@ std::string NMD::SHLL_PH(uint64 instruction) * rs ----- * sa --- */ -std::string NMD::SHLL_QB(uint64 instruction) +std::string NMD::SHLL_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14016,7 +14020,7 @@ std::string NMD::SHLL_QB(uint64 instruction) * rs ----- * sa ---- */ -std::string NMD::SHLL_S_PH(uint64 instruction) +std::string NMD::SHLL_S_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14040,7 +14044,7 @@ std::string NMD::SHLL_S_PH(uint64 instruction) * rs ----- * sa ----- */ -std::string NMD::SHLL_S_W(uint64 instruction) +std::string NMD::SHLL_S_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14065,7 +14069,7 @@ std::string NMD::SHLL_S_W(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SHLLV_PH(uint64 instruction) +std::string NMD::SHLLV_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14089,7 +14093,7 @@ std::string NMD::SHLLV_PH(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SHLLV_QB(uint64 instruction) +std::string NMD::SHLLV_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14114,7 +14118,7 @@ std::string NMD::SHLLV_QB(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SHLLV_S_PH(uint64 instruction) +std::string NMD::SHLLV_S_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14138,7 +14142,7 @@ std::string NMD::SHLLV_S_PH(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SHLLV_S_W(uint64 instruction) +std::string NMD::SHLLV_S_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14162,7 +14166,7 @@ std::string NMD::SHLLV_S_W(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SHRA_PH(uint64 instruction) +std::string NMD::SHRA_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14186,7 +14190,7 @@ std::string NMD::SHRA_PH(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SHRA_QB(uint64 instruction) +std::string NMD::SHRA_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14210,7 +14214,7 @@ std::string NMD::SHRA_QB(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SHRA_R_PH(uint64 instruction) +std::string NMD::SHRA_R_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14234,7 +14238,7 @@ std::string NMD::SHRA_R_PH(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SHRA_R_QB(uint64 instruction) +std::string NMD::SHRA_R_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14258,7 +14262,7 @@ std::string NMD::SHRA_R_QB(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SHRA_R_W(uint64 instruction) +std::string NMD::SHRA_R_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14282,7 +14286,7 @@ std::string NMD::SHRA_R_W(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SHRAV_PH(uint64 instruction) +std::string NMD::SHRAV_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14306,7 +14310,7 @@ std::string NMD::SHRAV_PH(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SHRAV_QB(uint64 instruction) +std::string NMD::SHRAV_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14330,7 +14334,7 @@ std::string NMD::SHRAV_QB(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SHRAV_R_PH(uint64 instruction) +std::string NMD::SHRAV_R_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14354,7 +14358,7 @@ std::string NMD::SHRAV_R_PH(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SHRAV_R_QB(uint64 instruction) +std::string NMD::SHRAV_R_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14378,7 +14382,7 @@ std::string NMD::SHRAV_R_QB(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SHRAV_R_W(uint64 instruction) +std::string NMD::SHRAV_R_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14402,7 +14406,7 @@ std::string NMD::SHRAV_R_W(uint64 instruction) * rs ----- * sa ---- */ -std::string NMD::SHRL_PH(uint64 instruction) +std::string NMD::SHRL_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14426,7 +14430,7 @@ std::string NMD::SHRL_PH(uint64 instruction) * rs ----- * sa --- */ -std::string NMD::SHRL_QB(uint64 instruction) +std::string NMD::SHRL_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14451,7 +14455,7 @@ std::string NMD::SHRL_QB(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SHRLV_PH(uint64 instruction) +std::string NMD::SHRLV_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14475,7 +14479,7 @@ std::string NMD::SHRLV_PH(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SHRLV_QB(uint64 instruction) +std::string NMD::SHRLV_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14499,7 +14503,7 @@ std::string NMD::SHRLV_QB(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SHX(uint64 instruction) +std::string NMD::SHX(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14523,7 +14527,7 @@ std::string NMD::SHX(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SHXS(uint64 instruction) +std::string NMD::SHXS(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14547,7 +14551,7 @@ std::string NMD::SHXS(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SIGRIE(uint64 instruction) +std::string NMD::SIGRIE(uint64 instruction, Dis_info *info) { uint64 code_value = extract_code_18_to_0(instruction); @@ -14567,7 +14571,7 @@ std::string NMD::SIGRIE(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SLL_16_(uint64 instruction) +std::string NMD::SLL_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); @@ -14591,7 +14595,7 @@ std::string NMD::SLL_16_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SLL_32_(uint64 instruction) +std::string NMD::SLL_32_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14615,7 +14619,7 @@ std::string NMD::SLL_32_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SLLV(uint64 instruction) +std::string NMD::SLLV(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14639,7 +14643,7 @@ std::string NMD::SLLV(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SLT(uint64 instruction) +std::string NMD::SLT(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14663,7 +14667,7 @@ std::string NMD::SLT(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SLTI(uint64 instruction) +std::string NMD::SLTI(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14687,7 +14691,7 @@ std::string NMD::SLTI(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SLTIU(uint64 instruction) +std::string NMD::SLTIU(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14711,7 +14715,7 @@ std::string NMD::SLTIU(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SLTU(uint64 instruction) +std::string NMD::SLTU(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14735,7 +14739,7 @@ std::string NMD::SLTU(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SOV(uint64 instruction) +std::string NMD::SOV(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14759,7 +14763,7 @@ std::string NMD::SOV(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SPECIAL2(uint64 instruction) +std::string NMD::SPECIAL2(uint64 instruction, Dis_info *info) { uint64 op_value = extract_op_25_to_3(instruction); @@ -14779,7 +14783,7 @@ std::string NMD::SPECIAL2(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SQRT_D(uint64 instruction) +std::string NMD::SQRT_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -14801,7 +14805,7 @@ std::string NMD::SQRT_D(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SQRT_S(uint64 instruction) +std::string NMD::SQRT_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -14823,7 +14827,7 @@ std::string NMD::SQRT_S(uint64 instruction) * rd ----- * sa ----- */ -std::string NMD::SRA(uint64 instruction) +std::string NMD::SRA(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14847,7 +14851,7 @@ std::string NMD::SRA(uint64 instruction) * rt ----- * rd ----- */ -std::string NMD::SRAV(uint64 instruction) +std::string NMD::SRAV(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14871,7 +14875,7 @@ std::string NMD::SRAV(uint64 instruction) * rt ----- * rd ----- */ -std::string NMD::SRL_16_(uint64 instruction) +std::string NMD::SRL_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); @@ -14895,7 +14899,7 @@ std::string NMD::SRL_16_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SRL_32_(uint64 instruction) +std::string NMD::SRL_32_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14919,7 +14923,7 @@ std::string NMD::SRL_32_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SRLV(uint64 instruction) +std::string NMD::SRLV(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14943,7 +14947,7 @@ std::string NMD::SRLV(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SUB(uint64 instruction) +std::string NMD::SUB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14967,7 +14971,7 @@ std::string NMD::SUB(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SUB_D(uint64 instruction) +std::string NMD::SUB_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -14991,7 +14995,7 @@ std::string NMD::SUB_D(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SUB_S(uint64 instruction) +std::string NMD::SUB_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -15015,7 +15019,7 @@ std::string NMD::SUB_S(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SUBQ_PH(uint64 instruction) +std::string NMD::SUBQ_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -15040,7 +15044,7 @@ std::string NMD::SUBQ_PH(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SUBQ_S_PH(uint64 instruction) +std::string NMD::SUBQ_S_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -15065,7 +15069,7 @@ std::string NMD::SUBQ_S_PH(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SUBQ_S_W(uint64 instruction) +std::string NMD::SUBQ_S_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -15090,7 +15094,7 @@ std::string NMD::SUBQ_S_W(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SUBQH_PH(uint64 instruction) +std::string NMD::SUBQH_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -15115,7 +15119,7 @@ std::string NMD::SUBQH_PH(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SUBQH_R_PH(uint64 instruction) +std::string NMD::SUBQH_R_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -15140,7 +15144,7 @@ std::string NMD::SUBQH_R_PH(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SUBQH_R_W(uint64 instruction) +std::string NMD::SUBQH_R_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -15165,7 +15169,7 @@ std::string NMD::SUBQH_R_W(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SUBQH_W(uint64 instruction) +std::string NMD::SUBQH_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -15189,7 +15193,7 @@ std::string NMD::SUBQH_W(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SUBU_16_(uint64 instruction) +std::string NMD::SUBU_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); @@ -15213,7 +15217,7 @@ std::string NMD::SUBU_16_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SUBU_32_(uint64 instruction) +std::string NMD::SUBU_32_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -15237,7 +15241,7 @@ std::string NMD::SUBU_32_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SUBU_PH(uint64 instruction) +std::string NMD::SUBU_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -15261,7 +15265,7 @@ std::string NMD::SUBU_PH(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SUBU_QB(uint64 instruction) +std::string NMD::SUBU_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -15286,7 +15290,7 @@ std::string NMD::SUBU_QB(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SUBU_S_PH(uint64 instruction) +std::string NMD::SUBU_S_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -15311,7 +15315,7 @@ std::string NMD::SUBU_S_PH(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SUBU_S_QB(uint64 instruction) +std::string NMD::SUBU_S_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -15336,7 +15340,7 @@ std::string NMD::SUBU_S_QB(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SUBUH_QB(uint64 instruction) +std::string NMD::SUBUH_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -15361,7 +15365,7 @@ std::string NMD::SUBUH_QB(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SUBUH_R_QB(uint64 instruction) +std::string NMD::SUBUH_R_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -15385,7 +15389,7 @@ std::string NMD::SUBUH_R_QB(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SW_16_(uint64 instruction) +std::string NMD::SW_16_(uint64 instruction, Dis_info *info) { uint64 rtz3_value = extract_rtz3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); @@ -15409,7 +15413,7 @@ std::string NMD::SW_16_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SW_4X4_(uint64 instruction) +std::string NMD::SW_4X4_(uint64 instruction, Dis_info *info) { uint64 rtz4_value = extract_rtz4_9_7_6_5(instruction); uint64 rs4_value = extract_rs4_4_2_1_0(instruction); @@ -15433,7 +15437,7 @@ std::string NMD::SW_4X4_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SW_GP16_(uint64 instruction) +std::string NMD::SW_GP16_(uint64 instruction, Dis_info *info) { uint64 u_value = extract_u_6_5_4_3_2_1_0__s2(instruction); uint64 rtz3_value = extract_rtz3_9_8_7(instruction); @@ -15455,7 +15459,7 @@ std::string NMD::SW_GP16_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SW_GP_(uint64 instruction) +std::string NMD::SW_GP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_20_to_2__s2(instruction); @@ -15477,7 +15481,7 @@ std::string NMD::SW_GP_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SW_S9_(uint64 instruction) +std::string NMD::SW_S9_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); @@ -15501,7 +15505,7 @@ std::string NMD::SW_S9_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SW_SP_(uint64 instruction) +std::string NMD::SW_SP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_9_8_7_6_5(instruction); uint64 u_value = extract_u_4_3_2_1_0__s2(instruction); @@ -15523,7 +15527,7 @@ std::string NMD::SW_SP_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SW_U12_(uint64 instruction) +std::string NMD::SW_U12_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -15547,7 +15551,7 @@ std::string NMD::SW_U12_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SWC1_GP_(uint64 instruction) +std::string NMD::SWC1_GP_(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_2__s2(instruction); @@ -15569,7 +15573,7 @@ std::string NMD::SWC1_GP_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SWC1_S9_(uint64 instruction) +std::string NMD::SWC1_S9_(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -15593,7 +15597,7 @@ std::string NMD::SWC1_S9_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SWC1_U12_(uint64 instruction) +std::string NMD::SWC1_U12_(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -15617,7 +15621,7 @@ std::string NMD::SWC1_U12_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SWC1X(uint64 instruction) +std::string NMD::SWC1X(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -15641,7 +15645,7 @@ std::string NMD::SWC1X(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SWC1XS(uint64 instruction) +std::string NMD::SWC1XS(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -15665,7 +15669,7 @@ std::string NMD::SWC1XS(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SWC2(uint64 instruction) +std::string NMD::SWC2(uint64 instruction, Dis_info *info) { uint64 cs_value = extract_cs_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -15689,7 +15693,7 @@ std::string NMD::SWC2(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SWE(uint64 instruction) +std::string NMD::SWE(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -15713,7 +15717,7 @@ std::string NMD::SWE(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SWM(uint64 instruction) +std::string NMD::SWM(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -15739,13 +15743,13 @@ std::string NMD::SWM(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SWPC_48_(uint64 instruction) +std::string NMD::SWPC_48_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_41_40_39_38_37(instruction); int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction); std::string rt = GPR(copy(rt_value)); - std::string s = ADDRESS(encode_s_from_address(s_value), 6); + std::string s = ADDRESS(encode_s_from_address(s_value), 6, info); return img_format("SWPC %s, %s", rt, s); } @@ -15761,7 +15765,7 @@ std::string NMD::SWPC_48_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SWX(uint64 instruction) +std::string NMD::SWX(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -15785,7 +15789,7 @@ std::string NMD::SWX(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SWXS(uint64 instruction) +std::string NMD::SWXS(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -15809,7 +15813,7 @@ std::string NMD::SWXS(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SYNC(uint64 instruction) +std::string NMD::SYNC(uint64 instruction, Dis_info *info) { uint64 stype_value = extract_stype_20_19_18_17_16(instruction); @@ -15829,7 +15833,7 @@ std::string NMD::SYNC(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SYNCI(uint64 instruction) +std::string NMD::SYNCI(uint64 instruction, Dis_info *info) { uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); @@ -15851,7 +15855,7 @@ std::string NMD::SYNCI(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SYNCIE(uint64 instruction) +std::string NMD::SYNCIE(uint64 instruction, Dis_info *info) { uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); @@ -15873,7 +15877,7 @@ std::string NMD::SYNCIE(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::SYSCALL_16_(uint64 instruction) +std::string NMD::SYSCALL_16_(uint64 instruction, Dis_info *info) { uint64 code_value = extract_code_1_0(instruction); @@ -15891,7 +15895,7 @@ std::string NMD::SYSCALL_16_(uint64 instruction) * 00000000000010 * code ------------------ */ -std::string NMD::SYSCALL_32_(uint64 instruction) +std::string NMD::SYSCALL_32_(uint64 instruction, Dis_info *info) { uint64 code_value = extract_code_17_to_0(instruction); @@ -15911,7 +15915,7 @@ std::string NMD::SYSCALL_32_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::TEQ(uint64 instruction) +std::string NMD::TEQ(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -15933,7 +15937,7 @@ std::string NMD::TEQ(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::TLBGINV(uint64 instruction) +std::string NMD::TLBGINV(uint64 instruction, Dis_info *info) { (void)instruction; @@ -15951,7 +15955,7 @@ std::string NMD::TLBGINV(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::TLBGINVF(uint64 instruction) +std::string NMD::TLBGINVF(uint64 instruction, Dis_info *info) { (void)instruction; @@ -15969,7 +15973,7 @@ std::string NMD::TLBGINVF(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::TLBGP(uint64 instruction) +std::string NMD::TLBGP(uint64 instruction, Dis_info *info) { (void)instruction; @@ -15987,7 +15991,7 @@ std::string NMD::TLBGP(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::TLBGR(uint64 instruction) +std::string NMD::TLBGR(uint64 instruction, Dis_info *info) { (void)instruction; @@ -16005,7 +16009,7 @@ std::string NMD::TLBGR(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::TLBGWI(uint64 instruction) +std::string NMD::TLBGWI(uint64 instruction, Dis_info *info) { (void)instruction; @@ -16023,7 +16027,7 @@ std::string NMD::TLBGWI(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::TLBGWR(uint64 instruction) +std::string NMD::TLBGWR(uint64 instruction, Dis_info *info) { (void)instruction; @@ -16041,7 +16045,7 @@ std::string NMD::TLBGWR(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::TLBINV(uint64 instruction) +std::string NMD::TLBINV(uint64 instruction, Dis_info *info) { (void)instruction; @@ -16059,7 +16063,7 @@ std::string NMD::TLBINV(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::TLBINVF(uint64 instruction) +std::string NMD::TLBINVF(uint64 instruction, Dis_info *info) { (void)instruction; @@ -16077,7 +16081,7 @@ std::string NMD::TLBINVF(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::TLBP(uint64 instruction) +std::string NMD::TLBP(uint64 instruction, Dis_info *info) { (void)instruction; @@ -16095,7 +16099,7 @@ std::string NMD::TLBP(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::TLBR(uint64 instruction) +std::string NMD::TLBR(uint64 instruction, Dis_info *info) { (void)instruction; @@ -16113,7 +16117,7 @@ std::string NMD::TLBR(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::TLBWI(uint64 instruction) +std::string NMD::TLBWI(uint64 instruction, Dis_info *info) { (void)instruction; @@ -16131,7 +16135,7 @@ std::string NMD::TLBWI(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::TLBWR(uint64 instruction) +std::string NMD::TLBWR(uint64 instruction, Dis_info *info) { (void)instruction; @@ -16149,7 +16153,7 @@ std::string NMD::TLBWR(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::TNE(uint64 instruction) +std::string NMD::TNE(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -16171,7 +16175,7 @@ std::string NMD::TNE(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::TRUNC_L_D(uint64 instruction) +std::string NMD::TRUNC_L_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -16193,7 +16197,7 @@ std::string NMD::TRUNC_L_D(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::TRUNC_L_S(uint64 instruction) +std::string NMD::TRUNC_L_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -16215,7 +16219,7 @@ std::string NMD::TRUNC_L_S(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::TRUNC_W_D(uint64 instruction) +std::string NMD::TRUNC_W_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -16237,7 +16241,7 @@ std::string NMD::TRUNC_W_D(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::TRUNC_W_S(uint64 instruction) +std::string NMD::TRUNC_W_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -16259,7 +16263,7 @@ std::string NMD::TRUNC_W_S(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::UALDM(uint64 instruction) +std::string NMD::UALDM(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -16285,7 +16289,7 @@ std::string NMD::UALDM(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::UALH(uint64 instruction) +std::string NMD::UALH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -16309,7 +16313,7 @@ std::string NMD::UALH(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::UALWM(uint64 instruction) +std::string NMD::UALWM(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -16335,7 +16339,7 @@ std::string NMD::UALWM(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::UASDM(uint64 instruction) +std::string NMD::UASDM(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -16361,7 +16365,7 @@ std::string NMD::UASDM(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::UASH(uint64 instruction) +std::string NMD::UASH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -16385,7 +16389,7 @@ std::string NMD::UASH(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::UASWM(uint64 instruction) +std::string NMD::UASWM(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -16411,7 +16415,7 @@ std::string NMD::UASWM(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::UDI(uint64 instruction) +std::string NMD::UDI(uint64 instruction, Dis_info *info) { uint64 op_value = extract_op_25_to_3(instruction); @@ -16429,7 +16433,7 @@ std::string NMD::UDI(uint64 instruction) * 001000 1100001101111111 * code ---------- */ -std::string NMD::WAIT(uint64 instruction) +std::string NMD::WAIT(uint64 instruction, Dis_info *info) { uint64 code_value = extract_code_25_24_23_22_21_20_19_18_17_16(instruction); @@ -16449,7 +16453,7 @@ std::string NMD::WAIT(uint64 instruction) * rt ----- * mask ------- */ -std::string NMD::WRDSP(uint64 instruction) +std::string NMD::WRDSP(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 mask_value = extract_mask_20_19_18_17_16_15_14(instruction); @@ -16471,7 +16475,7 @@ std::string NMD::WRDSP(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::WRPGPR(uint64 instruction) +std::string NMD::WRPGPR(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -16493,7 +16497,7 @@ std::string NMD::WRPGPR(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::XOR_16_(uint64 instruction) +std::string NMD::XOR_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); @@ -16515,7 +16519,7 @@ std::string NMD::XOR_16_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::XOR_32_(uint64 instruction) +std::string NMD::XOR_32_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -16539,7 +16543,7 @@ std::string NMD::XOR_32_(uint64 instruction) * rs ----- * rd ----- */ -std::string NMD::XORI(uint64 instruction) +std::string NMD::XORI(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -16562,7 +16566,7 @@ std::string NMD::XORI(uint64 instruction) * rt ----- * rs ----- */ -std::string NMD::YIELD(uint64 instruction) +std::string NMD::YIELD(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); diff --git a/disas/nanomips.h b/disas/nanomips.h index 5bdfe1e30b..fcd41c405c 100644 --- a/disas/nanomips.h +++ b/disas/nanomips.h @@ -60,24 +60,21 @@ enum TABLE_ATTRIBUTE_TYPE { ALL_ATTRIBUTES = 0xffffffffull, }; +typedef struct Dis_info { + img_address m_pc; +} Dis_info; class NMD { public: - NMD(img_address pc) - : m_pc(pc) - { - } - int Disassemble(const uint16 *data, std::string & dis, - TABLE_ENTRY_TYPE & type); + TABLE_ENTRY_TYPE & type, Dis_info *info); private: - img_address m_pc; - - typedef std::string(NMD:: *disassembly_function)(uint64 instruction); + typedef std::string(NMD:: *disassembly_function)(uint64 instruction, + Dis_info *info); typedef bool(NMD:: *conditional_function)(uint64 instruction); struct Pool { @@ -94,7 +91,8 @@ private: uint64 extract_op_code_value(const uint16 *data, int size); int Disassemble(const uint16 *data, std::string & dis, - TABLE_ENTRY_TYPE & type, const Pool *table, int table_size); + TABLE_ENTRY_TYPE & type, const Pool *table, int table_size, + Dis_info *info); uint64 renumber_registers(uint64 index, uint64 *register_list, size_t register_list_size); @@ -135,7 +133,7 @@ private: std::string IMMEDIATE(uint64 value); std::string IMMEDIATE(int64 value); std::string CPR(uint64 reg); - std::string ADDRESS(uint64 value, int instruction_size); + std::string ADDRESS(uint64 value, int instruction_size, Dis_info *info); int64 extract_s__se3_4_2_1_0(uint64 instruction); int64 extract_s__se7_0_6_5_4_3_2_1_s1(uint64 instruction); @@ -251,642 +249,642 @@ private: bool PREFE_cond(uint64 instruction); bool SLTU_cond(uint64 instruction); - std::string ABS_D(uint64 instruction); - std::string ABS_S(uint64 instruction); - std::string ABSQ_S_PH(uint64 instruction); - std::string ABSQ_S_QB(uint64 instruction); - std::string ABSQ_S_W(uint64 instruction); - std::string ACLR(uint64 instruction); - std::string ADD(uint64 instruction); - std::string ADD_D(uint64 instruction); - std::string ADD_S(uint64 instruction); - std::string ADDIU_32_(uint64 instruction); - std::string ADDIU_48_(uint64 instruction); - std::string ADDIU_GP48_(uint64 instruction); - std::string ADDIU_GP_B_(uint64 instruction); - std::string ADDIU_GP_W_(uint64 instruction); - std::string ADDIU_NEG_(uint64 instruction); - std::string ADDIU_R1_SP_(uint64 instruction); - std::string ADDIU_R2_(uint64 instruction); - std::string ADDIU_RS5_(uint64 instruction); - std::string ADDIUPC_32_(uint64 instruction); - std::string ADDIUPC_48_(uint64 instruction); - std::string ADDQ_PH(uint64 instruction); - std::string ADDQ_S_PH(uint64 instruction); - std::string ADDQ_S_W(uint64 instruction); - std::string ADDQH_PH(uint64 instruction); - std::string ADDQH_R_PH(uint64 instruction); - std::string ADDQH_R_W(uint64 instruction); - std::string ADDQH_W(uint64 instruction); - std::string ADDSC(uint64 instruction); - std::string ADDU_16_(uint64 instruction); - std::string ADDU_32_(uint64 instruction); - std::string ADDU_4X4_(uint64 instruction); - std::string ADDU_PH(uint64 instruction); - std::string ADDU_QB(uint64 instruction); - std::string ADDU_S_PH(uint64 instruction); - std::string ADDU_S_QB(uint64 instruction); - std::string ADDUH_QB(uint64 instruction); - std::string ADDUH_R_QB(uint64 instruction); - std::string ADDWC(uint64 instruction); - std::string ALUIPC(uint64 instruction); - std::string AND_16_(uint64 instruction); - std::string AND_32_(uint64 instruction); - std::string ANDI_16_(uint64 instruction); - std::string ANDI_32_(uint64 instruction); - std::string APPEND(uint64 instruction); - std::string ASET(uint64 instruction); - std::string BALC_16_(uint64 instruction); - std::string BALC_32_(uint64 instruction); - std::string BALRSC(uint64 instruction); - std::string BBEQZC(uint64 instruction); - std::string BBNEZC(uint64 instruction); - std::string BC_16_(uint64 instruction); - std::string BC_32_(uint64 instruction); - std::string BC1EQZC(uint64 instruction); - std::string BC1NEZC(uint64 instruction); - std::string BC2EQZC(uint64 instruction); - std::string BC2NEZC(uint64 instruction); - std::string BEQC_16_(uint64 instruction); - std::string BEQC_32_(uint64 instruction); - std::string BEQIC(uint64 instruction); - std::string BEQZC_16_(uint64 instruction); - std::string BGEC(uint64 instruction); - std::string BGEIC(uint64 instruction); - std::string BGEIUC(uint64 instruction); - std::string BGEUC(uint64 instruction); - std::string BLTC(uint64 instruction); - std::string BLTIC(uint64 instruction); - std::string BLTIUC(uint64 instruction); - std::string BLTUC(uint64 instruction); - std::string BNEC_16_(uint64 instruction); - std::string BNEC_32_(uint64 instruction); - std::string BNEIC(uint64 instruction); - std::string BNEZC_16_(uint64 instruction); - std::string BPOSGE32C(uint64 instruction); - std::string BREAK_16_(uint64 instruction); - std::string BREAK_32_(uint64 instruction); - std::string BRSC(uint64 instruction); - std::string CACHE(uint64 instruction); - std::string CACHEE(uint64 instruction); - std::string CEIL_L_D(uint64 instruction); - std::string CEIL_L_S(uint64 instruction); - std::string CEIL_W_D(uint64 instruction); - std::string CEIL_W_S(uint64 instruction); - std::string CFC1(uint64 instruction); - std::string CFC2(uint64 instruction); - std::string CLASS_D(uint64 instruction); - std::string CLASS_S(uint64 instruction); - std::string CLO(uint64 instruction); - std::string CLZ(uint64 instruction); - std::string CMP_AF_D(uint64 instruction); - std::string CMP_AF_S(uint64 instruction); - std::string CMP_EQ_D(uint64 instruction); - std::string CMP_EQ_PH(uint64 instruction); - std::string CMP_EQ_S(uint64 instruction); - std::string CMP_LE_D(uint64 instruction); - std::string CMP_LE_PH(uint64 instruction); - std::string CMP_LE_S(uint64 instruction); - std::string CMP_LT_D(uint64 instruction); - std::string CMP_LT_PH(uint64 instruction); - std::string CMP_LT_S(uint64 instruction); - std::string CMP_NE_D(uint64 instruction); - std::string CMP_NE_S(uint64 instruction); - std::string CMP_OR_D(uint64 instruction); - std::string CMP_OR_S(uint64 instruction); - std::string CMP_SAF_D(uint64 instruction); - std::string CMP_SAF_S(uint64 instruction); - std::string CMP_SEQ_D(uint64 instruction); - std::string CMP_SEQ_S(uint64 instruction); - std::string CMP_SLE_D(uint64 instruction); - std::string CMP_SLE_S(uint64 instruction); - std::string CMP_SLT_D(uint64 instruction); - std::string CMP_SLT_S(uint64 instruction); - std::string CMP_SNE_D(uint64 instruction); - std::string CMP_SNE_S(uint64 instruction); - std::string CMP_SOR_D(uint64 instruction); - std::string CMP_SOR_S(uint64 instruction); - std::string CMP_SUEQ_D(uint64 instruction); - std::string CMP_SUEQ_S(uint64 instruction); - std::string CMP_SULE_D(uint64 instruction); - std::string CMP_SULE_S(uint64 instruction); - std::string CMP_SULT_D(uint64 instruction); - std::string CMP_SULT_S(uint64 instruction); - std::string CMP_SUN_D(uint64 instruction); - std::string CMP_SUN_S(uint64 instruction); - std::string CMP_SUNE_D(uint64 instruction); - std::string CMP_SUNE_S(uint64 instruction); - std::string CMP_UEQ_D(uint64 instruction); - std::string CMP_UEQ_S(uint64 instruction); - std::string CMP_ULE_D(uint64 instruction); - std::string CMP_ULE_S(uint64 instruction); - std::string CMP_ULT_D(uint64 instruction); - std::string CMP_ULT_S(uint64 instruction); - std::string CMP_UN_D(uint64 instruction); - std::string CMP_UN_S(uint64 instruction); - std::string CMP_UNE_D(uint64 instruction); - std::string CMP_UNE_S(uint64 instruction); - std::string CMPGDU_EQ_QB(uint64 instruction); - std::string CMPGDU_LE_QB(uint64 instruction); - std::string CMPGDU_LT_QB(uint64 instruction); - std::string CMPGU_EQ_QB(uint64 instruction); - std::string CMPGU_LE_QB(uint64 instruction); - std::string CMPGU_LT_QB(uint64 instruction); - std::string CMPU_EQ_QB(uint64 instruction); - std::string CMPU_LE_QB(uint64 instruction); - std::string CMPU_LT_QB(uint64 instruction); - std::string COP2_1(uint64 instruction); - std::string CTC1(uint64 instruction); - std::string CTC2(uint64 instruction); - std::string CVT_D_L(uint64 instruction); - std::string CVT_D_S(uint64 instruction); - std::string CVT_D_W(uint64 instruction); - std::string CVT_L_D(uint64 instruction); - std::string CVT_L_S(uint64 instruction); - std::string CVT_S_D(uint64 instruction); - std::string CVT_S_L(uint64 instruction); - std::string CVT_S_PL(uint64 instruction); - std::string CVT_S_PU(uint64 instruction); - std::string CVT_S_W(uint64 instruction); - std::string CVT_W_D(uint64 instruction); - std::string CVT_W_S(uint64 instruction); - std::string DADDIU_48_(uint64 instruction); - std::string DADDIU_NEG_(uint64 instruction); - std::string DADDIU_U12_(uint64 instruction); - std::string DADD(uint64 instruction); - std::string DADDU(uint64 instruction); - std::string DCLO(uint64 instruction); - std::string DCLZ(uint64 instruction); - std::string DDIV(uint64 instruction); - std::string DDIVU(uint64 instruction); - std::string DERET(uint64 instruction); - std::string DEXTM(uint64 instruction); - std::string DEXT(uint64 instruction); - std::string DEXTU(uint64 instruction); - std::string DINSM(uint64 instruction); - std::string DINS(uint64 instruction); - std::string DINSU(uint64 instruction); - std::string DI(uint64 instruction); - std::string DIV(uint64 instruction); - std::string DIV_D(uint64 instruction); - std::string DIV_S(uint64 instruction); - std::string DIVU(uint64 instruction); - std::string DLSA(uint64 instruction); - std::string DLUI_48_(uint64 instruction); - std::string DMFC0(uint64 instruction); - std::string DMFC1(uint64 instruction); - std::string DMFC2(uint64 instruction); - std::string DMFGC0(uint64 instruction); - std::string DMOD(uint64 instruction); - std::string DMODU(uint64 instruction); - std::string DMTC0(uint64 instruction); - std::string DMTC1(uint64 instruction); - std::string DMTC2(uint64 instruction); - std::string DMTGC0(uint64 instruction); - std::string DMT(uint64 instruction); - std::string DMUH(uint64 instruction); - std::string DMUHU(uint64 instruction); - std::string DMUL(uint64 instruction); - std::string DMULU(uint64 instruction); - std::string DPAQ_S_W_PH(uint64 instruction); - std::string DPAQ_SA_L_W(uint64 instruction); - std::string DPAQX_S_W_PH(uint64 instruction); - std::string DPAQX_SA_W_PH(uint64 instruction); - std::string DPAU_H_QBL(uint64 instruction); - std::string DPAU_H_QBR(uint64 instruction); - std::string DPA_W_PH(uint64 instruction); - std::string DPAX_W_PH(uint64 instruction); - std::string DPS_W_PH(uint64 instruction); - std::string DPSQ_SA_L_W(uint64 instruction); - std::string DPSQ_S_W_PH(uint64 instruction); - std::string DPSQX_SA_W_PH(uint64 instruction); - std::string DPSQX_S_W_PH(uint64 instruction); - std::string DPSU_H_QBL(uint64 instruction); - std::string DPSU_H_QBR(uint64 instruction); - std::string DPSX_W_PH(uint64 instruction); - std::string DROTR(uint64 instruction); - std::string DROTR32(uint64 instruction); - std::string DROTRV(uint64 instruction); - std::string DROTX(uint64 instruction); - std::string DSLL(uint64 instruction); - std::string DSLL32(uint64 instruction); - std::string DSLLV(uint64 instruction); - std::string DSRA(uint64 instruction); - std::string DSRA32(uint64 instruction); - std::string DSRAV(uint64 instruction); - std::string DSRL32(uint64 instruction); - std::string DSRL(uint64 instruction); - std::string DSRLV(uint64 instruction); - std::string DSUB(uint64 instruction); - std::string DSUBU(uint64 instruction); - std::string DVP(uint64 instruction); - std::string DVPE(uint64 instruction); - std::string EHB(uint64 instruction); - std::string EI(uint64 instruction); - std::string EMT(uint64 instruction); - std::string ERET(uint64 instruction); - std::string ERETNC(uint64 instruction); - std::string EVP(uint64 instruction); - std::string EVPE(uint64 instruction); - std::string EXT(uint64 instruction); - std::string EXTD(uint64 instruction); - std::string EXTD32(uint64 instruction); - std::string EXTP(uint64 instruction); - std::string EXTPDP(uint64 instruction); - std::string EXTPDPV(uint64 instruction); - std::string EXTPV(uint64 instruction); - std::string EXTR_RS_W(uint64 instruction); - std::string EXTR_R_W(uint64 instruction); - std::string EXTR_S_H(uint64 instruction); - std::string EXTR_W(uint64 instruction); - std::string EXTRV_R_W(uint64 instruction); - std::string EXTRV_RS_W(uint64 instruction); - std::string EXTRV_S_H(uint64 instruction); - std::string EXTRV_W(uint64 instruction); - std::string EXTW(uint64 instruction); - std::string FLOOR_L_D(uint64 instruction); - std::string FLOOR_L_S(uint64 instruction); - std::string FLOOR_W_D(uint64 instruction); - std::string FLOOR_W_S(uint64 instruction); - std::string FORK(uint64 instruction); - std::string HYPCALL(uint64 instruction); - std::string HYPCALL_16_(uint64 instruction); - std::string INS(uint64 instruction); - std::string INSV(uint64 instruction); - std::string IRET(uint64 instruction); - std::string JALRC_16_(uint64 instruction); - std::string JALRC_32_(uint64 instruction); - std::string JALRC_HB(uint64 instruction); - std::string JRC(uint64 instruction); - std::string LB_16_(uint64 instruction); - std::string LB_GP_(uint64 instruction); - std::string LB_S9_(uint64 instruction); - std::string LB_U12_(uint64 instruction); - std::string LBE(uint64 instruction); - std::string LBU_16_(uint64 instruction); - std::string LBU_GP_(uint64 instruction); - std::string LBU_S9_(uint64 instruction); - std::string LBU_U12_(uint64 instruction); - std::string LBUE(uint64 instruction); - std::string LBUX(uint64 instruction); - std::string LBX(uint64 instruction); - std::string LD_GP_(uint64 instruction); - std::string LD_S9_(uint64 instruction); - std::string LD_U12_(uint64 instruction); - std::string LDC1_GP_(uint64 instruction); - std::string LDC1_S9_(uint64 instruction); - std::string LDC1_U12_(uint64 instruction); - std::string LDC1X(uint64 instruction); - std::string LDC1XS(uint64 instruction); - std::string LDC2(uint64 instruction); - std::string LDM(uint64 instruction); - std::string LDPC_48_(uint64 instruction); - std::string LDX(uint64 instruction); - std::string LDXS(uint64 instruction); - std::string LH_16_(uint64 instruction); - std::string LH_GP_(uint64 instruction); - std::string LH_S9_(uint64 instruction); - std::string LH_U12_(uint64 instruction); - std::string LHE(uint64 instruction); - std::string LHU_16_(uint64 instruction); - std::string LHU_GP_(uint64 instruction); - std::string LHU_S9_(uint64 instruction); - std::string LHU_U12_(uint64 instruction); - std::string LHUE(uint64 instruction); - std::string LHUX(uint64 instruction); - std::string LHUXS(uint64 instruction); - std::string LHX(uint64 instruction); - std::string LHXS(uint64 instruction); - std::string LI_16_(uint64 instruction); - std::string LI_48_(uint64 instruction); - std::string LL(uint64 instruction); - std::string LLD(uint64 instruction); - std::string LLDP(uint64 instruction); - std::string LLE(uint64 instruction); - std::string LLWP(uint64 instruction); - std::string LLWPE(uint64 instruction); - std::string LSA(uint64 instruction); - std::string LUI(uint64 instruction); - std::string LW_16_(uint64 instruction); - std::string LW_4X4_(uint64 instruction); - std::string LWC1_GP_(uint64 instruction); - std::string LWC1_S9_(uint64 instruction); - std::string LWC1_U12_(uint64 instruction); - std::string LWC1X(uint64 instruction); - std::string LWC1XS(uint64 instruction); - std::string LWC2(uint64 instruction); - std::string LWE(uint64 instruction); - std::string LW_GP_(uint64 instruction); - std::string LW_GP16_(uint64 instruction); - std::string LWM(uint64 instruction); - std::string LWPC_48_(uint64 instruction); - std::string LW_S9_(uint64 instruction); - std::string LW_SP_(uint64 instruction); - std::string LW_U12_(uint64 instruction); - std::string LWU_GP_(uint64 instruction); - std::string LWU_S9_(uint64 instruction); - std::string LWU_U12_(uint64 instruction); - std::string LWUX(uint64 instruction); - std::string LWUXS(uint64 instruction); - std::string LWX(uint64 instruction); - std::string LWXS_16_(uint64 instruction); - std::string LWXS_32_(uint64 instruction); - std::string MADD_DSP_(uint64 instruction); - std::string MADDF_D(uint64 instruction); - std::string MADDF_S(uint64 instruction); - std::string MADDU_DSP_(uint64 instruction); - std::string MAQ_S_W_PHL(uint64 instruction); - std::string MAQ_S_W_PHR(uint64 instruction); - std::string MAQ_SA_W_PHL(uint64 instruction); - std::string MAQ_SA_W_PHR(uint64 instruction); - std::string MAX_D(uint64 instruction); - std::string MAX_S(uint64 instruction); - std::string MAXA_D(uint64 instruction); - std::string MAXA_S(uint64 instruction); - std::string MFC0(uint64 instruction); - std::string MFC1(uint64 instruction); - std::string MFC2(uint64 instruction); - std::string MFGC0(uint64 instruction); - std::string MFHC0(uint64 instruction); - std::string MFHC1(uint64 instruction); - std::string MFHC2(uint64 instruction); - std::string MFHGC0(uint64 instruction); - std::string MFHI_DSP_(uint64 instruction); - std::string MFHTR(uint64 instruction); - std::string MFLO_DSP_(uint64 instruction); - std::string MFTR(uint64 instruction); - std::string MIN_D(uint64 instruction); - std::string MIN_S(uint64 instruction); - std::string MINA_D(uint64 instruction); - std::string MINA_S(uint64 instruction); - std::string MOD(uint64 instruction); - std::string MODSUB(uint64 instruction); - std::string MODU(uint64 instruction); - std::string MOV_D(uint64 instruction); - std::string MOV_S(uint64 instruction); - std::string MOVE_BALC(uint64 instruction); - std::string MOVEP(uint64 instruction); - std::string MOVEP_REV_(uint64 instruction); - std::string MOVE(uint64 instruction); - std::string MOVN(uint64 instruction); - std::string MOVZ(uint64 instruction); - std::string MSUB_DSP_(uint64 instruction); - std::string MSUBF_D(uint64 instruction); - std::string MSUBF_S(uint64 instruction); - std::string MSUBU_DSP_(uint64 instruction); - std::string MTC0(uint64 instruction); - std::string MTC1(uint64 instruction); - std::string MTC2(uint64 instruction); - std::string MTGC0(uint64 instruction); - std::string MTHC0(uint64 instruction); - std::string MTHC1(uint64 instruction); - std::string MTHC2(uint64 instruction); - std::string MTHGC0(uint64 instruction); - std::string MTHI_DSP_(uint64 instruction); - std::string MTHLIP(uint64 instruction); - std::string MTHTR(uint64 instruction); - std::string MTLO_DSP_(uint64 instruction); - std::string MTTR(uint64 instruction); - std::string MUH(uint64 instruction); - std::string MUHU(uint64 instruction); - std::string MUL_32_(uint64 instruction); - std::string MUL_4X4_(uint64 instruction); - std::string MUL_D(uint64 instruction); - std::string MUL_PH(uint64 instruction); - std::string MUL_S(uint64 instruction); - std::string MUL_S_PH(uint64 instruction); - std::string MULEQ_S_W_PHL(uint64 instruction); - std::string MULEQ_S_W_PHR(uint64 instruction); - std::string MULEU_S_PH_QBL(uint64 instruction); - std::string MULEU_S_PH_QBR(uint64 instruction); - std::string MULQ_RS_PH(uint64 instruction); - std::string MULQ_RS_W(uint64 instruction); - std::string MULQ_S_PH(uint64 instruction); - std::string MULQ_S_W(uint64 instruction); - std::string MULSA_W_PH(uint64 instruction); - std::string MULSAQ_S_W_PH(uint64 instruction); - std::string MULT_DSP_(uint64 instruction); - std::string MULTU_DSP_(uint64 instruction); - std::string MULU(uint64 instruction); - std::string NEG_D(uint64 instruction); - std::string NEG_S(uint64 instruction); - std::string NOP_16_(uint64 instruction); - std::string NOP_32_(uint64 instruction); - std::string NOR(uint64 instruction); - std::string NOT_16_(uint64 instruction); - std::string OR_16_(uint64 instruction); - std::string OR_32_(uint64 instruction); - std::string ORI(uint64 instruction); - std::string PACKRL_PH(uint64 instruction); - std::string PAUSE(uint64 instruction); - std::string PICK_PH(uint64 instruction); - std::string PICK_QB(uint64 instruction); - std::string PRECEQ_W_PHL(uint64 instruction); - std::string PRECEQ_W_PHR(uint64 instruction); - std::string PRECEQU_PH_QBL(uint64 instruction); - std::string PRECEQU_PH_QBLA(uint64 instruction); - std::string PRECEQU_PH_QBR(uint64 instruction); - std::string PRECEQU_PH_QBRA(uint64 instruction); - std::string PRECEU_PH_QBL(uint64 instruction); - std::string PRECEU_PH_QBLA(uint64 instruction); - std::string PRECEU_PH_QBR(uint64 instruction); - std::string PRECEU_PH_QBRA(uint64 instruction); - std::string PRECR_QB_PH(uint64 instruction); - std::string PRECR_SRA_PH_W(uint64 instruction); - std::string PRECR_SRA_R_PH_W(uint64 instruction); - std::string PRECRQ_PH_W(uint64 instruction); - std::string PRECRQ_QB_PH(uint64 instruction); - std::string PRECRQ_RS_PH_W(uint64 instruction); - std::string PRECRQU_S_QB_PH(uint64 instruction); - std::string PREF_S9_(uint64 instruction); - std::string PREF_U12_(uint64 instruction); - std::string PREFE(uint64 instruction); - std::string PREPEND(uint64 instruction); - std::string RADDU_W_QB(uint64 instruction); - std::string RDDSP(uint64 instruction); - std::string RDHWR(uint64 instruction); - std::string RDPGPR(uint64 instruction); - std::string RECIP_D(uint64 instruction); - std::string RECIP_S(uint64 instruction); - std::string REPL_PH(uint64 instruction); - std::string REPL_QB(uint64 instruction); - std::string REPLV_PH(uint64 instruction); - std::string REPLV_QB(uint64 instruction); - std::string RESTORE_32_(uint64 instruction); - std::string RESTORE_JRC_16_(uint64 instruction); - std::string RESTORE_JRC_32_(uint64 instruction); - std::string RESTOREF(uint64 instruction); - std::string RINT_D(uint64 instruction); - std::string RINT_S(uint64 instruction); - std::string ROTR(uint64 instruction); - std::string ROTRV(uint64 instruction); - std::string ROTX(uint64 instruction); - std::string ROUND_L_D(uint64 instruction); - std::string ROUND_L_S(uint64 instruction); - std::string ROUND_W_D(uint64 instruction); - std::string ROUND_W_S(uint64 instruction); - std::string RSQRT_D(uint64 instruction); - std::string RSQRT_S(uint64 instruction); - std::string SAVE_16_(uint64 instruction); - std::string SAVE_32_(uint64 instruction); - std::string SAVEF(uint64 instruction); - std::string SB_16_(uint64 instruction); - std::string SB_GP_(uint64 instruction); - std::string SB_S9_(uint64 instruction); - std::string SB_U12_(uint64 instruction); - std::string SBE(uint64 instruction); - std::string SBX(uint64 instruction); - std::string SC(uint64 instruction); - std::string SCD(uint64 instruction); - std::string SCDP(uint64 instruction); - std::string SCE(uint64 instruction); - std::string SCWP(uint64 instruction); - std::string SCWPE(uint64 instruction); - std::string SD_GP_(uint64 instruction); - std::string SD_S9_(uint64 instruction); - std::string SD_U12_(uint64 instruction); - std::string SDBBP_16_(uint64 instruction); - std::string SDBBP_32_(uint64 instruction); - std::string SDC1_GP_(uint64 instruction); - std::string SDC1_S9_(uint64 instruction); - std::string SDC1_U12_(uint64 instruction); - std::string SDC1X(uint64 instruction); - std::string SDC1XS(uint64 instruction); - std::string SDC2(uint64 instruction); - std::string SDM(uint64 instruction); - std::string SDPC_48_(uint64 instruction); - std::string SDX(uint64 instruction); - std::string SDXS(uint64 instruction); - std::string SEB(uint64 instruction); - std::string SEH(uint64 instruction); - std::string SEL_D(uint64 instruction); - std::string SEL_S(uint64 instruction); - std::string SELEQZ_D(uint64 instruction); - std::string SELEQZ_S(uint64 instruction); - std::string SELNEZ_D(uint64 instruction); - std::string SELNEZ_S(uint64 instruction); - std::string SEQI(uint64 instruction); - std::string SH_16_(uint64 instruction); - std::string SH_GP_(uint64 instruction); - std::string SH_S9_(uint64 instruction); - std::string SH_U12_(uint64 instruction); - std::string SHE(uint64 instruction); - std::string SHILO(uint64 instruction); - std::string SHILOV(uint64 instruction); - std::string SHLL_PH(uint64 instruction); - std::string SHLL_QB(uint64 instruction); - std::string SHLL_S_PH(uint64 instruction); - std::string SHLL_S_W(uint64 instruction); - std::string SHLLV_PH(uint64 instruction); - std::string SHLLV_QB(uint64 instruction); - std::string SHLLV_S_PH(uint64 instruction); - std::string SHLLV_S_W(uint64 instruction); - std::string SHRA_PH(uint64 instruction); - std::string SHRA_QB(uint64 instruction); - std::string SHRA_R_PH(uint64 instruction); - std::string SHRA_R_QB(uint64 instruction); - std::string SHRA_R_W(uint64 instruction); - std::string SHRAV_PH(uint64 instruction); - std::string SHRAV_QB(uint64 instruction); - std::string SHRAV_R_PH(uint64 instruction); - std::string SHRAV_R_QB(uint64 instruction); - std::string SHRAV_R_W(uint64 instruction); - std::string SHRL_PH(uint64 instruction); - std::string SHRL_QB(uint64 instruction); - std::string SHRLV_PH(uint64 instruction); - std::string SHRLV_QB(uint64 instruction); - std::string SHX(uint64 instruction); - std::string SHXS(uint64 instruction); - std::string SIGRIE(uint64 instruction); - std::string SLL_16_(uint64 instruction); - std::string SLL_32_(uint64 instruction); - std::string SLLV(uint64 instruction); - std::string SLT(uint64 instruction); - std::string SLTI(uint64 instruction); - std::string SLTIU(uint64 instruction); - std::string SLTU(uint64 instruction); - std::string SOV(uint64 instruction); - std::string SPECIAL2(uint64 instruction); - std::string SQRT_D(uint64 instruction); - std::string SQRT_S(uint64 instruction); - std::string SRA(uint64 instruction); - std::string SRAV(uint64 instruction); - std::string SRL_16_(uint64 instruction); - std::string SRL_32_(uint64 instruction); - std::string SRLV(uint64 instruction); - std::string SUB(uint64 instruction); - std::string SUB_D(uint64 instruction); - std::string SUB_S(uint64 instruction); - std::string SUBQ_PH(uint64 instruction); - std::string SUBQ_S_PH(uint64 instruction); - std::string SUBQ_S_W(uint64 instruction); - std::string SUBQH_PH(uint64 instruction); - std::string SUBQH_R_PH(uint64 instruction); - std::string SUBQH_R_W(uint64 instruction); - std::string SUBQH_W(uint64 instruction); - std::string SUBU_16_(uint64 instruction); - std::string SUBU_32_(uint64 instruction); - std::string SUBU_PH(uint64 instruction); - std::string SUBU_QB(uint64 instruction); - std::string SUBU_S_PH(uint64 instruction); - std::string SUBU_S_QB(uint64 instruction); - std::string SUBUH_QB(uint64 instruction); - std::string SUBUH_R_QB(uint64 instruction); - std::string SW_16_(uint64 instruction); - std::string SW_4X4_(uint64 instruction); - std::string SW_GP16_(uint64 instruction); - std::string SW_GP_(uint64 instruction); - std::string SW_S9_(uint64 instruction); - std::string SW_SP_(uint64 instruction); - std::string SW_U12_(uint64 instruction); - std::string SWC1_GP_(uint64 instruction); - std::string SWC1_S9_(uint64 instruction); - std::string SWC1_U12_(uint64 instruction); - std::string SWC1X(uint64 instruction); - std::string SWC1XS(uint64 instruction); - std::string SWC2(uint64 instruction); - std::string SWE(uint64 instruction); - std::string SWM(uint64 instruction); - std::string SWPC_48_(uint64 instruction); - std::string SWX(uint64 instruction); - std::string SWXS(uint64 instruction); - std::string SYNC(uint64 instruction); - std::string SYNCI(uint64 instruction); - std::string SYNCIE(uint64 instruction); - std::string SYSCALL_16_(uint64 instruction); - std::string SYSCALL_32_(uint64 instruction); - std::string TEQ(uint64 instruction); - std::string TLBGINV(uint64 instruction); - std::string TLBGINVF(uint64 instruction); - std::string TLBGP(uint64 instruction); - std::string TLBGR(uint64 instruction); - std::string TLBGWI(uint64 instruction); - std::string TLBGWR(uint64 instruction); - std::string TLBINV(uint64 instruction); - std::string TLBINVF(uint64 instruction); - std::string TLBP(uint64 instruction); - std::string TLBR(uint64 instruction); - std::string TLBWI(uint64 instruction); - std::string TLBWR(uint64 instruction); - std::string TNE(uint64 instruction); - std::string TRUNC_L_D(uint64 instruction); - std::string TRUNC_L_S(uint64 instruction); - std::string TRUNC_W_D(uint64 instruction); - std::string TRUNC_W_S(uint64 instruction); - std::string UALDM(uint64 instruction); - std::string UALH(uint64 instruction); - std::string UALWM(uint64 instruction); - std::string UASDM(uint64 instruction); - std::string UASH(uint64 instruction); - std::string UASWM(uint64 instruction); - std::string UDI(uint64 instruction); - std::string WAIT(uint64 instruction); - std::string WRDSP(uint64 instruction); - std::string WRPGPR(uint64 instruction); - std::string XOR_16_(uint64 instruction); - std::string XOR_32_(uint64 instruction); - std::string XORI(uint64 instruction); - std::string YIELD(uint64 instruction); + std::string ABS_D(uint64 instruction, Dis_info *info); + std::string ABS_S(uint64 instruction, Dis_info *info); + std::string ABSQ_S_PH(uint64 instruction, Dis_info *info); + std::string ABSQ_S_QB(uint64 instruction, Dis_info *info); + std::string ABSQ_S_W(uint64 instruction, Dis_info *info); + std::string ACLR(uint64 instruction, Dis_info *info); + std::string ADD(uint64 instruction, Dis_info *info); + std::string ADD_D(uint64 instruction, Dis_info *info); + std::string ADD_S(uint64 instruction, Dis_info *info); + std::string ADDIU_32_(uint64 instruction, Dis_info *info); + std::string ADDIU_48_(uint64 instruction, Dis_info *info); + std::string ADDIU_GP48_(uint64 instruction, Dis_info *info); + std::string ADDIU_GP_B_(uint64 instruction, Dis_info *info); + std::string ADDIU_GP_W_(uint64 instruction, Dis_info *info); + std::string ADDIU_NEG_(uint64 instruction, Dis_info *info); + std::string ADDIU_R1_SP_(uint64 instruction, Dis_info *info); + std::string ADDIU_R2_(uint64 instruction, Dis_info *info); + std::string ADDIU_RS5_(uint64 instruction, Dis_info *info); + std::string ADDIUPC_32_(uint64 instruction, Dis_info *info); + std::string ADDIUPC_48_(uint64 instruction, Dis_info *info); + std::string ADDQ_PH(uint64 instruction, Dis_info *info); + std::string ADDQ_S_PH(uint64 instruction, Dis_info *info); + std::string ADDQ_S_W(uint64 instruction, Dis_info *info); + std::string ADDQH_PH(uint64 instruction, Dis_info *info); + std::string ADDQH_R_PH(uint64 instruction, Dis_info *info); + std::string ADDQH_R_W(uint64 instruction, Dis_info *info); + std::string ADDQH_W(uint64 instruction, Dis_info *info); + std::string ADDSC(uint64 instruction, Dis_info *info); + std::string ADDU_16_(uint64 instruction, Dis_info *info); + std::string ADDU_32_(uint64 instruction, Dis_info *info); + std::string ADDU_4X4_(uint64 instruction, Dis_info *info); + std::string ADDU_PH(uint64 instruction, Dis_info *info); + std::string ADDU_QB(uint64 instruction, Dis_info *info); + std::string ADDU_S_PH(uint64 instruction, Dis_info *info); + std::string ADDU_S_QB(uint64 instruction, Dis_info *info); + std::string ADDUH_QB(uint64 instruction, Dis_info *info); + std::string ADDUH_R_QB(uint64 instruction, Dis_info *info); + std::string ADDWC(uint64 instruction, Dis_info *info); + std::string ALUIPC(uint64 instruction, Dis_info *info); + std::string AND_16_(uint64 instruction, Dis_info *info); + std::string AND_32_(uint64 instruction, Dis_info *info); + std::string ANDI_16_(uint64 instruction, Dis_info *info); + std::string ANDI_32_(uint64 instruction, Dis_info *info); + std::string APPEND(uint64 instruction, Dis_info *info); + std::string ASET(uint64 instruction, Dis_info *info); + std::string BALC_16_(uint64 instruction, Dis_info *info); + std::string BALC_32_(uint64 instruction, Dis_info *info); + std::string BALRSC(uint64 instruction, Dis_info *info); + std::string BBEQZC(uint64 instruction, Dis_info *info); + std::string BBNEZC(uint64 instruction, Dis_info *info); + std::string BC_16_(uint64 instruction, Dis_info *info); + std::string BC_32_(uint64 instruction, Dis_info *info); + std::string BC1EQZC(uint64 instruction, Dis_info *info); + std::string BC1NEZC(uint64 instruction, Dis_info *info); + std::string BC2EQZC(uint64 instruction, Dis_info *info); + std::string BC2NEZC(uint64 instruction, Dis_info *info); + std::string BEQC_16_(uint64 instruction, Dis_info *info); + std::string BEQC_32_(uint64 instruction, Dis_info *info); + std::string BEQIC(uint64 instruction, Dis_info *info); + std::string BEQZC_16_(uint64 instruction, Dis_info *info); + std::string BGEC(uint64 instruction, Dis_info *info); + std::string BGEIC(uint64 instruction, Dis_info *info); + std::string BGEIUC(uint64 instruction, Dis_info *info); + std::string BGEUC(uint64 instruction, Dis_info *info); + std::string BLTC(uint64 instruction, Dis_info *info); + std::string BLTIC(uint64 instruction, Dis_info *info); + std::string BLTIUC(uint64 instruction, Dis_info *info); + std::string BLTUC(uint64 instruction, Dis_info *info); + std::string BNEC_16_(uint64 instruction, Dis_info *info); + std::string BNEC_32_(uint64 instruction, Dis_info *info); + std::string BNEIC(uint64 instruction, Dis_info *info); + std::string BNEZC_16_(uint64 instruction, Dis_info *info); + std::string BPOSGE32C(uint64 instruction, Dis_info *info); + std::string BREAK_16_(uint64 instruction, Dis_info *info); + std::string BREAK_32_(uint64 instruction, Dis_info *info); + std::string BRSC(uint64 instruction, Dis_info *info); + std::string CACHE(uint64 instruction, Dis_info *info); + std::string CACHEE(uint64 instruction, Dis_info *info); + std::string CEIL_L_D(uint64 instruction, Dis_info *info); + std::string CEIL_L_S(uint64 instruction, Dis_info *info); + std::string CEIL_W_D(uint64 instruction, Dis_info *info); + std::string CEIL_W_S(uint64 instruction, Dis_info *info); + std::string CFC1(uint64 instruction, Dis_info *info); + std::string CFC2(uint64 instruction, Dis_info *info); + std::string CLASS_D(uint64 instruction, Dis_info *info); + std::string CLASS_S(uint64 instruction, Dis_info *info); + std::string CLO(uint64 instruction, Dis_info *info); + std::string CLZ(uint64 instruction, Dis_info *info); + std::string CMP_AF_D(uint64 instruction, Dis_info *info); + std::string CMP_AF_S(uint64 instruction, Dis_info *info); + std::string CMP_EQ_D(uint64 instruction, Dis_info *info); + std::string CMP_EQ_PH(uint64 instruction, Dis_info *info); + std::string CMP_EQ_S(uint64 instruction, Dis_info *info); + std::string CMP_LE_D(uint64 instruction, Dis_info *info); + std::string CMP_LE_PH(uint64 instruction, Dis_info *info); + std::string CMP_LE_S(uint64 instruction, Dis_info *info); + std::string CMP_LT_D(uint64 instruction, Dis_info *info); + std::string CMP_LT_PH(uint64 instruction, Dis_info *info); + std::string CMP_LT_S(uint64 instruction, Dis_info *info); + std::string CMP_NE_D(uint64 instruction, Dis_info *info); + std::string CMP_NE_S(uint64 instruction, Dis_info *info); + std::string CMP_OR_D(uint64 instruction, Dis_info *info); + std::string CMP_OR_S(uint64 instruction, Dis_info *info); + std::string CMP_SAF_D(uint64 instruction, Dis_info *info); + std::string CMP_SAF_S(uint64 instruction, Dis_info *info); + std::string CMP_SEQ_D(uint64 instruction, Dis_info *info); + std::string CMP_SEQ_S(uint64 instruction, Dis_info *info); + std::string CMP_SLE_D(uint64 instruction, Dis_info *info); + std::string CMP_SLE_S(uint64 instruction, Dis_info *info); + std::string CMP_SLT_D(uint64 instruction, Dis_info *info); + std::string CMP_SLT_S(uint64 instruction, Dis_info *info); + std::string CMP_SNE_D(uint64 instruction, Dis_info *info); + std::string CMP_SNE_S(uint64 instruction, Dis_info *info); + std::string CMP_SOR_D(uint64 instruction, Dis_info *info); + std::string CMP_SOR_S(uint64 instruction, Dis_info *info); + std::string CMP_SUEQ_D(uint64 instruction, Dis_info *info); + std::string CMP_SUEQ_S(uint64 instruction, Dis_info *info); + std::string CMP_SULE_D(uint64 instruction, Dis_info *info); + std::string CMP_SULE_S(uint64 instruction, Dis_info *info); + std::string CMP_SULT_D(uint64 instruction, Dis_info *info); + std::string CMP_SULT_S(uint64 instruction, Dis_info *info); + std::string CMP_SUN_D(uint64 instruction, Dis_info *info); + std::string CMP_SUN_S(uint64 instruction, Dis_info *info); + std::string CMP_SUNE_D(uint64 instruction, Dis_info *info); + std::string CMP_SUNE_S(uint64 instruction, Dis_info *info); + std::string CMP_UEQ_D(uint64 instruction, Dis_info *info); + std::string CMP_UEQ_S(uint64 instruction, Dis_info *info); + std::string CMP_ULE_D(uint64 instruction, Dis_info *info); + std::string CMP_ULE_S(uint64 instruction, Dis_info *info); + std::string CMP_ULT_D(uint64 instruction, Dis_info *info); + std::string CMP_ULT_S(uint64 instruction, Dis_info *info); + std::string CMP_UN_D(uint64 instruction, Dis_info *info); + std::string CMP_UN_S(uint64 instruction, Dis_info *info); + std::string CMP_UNE_D(uint64 instruction, Dis_info *info); + std::string CMP_UNE_S(uint64 instruction, Dis_info *info); + std::string CMPGDU_EQ_QB(uint64 instruction, Dis_info *info); + std::string CMPGDU_LE_QB(uint64 instruction, Dis_info *info); + std::string CMPGDU_LT_QB(uint64 instruction, Dis_info *info); + std::string CMPGU_EQ_QB(uint64 instruction, Dis_info *info); + std::string CMPGU_LE_QB(uint64 instruction, Dis_info *info); + std::string CMPGU_LT_QB(uint64 instruction, Dis_info *info); + std::string CMPU_EQ_QB(uint64 instruction, Dis_info *info); + std::string CMPU_LE_QB(uint64 instruction, Dis_info *info); + std::string CMPU_LT_QB(uint64 instruction, Dis_info *info); + std::string COP2_1(uint64 instruction, Dis_info *info); + std::string CTC1(uint64 instruction, Dis_info *info); + std::string CTC2(uint64 instruction, Dis_info *info); + std::string CVT_D_L(uint64 instruction, Dis_info *info); + std::string CVT_D_S(uint64 instruction, Dis_info *info); + std::string CVT_D_W(uint64 instruction, Dis_info *info); + std::string CVT_L_D(uint64 instruction, Dis_info *info); + std::string CVT_L_S(uint64 instruction, Dis_info *info); + std::string CVT_S_D(uint64 instruction, Dis_info *info); + std::string CVT_S_L(uint64 instruction, Dis_info *info); + std::string CVT_S_PL(uint64 instruction, Dis_info *info); + std::string CVT_S_PU(uint64 instruction, Dis_info *info); + std::string CVT_S_W(uint64 instruction, Dis_info *info); + std::string CVT_W_D(uint64 instruction, Dis_info *info); + std::string CVT_W_S(uint64 instruction, Dis_info *info); + std::string DADDIU_48_(uint64 instruction, Dis_info *info); + std::string DADDIU_NEG_(uint64 instruction, Dis_info *info); + std::string DADDIU_U12_(uint64 instruction, Dis_info *info); + std::string DADD(uint64 instruction, Dis_info *info); + std::string DADDU(uint64 instruction, Dis_info *info); + std::string DCLO(uint64 instruction, Dis_info *info); + std::string DCLZ(uint64 instruction, Dis_info *info); + std::string DDIV(uint64 instruction, Dis_info *info); + std::string DDIVU(uint64 instruction, Dis_info *info); + std::string DERET(uint64 instruction, Dis_info *info); + std::string DEXTM(uint64 instruction, Dis_info *info); + std::string DEXT(uint64 instruction, Dis_info *info); + std::string DEXTU(uint64 instruction, Dis_info *info); + std::string DINSM(uint64 instruction, Dis_info *info); + std::string DINS(uint64 instruction, Dis_info *info); + std::string DINSU(uint64 instruction, Dis_info *info); + std::string DI(uint64 instruction, Dis_info *info); + std::string DIV(uint64 instruction, Dis_info *info); + std::string DIV_D(uint64 instruction, Dis_info *info); + std::string DIV_S(uint64 instruction, Dis_info *info); + std::string DIVU(uint64 instruction, Dis_info *info); + std::string DLSA(uint64 instruction, Dis_info *info); + std::string DLUI_48_(uint64 instruction, Dis_info *info); + std::string DMFC0(uint64 instruction, Dis_info *info); + std::string DMFC1(uint64 instruction, Dis_info *info); + std::string DMFC2(uint64 instruction, Dis_info *info); + std::string DMFGC0(uint64 instruction, Dis_info *info); + std::string DMOD(uint64 instruction, Dis_info *info); + std::string DMODU(uint64 instruction, Dis_info *info); + std::string DMTC0(uint64 instruction, Dis_info *info); + std::string DMTC1(uint64 instruction, Dis_info *info); + std::string DMTC2(uint64 instruction, Dis_info *info); + std::string DMTGC0(uint64 instruction, Dis_info *info); + std::string DMT(uint64 instruction, Dis_info *info); + std::string DMUH(uint64 instruction, Dis_info *info); + std::string DMUHU(uint64 instruction, Dis_info *info); + std::string DMUL(uint64 instruction, Dis_info *info); + std::string DMULU(uint64 instruction, Dis_info *info); + std::string DPAQ_S_W_PH(uint64 instruction, Dis_info *info); + std::string DPAQ_SA_L_W(uint64 instruction, Dis_info *info); + std::string DPAQX_S_W_PH(uint64 instruction, Dis_info *info); + std::string DPAQX_SA_W_PH(uint64 instruction, Dis_info *info); + std::string DPAU_H_QBL(uint64 instruction, Dis_info *info); + std::string DPAU_H_QBR(uint64 instruction, Dis_info *info); + std::string DPA_W_PH(uint64 instruction, Dis_info *info); + std::string DPAX_W_PH(uint64 instruction, Dis_info *info); + std::string DPS_W_PH(uint64 instruction, Dis_info *info); + std::string DPSQ_SA_L_W(uint64 instruction, Dis_info *info); + std::string DPSQ_S_W_PH(uint64 instruction, Dis_info *info); + std::string DPSQX_SA_W_PH(uint64 instruction, Dis_info *info); + std::string DPSQX_S_W_PH(uint64 instruction, Dis_info *info); + std::string DPSU_H_QBL(uint64 instruction, Dis_info *info); + std::string DPSU_H_QBR(uint64 instruction, Dis_info *info); + std::string DPSX_W_PH(uint64 instruction, Dis_info *info); + std::string DROTR(uint64 instruction, Dis_info *info); + std::string DROTR32(uint64 instruction, Dis_info *info); + std::string DROTRV(uint64 instruction, Dis_info *info); + std::string DROTX(uint64 instruction, Dis_info *info); + std::string DSLL(uint64 instruction, Dis_info *info); + std::string DSLL32(uint64 instruction, Dis_info *info); + std::string DSLLV(uint64 instruction, Dis_info *info); + std::string DSRA(uint64 instruction, Dis_info *info); + std::string DSRA32(uint64 instruction, Dis_info *info); + std::string DSRAV(uint64 instruction, Dis_info *info); + std::string DSRL32(uint64 instruction, Dis_info *info); + std::string DSRL(uint64 instruction, Dis_info *info); + std::string DSRLV(uint64 instruction, Dis_info *info); + std::string DSUB(uint64 instruction, Dis_info *info); + std::string DSUBU(uint64 instruction, Dis_info *info); + std::string DVP(uint64 instruction, Dis_info *info); + std::string DVPE(uint64 instruction, Dis_info *info); + std::string EHB(uint64 instruction, Dis_info *info); + std::string EI(uint64 instruction, Dis_info *info); + std::string EMT(uint64 instruction, Dis_info *info); + std::string ERET(uint64 instruction, Dis_info *info); + std::string ERETNC(uint64 instruction, Dis_info *info); + std::string EVP(uint64 instruction, Dis_info *info); + std::string EVPE(uint64 instruction, Dis_info *info); + std::string EXT(uint64 instruction, Dis_info *info); + std::string EXTD(uint64 instruction, Dis_info *info); + std::string EXTD32(uint64 instruction, Dis_info *info); + std::string EXTP(uint64 instruction, Dis_info *info); + std::string EXTPDP(uint64 instruction, Dis_info *info); + std::string EXTPDPV(uint64 instruction, Dis_info *info); + std::string EXTPV(uint64 instruction, Dis_info *info); + std::string EXTR_RS_W(uint64 instruction, Dis_info *info); + std::string EXTR_R_W(uint64 instruction, Dis_info *info); + std::string EXTR_S_H(uint64 instruction, Dis_info *info); + std::string EXTR_W(uint64 instruction, Dis_info *info); + std::string EXTRV_R_W(uint64 instruction, Dis_info *info); + std::string EXTRV_RS_W(uint64 instruction, Dis_info *info); + std::string EXTRV_S_H(uint64 instruction, Dis_info *info); + std::string EXTRV_W(uint64 instruction, Dis_info *info); + std::string EXTW(uint64 instruction, Dis_info *info); + std::string FLOOR_L_D(uint64 instruction, Dis_info *info); + std::string FLOOR_L_S(uint64 instruction, Dis_info *info); + std::string FLOOR_W_D(uint64 instruction, Dis_info *info); + std::string FLOOR_W_S(uint64 instruction, Dis_info *info); + std::string FORK(uint64 instruction, Dis_info *info); + std::string HYPCALL(uint64 instruction, Dis_info *info); + std::string HYPCALL_16_(uint64 instruction, Dis_info *info); + std::string INS(uint64 instruction, Dis_info *info); + std::string INSV(uint64 instruction, Dis_info *info); + std::string IRET(uint64 instruction, Dis_info *info); + std::string JALRC_16_(uint64 instruction, Dis_info *info); + std::string JALRC_32_(uint64 instruction, Dis_info *info); + std::string JALRC_HB(uint64 instruction, Dis_info *info); + std::string JRC(uint64 instruction, Dis_info *info); + std::string LB_16_(uint64 instruction, Dis_info *info); + std::string LB_GP_(uint64 instruction, Dis_info *info); + std::string LB_S9_(uint64 instruction, Dis_info *info); + std::string LB_U12_(uint64 instruction, Dis_info *info); + std::string LBE(uint64 instruction, Dis_info *info); + std::string LBU_16_(uint64 instruction, Dis_info *info); + std::string LBU_GP_(uint64 instruction, Dis_info *info); + std::string LBU_S9_(uint64 instruction, Dis_info *info); + std::string LBU_U12_(uint64 instruction, Dis_info *info); + std::string LBUE(uint64 instruction, Dis_info *info); + std::string LBUX(uint64 instruction, Dis_info *info); + std::string LBX(uint64 instruction, Dis_info *info); + std::string LD_GP_(uint64 instruction, Dis_info *info); + std::string LD_S9_(uint64 instruction, Dis_info *info); + std::string LD_U12_(uint64 instruction, Dis_info *info); + std::string LDC1_GP_(uint64 instruction, Dis_info *info); + std::string LDC1_S9_(uint64 instruction, Dis_info *info); + std::string LDC1_U12_(uint64 instruction, Dis_info *info); + std::string LDC1X(uint64 instruction, Dis_info *info); + std::string LDC1XS(uint64 instruction, Dis_info *info); + std::string LDC2(uint64 instruction, Dis_info *info); + std::string LDM(uint64 instruction, Dis_info *info); + std::string LDPC_48_(uint64 instruction, Dis_info *info); + std::string LDX(uint64 instruction, Dis_info *info); + std::string LDXS(uint64 instruction, Dis_info *info); + std::string LH_16_(uint64 instruction, Dis_info *info); + std::string LH_GP_(uint64 instruction, Dis_info *info); + std::string LH_S9_(uint64 instruction, Dis_info *info); + std::string LH_U12_(uint64 instruction, Dis_info *info); + std::string LHE(uint64 instruction, Dis_info *info); + std::string LHU_16_(uint64 instruction, Dis_info *info); + std::string LHU_GP_(uint64 instruction, Dis_info *info); + std::string LHU_S9_(uint64 instruction, Dis_info *info); + std::string LHU_U12_(uint64 instruction, Dis_info *info); + std::string LHUE(uint64 instruction, Dis_info *info); + std::string LHUX(uint64 instruction, Dis_info *info); + std::string LHUXS(uint64 instruction, Dis_info *info); + std::string LHX(uint64 instruction, Dis_info *info); + std::string LHXS(uint64 instruction, Dis_info *info); + std::string LI_16_(uint64 instruction, Dis_info *info); + std::string LI_48_(uint64 instruction, Dis_info *info); + std::string LL(uint64 instruction, Dis_info *info); + std::string LLD(uint64 instruction, Dis_info *info); + std::string LLDP(uint64 instruction, Dis_info *info); + std::string LLE(uint64 instruction, Dis_info *info); + std::string LLWP(uint64 instruction, Dis_info *info); + std::string LLWPE(uint64 instruction, Dis_info *info); + std::string LSA(uint64 instruction, Dis_info *info); + std::string LUI(uint64 instruction, Dis_info *info); + std::string LW_16_(uint64 instruction, Dis_info *info); + std::string LW_4X4_(uint64 instruction, Dis_info *info); + std::string LWC1_GP_(uint64 instruction, Dis_info *info); + std::string LWC1_S9_(uint64 instruction, Dis_info *info); + std::string LWC1_U12_(uint64 instruction, Dis_info *info); + std::string LWC1X(uint64 instruction, Dis_info *info); + std::string LWC1XS(uint64 instruction, Dis_info *info); + std::string LWC2(uint64 instruction, Dis_info *info); + std::string LWE(uint64 instruction, Dis_info *info); + std::string LW_GP_(uint64 instruction, Dis_info *info); + std::string LW_GP16_(uint64 instruction, Dis_info *info); + std::string LWM(uint64 instruction, Dis_info *info); + std::string LWPC_48_(uint64 instruction, Dis_info *info); + std::string LW_S9_(uint64 instruction, Dis_info *info); + std::string LW_SP_(uint64 instruction, Dis_info *info); + std::string LW_U12_(uint64 instruction, Dis_info *info); + std::string LWU_GP_(uint64 instruction, Dis_info *info); + std::string LWU_S9_(uint64 instruction, Dis_info *info); + std::string LWU_U12_(uint64 instruction, Dis_info *info); + std::string LWUX(uint64 instruction, Dis_info *info); + std::string LWUXS(uint64 instruction, Dis_info *info); + std::string LWX(uint64 instruction, Dis_info *info); + std::string LWXS_16_(uint64 instruction, Dis_info *info); + std::string LWXS_32_(uint64 instruction, Dis_info *info); + std::string MADD_DSP_(uint64 instruction, Dis_info *info); + std::string MADDF_D(uint64 instruction, Dis_info *info); + std::string MADDF_S(uint64 instruction, Dis_info *info); + std::string MADDU_DSP_(uint64 instruction, Dis_info *info); + std::string MAQ_S_W_PHL(uint64 instruction, Dis_info *info); + std::string MAQ_S_W_PHR(uint64 instruction, Dis_info *info); + std::string MAQ_SA_W_PHL(uint64 instruction, Dis_info *info); + std::string MAQ_SA_W_PHR(uint64 instruction, Dis_info *info); + std::string MAX_D(uint64 instruction, Dis_info *info); + std::string MAX_S(uint64 instruction, Dis_info *info); + std::string MAXA_D(uint64 instruction, Dis_info *info); + std::string MAXA_S(uint64 instruction, Dis_info *info); + std::string MFC0(uint64 instruction, Dis_info *info); + std::string MFC1(uint64 instruction, Dis_info *info); + std::string MFC2(uint64 instruction, Dis_info *info); + std::string MFGC0(uint64 instruction, Dis_info *info); + std::string MFHC0(uint64 instruction, Dis_info *info); + std::string MFHC1(uint64 instruction, Dis_info *info); + std::string MFHC2(uint64 instruction, Dis_info *info); + std::string MFHGC0(uint64 instruction, Dis_info *info); + std::string MFHI_DSP_(uint64 instruction, Dis_info *info); + std::string MFHTR(uint64 instruction, Dis_info *info); + std::string MFLO_DSP_(uint64 instruction, Dis_info *info); + std::string MFTR(uint64 instruction, Dis_info *info); + std::string MIN_D(uint64 instruction, Dis_info *info); + std::string MIN_S(uint64 instruction, Dis_info *info); + std::string MINA_D(uint64 instruction, Dis_info *info); + std::string MINA_S(uint64 instruction, Dis_info *info); + std::string MOD(uint64 instruction, Dis_info *info); + std::string MODSUB(uint64 instruction, Dis_info *info); + std::string MODU(uint64 instruction, Dis_info *info); + std::string MOV_D(uint64 instruction, Dis_info *info); + std::string MOV_S(uint64 instruction, Dis_info *info); + std::string MOVE_BALC(uint64 instruction, Dis_info *info); + std::string MOVEP(uint64 instruction, Dis_info *info); + std::string MOVEP_REV_(uint64 instruction, Dis_info *info); + std::string MOVE(uint64 instruction, Dis_info *info); + std::string MOVN(uint64 instruction, Dis_info *info); + std::string MOVZ(uint64 instruction, Dis_info *info); + std::string MSUB_DSP_(uint64 instruction, Dis_info *info); + std::string MSUBF_D(uint64 instruction, Dis_info *info); + std::string MSUBF_S(uint64 instruction, Dis_info *info); + std::string MSUBU_DSP_(uint64 instruction, Dis_info *info); + std::string MTC0(uint64 instruction, Dis_info *info); + std::string MTC1(uint64 instruction, Dis_info *info); + std::string MTC2(uint64 instruction, Dis_info *info); + std::string MTGC0(uint64 instruction, Dis_info *info); + std::string MTHC0(uint64 instruction, Dis_info *info); + std::string MTHC1(uint64 instruction, Dis_info *info); + std::string MTHC2(uint64 instruction, Dis_info *info); + std::string MTHGC0(uint64 instruction, Dis_info *info); + std::string MTHI_DSP_(uint64 instruction, Dis_info *info); + std::string MTHLIP(uint64 instruction, Dis_info *info); + std::string MTHTR(uint64 instruction, Dis_info *info); + std::string MTLO_DSP_(uint64 instruction, Dis_info *info); + std::string MTTR(uint64 instruction, Dis_info *info); + std::string MUH(uint64 instruction, Dis_info *info); + std::string MUHU(uint64 instruction, Dis_info *info); + std::string MUL_32_(uint64 instruction, Dis_info *info); + std::string MUL_4X4_(uint64 instruction, Dis_info *info); + std::string MUL_D(uint64 instruction, Dis_info *info); + std::string MUL_PH(uint64 instruction, Dis_info *info); + std::string MUL_S(uint64 instruction, Dis_info *info); + std::string MUL_S_PH(uint64 instruction, Dis_info *info); + std::string MULEQ_S_W_PHL(uint64 instruction, Dis_info *info); + std::string MULEQ_S_W_PHR(uint64 instruction, Dis_info *info); + std::string MULEU_S_PH_QBL(uint64 instruction, Dis_info *info); + std::string MULEU_S_PH_QBR(uint64 instruction, Dis_info *info); + std::string MULQ_RS_PH(uint64 instruction, Dis_info *info); + std::string MULQ_RS_W(uint64 instruction, Dis_info *info); + std::string MULQ_S_PH(uint64 instruction, Dis_info *info); + std::string MULQ_S_W(uint64 instruction, Dis_info *info); + std::string MULSA_W_PH(uint64 instruction, Dis_info *info); + std::string MULSAQ_S_W_PH(uint64 instruction, Dis_info *info); + std::string MULT_DSP_(uint64 instruction, Dis_info *info); + std::string MULTU_DSP_(uint64 instruction, Dis_info *info); + std::string MULU(uint64 instruction, Dis_info *info); + std::string NEG_D(uint64 instruction, Dis_info *info); + std::string NEG_S(uint64 instruction, Dis_info *info); + std::string NOP_16_(uint64 instruction, Dis_info *info); + std::string NOP_32_(uint64 instruction, Dis_info *info); + std::string NOR(uint64 instruction, Dis_info *info); + std::string NOT_16_(uint64 instruction, Dis_info *info); + std::string OR_16_(uint64 instruction, Dis_info *info); + std::string OR_32_(uint64 instruction, Dis_info *info); + std::string ORI(uint64 instruction, Dis_info *info); + std::string PACKRL_PH(uint64 instruction, Dis_info *info); + std::string PAUSE(uint64 instruction, Dis_info *info); + std::string PICK_PH(uint64 instruction, Dis_info *info); + std::string PICK_QB(uint64 instruction, Dis_info *info); + std::string PRECEQ_W_PHL(uint64 instruction, Dis_info *info); + std::string PRECEQ_W_PHR(uint64 instruction, Dis_info *info); + std::string PRECEQU_PH_QBL(uint64 instruction, Dis_info *info); + std::string PRECEQU_PH_QBLA(uint64 instruction, Dis_info *info); + std::string PRECEQU_PH_QBR(uint64 instruction, Dis_info *info); + std::string PRECEQU_PH_QBRA(uint64 instruction, Dis_info *info); + std::string PRECEU_PH_QBL(uint64 instruction, Dis_info *info); + std::string PRECEU_PH_QBLA(uint64 instruction, Dis_info *info); + std::string PRECEU_PH_QBR(uint64 instruction, Dis_info *info); + std::string PRECEU_PH_QBRA(uint64 instruction, Dis_info *info); + std::string PRECR_QB_PH(uint64 instruction, Dis_info *info); + std::string PRECR_SRA_PH_W(uint64 instruction, Dis_info *info); + std::string PRECR_SRA_R_PH_W(uint64 instruction, Dis_info *info); + std::string PRECRQ_PH_W(uint64 instruction, Dis_info *info); + std::string PRECRQ_QB_PH(uint64 instruction, Dis_info *info); + std::string PRECRQ_RS_PH_W(uint64 instruction, Dis_info *info); + std::string PRECRQU_S_QB_PH(uint64 instruction, Dis_info *info); + std::string PREF_S9_(uint64 instruction, Dis_info *info); + std::string PREF_U12_(uint64 instruction, Dis_info *info); + std::string PREFE(uint64 instruction, Dis_info *info); + std::string PREPEND(uint64 instruction, Dis_info *info); + std::string RADDU_W_QB(uint64 instruction, Dis_info *info); + std::string RDDSP(uint64 instruction, Dis_info *info); + std::string RDHWR(uint64 instruction, Dis_info *info); + std::string RDPGPR(uint64 instruction, Dis_info *info); + std::string RECIP_D(uint64 instruction, Dis_info *info); + std::string RECIP_S(uint64 instruction, Dis_info *info); + std::string REPL_PH(uint64 instruction, Dis_info *info); + std::string REPL_QB(uint64 instruction, Dis_info *info); + std::string REPLV_PH(uint64 instruction, Dis_info *info); + std::string REPLV_QB(uint64 instruction, Dis_info *info); + std::string RESTORE_32_(uint64 instruction, Dis_info *info); + std::string RESTORE_JRC_16_(uint64 instruction, Dis_info *info); + std::string RESTORE_JRC_32_(uint64 instruction, Dis_info *info); + std::string RESTOREF(uint64 instruction, Dis_info *info); + std::string RINT_D(uint64 instruction, Dis_info *info); + std::string RINT_S(uint64 instruction, Dis_info *info); + std::string ROTR(uint64 instruction, Dis_info *info); + std::string ROTRV(uint64 instruction, Dis_info *info); + std::string ROTX(uint64 instruction, Dis_info *info); + std::string ROUND_L_D(uint64 instruction, Dis_info *info); + std::string ROUND_L_S(uint64 instruction, Dis_info *info); + std::string ROUND_W_D(uint64 instruction, Dis_info *info); + std::string ROUND_W_S(uint64 instruction, Dis_info *info); + std::string RSQRT_D(uint64 instruction, Dis_info *info); + std::string RSQRT_S(uint64 instruction, Dis_info *info); + std::string SAVE_16_(uint64 instruction, Dis_info *info); + std::string SAVE_32_(uint64 instruction, Dis_info *info); + std::string SAVEF(uint64 instruction, Dis_info *info); + std::string SB_16_(uint64 instruction, Dis_info *info); + std::string SB_GP_(uint64 instruction, Dis_info *info); + std::string SB_S9_(uint64 instruction, Dis_info *info); + std::string SB_U12_(uint64 instruction, Dis_info *info); + std::string SBE(uint64 instruction, Dis_info *info); + std::string SBX(uint64 instruction, Dis_info *info); + std::string SC(uint64 instruction, Dis_info *info); + std::string SCD(uint64 instruction, Dis_info *info); + std::string SCDP(uint64 instruction, Dis_info *info); + std::string SCE(uint64 instruction, Dis_info *info); + std::string SCWP(uint64 instruction, Dis_info *info); + std::string SCWPE(uint64 instruction, Dis_info *info); + std::string SD_GP_(uint64 instruction, Dis_info *info); + std::string SD_S9_(uint64 instruction, Dis_info *info); + std::string SD_U12_(uint64 instruction, Dis_info *info); + std::string SDBBP_16_(uint64 instruction, Dis_info *info); + std::string SDBBP_32_(uint64 instruction, Dis_info *info); + std::string SDC1_GP_(uint64 instruction, Dis_info *info); + std::string SDC1_S9_(uint64 instruction, Dis_info *info); + std::string SDC1_U12_(uint64 instruction, Dis_info *info); + std::string SDC1X(uint64 instruction, Dis_info *info); + std::string SDC1XS(uint64 instruction, Dis_info *info); + std::string SDC2(uint64 instruction, Dis_info *info); + std::string SDM(uint64 instruction, Dis_info *info); + std::string SDPC_48_(uint64 instruction, Dis_info *info); + std::string SDX(uint64 instruction, Dis_info *info); + std::string SDXS(uint64 instruction, Dis_info *info); + std::string SEB(uint64 instruction, Dis_info *info); + std::string SEH(uint64 instruction, Dis_info *info); + std::string SEL_D(uint64 instruction, Dis_info *info); + std::string SEL_S(uint64 instruction, Dis_info *info); + std::string SELEQZ_D(uint64 instruction, Dis_info *info); + std::string SELEQZ_S(uint64 instruction, Dis_info *info); + std::string SELNEZ_D(uint64 instruction, Dis_info *info); + std::string SELNEZ_S(uint64 instruction, Dis_info *info); + std::string SEQI(uint64 instruction, Dis_info *info); + std::string SH_16_(uint64 instruction, Dis_info *info); + std::string SH_GP_(uint64 instruction, Dis_info *info); + std::string SH_S9_(uint64 instruction, Dis_info *info); + std::string SH_U12_(uint64 instruction, Dis_info *info); + std::string SHE(uint64 instruction, Dis_info *info); + std::string SHILO(uint64 instruction, Dis_info *info); + std::string SHILOV(uint64 instruction, Dis_info *info); + std::string SHLL_PH(uint64 instruction, Dis_info *info); + std::string SHLL_QB(uint64 instruction, Dis_info *info); + std::string SHLL_S_PH(uint64 instruction, Dis_info *info); + std::string SHLL_S_W(uint64 instruction, Dis_info *info); + std::string SHLLV_PH(uint64 instruction, Dis_info *info); + std::string SHLLV_QB(uint64 instruction, Dis_info *info); + std::string SHLLV_S_PH(uint64 instruction, Dis_info *info); + std::string SHLLV_S_W(uint64 instruction, Dis_info *info); + std::string SHRA_PH(uint64 instruction, Dis_info *info); + std::string SHRA_QB(uint64 instruction, Dis_info *info); + std::string SHRA_R_PH(uint64 instruction, Dis_info *info); + std::string SHRA_R_QB(uint64 instruction, Dis_info *info); + std::string SHRA_R_W(uint64 instruction, Dis_info *info); + std::string SHRAV_PH(uint64 instruction, Dis_info *info); + std::string SHRAV_QB(uint64 instruction, Dis_info *info); + std::string SHRAV_R_PH(uint64 instruction, Dis_info *info); + std::string SHRAV_R_QB(uint64 instruction, Dis_info *info); + std::string SHRAV_R_W(uint64 instruction, Dis_info *info); + std::string SHRL_PH(uint64 instruction, Dis_info *info); + std::string SHRL_QB(uint64 instruction, Dis_info *info); + std::string SHRLV_PH(uint64 instruction, Dis_info *info); + std::string SHRLV_QB(uint64 instruction, Dis_info *info); + std::string SHX(uint64 instruction, Dis_info *info); + std::string SHXS(uint64 instruction, Dis_info *info); + std::string SIGRIE(uint64 instruction, Dis_info *info); + std::string SLL_16_(uint64 instruction, Dis_info *info); + std::string SLL_32_(uint64 instruction, Dis_info *info); + std::string SLLV(uint64 instruction, Dis_info *info); + std::string SLT(uint64 instruction, Dis_info *info); + std::string SLTI(uint64 instruction, Dis_info *info); + std::string SLTIU(uint64 instruction, Dis_info *info); + std::string SLTU(uint64 instruction, Dis_info *info); + std::string SOV(uint64 instruction, Dis_info *info); + std::string SPECIAL2(uint64 instruction, Dis_info *info); + std::string SQRT_D(uint64 instruction, Dis_info *info); + std::string SQRT_S(uint64 instruction, Dis_info *info); + std::string SRA(uint64 instruction, Dis_info *info); + std::string SRAV(uint64 instruction, Dis_info *info); + std::string SRL_16_(uint64 instruction, Dis_info *info); + std::string SRL_32_(uint64 instruction, Dis_info *info); + std::string SRLV(uint64 instruction, Dis_info *info); + std::string SUB(uint64 instruction, Dis_info *info); + std::string SUB_D(uint64 instruction, Dis_info *info); + std::string SUB_S(uint64 instruction, Dis_info *info); + std::string SUBQ_PH(uint64 instruction, Dis_info *info); + std::string SUBQ_S_PH(uint64 instruction, Dis_info *info); + std::string SUBQ_S_W(uint64 instruction, Dis_info *info); + std::string SUBQH_PH(uint64 instruction, Dis_info *info); + std::string SUBQH_R_PH(uint64 instruction, Dis_info *info); + std::string SUBQH_R_W(uint64 instruction, Dis_info *info); + std::string SUBQH_W(uint64 instruction, Dis_info *info); + std::string SUBU_16_(uint64 instruction, Dis_info *info); + std::string SUBU_32_(uint64 instruction, Dis_info *info); + std::string SUBU_PH(uint64 instruction, Dis_info *info); + std::string SUBU_QB(uint64 instruction, Dis_info *info); + std::string SUBU_S_PH(uint64 instruction, Dis_info *info); + std::string SUBU_S_QB(uint64 instruction, Dis_info *info); + std::string SUBUH_QB(uint64 instruction, Dis_info *info); + std::string SUBUH_R_QB(uint64 instruction, Dis_info *info); + std::string SW_16_(uint64 instruction, Dis_info *info); + std::string SW_4X4_(uint64 instruction, Dis_info *info); + std::string SW_GP16_(uint64 instruction, Dis_info *info); + std::string SW_GP_(uint64 instruction, Dis_info *info); + std::string SW_S9_(uint64 instruction, Dis_info *info); + std::string SW_SP_(uint64 instruction, Dis_info *info); + std::string SW_U12_(uint64 instruction, Dis_info *info); + std::string SWC1_GP_(uint64 instruction, Dis_info *info); + std::string SWC1_S9_(uint64 instruction, Dis_info *info); + std::string SWC1_U12_(uint64 instruction, Dis_info *info); + std::string SWC1X(uint64 instruction, Dis_info *info); + std::string SWC1XS(uint64 instruction, Dis_info *info); + std::string SWC2(uint64 instruction, Dis_info *info); + std::string SWE(uint64 instruction, Dis_info *info); + std::string SWM(uint64 instruction, Dis_info *info); + std::string SWPC_48_(uint64 instruction, Dis_info *info); + std::string SWX(uint64 instruction, Dis_info *info); + std::string SWXS(uint64 instruction, Dis_info *info); + std::string SYNC(uint64 instruction, Dis_info *info); + std::string SYNCI(uint64 instruction, Dis_info *info); + std::string SYNCIE(uint64 instruction, Dis_info *info); + std::string SYSCALL_16_(uint64 instruction, Dis_info *info); + std::string SYSCALL_32_(uint64 instruction, Dis_info *info); + std::string TEQ(uint64 instruction, Dis_info *info); + std::string TLBGINV(uint64 instruction, Dis_info *info); + std::string TLBGINVF(uint64 instruction, Dis_info *info); + std::string TLBGP(uint64 instruction, Dis_info *info); + std::string TLBGR(uint64 instruction, Dis_info *info); + std::string TLBGWI(uint64 instruction, Dis_info *info); + std::string TLBGWR(uint64 instruction, Dis_info *info); + std::string TLBINV(uint64 instruction, Dis_info *info); + std::string TLBINVF(uint64 instruction, Dis_info *info); + std::string TLBP(uint64 instruction, Dis_info *info); + std::string TLBR(uint64 instruction, Dis_info *info); + std::string TLBWI(uint64 instruction, Dis_info *info); + std::string TLBWR(uint64 instruction, Dis_info *info); + std::string TNE(uint64 instruction, Dis_info *info); + std::string TRUNC_L_D(uint64 instruction, Dis_info *info); + std::string TRUNC_L_S(uint64 instruction, Dis_info *info); + std::string TRUNC_W_D(uint64 instruction, Dis_info *info); + std::string TRUNC_W_S(uint64 instruction, Dis_info *info); + std::string UALDM(uint64 instruction, Dis_info *info); + std::string UALH(uint64 instruction, Dis_info *info); + std::string UALWM(uint64 instruction, Dis_info *info); + std::string UASDM(uint64 instruction, Dis_info *info); + std::string UASH(uint64 instruction, Dis_info *info); + std::string UASWM(uint64 instruction, Dis_info *info); + std::string UDI(uint64 instruction, Dis_info *info); + std::string WAIT(uint64 instruction, Dis_info *info); + std::string WRDSP(uint64 instruction, Dis_info *info); + std::string WRPGPR(uint64 instruction, Dis_info *info); + std::string XOR_16_(uint64 instruction, Dis_info *info); + std::string XOR_32_(uint64 instruction, Dis_info *info); + std::string XORI(uint64 instruction, Dis_info *info); + std::string YIELD(uint64 instruction, Dis_info *info); static Pool P_SYSCALL[2]; static Pool P_RI[4]; From patchwork Sun Oct 30 22:28:05 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 13025262 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id C9136FA3744 for ; Sun, 30 Oct 2022 22:33:57 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1opGpY-0004PP-8X; Sun, 30 Oct 2022 18:31:00 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1opGpV-0004Au-Js for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:30:58 -0400 Received: from mail-wm1-x32e.google.com ([2a00:1450:4864:20::32e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1opGpR-00084P-6n for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:30:57 -0400 Received: by mail-wm1-x32e.google.com with SMTP id b20-20020a05600c4e1400b003cc28585e2fso7069615wmq.1 for ; Sun, 30 Oct 2022 15:30:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=6CIPfIXFFhuBmyBb/bmA83AszZA7HEJDIfrGAz/I9W0=; b=TEkXSowzE0NURjvX9IrYaFmyUw25bJ/sHjUS3ax8d8kdgDtxRtW48OwTJ4DALhwz/6 f/ei/b+P0//vQkW71XUB17hWjzJSnhTjHmP4qNmRBiG5ADNFJBDP5wt6IGjddqAJixG6 VxOZNjIIQ0oxZ0eCRTJI/KmCHMSx7Kuv95nJH+y59DHbmmsvGkG3PI7Tu+JYiprZzoMj WBlAap62nq9cgaT7BECUotSr1VSt+2CeC5AuPIPXkLoAT4UldQpqF7z21kHTwg5u8w56 eXjV11EGoY88kAVr2l3VIX9fxULtGR00buDnF8QoatuY526MMfMKHH+D8d1g/ZSzW8Ge LGJw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=6CIPfIXFFhuBmyBb/bmA83AszZA7HEJDIfrGAz/I9W0=; b=AcLRNRaZu3yUHvgQFikhl1lYu+FFK6CXAwEUrycMnXpiAnOohsREktL2KlEeevxRMb KSt3JsNW9JdqzXd/9XGtIXiGiS1CFMquv7R6wLN3Cxbsym1hfJIiTNWOJ600ikalDLSF LHrn6KxHoxc/i0lU0GndJWgzR/S8V5ybGWFkMJOmiu14mgTUfxMXydTr4KrlQAYlcELm kjba540hUX6WInvJTzykYmiyKI6JDsTUt0WjoNEa5ngAxX2gt/aIqXz6wxH86nR5u/Cj VmqkRNBO6n8Hgrbfo+Omxipuj5J4Mb0qPl+voyqDP5apf0MSwQVmplPF+c5onDhwNySW rRgw== X-Gm-Message-State: ACrzQf2mBbU/vpAuaJLprfIXRRENK6Lnn2+oGT/BYdtxg+W/P4kilQMM R5rclLB5CkKa4wvTgye0pcBYnNI7Dk+m4g== X-Google-Smtp-Source: AMsMyM74KBc03/dtl20ptBmqRIP9/uC1k9cCn6w3KIssWMDrMEc8uSEc8p+TMyxSGwnBal1FqbqVKg== X-Received: by 2002:a1c:730e:0:b0:3b4:b0c0:d616 with SMTP id d14-20020a1c730e000000b003b4b0c0d616mr6174769wmb.72.1667169051046; Sun, 30 Oct 2022 15:30:51 -0700 (PDT) Received: from localhost.localdomain ([185.126.107.38]) by smtp.gmail.com with ESMTPSA id k3-20020a5d5183000000b00231ed902a4esm5312147wrv.5.2022.10.30.15.30.49 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 30 Oct 2022 15:30:50 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Aleksandar Rikalo , Huacai Chen , Stefan Pejic , Jiaxun Yang , Aurelien Jarno , Paul Burton , Milica Lazarevic , Richard Henderson Subject: [PULL 19/55] disas/nanomips: Remove helper methods from class Date: Sun, 30 Oct 2022 23:28:05 +0100 Message-Id: <20221030222841.42377-20-philmd@linaro.org> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221030222841.42377-1-philmd@linaro.org> References: <20221030222841.42377-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32e; envelope-from=philmd@linaro.org; helo=mail-wm1-x32e.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Qemu-devel" Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Milica Lazarevic Helper methods from NMD class like NMD::renumber_registers, NMD::decode_gpr_gpr4... etc. are removed from the class. They're now declared global static functions. Following helper methods have been deleted because they're not used by the nanomips disassembler: - NMD::encode_msbd_from_pos_and_size, - NMD::encode_s_from_s_hi, - NMD::neg_copy Global functions used by those methods: - nanomips_dis - sign_extend - extract_bits have also been defined as static global functions. Signed-off-by: Milica Lazarevic Reviewed-by: Richard Henderson Message-Id: <20220912122635.74032-6-milica.lazarevic@syrmia.com> Signed-off-by: Philippe Mathieu-Daudé --- disas/nanomips.cpp | 328 +++++++++++++++++++++------------------------ disas/nanomips.h | 144 -------------------- 2 files changed, 154 insertions(+), 318 deletions(-) diff --git a/disas/nanomips.cpp b/disas/nanomips.cpp index 9005f26ee3..271afcde07 100644 --- a/disas/nanomips.cpp +++ b/disas/nanomips.cpp @@ -41,7 +41,7 @@ #define IMGASSERTONCE(test) -int nanomips_dis(char *buf, +static int nanomips_dis(char *buf, Dis_info *info, unsigned short one, unsigned short two, @@ -259,20 +259,20 @@ std::string to_string(img_address a) } -uint64 extract_bits(uint64 data, uint32 bit_offset, uint32 bit_size) +static uint64 extract_bits(uint64 data, uint32 bit_offset, uint32 bit_size) { return (data << (64 - (bit_size + bit_offset))) >> (64 - bit_size); } -int64 sign_extend(int64 data, int msb) +static int64 sign_extend(int64 data, int msb) { uint64 shift = 63 - msb; return (data << shift) >> shift; } -uint64 NMD::renumber_registers(uint64 index, uint64 *register_list, +static uint64 renumber_registers(uint64 index, uint64 *register_list, size_t register_list_size) { if (index < register_list_size) { @@ -287,7 +287,7 @@ uint64 NMD::renumber_registers(uint64 index, uint64 *register_list, /* - * NMD::decode_gpr_gpr4() - decoder for 'gpr4' gpr encoding type + * decode_gpr_gpr4() - decoder for 'gpr4' gpr encoding type * * Map a 4-bit code to the 5-bit register space according to this pattern: * @@ -312,7 +312,7 @@ uint64 NMD::renumber_registers(uint64 index, uint64 *register_list, * - MUL[4X4] * - SW[4X4] */ -uint64 NMD::decode_gpr_gpr4(uint64 d) +static uint64 decode_gpr_gpr4(uint64 d) { static uint64 register_list[] = { 8, 9, 10, 11, 4, 5, 6, 7, 16, 17, 18, 19, 20, 21, 22, 23 }; @@ -322,7 +322,7 @@ uint64 NMD::decode_gpr_gpr4(uint64 d) /* - * NMD::decode_gpr_gpr4_zero() - decoder for 'gpr4.zero' gpr encoding type + * decode_gpr_gpr4_zero() - decoder for 'gpr4.zero' gpr encoding type * * Map a 4-bit code to the 5-bit register space according to this pattern: * @@ -348,7 +348,7 @@ uint64 NMD::decode_gpr_gpr4(uint64 d) * - MOVEP * - SW[4X4] */ -uint64 NMD::decode_gpr_gpr4_zero(uint64 d) +static uint64 decode_gpr_gpr4_zero(uint64 d) { static uint64 register_list[] = { 8, 9, 10, 0, 4, 5, 6, 7, 16, 17, 18, 19, 20, 21, 22, 23 }; @@ -358,7 +358,7 @@ uint64 NMD::decode_gpr_gpr4_zero(uint64 d) /* - * NMD::decode_gpr_gpr3() - decoder for 'gpr3' gpr encoding type + * decode_gpr_gpr3() - decoder for 'gpr3' gpr encoding type * * Map a 3-bit code to the 5-bit register space according to this pattern: * @@ -407,7 +407,7 @@ uint64 NMD::decode_gpr_gpr4_zero(uint64 d) * - SW[16] * - XOR[16] */ -uint64 NMD::decode_gpr_gpr3(uint64 d) +static uint64 decode_gpr_gpr3(uint64 d) { static uint64 register_list[] = { 16, 17, 18, 19, 4, 5, 6, 7 }; return renumber_registers(d, register_list, @@ -416,7 +416,7 @@ uint64 NMD::decode_gpr_gpr3(uint64 d) /* - * NMD::decode_gpr_gpr3_src_store() - decoder for 'gpr3.src.store' gpr encoding + * decode_gpr_gpr3_src_store() - decoder for 'gpr3.src.store' gpr encoding * type * * Map a 3-bit code to the 5-bit register space according to this pattern: @@ -447,7 +447,7 @@ uint64 NMD::decode_gpr_gpr3(uint64 d) * - SW[16] * - SW[GP16] */ -uint64 NMD::decode_gpr_gpr3_src_store(uint64 d) +static uint64 decode_gpr_gpr3_src_store(uint64 d) { static uint64 register_list[] = { 0, 17, 18, 19, 4, 5, 6, 7 }; return renumber_registers(d, register_list, @@ -456,7 +456,7 @@ uint64 NMD::decode_gpr_gpr3_src_store(uint64 d) /* - * NMD::decode_gpr_gpr2_reg1() - decoder for 'gpr2.reg1' gpr encoding type + * decode_gpr_gpr2_reg1() - decoder for 'gpr2.reg1' gpr encoding type * * Map a 2-bit code to the 5-bit register space according to this pattern: * @@ -477,7 +477,7 @@ uint64 NMD::decode_gpr_gpr3_src_store(uint64 d) * - MOVEP * - MOVEP[REV] */ -uint64 NMD::decode_gpr_gpr2_reg1(uint64 d) +static uint64 decode_gpr_gpr2_reg1(uint64 d) { static uint64 register_list[] = { 4, 5, 6, 7 }; return renumber_registers(d, register_list, @@ -486,7 +486,7 @@ uint64 NMD::decode_gpr_gpr2_reg1(uint64 d) /* - * NMD::decode_gpr_gpr2_reg2() - decoder for 'gpr2.reg2' gpr encoding type + * decode_gpr_gpr2_reg2() - decoder for 'gpr2.reg2' gpr encoding type * * Map a 2-bit code to the 5-bit register space according to this pattern: * @@ -507,7 +507,7 @@ uint64 NMD::decode_gpr_gpr2_reg1(uint64 d) * - MOVEP * - MOVEP[REV] */ -uint64 NMD::decode_gpr_gpr2_reg2(uint64 d) +static uint64 decode_gpr_gpr2_reg2(uint64 d) { static uint64 register_list[] = { 5, 6, 7, 8 }; return renumber_registers(d, register_list, @@ -516,7 +516,7 @@ uint64 NMD::decode_gpr_gpr2_reg2(uint64 d) /* - * NMD::decode_gpr_gpr1() - decoder for 'gpr1' gpr encoding type + * decode_gpr_gpr1() - decoder for 'gpr1' gpr encoding type * * Map a 1-bit code to the 5-bit register space according to this pattern: * @@ -536,7 +536,7 @@ uint64 NMD::decode_gpr_gpr2_reg2(uint64 d) * * - MOVE.BALC */ -uint64 NMD::decode_gpr_gpr1(uint64 d) +static uint64 decode_gpr_gpr1(uint64 d) { static uint64 register_list[] = { 4, 5 }; return renumber_registers(d, register_list, @@ -544,73 +544,60 @@ uint64 NMD::decode_gpr_gpr1(uint64 d) } -uint64 NMD::copy(uint64 d) +static uint64 copy(uint64 d) { return d; } -int64 NMD::copy(int64 d) +static int64 copy(int64 d) { return d; } -int64 NMD::neg_copy(uint64 d) +static int64 neg_copy(uint64 d) { return 0ll - d; } -int64 NMD::neg_copy(int64 d) -{ - return -d; -} - - /* strange wrapper around gpr3 */ -uint64 NMD::encode_rs3_and_check_rs3_ge_rt3(uint64 d) +static uint64 encode_rs3_and_check_rs3_ge_rt3(uint64 d) { return decode_gpr_gpr3(d); } /* strange wrapper around gpr3 */ -uint64 NMD::encode_rs3_and_check_rs3_lt_rt3(uint64 d) +static uint64 encode_rs3_and_check_rs3_lt_rt3(uint64 d) { return decode_gpr_gpr3(d); } /* nop - done by extraction function */ -uint64 NMD::encode_s_from_address(uint64 d) +static uint64 encode_s_from_address(uint64 d) { return d; } /* nop - done by extraction function */ -uint64 NMD::encode_u_from_address(uint64 d) +static uint64 encode_u_from_address(uint64 d) { return d; } -/* nop - done by extraction function */ -uint64 NMD::encode_s_from_s_hi(uint64 d) -{ - return d; -} - - -uint64 NMD::encode_count3_from_count(uint64 d) +static uint64 encode_count3_from_count(uint64 d) { IMGASSERTONCE(d < 8); return d == 0ull ? 8ull : d; } -uint64 NMD::encode_shift3_from_shift(uint64 d) +static uint64 encode_shift3_from_shift(uint64 d) { IMGASSERTONCE(d < 8); return d == 0ull ? 8ull : d; @@ -618,21 +605,21 @@ uint64 NMD::encode_shift3_from_shift(uint64 d) /* special value for load literal */ -int64 NMD::encode_eu_from_s_li16(uint64 d) +static int64 encode_eu_from_s_li16(uint64 d) { IMGASSERTONCE(d < 128); return d == 127 ? -1 : (int64)d; } -uint64 NMD::encode_msbd_from_size(uint64 d) +static uint64 encode_msbd_from_size(uint64 d) { IMGASSERTONCE(d < 32); return d + 1; } -uint64 NMD::encode_eu_from_u_andi16(uint64 d) +static uint64 encode_eu_from_u_andi16(uint64 d) { IMGASSERTONCE(d < 16); if (d == 12) { @@ -645,42 +632,21 @@ uint64 NMD::encode_eu_from_u_andi16(uint64 d) } -uint64 NMD::encode_msbd_from_pos_and_size(uint64 d) -{ - IMGASSERTONCE(0); - return d; -} - - /* save16 / restore16 ???? */ -uint64 NMD::encode_rt1_from_rt(uint64 d) +static uint64 encode_rt1_from_rt(uint64 d) { return d ? 31 : 30; } /* ? */ -uint64 NMD::encode_lsb_from_pos_and_size(uint64 d) +static uint64 encode_lsb_from_pos_and_size(uint64 d) { return d; } -std::string NMD::save_restore_list(uint64 rt, uint64 count, uint64 gp) -{ - std::string str; - - for (uint64 counter = 0; counter != count; counter++) { - bool use_gp = gp && (counter == count - 1); - uint64 this_rt = use_gp ? 28 : ((rt & 0x10) | (rt + counter)) & 0x1f; - str += img_format(",%s", GPR(this_rt)); - } - - return str; -} - - -std::string NMD::GPR(uint64 reg) +static std::string GPR(uint64 reg) { static const char *gpr_reg[32] = { "zero", "at", "v0", "v1", "a0", "a1", "a2", "a3", @@ -698,7 +664,21 @@ std::string NMD::GPR(uint64 reg) } -std::string NMD::FPR(uint64 reg) +static std::string save_restore_list(uint64 rt, uint64 count, uint64 gp) +{ + std::string str; + + for (uint64 counter = 0; counter != count; counter++) { + bool use_gp = gp && (counter == count - 1); + uint64 this_rt = use_gp ? 28 : ((rt & 0x10) | (rt + counter)) & 0x1f; + str += img_format(",%s", GPR(this_rt)); + } + + return str; +} + + +static std::string FPR(uint64 reg) { static const char *fpr_reg[32] = { "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", @@ -716,7 +696,7 @@ std::string NMD::FPR(uint64 reg) } -std::string NMD::AC(uint64 reg) +static std::string AC(uint64 reg) { static const char *ac_reg[4] = { "ac0", "ac1", "ac2", "ac3" @@ -731,26 +711,26 @@ std::string NMD::AC(uint64 reg) } -std::string NMD::IMMEDIATE(uint64 value) +static std::string IMMEDIATE(uint64 value) { return img_format("0x%" PRIx64, value); } -std::string NMD::IMMEDIATE(int64 value) +static std::string IMMEDIATE(int64 value) { return img_format("%" PRId64, value); } -std::string NMD::CPR(uint64 reg) +static std::string CPR(uint64 reg) { /* needs more work */ return img_format("CP%" PRIu64, reg); } -std::string NMD::ADDRESS(uint64 value, int instruction_size, Dis_info *info) +static std::string ADDRESS(uint64 value, int instruction_size, Dis_info *info) { /* token for string replace */ img_address address = info->m_pc + value + instruction_size; @@ -849,7 +829,7 @@ int NMD::Disassemble(const uint16 * data, std::string & dis, } -uint64 NMD::extract_code_18_to_0(uint64 instruction) +static uint64 extract_code_18_to_0(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 0, 19); @@ -857,7 +837,7 @@ uint64 NMD::extract_code_18_to_0(uint64 instruction) } -uint64 NMD::extract_shift3_2_1_0(uint64 instruction) +static uint64 extract_shift3_2_1_0(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 0, 3); @@ -865,7 +845,7 @@ uint64 NMD::extract_shift3_2_1_0(uint64 instruction) } -uint64 NMD::extract_u_11_10_9_8_7_6_5_4_3__s3(uint64 instruction) +static uint64 extract_u_11_10_9_8_7_6_5_4_3__s3(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 3, 9) << 3; @@ -873,7 +853,7 @@ uint64 NMD::extract_u_11_10_9_8_7_6_5_4_3__s3(uint64 instruction) } -uint64 NMD::extract_count_3_2_1_0(uint64 instruction) +static uint64 extract_count_3_2_1_0(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 0, 4); @@ -881,7 +861,7 @@ uint64 NMD::extract_count_3_2_1_0(uint64 instruction) } -uint64 NMD::extract_rtz3_9_8_7(uint64 instruction) +static uint64 extract_rtz3_9_8_7(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 7, 3); @@ -889,7 +869,7 @@ uint64 NMD::extract_rtz3_9_8_7(uint64 instruction) } -uint64 NMD::extract_u_17_to_1__s1(uint64 instruction) +static uint64 extract_u_17_to_1__s1(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 1, 17) << 1; @@ -897,7 +877,7 @@ uint64 NMD::extract_u_17_to_1__s1(uint64 instruction) } -int64 NMD::extract_s__se9_20_19_18_17_16_15_14_13_12_11(uint64 instruction) +static int64 extract_s__se9_20_19_18_17_16_15_14_13_12_11(uint64 instruction) { int64 value = 0; value |= extract_bits(instruction, 11, 10); @@ -906,7 +886,7 @@ int64 NMD::extract_s__se9_20_19_18_17_16_15_14_13_12_11(uint64 instruction) } -int64 NMD::extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(uint64 instruction) +static int64 extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(uint64 instruction) { int64 value = 0; value |= extract_bits(instruction, 0, 1) << 11; @@ -916,7 +896,7 @@ int64 NMD::extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(uint64 instruction) } -uint64 NMD::extract_u_10(uint64 instruction) +static uint64 extract_u_10(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 10, 1); @@ -924,7 +904,7 @@ uint64 NMD::extract_u_10(uint64 instruction) } -uint64 NMD::extract_rtz4_27_26_25_23_22_21(uint64 instruction) +static uint64 extract_rtz4_27_26_25_23_22_21(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 21, 3); @@ -933,7 +913,7 @@ uint64 NMD::extract_rtz4_27_26_25_23_22_21(uint64 instruction) } -uint64 NMD::extract_sa_15_14_13_12_11(uint64 instruction) +static uint64 extract_sa_15_14_13_12_11(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 11, 5); @@ -941,7 +921,7 @@ uint64 NMD::extract_sa_15_14_13_12_11(uint64 instruction) } -uint64 NMD::extract_shift_4_3_2_1_0(uint64 instruction) +static uint64 extract_shift_4_3_2_1_0(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 0, 5); @@ -949,7 +929,7 @@ uint64 NMD::extract_shift_4_3_2_1_0(uint64 instruction) } -uint64 NMD::extract_shiftx_10_9_8_7__s1(uint64 instruction) +static uint64 extract_shiftx_10_9_8_7__s1(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 7, 4) << 1; @@ -957,7 +937,7 @@ uint64 NMD::extract_shiftx_10_9_8_7__s1(uint64 instruction) } -uint64 NMD::extract_hint_25_24_23_22_21(uint64 instruction) +static uint64 extract_hint_25_24_23_22_21(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 21, 5); @@ -965,7 +945,7 @@ uint64 NMD::extract_hint_25_24_23_22_21(uint64 instruction) } -uint64 NMD::extract_count3_14_13_12(uint64 instruction) +static uint64 extract_count3_14_13_12(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 12, 3); @@ -973,7 +953,7 @@ uint64 NMD::extract_count3_14_13_12(uint64 instruction) } -int64 NMD::extract_s__se31_0_11_to_2_20_to_12_s12(uint64 instruction) +static int64 extract_s__se31_0_11_to_2_20_to_12_s12(uint64 instruction) { int64 value = 0; value |= extract_bits(instruction, 0, 1) << 31; @@ -984,7 +964,7 @@ int64 NMD::extract_s__se31_0_11_to_2_20_to_12_s12(uint64 instruction) } -int64 NMD::extract_s__se7_0_6_5_4_3_2_1_s1(uint64 instruction) +static int64 extract_s__se7_0_6_5_4_3_2_1_s1(uint64 instruction) { int64 value = 0; value |= extract_bits(instruction, 0, 1) << 7; @@ -994,7 +974,7 @@ int64 NMD::extract_s__se7_0_6_5_4_3_2_1_s1(uint64 instruction) } -uint64 NMD::extract_u2_10_9(uint64 instruction) +static uint64 extract_u2_10_9(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 9, 2); @@ -1002,7 +982,7 @@ uint64 NMD::extract_u2_10_9(uint64 instruction) } -uint64 NMD::extract_code_25_24_23_22_21_20_19_18_17_16(uint64 instruction) +static uint64 extract_code_25_24_23_22_21_20_19_18_17_16(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 16, 10); @@ -1010,7 +990,7 @@ uint64 NMD::extract_code_25_24_23_22_21_20_19_18_17_16(uint64 instruction) } -uint64 NMD::extract_rs_20_19_18_17_16(uint64 instruction) +static uint64 extract_rs_20_19_18_17_16(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 16, 5); @@ -1018,7 +998,7 @@ uint64 NMD::extract_rs_20_19_18_17_16(uint64 instruction) } -uint64 NMD::extract_u_2_1__s1(uint64 instruction) +static uint64 extract_u_2_1__s1(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 1, 2) << 1; @@ -1026,7 +1006,7 @@ uint64 NMD::extract_u_2_1__s1(uint64 instruction) } -uint64 NMD::extract_stripe_6(uint64 instruction) +static uint64 extract_stripe_6(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 6, 1); @@ -1034,7 +1014,7 @@ uint64 NMD::extract_stripe_6(uint64 instruction) } -uint64 NMD::extract_ac_15_14(uint64 instruction) +static uint64 extract_ac_15_14(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 14, 2); @@ -1042,7 +1022,7 @@ uint64 NMD::extract_ac_15_14(uint64 instruction) } -uint64 NMD::extract_shift_20_19_18_17_16(uint64 instruction) +static uint64 extract_shift_20_19_18_17_16(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 16, 5); @@ -1050,7 +1030,7 @@ uint64 NMD::extract_shift_20_19_18_17_16(uint64 instruction) } -uint64 NMD::extract_rdl_25_24(uint64 instruction) +static uint64 extract_rdl_25_24(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 24, 1); @@ -1058,7 +1038,7 @@ uint64 NMD::extract_rdl_25_24(uint64 instruction) } -int64 NMD::extract_s__se10_0_9_8_7_6_5_4_3_2_1_s1(uint64 instruction) +static int64 extract_s__se10_0_9_8_7_6_5_4_3_2_1_s1(uint64 instruction) { int64 value = 0; value |= extract_bits(instruction, 0, 1) << 10; @@ -1068,7 +1048,7 @@ int64 NMD::extract_s__se10_0_9_8_7_6_5_4_3_2_1_s1(uint64 instruction) } -uint64 NMD::extract_eu_6_5_4_3_2_1_0(uint64 instruction) +static uint64 extract_eu_6_5_4_3_2_1_0(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 0, 7); @@ -1076,7 +1056,7 @@ uint64 NMD::extract_eu_6_5_4_3_2_1_0(uint64 instruction) } -uint64 NMD::extract_shift_5_4_3_2_1_0(uint64 instruction) +static uint64 extract_shift_5_4_3_2_1_0(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 0, 6); @@ -1084,7 +1064,7 @@ uint64 NMD::extract_shift_5_4_3_2_1_0(uint64 instruction) } -uint64 NMD::extract_count_19_18_17_16(uint64 instruction) +static uint64 extract_count_19_18_17_16(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 16, 4); @@ -1092,7 +1072,7 @@ uint64 NMD::extract_count_19_18_17_16(uint64 instruction) } -uint64 NMD::extract_code_2_1_0(uint64 instruction) +static uint64 extract_code_2_1_0(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 0, 3); @@ -1100,7 +1080,7 @@ uint64 NMD::extract_code_2_1_0(uint64 instruction) } -uint64 NMD::extract_u_11_10_9_8_7_6_5_4_3_2_1_0(uint64 instruction) +static uint64 extract_u_11_10_9_8_7_6_5_4_3_2_1_0(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 0, 12); @@ -1108,7 +1088,7 @@ uint64 NMD::extract_u_11_10_9_8_7_6_5_4_3_2_1_0(uint64 instruction) } -uint64 NMD::extract_rs_4_3_2_1_0(uint64 instruction) +static uint64 extract_rs_4_3_2_1_0(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 0, 5); @@ -1116,7 +1096,7 @@ uint64 NMD::extract_rs_4_3_2_1_0(uint64 instruction) } -uint64 NMD::extract_u_20_to_3__s3(uint64 instruction) +static uint64 extract_u_20_to_3__s3(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 3, 18) << 3; @@ -1124,7 +1104,7 @@ uint64 NMD::extract_u_20_to_3__s3(uint64 instruction) } -uint64 NMD::extract_u_3_2_1_0__s2(uint64 instruction) +static uint64 extract_u_3_2_1_0__s2(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 0, 4) << 2; @@ -1132,7 +1112,7 @@ uint64 NMD::extract_u_3_2_1_0__s2(uint64 instruction) } -uint64 NMD::extract_cofun_25_24_23(uint64 instruction) +static uint64 extract_cofun_25_24_23(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 3, 23); @@ -1140,7 +1120,7 @@ uint64 NMD::extract_cofun_25_24_23(uint64 instruction) } -uint64 NMD::extract_u_2_1_0__s2(uint64 instruction) +static uint64 extract_u_2_1_0__s2(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 0, 3) << 2; @@ -1148,7 +1128,7 @@ uint64 NMD::extract_u_2_1_0__s2(uint64 instruction) } -uint64 NMD::extract_rd3_3_2_1(uint64 instruction) +static uint64 extract_rd3_3_2_1(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 1, 3); @@ -1156,7 +1136,7 @@ uint64 NMD::extract_rd3_3_2_1(uint64 instruction) } -uint64 NMD::extract_sa_15_14_13_12(uint64 instruction) +static uint64 extract_sa_15_14_13_12(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 12, 4); @@ -1164,7 +1144,7 @@ uint64 NMD::extract_sa_15_14_13_12(uint64 instruction) } -uint64 NMD::extract_rt_25_24_23_22_21(uint64 instruction) +static uint64 extract_rt_25_24_23_22_21(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 21, 5); @@ -1172,7 +1152,7 @@ uint64 NMD::extract_rt_25_24_23_22_21(uint64 instruction) } -uint64 NMD::extract_ru_7_6_5_4_3(uint64 instruction) +static uint64 extract_ru_7_6_5_4_3(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 3, 5); @@ -1180,7 +1160,7 @@ uint64 NMD::extract_ru_7_6_5_4_3(uint64 instruction) } -uint64 NMD::extract_u_17_to_0(uint64 instruction) +static uint64 extract_u_17_to_0(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 0, 18); @@ -1188,7 +1168,7 @@ uint64 NMD::extract_u_17_to_0(uint64 instruction) } -uint64 NMD::extract_rsz4_4_2_1_0(uint64 instruction) +static uint64 extract_rsz4_4_2_1_0(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 0, 3); @@ -1197,7 +1177,7 @@ uint64 NMD::extract_rsz4_4_2_1_0(uint64 instruction) } -int64 NMD::extract_s__se21_0_20_to_1_s1(uint64 instruction) +static int64 extract_s__se21_0_20_to_1_s1(uint64 instruction) { int64 value = 0; value |= extract_bits(instruction, 0, 1) << 21; @@ -1207,7 +1187,7 @@ int64 NMD::extract_s__se21_0_20_to_1_s1(uint64 instruction) } -uint64 NMD::extract_op_25_to_3(uint64 instruction) +static uint64 extract_op_25_to_3(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 3, 23); @@ -1215,7 +1195,7 @@ uint64 NMD::extract_op_25_to_3(uint64 instruction) } -uint64 NMD::extract_rs4_4_2_1_0(uint64 instruction) +static uint64 extract_rs4_4_2_1_0(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 0, 3); @@ -1224,7 +1204,7 @@ uint64 NMD::extract_rs4_4_2_1_0(uint64 instruction) } -uint64 NMD::extract_bit_23_22_21(uint64 instruction) +static uint64 extract_bit_23_22_21(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 21, 3); @@ -1232,7 +1212,7 @@ uint64 NMD::extract_bit_23_22_21(uint64 instruction) } -uint64 NMD::extract_rt_41_40_39_38_37(uint64 instruction) +static uint64 extract_rt_41_40_39_38_37(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 37, 5); @@ -1240,7 +1220,7 @@ uint64 NMD::extract_rt_41_40_39_38_37(uint64 instruction) } -int64 NMD::extract_shift__se5_21_20_19_18_17_16(uint64 instruction) +static int64 extract_shift__se5_21_20_19_18_17_16(uint64 instruction) { int64 value = 0; value |= extract_bits(instruction, 16, 6); @@ -1249,7 +1229,7 @@ int64 NMD::extract_shift__se5_21_20_19_18_17_16(uint64 instruction) } -uint64 NMD::extract_rd2_3_8(uint64 instruction) +static uint64 extract_rd2_3_8(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 3, 1) << 1; @@ -1258,7 +1238,7 @@ uint64 NMD::extract_rd2_3_8(uint64 instruction) } -uint64 NMD::extract_code_17_to_0(uint64 instruction) +static uint64 extract_code_17_to_0(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 0, 18); @@ -1266,7 +1246,7 @@ uint64 NMD::extract_code_17_to_0(uint64 instruction) } -uint64 NMD::extract_size_20_19_18_17_16(uint64 instruction) +static uint64 extract_size_20_19_18_17_16(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 16, 5); @@ -1274,7 +1254,7 @@ uint64 NMD::extract_size_20_19_18_17_16(uint64 instruction) } -int64 NMD::extract_s__se8_15_7_6_5_4_3_2_s2(uint64 instruction) +static int64 extract_s__se8_15_7_6_5_4_3_2_s2(uint64 instruction) { int64 value = 0; value |= extract_bits(instruction, 2, 6) << 2; @@ -1284,7 +1264,7 @@ int64 NMD::extract_s__se8_15_7_6_5_4_3_2_s2(uint64 instruction) } -uint64 NMD::extract_u_15_to_0(uint64 instruction) +static uint64 extract_u_15_to_0(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 0, 16); @@ -1292,7 +1272,7 @@ uint64 NMD::extract_u_15_to_0(uint64 instruction) } -uint64 NMD::extract_fs_20_19_18_17_16(uint64 instruction) +static uint64 extract_fs_20_19_18_17_16(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 16, 5); @@ -1300,7 +1280,7 @@ uint64 NMD::extract_fs_20_19_18_17_16(uint64 instruction) } -int64 NMD::extract_s__se8_15_7_6_5_4_3_2_1_0(uint64 instruction) +static int64 extract_s__se8_15_7_6_5_4_3_2_1_0(uint64 instruction) { int64 value = 0; value |= extract_bits(instruction, 0, 8); @@ -1310,7 +1290,7 @@ int64 NMD::extract_s__se8_15_7_6_5_4_3_2_1_0(uint64 instruction) } -uint64 NMD::extract_stype_20_19_18_17_16(uint64 instruction) +static uint64 extract_stype_20_19_18_17_16(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 16, 5); @@ -1318,7 +1298,7 @@ uint64 NMD::extract_stype_20_19_18_17_16(uint64 instruction) } -uint64 NMD::extract_rtl_11(uint64 instruction) +static uint64 extract_rtl_11(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 9, 1); @@ -1326,7 +1306,7 @@ uint64 NMD::extract_rtl_11(uint64 instruction) } -uint64 NMD::extract_hs_20_19_18_17_16(uint64 instruction) +static uint64 extract_hs_20_19_18_17_16(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 16, 5); @@ -1334,7 +1314,7 @@ uint64 NMD::extract_hs_20_19_18_17_16(uint64 instruction) } -uint64 NMD::extract_sel_13_12_11(uint64 instruction) +static uint64 extract_sel_13_12_11(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 11, 3); @@ -1342,7 +1322,7 @@ uint64 NMD::extract_sel_13_12_11(uint64 instruction) } -uint64 NMD::extract_lsb_4_3_2_1_0(uint64 instruction) +static uint64 extract_lsb_4_3_2_1_0(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 0, 5); @@ -1350,7 +1330,7 @@ uint64 NMD::extract_lsb_4_3_2_1_0(uint64 instruction) } -uint64 NMD::extract_gp_2(uint64 instruction) +static uint64 extract_gp_2(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 2, 1); @@ -1358,7 +1338,7 @@ uint64 NMD::extract_gp_2(uint64 instruction) } -uint64 NMD::extract_rt3_9_8_7(uint64 instruction) +static uint64 extract_rt3_9_8_7(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 7, 3); @@ -1366,7 +1346,7 @@ uint64 NMD::extract_rt3_9_8_7(uint64 instruction) } -uint64 NMD::extract_ft_25_24_23_22_21(uint64 instruction) +static uint64 extract_ft_25_24_23_22_21(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 21, 5); @@ -1374,7 +1354,7 @@ uint64 NMD::extract_ft_25_24_23_22_21(uint64 instruction) } -uint64 NMD::extract_u_17_16_15_14_13_12_11(uint64 instruction) +static uint64 extract_u_17_16_15_14_13_12_11(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 11, 7); @@ -1382,7 +1362,7 @@ uint64 NMD::extract_u_17_16_15_14_13_12_11(uint64 instruction) } -uint64 NMD::extract_cs_20_19_18_17_16(uint64 instruction) +static uint64 extract_cs_20_19_18_17_16(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 16, 5); @@ -1390,7 +1370,7 @@ uint64 NMD::extract_cs_20_19_18_17_16(uint64 instruction) } -uint64 NMD::extract_rt4_9_7_6_5(uint64 instruction) +static uint64 extract_rt4_9_7_6_5(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 5, 3); @@ -1399,7 +1379,7 @@ uint64 NMD::extract_rt4_9_7_6_5(uint64 instruction) } -uint64 NMD::extract_msbt_10_9_8_7_6(uint64 instruction) +static uint64 extract_msbt_10_9_8_7_6(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 6, 5); @@ -1407,7 +1387,7 @@ uint64 NMD::extract_msbt_10_9_8_7_6(uint64 instruction) } -uint64 NMD::extract_u_5_4_3_2_1_0__s2(uint64 instruction) +static uint64 extract_u_5_4_3_2_1_0__s2(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 0, 6) << 2; @@ -1415,7 +1395,7 @@ uint64 NMD::extract_u_5_4_3_2_1_0__s2(uint64 instruction) } -uint64 NMD::extract_sa_15_14_13(uint64 instruction) +static uint64 extract_sa_15_14_13(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 13, 3); @@ -1423,7 +1403,7 @@ uint64 NMD::extract_sa_15_14_13(uint64 instruction) } -int64 NMD::extract_s__se14_0_13_to_1_s1(uint64 instruction) +static int64 extract_s__se14_0_13_to_1_s1(uint64 instruction) { int64 value = 0; value |= extract_bits(instruction, 0, 1) << 14; @@ -1433,7 +1413,7 @@ int64 NMD::extract_s__se14_0_13_to_1_s1(uint64 instruction) } -uint64 NMD::extract_rs3_6_5_4(uint64 instruction) +static uint64 extract_rs3_6_5_4(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 4, 3); @@ -1441,7 +1421,7 @@ uint64 NMD::extract_rs3_6_5_4(uint64 instruction) } -uint64 NMD::extract_u_31_to_0__s32(uint64 instruction) +static uint64 extract_u_31_to_0__s32(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 0, 32) << 32; @@ -1449,7 +1429,7 @@ uint64 NMD::extract_u_31_to_0__s32(uint64 instruction) } -uint64 NMD::extract_shift_10_9_8_7_6(uint64 instruction) +static uint64 extract_shift_10_9_8_7_6(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 6, 5); @@ -1457,7 +1437,7 @@ uint64 NMD::extract_shift_10_9_8_7_6(uint64 instruction) } -uint64 NMD::extract_cs_25_24_23_22_21(uint64 instruction) +static uint64 extract_cs_25_24_23_22_21(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 21, 5); @@ -1465,7 +1445,7 @@ uint64 NMD::extract_cs_25_24_23_22_21(uint64 instruction) } -uint64 NMD::extract_shiftx_11_10_9_8_7_6(uint64 instruction) +static uint64 extract_shiftx_11_10_9_8_7_6(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 6, 6); @@ -1473,7 +1453,7 @@ uint64 NMD::extract_shiftx_11_10_9_8_7_6(uint64 instruction) } -uint64 NMD::extract_rt_9_8_7_6_5(uint64 instruction) +static uint64 extract_rt_9_8_7_6_5(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 5, 5); @@ -1481,7 +1461,7 @@ uint64 NMD::extract_rt_9_8_7_6_5(uint64 instruction) } -uint64 NMD::extract_op_25_24_23_22_21(uint64 instruction) +static uint64 extract_op_25_24_23_22_21(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 21, 5); @@ -1489,7 +1469,7 @@ uint64 NMD::extract_op_25_24_23_22_21(uint64 instruction) } -uint64 NMD::extract_u_6_5_4_3_2_1_0__s2(uint64 instruction) +static uint64 extract_u_6_5_4_3_2_1_0__s2(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 0, 7) << 2; @@ -1497,7 +1477,7 @@ uint64 NMD::extract_u_6_5_4_3_2_1_0__s2(uint64 instruction) } -uint64 NMD::extract_bit_16_15_14_13_12_11(uint64 instruction) +static uint64 extract_bit_16_15_14_13_12_11(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 11, 6); @@ -1505,7 +1485,7 @@ uint64 NMD::extract_bit_16_15_14_13_12_11(uint64 instruction) } -uint64 NMD::extract_mask_20_19_18_17_16_15_14(uint64 instruction) +static uint64 extract_mask_20_19_18_17_16_15_14(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 14, 7); @@ -1513,7 +1493,7 @@ uint64 NMD::extract_mask_20_19_18_17_16_15_14(uint64 instruction) } -uint64 NMD::extract_eu_3_2_1_0(uint64 instruction) +static uint64 extract_eu_3_2_1_0(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 0, 4); @@ -1521,7 +1501,7 @@ uint64 NMD::extract_eu_3_2_1_0(uint64 instruction) } -uint64 NMD::extract_u_7_6_5_4__s4(uint64 instruction) +static uint64 extract_u_7_6_5_4__s4(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 4, 4) << 4; @@ -1529,7 +1509,7 @@ uint64 NMD::extract_u_7_6_5_4__s4(uint64 instruction) } -int64 NMD::extract_s__se8_15_7_6_5_4_3_s3(uint64 instruction) +static int64 extract_s__se8_15_7_6_5_4_3_s3(uint64 instruction) { int64 value = 0; value |= extract_bits(instruction, 3, 5) << 3; @@ -1539,7 +1519,7 @@ int64 NMD::extract_s__se8_15_7_6_5_4_3_s3(uint64 instruction) } -uint64 NMD::extract_ft_15_14_13_12_11(uint64 instruction) +static uint64 extract_ft_15_14_13_12_11(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 11, 5); @@ -1547,7 +1527,7 @@ uint64 NMD::extract_ft_15_14_13_12_11(uint64 instruction) } -int64 NMD::extract_s__se31_15_to_0_31_to_16(uint64 instruction) +static int64 extract_s__se31_15_to_0_31_to_16(uint64 instruction) { int64 value = 0; value |= extract_bits(instruction, 0, 16) << 16; @@ -1557,7 +1537,7 @@ int64 NMD::extract_s__se31_15_to_0_31_to_16(uint64 instruction) } -uint64 NMD::extract_u_20_19_18_17_16_15_14_13(uint64 instruction) +static uint64 extract_u_20_19_18_17_16_15_14_13(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 13, 8); @@ -1565,7 +1545,7 @@ uint64 NMD::extract_u_20_19_18_17_16_15_14_13(uint64 instruction) } -uint64 NMD::extract_u_17_to_2__s2(uint64 instruction) +static uint64 extract_u_17_to_2__s2(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 2, 16) << 2; @@ -1573,7 +1553,7 @@ uint64 NMD::extract_u_17_to_2__s2(uint64 instruction) } -uint64 NMD::extract_rd_15_14_13_12_11(uint64 instruction) +static uint64 extract_rd_15_14_13_12_11(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 11, 5); @@ -1581,7 +1561,7 @@ uint64 NMD::extract_rd_15_14_13_12_11(uint64 instruction) } -uint64 NMD::extract_c0s_20_19_18_17_16(uint64 instruction) +static uint64 extract_c0s_20_19_18_17_16(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 16, 5); @@ -1589,7 +1569,7 @@ uint64 NMD::extract_c0s_20_19_18_17_16(uint64 instruction) } -uint64 NMD::extract_code_1_0(uint64 instruction) +static uint64 extract_code_1_0(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 0, 2); @@ -1597,7 +1577,7 @@ uint64 NMD::extract_code_1_0(uint64 instruction) } -int64 NMD::extract_s__se25_0_24_to_1_s1(uint64 instruction) +static int64 extract_s__se25_0_24_to_1_s1(uint64 instruction) { int64 value = 0; value |= extract_bits(instruction, 0, 1) << 25; @@ -1607,7 +1587,7 @@ int64 NMD::extract_s__se25_0_24_to_1_s1(uint64 instruction) } -uint64 NMD::extract_u_1_0(uint64 instruction) +static uint64 extract_u_1_0(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 0, 2); @@ -1615,7 +1595,7 @@ uint64 NMD::extract_u_1_0(uint64 instruction) } -uint64 NMD::extract_u_3_8__s2(uint64 instruction) +static uint64 extract_u_3_8__s2(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 3, 1) << 3; @@ -1624,7 +1604,7 @@ uint64 NMD::extract_u_3_8__s2(uint64 instruction) } -uint64 NMD::extract_fd_15_14_13_12_11(uint64 instruction) +static uint64 extract_fd_15_14_13_12_11(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 11, 5); @@ -1632,7 +1612,7 @@ uint64 NMD::extract_fd_15_14_13_12_11(uint64 instruction) } -uint64 NMD::extract_u_4_3_2_1_0__s2(uint64 instruction) +static uint64 extract_u_4_3_2_1_0__s2(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 0, 5) << 2; @@ -1640,7 +1620,7 @@ uint64 NMD::extract_u_4_3_2_1_0__s2(uint64 instruction) } -uint64 NMD::extract_rtz4_9_7_6_5(uint64 instruction) +static uint64 extract_rtz4_9_7_6_5(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 5, 3); @@ -1649,7 +1629,7 @@ uint64 NMD::extract_rtz4_9_7_6_5(uint64 instruction) } -uint64 NMD::extract_sel_15_14_13_12_11(uint64 instruction) +static uint64 extract_sel_15_14_13_12_11(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 11, 5); @@ -1657,7 +1637,7 @@ uint64 NMD::extract_sel_15_14_13_12_11(uint64 instruction) } -uint64 NMD::extract_ct_25_24_23_22_21(uint64 instruction) +static uint64 extract_ct_25_24_23_22_21(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 21, 5); @@ -1665,7 +1645,7 @@ uint64 NMD::extract_ct_25_24_23_22_21(uint64 instruction) } -uint64 NMD::extract_u_20_to_2__s2(uint64 instruction) +static uint64 extract_u_20_to_2__s2(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 2, 19) << 2; @@ -1673,7 +1653,7 @@ uint64 NMD::extract_u_20_to_2__s2(uint64 instruction) } -int64 NMD::extract_s__se3_4_2_1_0(uint64 instruction) +static int64 extract_s__se3_4_2_1_0(uint64 instruction) { int64 value = 0; value |= extract_bits(instruction, 0, 3); @@ -1683,7 +1663,7 @@ int64 NMD::extract_s__se3_4_2_1_0(uint64 instruction) } -uint64 NMD::extract_u_3_2_1_0__s1(uint64 instruction) +static uint64 extract_u_3_2_1_0__s1(uint64 instruction) { uint64 value = 0; value |= extract_bits(instruction, 0, 4) << 1; diff --git a/disas/nanomips.h b/disas/nanomips.h index fcd41c405c..8eca843ef0 100644 --- a/disas/nanomips.h +++ b/disas/nanomips.h @@ -94,150 +94,6 @@ private: TABLE_ENTRY_TYPE & type, const Pool *table, int table_size, Dis_info *info); - uint64 renumber_registers(uint64 index, uint64 *register_list, - size_t register_list_size); - - uint64 decode_gpr_gpr4(uint64 d); - uint64 decode_gpr_gpr4_zero(uint64 d); - uint64 decode_gpr_gpr3(uint64 d); - uint64 decode_gpr_gpr3_src_store(uint64 d); - uint64 decode_gpr_gpr2_reg1(uint64 d); - uint64 decode_gpr_gpr2_reg2(uint64 d); - uint64 decode_gpr_gpr1(uint64 d); - - uint64 copy(uint64 d); - int64 copy(int64 d); - int64 neg_copy(uint64 d); - int64 neg_copy(int64 d); - uint64 encode_rs3_and_check_rs3_ge_rt3(uint64 d); - uint64 encode_rs3_and_check_rs3_lt_rt3(uint64 d); - uint64 encode_s_from_address(uint64 d); - uint64 encode_u_from_address(uint64 d); - uint64 encode_s_from_s_hi(uint64 d); - uint64 encode_count3_from_count(uint64 d); - uint64 encode_shift3_from_shift(uint64 d); - int64 encode_eu_from_s_li16(uint64 d); - uint64 encode_msbd_from_size(uint64 d); - uint64 encode_eu_from_u_andi16(uint64 d); - - uint64 encode_msbd_from_pos_and_size(uint64 d); - - uint64 encode_rt1_from_rt(uint64 d); - uint64 encode_lsb_from_pos_and_size(uint64 d); - - std::string save_restore_list(uint64 rt, uint64 count, uint64 gp); - - std::string GPR(uint64 reg); - std::string FPR(uint64 reg); - std::string AC(uint64 reg); - std::string IMMEDIATE(uint64 value); - std::string IMMEDIATE(int64 value); - std::string CPR(uint64 reg); - std::string ADDRESS(uint64 value, int instruction_size, Dis_info *info); - - int64 extract_s__se3_4_2_1_0(uint64 instruction); - int64 extract_s__se7_0_6_5_4_3_2_1_s1(uint64 instruction); - int64 extract_s__se8_15_7_6_5_4_3_s3(uint64 instruction); - int64 extract_s__se8_15_7_6_5_4_3_2_s2(uint64 instruction); - int64 extract_s__se8_15_7_6_5_4_3_2_1_0(uint64 instruction); - int64 extract_s__se9_20_19_18_17_16_15_14_13_12_11(uint64 instruction); - int64 extract_s__se10_0_9_8_7_6_5_4_3_2_1_s1(uint64 instruction); - int64 extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(uint64 instruction); - int64 extract_s__se14_0_13_to_1_s1(uint64 instruction); - int64 extract_s__se21_0_20_to_1_s1(uint64 instruction); - int64 extract_s__se25_0_24_to_1_s1(uint64 instruction); - int64 extract_s__se31_15_to_0_31_to_16(uint64 instruction); - int64 extract_s__se31_0_11_to_2_20_to_12_s12(uint64 instruction); - int64 extract_shift__se5_21_20_19_18_17_16(uint64 instruction); - - uint64 extract_ac_15_14(uint64 instruction); - uint64 extract_bit_16_15_14_13_12_11(uint64 instruction); - uint64 extract_bit_23_22_21(uint64 instruction); - uint64 extract_c0s_20_19_18_17_16(uint64 instruction); - uint64 extract_code_17_to_0(uint64 instruction); - uint64 extract_code_18_to_0(uint64 instruction); - uint64 extract_code_1_0(uint64 instruction); - uint64 extract_code_2_1_0(uint64 instruction); - uint64 extract_code_25_24_23_22_21_20_19_18_17_16(uint64 instruction); - uint64 extract_cofun_25_24_23(uint64 instruction); - uint64 extract_count3_14_13_12(uint64 instruction); - uint64 extract_count_3_2_1_0(uint64 instruction); - uint64 extract_count_19_18_17_16(uint64 instruction); - uint64 extract_cs_20_19_18_17_16(uint64 instruction); - uint64 extract_cs_25_24_23_22_21(uint64 instruction); - uint64 extract_ct_25_24_23_22_21(uint64 instruction); - uint64 extract_eu_3_2_1_0(uint64 instruction); - uint64 extract_eu_6_5_4_3_2_1_0(uint64 instruction); - uint64 extract_fd_15_14_13_12_11(uint64 instruction); - uint64 extract_fs_20_19_18_17_16(uint64 instruction); - uint64 extract_ft_15_14_13_12_11(uint64 instruction); - uint64 extract_ft_25_24_23_22_21(uint64 instruction); - uint64 extract_gp_2(uint64 instruction); - uint64 extract_hint_25_24_23_22_21(uint64 instruction); - uint64 extract_hs_20_19_18_17_16(uint64 instruction); - uint64 extract_lsb_4_3_2_1_0(uint64 instruction); - uint64 extract_mask_20_19_18_17_16_15_14(uint64 instruction); - uint64 extract_msbt_10_9_8_7_6(uint64 instruction); - uint64 extract_op_25_24_23_22_21(uint64 instruction); - uint64 extract_op_25_to_3(uint64 instruction); - uint64 extract_rdl_25_24(uint64 instruction); - uint64 extract_rd2_3_8(uint64 instruction); - uint64 extract_rd3_3_2_1(uint64 instruction); - uint64 extract_rd_15_14_13_12_11(uint64 instruction); - uint64 extract_rs3_6_5_4(uint64 instruction); - uint64 extract_rs4_4_2_1_0(uint64 instruction); - uint64 extract_rs_4_3_2_1_0(uint64 instruction); - uint64 extract_rs_20_19_18_17_16(uint64 instruction); - uint64 extract_rsz4_4_2_1_0(uint64 instruction); - uint64 extract_rtl_11(uint64 instruction); - uint64 extract_rt3_9_8_7(uint64 instruction); - uint64 extract_rt4_9_7_6_5(uint64 instruction); - uint64 extract_rt_25_24_23_22_21(uint64 instruction); - uint64 extract_rt_41_40_39_38_37(uint64 instruction); - uint64 extract_rt_9_8_7_6_5(uint64 instruction); - uint64 extract_rtz3_9_8_7(uint64 instruction); - uint64 extract_rtz4_27_26_25_23_22_21(uint64 instruction); - uint64 extract_rtz4_9_7_6_5(uint64 instruction); - uint64 extract_ru_7_6_5_4_3(uint64 instruction); - uint64 extract_sa_15_14_13_12_11(uint64 instruction); - uint64 extract_sa_15_14_13_12(uint64 instruction); - uint64 extract_sa_15_14_13(uint64 instruction); - uint64 extract_sel_13_12_11(uint64 instruction); - uint64 extract_sel_15_14_13_12_11(uint64 instruction); - uint64 extract_shift3_2_1_0(uint64 instruction); - uint64 extract_shift_4_3_2_1_0(uint64 instruction); - uint64 extract_shift_5_4_3_2_1_0(uint64 instruction); - uint64 extract_shift_20_19_18_17_16(uint64 instruction); - uint64 extract_shift_10_9_8_7_6(uint64 instruction); - uint64 extract_shiftx_11_10_9_8_7_6(uint64 instruction); - uint64 extract_shiftx_10_9_8_7__s1(uint64 instruction); - uint64 extract_size_20_19_18_17_16(uint64 instruction); - uint64 extract_stripe_6(uint64 instruction); - uint64 extract_stype_20_19_18_17_16(uint64 instruction); - uint64 extract_u2_10_9(uint64 instruction); - uint64 extract_u_11_10_9_8_7_6_5_4_3_2_1_0(uint64 instruction); - uint64 extract_u_15_to_0(uint64 instruction); - uint64 extract_u_17_to_0(uint64 instruction); - uint64 extract_u_1_0(uint64 instruction); - uint64 extract_u_3_2_1_0__s1(uint64 instruction); - uint64 extract_u_2_1_0__s2(uint64 instruction); - uint64 extract_u_3_2_1_0__s2(uint64 instruction); - uint64 extract_u_4_3_2_1_0__s2(uint64 instruction); - uint64 extract_u_5_4_3_2_1_0__s2(uint64 instruction); - uint64 extract_u_6_5_4_3_2_1_0__s2(uint64 instruction); - uint64 extract_u_31_to_0__s32(uint64 instruction); - uint64 extract_u_10(uint64 instruction); - uint64 extract_u_17_16_15_14_13_12_11(uint64 instruction); - uint64 extract_u_20_19_18_17_16_15_14_13(uint64 instruction); - uint64 extract_u_17_to_1__s1(uint64 instruction); - uint64 extract_u_2_1__s1(uint64 instruction); - uint64 extract_u_17_to_2__s2(uint64 instruction); - uint64 extract_u_20_to_2__s2(uint64 instruction); - uint64 extract_u_20_to_3__s3(uint64 instruction); - uint64 extract_u_3_8__s2(uint64 instruction); - uint64 extract_u_11_10_9_8_7_6_5_4_3__s3(uint64 instruction); - uint64 extract_u_7_6_5_4__s4(uint64 instruction); - bool ADDIU_32__cond(uint64 instruction); bool ADDIU_RS5__cond(uint64 instruction); bool BALRSC_cond(uint64 instruction); From patchwork Sun Oct 30 22:28:06 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 13025266 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 351D9ECAAA1 for ; Sun, 30 Oct 2022 22:35:03 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1opGpc-0004sb-7l; Sun, 30 Oct 2022 18:31:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1opGpZ-0004Vq-4g for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:31:01 -0400 Received: from mail-wm1-x334.google.com ([2a00:1450:4864:20::334]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1opGpX-0007p8-00 for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:31:00 -0400 Received: by mail-wm1-x334.google.com with SMTP id l16-20020a05600c4f1000b003c6c0d2a445so7049952wmq.4 for ; Sun, 30 Oct 2022 15:30:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=lPplxEABxU0v7EiPvn/mZOPQxX3B4KN9GAlZ4c2GLuQ=; b=BDzKGRAnmB+eP0RlrrAKL0ke3hSrfyUS1r70F/huRwJU0QJZ+YP6EgxuxU5m+L8RF0 NJn1xVlrX/EZUdKSZgfqubdmEpXXXKt8PbpUyGTrkCcYagDNpMxFWrHTGR0a2yMVXbNA 8jm6Xr+0njhtapqpMX7nCY5+pxjyy1GcWicZpWMOhZ34v59X9Gv+ql4sJtL/0ue2KbK/ FxGH82XECep6TTCt8C8lfuUu1CkQkMU4Ii9YRLoXU5z1kemZwd67eWKnpBykC0hIGDvu u5UNtBukptlgmF7MuDBaR+jr8m6M9XCqgGmSAyNRhlDz5inVTk6pD3daCKlmkN1tNRI6 vfEw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=lPplxEABxU0v7EiPvn/mZOPQxX3B4KN9GAlZ4c2GLuQ=; b=T65NcwFj1sEYfd9kXKZQwySksD8f4hgR21eiwSvOyo8+GWc9+cskKm+b/F/++y/dYH 0kzePTO/tHAtwZvcAouJal89hdM/FI45ChSURhFBivZzRQr7Pa4YwkPRLzgWEpL3zJDk W4d7z7TE1YEW/uFiyTk3fGJhcK7REK846Fyx22ig+AWgJxL2MO9XyRwz1DmauV+5ts7P kpRobVHUjnyKS5W9igZ/p7NQt9347pGmd+rT1tTtqSXi/N5ZaV0FumvX07KSTdKGnSxw V7wuTsuBorz6A067K6zVsb5e0m2VEaoxy1MZSCdZQ3mytkKvS7RsyMOdhh6GCmHQTPfj kN7A== X-Gm-Message-State: ACrzQf3vqINft8h1jXwQ1vF3bMnNZAHR4uNRDR4A/edFhxJqM2rO8t/J enX09e8E2GnunLN6yK3oWKyGuss0yO8PJA== X-Google-Smtp-Source: AMsMyM5L64qglMkXypbhyenNXBxL8vYQqAr0FyRl9I13V3k9BpTDf3gq/sPl07vU1advEyzcsGVbOw== X-Received: by 2002:a1c:7312:0:b0:3cf:6957:1639 with SMTP id d18-20020a1c7312000000b003cf69571639mr4474157wmb.108.1667169057959; Sun, 30 Oct 2022 15:30:57 -0700 (PDT) Received: from localhost.localdomain ([185.126.107.38]) by smtp.gmail.com with ESMTPSA id h5-20020adff185000000b00236863c02f5sm5181296wro.96.2022.10.30.15.30.55 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 30 Oct 2022 15:30:57 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Aleksandar Rikalo , Huacai Chen , Stefan Pejic , Jiaxun Yang , Aurelien Jarno , Paul Burton , Milica Lazarevic , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= , Richard Henderson Subject: [PULL 20/55] disas/nanomips: Remove __cond methods from class Date: Sun, 30 Oct 2022 23:28:06 +0100 Message-Id: <20221030222841.42377-21-philmd@linaro.org> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221030222841.42377-1-philmd@linaro.org> References: <20221030222841.42377-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::334; envelope-from=philmd@linaro.org; helo=mail-wm1-x334.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Qemu-devel" Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Milica Lazarevic NMD class methods with the conditional_function type like NMD::ADDIU_32__cond, NMD::ADDIU_RS5__cond, etc. are removed from the NMD class. They're now declared global static functions. Therefore, typedef of the function pointer, conditional_function is defined outside of the class. Now that conditional_function type functions are not part of the NMD class we can't access them using the this pointer. Thus, the use of the this pointer has been deleted. Signed-off-by: Milica Lazarevic Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson Message-Id: <20220912122635.74032-7-milica.lazarevic@syrmia.com> Signed-off-by: Philippe Mathieu-Daudé --- disas/nanomips.cpp | 42 +++++++++++++++++++++--------------------- disas/nanomips.h | 14 ++------------ 2 files changed, 23 insertions(+), 33 deletions(-) diff --git a/disas/nanomips.cpp b/disas/nanomips.cpp index 271afcde07..98a632a3fc 100644 --- a/disas/nanomips.cpp +++ b/disas/nanomips.cpp @@ -784,7 +784,7 @@ int NMD::Disassemble(const uint16 * data, std::string & dis, if ((op_code & table[i].mask) == table[i].value) { /* possible match */ conditional_function cond = table[i].condition; - if ((cond == 0) || (this->*cond)(op_code)) { + if ((cond == NULL) || cond(op_code)) { try { if (table[i].type == pool) { @@ -1672,28 +1672,28 @@ static uint64 extract_u_3_2_1_0__s1(uint64 instruction) -bool NMD::ADDIU_32__cond(uint64 instruction) +static bool ADDIU_32__cond(uint64 instruction) { uint64 rt = extract_rt_25_24_23_22_21(instruction); return rt != 0; } -bool NMD::ADDIU_RS5__cond(uint64 instruction) +static bool ADDIU_RS5__cond(uint64 instruction) { uint64 rt = extract_rt_9_8_7_6_5(instruction); return rt != 0; } -bool NMD::BALRSC_cond(uint64 instruction) +static bool BALRSC_cond(uint64 instruction) { uint64 rt = extract_rt_25_24_23_22_21(instruction); return rt != 0; } -bool NMD::BEQC_16__cond(uint64 instruction) +static bool BEQC_16__cond(uint64 instruction) { uint64 rs3 = extract_rs3_6_5_4(instruction); uint64 rt3 = extract_rt3_9_8_7(instruction); @@ -1702,7 +1702,7 @@ bool NMD::BEQC_16__cond(uint64 instruction) } -bool NMD::BNEC_16__cond(uint64 instruction) +static bool BNEC_16__cond(uint64 instruction) { uint64 rs3 = extract_rs3_6_5_4(instruction); uint64 rt3 = extract_rt3_9_8_7(instruction); @@ -1711,35 +1711,35 @@ bool NMD::BNEC_16__cond(uint64 instruction) } -bool NMD::MOVE_cond(uint64 instruction) +static bool MOVE_cond(uint64 instruction) { uint64 rt = extract_rt_9_8_7_6_5(instruction); return rt != 0; } -bool NMD::P16_BR1_cond(uint64 instruction) +static bool P16_BR1_cond(uint64 instruction) { uint64 u = extract_u_3_2_1_0__s1(instruction); return u != 0; } -bool NMD::PREF_S9__cond(uint64 instruction) +static bool PREF_S9__cond(uint64 instruction) { uint64 hint = extract_hint_25_24_23_22_21(instruction); return hint != 31; } -bool NMD::PREFE_cond(uint64 instruction) +static bool PREFE_cond(uint64 instruction) { uint64 hint = extract_hint_25_24_23_22_21(instruction); return hint != 31; } -bool NMD::SLTU_cond(uint64 instruction) +static bool SLTU_cond(uint64 instruction) { uint64 rd = extract_rd_15_14_13_12_11(instruction); return rd != 0; @@ -16692,7 +16692,7 @@ NMD::Pool NMD::P_ADDIU[2] = { 0xffe00000, 0x00000000, 0 , 0, 0x0 }, /* P.RI */ { instruction , 0 , 0 , 32, - 0xfc000000, 0x00000000, &NMD::ADDIU_32_ , &NMD::ADDIU_32__cond , + 0xfc000000, 0x00000000, &NMD::ADDIU_32_ , &ADDIU_32__cond , 0x0 }, /* ADDIU[32] */ }; @@ -16790,7 +16790,7 @@ NMD::Pool NMD::P_SLTU[2] = { 0xfc00fbff, 0x20000390, 0 , 0, 0x0 }, /* P.DVP */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x20000390, &NMD::SLTU , &NMD::SLTU_cond , + 0xfc0003ff, 0x20000390, &NMD::SLTU , &SLTU_cond , 0x0 }, /* SLTU */ }; @@ -21335,7 +21335,7 @@ NMD::Pool NMD::P_PREF_S9_[2] = { 0xffe07f00, 0xa7e01800, &NMD::SYNCI , 0, 0x0 }, /* SYNCI */ { instruction , 0 , 0 , 32, - 0xfc007f00, 0xa4001800, &NMD::PREF_S9_ , &NMD::PREF_S9__cond , + 0xfc007f00, 0xa4001800, &NMD::PREF_S9_ , &PREF_S9__cond , 0x0 }, /* PREF[S9] */ }; @@ -21547,7 +21547,7 @@ NMD::Pool NMD::P_PREFE[2] = { 0xffe07f00, 0xa7e01a00, &NMD::SYNCIE , 0, CP0_ | EVA_ }, /* SYNCIE */ { instruction , 0 , 0 , 32, - 0xfc007f00, 0xa4001a00, &NMD::PREFE , &NMD::PREFE_cond , + 0xfc007f00, 0xa4001a00, &NMD::PREFE , &PREFE_cond , CP0_ | EVA_ }, /* PREFE */ }; @@ -21719,7 +21719,7 @@ NMD::Pool NMD::P_BALRSC[2] = { 0xffe0f000, 0x48008000, &NMD::BRSC , 0, 0x0 }, /* BRSC */ { call_instruction , 0 , 0 , 32, - 0xfc00f000, 0x48008000, &NMD::BALRSC , &NMD::BALRSC_cond , + 0xfc00f000, 0x48008000, &NMD::BALRSC , &BALRSC_cond , 0x0 }, /* BALRSC */ }; @@ -22067,7 +22067,7 @@ NMD::Pool NMD::P16_MV[2] = { 0xffe0 , 0x1000 , 0 , 0, 0x0 }, /* P16.RI */ { instruction , 0 , 0 , 16, - 0xfc00 , 0x1000 , &NMD::MOVE , &NMD::MOVE_cond , + 0xfc00 , 0x1000 , &NMD::MOVE , &MOVE_cond , 0x0 }, /* MOVE */ }; @@ -22133,7 +22133,7 @@ NMD::Pool NMD::P_ADDIU_RS5_[2] = { 0xffe8 , 0x9008 , &NMD::NOP_16_ , 0, 0x0 }, /* NOP[16] */ { instruction , 0 , 0 , 16, - 0xfc08 , 0x9008 , &NMD::ADDIU_RS5_ , &NMD::ADDIU_RS5__cond , + 0xfc08 , 0x9008 , &NMD::ADDIU_RS5_ , &ADDIU_RS5__cond , 0x0 }, /* ADDIU[RS5] */ }; @@ -22170,10 +22170,10 @@ NMD::Pool NMD::P16_JRC[2] = { NMD::Pool NMD::P16_BR1[2] = { { branch_instruction , 0 , 0 , 16, - 0xfc00 , 0xd800 , &NMD::BEQC_16_ , &NMD::BEQC_16__cond , + 0xfc00 , 0xd800 , &NMD::BEQC_16_ , &BEQC_16__cond , XMMS_ }, /* BEQC[16] */ { branch_instruction , 0 , 0 , 16, - 0xfc00 , 0xd800 , &NMD::BNEC_16_ , &NMD::BNEC_16__cond , + 0xfc00 , 0xd800 , &NMD::BNEC_16_ , &BNEC_16__cond , XMMS_ }, /* BNEC[16] */ }; @@ -22183,7 +22183,7 @@ NMD::Pool NMD::P16_BR[2] = { 0xfc0f , 0xd800 , 0 , 0, 0x0 }, /* P16.JRC */ { pool , P16_BR1 , 2 , 16, - 0xfc00 , 0xd800 , 0 , &NMD::P16_BR1_cond , + 0xfc00 , 0xd800 , 0 , &P16_BR1_cond , 0x0 }, /* P16.BR1 */ }; diff --git a/disas/nanomips.h b/disas/nanomips.h index 8eca843ef0..af803f4cc0 100644 --- a/disas/nanomips.h +++ b/disas/nanomips.h @@ -64,6 +64,8 @@ typedef struct Dis_info { img_address m_pc; } Dis_info; +typedef bool (*conditional_function)(uint64 instruction); + class NMD { public: @@ -75,7 +77,6 @@ private: typedef std::string(NMD:: *disassembly_function)(uint64 instruction, Dis_info *info); - typedef bool(NMD:: *conditional_function)(uint64 instruction); struct Pool { TABLE_ENTRY_TYPE type; @@ -94,17 +95,6 @@ private: TABLE_ENTRY_TYPE & type, const Pool *table, int table_size, Dis_info *info); - bool ADDIU_32__cond(uint64 instruction); - bool ADDIU_RS5__cond(uint64 instruction); - bool BALRSC_cond(uint64 instruction); - bool BEQC_16__cond(uint64 instruction); - bool BNEC_16__cond(uint64 instruction); - bool MOVE_cond(uint64 instruction); - bool P16_BR1_cond(uint64 instruction); - bool PREF_S9__cond(uint64 instruction); - bool PREFE_cond(uint64 instruction); - bool SLTU_cond(uint64 instruction); - std::string ABS_D(uint64 instruction, Dis_info *info); std::string ABS_S(uint64 instruction, Dis_info *info); std::string ABSQ_S_PH(uint64 instruction, Dis_info *info); From patchwork Sun Oct 30 22:28:07 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 13025270 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 2FD01C38A02 for ; Sun, 30 Oct 2022 22:35:59 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1opGpo-0005sX-2N; Sun, 30 Oct 2022 18:31:16 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1opGpm-0005lB-27 for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:31:14 -0400 Received: from mail-wr1-x434.google.com ([2a00:1450:4864:20::434]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1opGpg-000857-1e for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:31:13 -0400 Received: by mail-wr1-x434.google.com with SMTP id h9so13719695wrt.0 for ; Sun, 30 Oct 2022 15:31:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ivnGPn0U+vKkuVj8I1sRuA8/9Xr83xpSGYJc71LT/UY=; b=qpBAddACrPPEjC+YbT7VFS9xU17ysBMt/IFhFhycTZHH0SRCF4QXDhcvrBRNQrbhJJ H1F+ZFSPvZaiAp7HfCw6EDSLgLslCIa7dbZYHfcqQqUKBQmOaUhMyt8j1PhjhbCPJV7O ODg/xOJd6RPqczDsj+C56Zp1SY34GvKDZrK6nOMUwIQsHkz8nyeYqzxVJyYC+r8FVzkY z+GmXXfsH2QzSBjhaHkaaxVyK8gTVI/DjcjUcn1afRanUjyOYKmUs3/ORTIhgNEXNaas 53dboHD7mbSbgdU/a9lfV8sI0zpXyYduJSArD9osvk6yV4VljkbtkjJf06ihxFKfCBG0 KRxg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ivnGPn0U+vKkuVj8I1sRuA8/9Xr83xpSGYJc71LT/UY=; b=HdDUFuL+Kto1frzjaYM1W7hG4aQy6J1phVn6Wb/qtoOfy2sp5LXmmzeGdEkTHMm07G 9Td7nqZmVjj3xjN6ijhUMbOb5w3ubl9vqJu7U1UbYN+97Eiu9qz2Xl/MLlKnlRtJLQZD 544JCnVMuGUmEgmrqPKEgM5+YTLStvai3PQOzYTTadXtjqB79/FqRJhMb7mWbgJPJDlg qiDTtU5eC8n+FFineiy8vjbp2qG2PtT7kL74n+gFIVxE8SBdhdi4JUW1z0Adfq65CM81 zViZutgYITVH2Wz6en0tbLPiriROs9ojOmIlnyacwWLqL9ihadnLx+RWZXBCuSO4ocqM B+dA== X-Gm-Message-State: ACrzQf2t8PRPQ8rxgydgX8ClamiLHXYDeDatCy8+48/4zIm946sE2dJZ XC7rzJ6wtTl1Dapks/wKqveO7CIpMcgurw== X-Google-Smtp-Source: AMsMyM6mzOXVjdUBlB2V8s4n+86UwZOh+JT3bDwyc3yeYxwgcpEOwpBfZNcXjO4LcZp3hFX2l30CJQ== X-Received: by 2002:a05:6000:3c3:b0:236:b2ce:593e with SMTP id b3-20020a05600003c300b00236b2ce593emr4945002wrg.580.1667169065204; Sun, 30 Oct 2022 15:31:05 -0700 (PDT) Received: from localhost.localdomain ([185.126.107.38]) by smtp.gmail.com with ESMTPSA id bs14-20020a056000070e00b0023647841c5bsm5243254wrb.60.2022.10.30.15.31.02 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 30 Oct 2022 15:31:04 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Aleksandar Rikalo , Huacai Chen , Stefan Pejic , Jiaxun Yang , Aurelien Jarno , Paul Burton , Milica Lazarevic , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= , Richard Henderson Subject: [PULL 21/55] disas/nanomips: Remove disasm methods from class Date: Sun, 30 Oct 2022 23:28:07 +0100 Message-Id: <20221030222841.42377-22-philmd@linaro.org> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221030222841.42377-1-philmd@linaro.org> References: <20221030222841.42377-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::434; envelope-from=philmd@linaro.org; helo=mail-wr1-x434.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Qemu-devel" Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Milica Lazarevic NMD class methods with the disassembly_function type like NMD::ABS_D, NMD::ABS_S, etc. are removed from the class. They're now declared global static functions. Therefore, typedef of the function pointer, disassembly_function is defined outside of the class. Now that disassembly_function type functions are not part of the NMD class we can't access them using the this pointer. Thus, the use of the this pointer has been deleted. Signed-off-by: Milica Lazarevic Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson Message-Id: <20220912122635.74032-8-milica.lazarevic@syrmia.com> Signed-off-by: Philippe Mathieu-Daudé --- disas/nanomips.cpp | 2546 ++++++++++++++++++++++---------------------- disas/nanomips.h | 642 +---------- 2 files changed, 1275 insertions(+), 1913 deletions(-) diff --git a/disas/nanomips.cpp b/disas/nanomips.cpp index 98a632a3fc..5482284206 100644 --- a/disas/nanomips.cpp +++ b/disas/nanomips.cpp @@ -802,7 +802,7 @@ int NMD::Disassemble(const uint16 * data, std::string & dis, return -6; } type = table[i].type; - dis = (this->*dis_fn)(op_code, info); + dis = dis_fn(op_code, info); return table[i].instructions_size; } else { dis = "reserved instruction"; @@ -1757,7 +1757,7 @@ static bool SLTU_cond(uint64 instruction) * fs ----- * fd ----- */ -std::string NMD::ABS_D(uint64 instruction, Dis_info *info) +static std::string ABS_D(uint64 instruction, Dis_info *info) { uint64 fd_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -1779,7 +1779,7 @@ std::string NMD::ABS_D(uint64 instruction, Dis_info *info) * fd ----- * fs ----- */ -std::string NMD::ABS_S(uint64 instruction, Dis_info *info) +static std::string ABS_S(uint64 instruction, Dis_info *info) { uint64 fd_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -1801,7 +1801,7 @@ std::string NMD::ABS_S(uint64 instruction, Dis_info *info) * rt ----- * rs ----- */ -std::string NMD::ABSQ_S_PH(uint64 instruction, Dis_info *info) +static std::string ABSQ_S_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -1823,7 +1823,7 @@ std::string NMD::ABSQ_S_PH(uint64 instruction, Dis_info *info) * rt ----- * rs ----- */ -std::string NMD::ABSQ_S_QB(uint64 instruction, Dis_info *info) +static std::string ABSQ_S_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -1845,7 +1845,7 @@ std::string NMD::ABSQ_S_QB(uint64 instruction, Dis_info *info) * rt ----- * rs ----- */ -std::string NMD::ABSQ_S_W(uint64 instruction, Dis_info *info) +static std::string ABSQ_S_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -1866,7 +1866,7 @@ std::string NMD::ABSQ_S_W(uint64 instruction, Dis_info *info) * rt ----- * rs ----- */ -std::string NMD::ACLR(uint64 instruction, Dis_info *info) +static std::string ACLR(uint64 instruction, Dis_info *info) { uint64 bit_value = extract_bit_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -1889,7 +1889,7 @@ std::string NMD::ACLR(uint64 instruction, Dis_info *info) * rt ----- * rs ----- */ -std::string NMD::ADD(uint64 instruction, Dis_info *info) +static std::string ADD(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -1914,7 +1914,7 @@ std::string NMD::ADD(uint64 instruction, Dis_info *info) * fs ----- * fd ----- */ -std::string NMD::ADD_D(uint64 instruction, Dis_info *info) +static std::string ADD_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -1939,7 +1939,7 @@ std::string NMD::ADD_D(uint64 instruction, Dis_info *info) * fs ----- * fd ----- */ -std::string NMD::ADD_S(uint64 instruction, Dis_info *info) +static std::string ADD_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -1962,7 +1962,7 @@ std::string NMD::ADD_S(uint64 instruction, Dis_info *info) * rt ----- * rs ----- */ -std::string NMD::ADDIU_32_(uint64 instruction, Dis_info *info) +static std::string ADDIU_32_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -1985,7 +1985,7 @@ std::string NMD::ADDIU_32_(uint64 instruction, Dis_info *info) * rt ----- * rs ----- */ -std::string NMD::ADDIU_48_(uint64 instruction, Dis_info *info) +static std::string ADDIU_48_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_41_40_39_38_37(instruction); int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction); @@ -2006,7 +2006,7 @@ std::string NMD::ADDIU_48_(uint64 instruction, Dis_info *info) * rt ----- * rs ----- */ -std::string NMD::ADDIU_GP48_(uint64 instruction, Dis_info *info) +static std::string ADDIU_GP48_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_41_40_39_38_37(instruction); int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction); @@ -2027,7 +2027,7 @@ std::string NMD::ADDIU_GP48_(uint64 instruction, Dis_info *info) * rt ----- * rs ----- */ -std::string NMD::ADDIU_GP_B_(uint64 instruction, Dis_info *info) +static std::string ADDIU_GP_B_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_0(instruction); @@ -2048,7 +2048,7 @@ std::string NMD::ADDIU_GP_B_(uint64 instruction, Dis_info *info) * rt ----- * rs ----- */ -std::string NMD::ADDIU_GP_W_(uint64 instruction, Dis_info *info) +static std::string ADDIU_GP_W_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_20_to_2__s2(instruction); @@ -2069,7 +2069,7 @@ std::string NMD::ADDIU_GP_W_(uint64 instruction, Dis_info *info) * rt ----- * rs ----- */ -std::string NMD::ADDIU_NEG_(uint64 instruction, Dis_info *info) +static std::string ADDIU_NEG_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -2092,7 +2092,7 @@ std::string NMD::ADDIU_NEG_(uint64 instruction, Dis_info *info) * rt ----- * rs ----- */ -std::string NMD::ADDIU_R1_SP_(uint64 instruction, Dis_info *info) +static std::string ADDIU_R1_SP_(uint64 instruction, Dis_info *info) { uint64 u_value = extract_u_5_4_3_2_1_0__s2(instruction); uint64 rt3_value = extract_rt3_9_8_7(instruction); @@ -2113,7 +2113,7 @@ std::string NMD::ADDIU_R1_SP_(uint64 instruction, Dis_info *info) * rt ----- * rs ----- */ -std::string NMD::ADDIU_R2_(uint64 instruction, Dis_info *info) +static std::string ADDIU_R2_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); @@ -2135,7 +2135,7 @@ std::string NMD::ADDIU_R2_(uint64 instruction, Dis_info *info) * rt ----- * s - --- */ -std::string NMD::ADDIU_RS5_(uint64 instruction, Dis_info *info) +static std::string ADDIU_RS5_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_9_8_7_6_5(instruction); int64 s_value = extract_s__se3_4_2_1_0(instruction); @@ -2157,7 +2157,7 @@ std::string NMD::ADDIU_RS5_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::ADDIUPC_32_(uint64 instruction, Dis_info *info) +static std::string ADDIUPC_32_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); int64 s_value = extract_s__se21_0_20_to_1_s1(instruction); @@ -2179,7 +2179,7 @@ std::string NMD::ADDIUPC_32_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::ADDIUPC_48_(uint64 instruction, Dis_info *info) +static std::string ADDIUPC_48_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_41_40_39_38_37(instruction); int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction); @@ -2201,7 +2201,7 @@ std::string NMD::ADDIUPC_48_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::ADDQ_PH(uint64 instruction, Dis_info *info) +static std::string ADDQ_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -2226,7 +2226,7 @@ std::string NMD::ADDQ_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::ADDQ_S_PH(uint64 instruction, Dis_info *info) +static std::string ADDQ_S_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -2250,7 +2250,7 @@ std::string NMD::ADDQ_S_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::ADDQ_S_W(uint64 instruction, Dis_info *info) +static std::string ADDQ_S_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -2275,7 +2275,7 @@ std::string NMD::ADDQ_S_W(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::ADDQH_PH(uint64 instruction, Dis_info *info) +static std::string ADDQH_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -2300,7 +2300,7 @@ std::string NMD::ADDQH_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::ADDQH_R_PH(uint64 instruction, Dis_info *info) +static std::string ADDQH_R_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -2325,7 +2325,7 @@ std::string NMD::ADDQH_R_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::ADDQH_R_W(uint64 instruction, Dis_info *info) +static std::string ADDQH_R_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -2350,7 +2350,7 @@ std::string NMD::ADDQH_R_W(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::ADDQH_W(uint64 instruction, Dis_info *info) +static std::string ADDQH_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -2374,7 +2374,7 @@ std::string NMD::ADDQH_W(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::ADDSC(uint64 instruction, Dis_info *info) +static std::string ADDSC(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -2397,7 +2397,7 @@ std::string NMD::ADDSC(uint64 instruction, Dis_info *info) * rs3 --- * rd3 --- */ -std::string NMD::ADDU_16_(uint64 instruction, Dis_info *info) +static std::string ADDU_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); @@ -2421,7 +2421,7 @@ std::string NMD::ADDU_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::ADDU_32_(uint64 instruction, Dis_info *info) +static std::string ADDU_32_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -2445,7 +2445,7 @@ std::string NMD::ADDU_32_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::ADDU_4X4_(uint64 instruction, Dis_info *info) +static std::string ADDU_4X4_(uint64 instruction, Dis_info *info) { uint64 rt4_value = extract_rt4_9_7_6_5(instruction); uint64 rs4_value = extract_rs4_4_2_1_0(instruction); @@ -2467,7 +2467,7 @@ std::string NMD::ADDU_4X4_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::ADDU_PH(uint64 instruction, Dis_info *info) +static std::string ADDU_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -2491,7 +2491,7 @@ std::string NMD::ADDU_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::ADDU_QB(uint64 instruction, Dis_info *info) +static std::string ADDU_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -2516,7 +2516,7 @@ std::string NMD::ADDU_QB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::ADDU_S_PH(uint64 instruction, Dis_info *info) +static std::string ADDU_S_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -2540,7 +2540,7 @@ std::string NMD::ADDU_S_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::ADDU_S_QB(uint64 instruction, Dis_info *info) +static std::string ADDU_S_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -2565,7 +2565,7 @@ std::string NMD::ADDU_S_QB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::ADDUH_QB(uint64 instruction, Dis_info *info) +static std::string ADDUH_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -2590,7 +2590,7 @@ std::string NMD::ADDUH_QB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::ADDUH_R_QB(uint64 instruction, Dis_info *info) +static std::string ADDUH_R_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -2613,7 +2613,7 @@ std::string NMD::ADDUH_R_QB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::ADDWC(uint64 instruction, Dis_info *info) +static std::string ADDWC(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -2637,7 +2637,7 @@ std::string NMD::ADDWC(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::ALUIPC(uint64 instruction, Dis_info *info) +static std::string ALUIPC(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); int64 s_value = extract_s__se31_0_11_to_2_20_to_12_s12(instruction); @@ -2658,7 +2658,7 @@ std::string NMD::ALUIPC(uint64 instruction, Dis_info *info) * rs3 --- * eu ---- */ -std::string NMD::AND_16_(uint64 instruction, Dis_info *info) +static std::string AND_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); @@ -2680,7 +2680,7 @@ std::string NMD::AND_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::AND_32_(uint64 instruction, Dis_info *info) +static std::string AND_32_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -2703,7 +2703,7 @@ std::string NMD::AND_32_(uint64 instruction, Dis_info *info) * rs3 --- * eu ---- */ -std::string NMD::ANDI_16_(uint64 instruction, Dis_info *info) +static std::string ANDI_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); @@ -2727,7 +2727,7 @@ std::string NMD::ANDI_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::ANDI_32_(uint64 instruction, Dis_info *info) +static std::string ANDI_32_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -2751,7 +2751,7 @@ std::string NMD::ANDI_32_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::APPEND(uint64 instruction, Dis_info *info) +static std::string APPEND(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -2775,7 +2775,7 @@ std::string NMD::APPEND(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::ASET(uint64 instruction, Dis_info *info) +static std::string ASET(uint64 instruction, Dis_info *info) { uint64 bit_value = extract_bit_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -2799,7 +2799,7 @@ std::string NMD::ASET(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::BALC_16_(uint64 instruction, Dis_info *info) +static std::string BALC_16_(uint64 instruction, Dis_info *info) { int64 s_value = extract_s__se10_0_9_8_7_6_5_4_3_2_1_s1(instruction); @@ -2819,7 +2819,7 @@ std::string NMD::BALC_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::BALC_32_(uint64 instruction, Dis_info *info) +static std::string BALC_32_(uint64 instruction, Dis_info *info) { int64 s_value = extract_s__se25_0_24_to_1_s1(instruction); @@ -2839,7 +2839,7 @@ std::string NMD::BALC_32_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::BALRSC(uint64 instruction, Dis_info *info) +static std::string BALRSC(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -2861,7 +2861,7 @@ std::string NMD::BALRSC(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::BBEQZC(uint64 instruction, Dis_info *info) +static std::string BBEQZC(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 bit_value = extract_bit_16_15_14_13_12_11(instruction); @@ -2885,7 +2885,7 @@ std::string NMD::BBEQZC(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::BBNEZC(uint64 instruction, Dis_info *info) +static std::string BBNEZC(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 bit_value = extract_bit_16_15_14_13_12_11(instruction); @@ -2909,7 +2909,7 @@ std::string NMD::BBNEZC(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::BC_16_(uint64 instruction, Dis_info *info) +static std::string BC_16_(uint64 instruction, Dis_info *info) { int64 s_value = extract_s__se10_0_9_8_7_6_5_4_3_2_1_s1(instruction); @@ -2929,7 +2929,7 @@ std::string NMD::BC_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::BC_32_(uint64 instruction, Dis_info *info) +static std::string BC_32_(uint64 instruction, Dis_info *info) { int64 s_value = extract_s__se25_0_24_to_1_s1(instruction); @@ -2949,7 +2949,7 @@ std::string NMD::BC_32_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::BC1EQZC(uint64 instruction, Dis_info *info) +static std::string BC1EQZC(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); int64 s_value = extract_s__se14_0_13_to_1_s1(instruction); @@ -2971,7 +2971,7 @@ std::string NMD::BC1EQZC(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::BC1NEZC(uint64 instruction, Dis_info *info) +static std::string BC1NEZC(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); int64 s_value = extract_s__se14_0_13_to_1_s1(instruction); @@ -2993,7 +2993,7 @@ std::string NMD::BC1NEZC(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::BC2EQZC(uint64 instruction, Dis_info *info) +static std::string BC2EQZC(uint64 instruction, Dis_info *info) { uint64 ct_value = extract_ct_25_24_23_22_21(instruction); int64 s_value = extract_s__se14_0_13_to_1_s1(instruction); @@ -3015,7 +3015,7 @@ std::string NMD::BC2EQZC(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::BC2NEZC(uint64 instruction, Dis_info *info) +static std::string BC2NEZC(uint64 instruction, Dis_info *info) { uint64 ct_value = extract_ct_25_24_23_22_21(instruction); int64 s_value = extract_s__se14_0_13_to_1_s1(instruction); @@ -3037,7 +3037,7 @@ std::string NMD::BC2NEZC(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::BEQC_16_(uint64 instruction, Dis_info *info) +static std::string BEQC_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); @@ -3061,7 +3061,7 @@ std::string NMD::BEQC_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::BEQC_32_(uint64 instruction, Dis_info *info) +static std::string BEQC_32_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -3085,7 +3085,7 @@ std::string NMD::BEQC_32_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::BEQIC(uint64 instruction, Dis_info *info) +static std::string BEQIC(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_16_15_14_13_12_11(instruction); @@ -3109,7 +3109,7 @@ std::string NMD::BEQIC(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::BEQZC_16_(uint64 instruction, Dis_info *info) +static std::string BEQZC_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); int64 s_value = extract_s__se7_0_6_5_4_3_2_1_s1(instruction); @@ -3131,7 +3131,7 @@ std::string NMD::BEQZC_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::BGEC(uint64 instruction, Dis_info *info) +static std::string BGEC(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -3155,7 +3155,7 @@ std::string NMD::BGEC(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::BGEIC(uint64 instruction, Dis_info *info) +static std::string BGEIC(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_16_15_14_13_12_11(instruction); @@ -3179,7 +3179,7 @@ std::string NMD::BGEIC(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::BGEIUC(uint64 instruction, Dis_info *info) +static std::string BGEIUC(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_16_15_14_13_12_11(instruction); @@ -3203,7 +3203,7 @@ std::string NMD::BGEIUC(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::BGEUC(uint64 instruction, Dis_info *info) +static std::string BGEUC(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -3227,7 +3227,7 @@ std::string NMD::BGEUC(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::BLTC(uint64 instruction, Dis_info *info) +static std::string BLTC(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -3251,7 +3251,7 @@ std::string NMD::BLTC(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::BLTIC(uint64 instruction, Dis_info *info) +static std::string BLTIC(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_16_15_14_13_12_11(instruction); @@ -3275,7 +3275,7 @@ std::string NMD::BLTIC(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::BLTIUC(uint64 instruction, Dis_info *info) +static std::string BLTIUC(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_16_15_14_13_12_11(instruction); @@ -3299,7 +3299,7 @@ std::string NMD::BLTIUC(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::BLTUC(uint64 instruction, Dis_info *info) +static std::string BLTUC(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -3323,7 +3323,7 @@ std::string NMD::BLTUC(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::BNEC_16_(uint64 instruction, Dis_info *info) +static std::string BNEC_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); @@ -3347,7 +3347,7 @@ std::string NMD::BNEC_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::BNEC_32_(uint64 instruction, Dis_info *info) +static std::string BNEC_32_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -3371,7 +3371,7 @@ std::string NMD::BNEC_32_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::BNEIC(uint64 instruction, Dis_info *info) +static std::string BNEIC(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_16_15_14_13_12_11(instruction); @@ -3395,7 +3395,7 @@ std::string NMD::BNEIC(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::BNEZC_16_(uint64 instruction, Dis_info *info) +static std::string BNEZC_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); int64 s_value = extract_s__se7_0_6_5_4_3_2_1_s1(instruction); @@ -3417,7 +3417,7 @@ std::string NMD::BNEZC_16_(uint64 instruction, Dis_info *info) * s[13:1] ------------- * s[14] - */ -std::string NMD::BPOSGE32C(uint64 instruction, Dis_info *info) +static std::string BPOSGE32C(uint64 instruction, Dis_info *info) { int64 s_value = extract_s__se14_0_13_to_1_s1(instruction); @@ -3437,7 +3437,7 @@ std::string NMD::BPOSGE32C(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::BREAK_16_(uint64 instruction, Dis_info *info) +static std::string BREAK_16_(uint64 instruction, Dis_info *info) { uint64 code_value = extract_code_2_1_0(instruction); @@ -3457,7 +3457,7 @@ std::string NMD::BREAK_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::BREAK_32_(uint64 instruction, Dis_info *info) +static std::string BREAK_32_(uint64 instruction, Dis_info *info) { uint64 code_value = extract_code_18_to_0(instruction); @@ -3477,7 +3477,7 @@ std::string NMD::BREAK_32_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::BRSC(uint64 instruction, Dis_info *info) +static std::string BRSC(uint64 instruction, Dis_info *info) { uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -3497,7 +3497,7 @@ std::string NMD::BRSC(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CACHE(uint64 instruction, Dis_info *info) +static std::string CACHE(uint64 instruction, Dis_info *info) { uint64 op_value = extract_op_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -3521,7 +3521,7 @@ std::string NMD::CACHE(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CACHEE(uint64 instruction, Dis_info *info) +static std::string CACHEE(uint64 instruction, Dis_info *info) { uint64 op_value = extract_op_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -3545,7 +3545,7 @@ std::string NMD::CACHEE(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CEIL_L_D(uint64 instruction, Dis_info *info) +static std::string CEIL_L_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -3567,7 +3567,7 @@ std::string NMD::CEIL_L_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CEIL_L_S(uint64 instruction, Dis_info *info) +static std::string CEIL_L_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -3589,7 +3589,7 @@ std::string NMD::CEIL_L_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CEIL_W_D(uint64 instruction, Dis_info *info) +static std::string CEIL_W_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -3611,7 +3611,7 @@ std::string NMD::CEIL_W_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CEIL_W_S(uint64 instruction, Dis_info *info) +static std::string CEIL_W_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -3633,7 +3633,7 @@ std::string NMD::CEIL_W_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CFC1(uint64 instruction, Dis_info *info) +static std::string CFC1(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 cs_value = extract_cs_20_19_18_17_16(instruction); @@ -3655,7 +3655,7 @@ std::string NMD::CFC1(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CFC2(uint64 instruction, Dis_info *info) +static std::string CFC2(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 cs_value = extract_cs_20_19_18_17_16(instruction); @@ -3677,7 +3677,7 @@ std::string NMD::CFC2(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CLASS_D(uint64 instruction, Dis_info *info) +static std::string CLASS_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -3699,7 +3699,7 @@ std::string NMD::CLASS_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CLASS_S(uint64 instruction, Dis_info *info) +static std::string CLASS_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -3721,7 +3721,7 @@ std::string NMD::CLASS_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CLO(uint64 instruction, Dis_info *info) +static std::string CLO(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -3743,7 +3743,7 @@ std::string NMD::CLO(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CLZ(uint64 instruction, Dis_info *info) +static std::string CLZ(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -3765,7 +3765,7 @@ std::string NMD::CLZ(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CMP_AF_D(uint64 instruction, Dis_info *info) +static std::string CMP_AF_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -3789,7 +3789,7 @@ std::string NMD::CMP_AF_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CMP_AF_S(uint64 instruction, Dis_info *info) +static std::string CMP_AF_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -3813,7 +3813,7 @@ std::string NMD::CMP_AF_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CMP_EQ_D(uint64 instruction, Dis_info *info) +static std::string CMP_EQ_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -3836,7 +3836,7 @@ std::string NMD::CMP_EQ_D(uint64 instruction, Dis_info *info) * rt ----- * rs ----- */ -std::string NMD::CMP_EQ_PH(uint64 instruction, Dis_info *info) +static std::string CMP_EQ_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -3858,7 +3858,7 @@ std::string NMD::CMP_EQ_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CMP_EQ_S(uint64 instruction, Dis_info *info) +static std::string CMP_EQ_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -3882,7 +3882,7 @@ std::string NMD::CMP_EQ_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CMP_LE_D(uint64 instruction, Dis_info *info) +static std::string CMP_LE_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -3905,7 +3905,7 @@ std::string NMD::CMP_LE_D(uint64 instruction, Dis_info *info) * rt ----- * rs ----- */ -std::string NMD::CMP_LE_PH(uint64 instruction, Dis_info *info) +static std::string CMP_LE_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -3927,7 +3927,7 @@ std::string NMD::CMP_LE_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CMP_LE_S(uint64 instruction, Dis_info *info) +static std::string CMP_LE_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -3951,7 +3951,7 @@ std::string NMD::CMP_LE_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CMP_LT_D(uint64 instruction, Dis_info *info) +static std::string CMP_LT_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -3974,7 +3974,7 @@ std::string NMD::CMP_LT_D(uint64 instruction, Dis_info *info) * rt ----- * rs ----- */ -std::string NMD::CMP_LT_PH(uint64 instruction, Dis_info *info) +static std::string CMP_LT_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -3996,7 +3996,7 @@ std::string NMD::CMP_LT_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CMP_LT_S(uint64 instruction, Dis_info *info) +static std::string CMP_LT_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4020,7 +4020,7 @@ std::string NMD::CMP_LT_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CMP_NE_D(uint64 instruction, Dis_info *info) +static std::string CMP_NE_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4044,7 +4044,7 @@ std::string NMD::CMP_NE_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CMP_NE_S(uint64 instruction, Dis_info *info) +static std::string CMP_NE_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4068,7 +4068,7 @@ std::string NMD::CMP_NE_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CMP_OR_D(uint64 instruction, Dis_info *info) +static std::string CMP_OR_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4092,7 +4092,7 @@ std::string NMD::CMP_OR_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CMP_OR_S(uint64 instruction, Dis_info *info) +static std::string CMP_OR_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4116,7 +4116,7 @@ std::string NMD::CMP_OR_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CMP_SAF_D(uint64 instruction, Dis_info *info) +static std::string CMP_SAF_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4140,7 +4140,7 @@ std::string NMD::CMP_SAF_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CMP_SAF_S(uint64 instruction, Dis_info *info) +static std::string CMP_SAF_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4164,7 +4164,7 @@ std::string NMD::CMP_SAF_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CMP_SEQ_D(uint64 instruction, Dis_info *info) +static std::string CMP_SEQ_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4188,7 +4188,7 @@ std::string NMD::CMP_SEQ_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CMP_SEQ_S(uint64 instruction, Dis_info *info) +static std::string CMP_SEQ_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4212,7 +4212,7 @@ std::string NMD::CMP_SEQ_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CMP_SLE_D(uint64 instruction, Dis_info *info) +static std::string CMP_SLE_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4236,7 +4236,7 @@ std::string NMD::CMP_SLE_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CMP_SLE_S(uint64 instruction, Dis_info *info) +static std::string CMP_SLE_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4260,7 +4260,7 @@ std::string NMD::CMP_SLE_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CMP_SLT_D(uint64 instruction, Dis_info *info) +static std::string CMP_SLT_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4284,7 +4284,7 @@ std::string NMD::CMP_SLT_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CMP_SLT_S(uint64 instruction, Dis_info *info) +static std::string CMP_SLT_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4308,7 +4308,7 @@ std::string NMD::CMP_SLT_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CMP_SNE_D(uint64 instruction, Dis_info *info) +static std::string CMP_SNE_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4332,7 +4332,7 @@ std::string NMD::CMP_SNE_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CMP_SNE_S(uint64 instruction, Dis_info *info) +static std::string CMP_SNE_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4356,7 +4356,7 @@ std::string NMD::CMP_SNE_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CMP_SOR_D(uint64 instruction, Dis_info *info) +static std::string CMP_SOR_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4380,7 +4380,7 @@ std::string NMD::CMP_SOR_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CMP_SOR_S(uint64 instruction, Dis_info *info) +static std::string CMP_SOR_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4404,7 +4404,7 @@ std::string NMD::CMP_SOR_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CMP_SUEQ_D(uint64 instruction, Dis_info *info) +static std::string CMP_SUEQ_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4428,7 +4428,7 @@ std::string NMD::CMP_SUEQ_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CMP_SUEQ_S(uint64 instruction, Dis_info *info) +static std::string CMP_SUEQ_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4452,7 +4452,7 @@ std::string NMD::CMP_SUEQ_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CMP_SULE_D(uint64 instruction, Dis_info *info) +static std::string CMP_SULE_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4476,7 +4476,7 @@ std::string NMD::CMP_SULE_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CMP_SULE_S(uint64 instruction, Dis_info *info) +static std::string CMP_SULE_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4500,7 +4500,7 @@ std::string NMD::CMP_SULE_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CMP_SULT_D(uint64 instruction, Dis_info *info) +static std::string CMP_SULT_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4524,7 +4524,7 @@ std::string NMD::CMP_SULT_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CMP_SULT_S(uint64 instruction, Dis_info *info) +static std::string CMP_SULT_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4548,7 +4548,7 @@ std::string NMD::CMP_SULT_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CMP_SUN_D(uint64 instruction, Dis_info *info) +static std::string CMP_SUN_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4572,7 +4572,7 @@ std::string NMD::CMP_SUN_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CMP_SUNE_D(uint64 instruction, Dis_info *info) +static std::string CMP_SUNE_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4596,7 +4596,7 @@ std::string NMD::CMP_SUNE_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CMP_SUNE_S(uint64 instruction, Dis_info *info) +static std::string CMP_SUNE_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4620,7 +4620,7 @@ std::string NMD::CMP_SUNE_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CMP_SUN_S(uint64 instruction, Dis_info *info) +static std::string CMP_SUN_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4644,7 +4644,7 @@ std::string NMD::CMP_SUN_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CMP_UEQ_D(uint64 instruction, Dis_info *info) +static std::string CMP_UEQ_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4668,7 +4668,7 @@ std::string NMD::CMP_UEQ_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CMP_UEQ_S(uint64 instruction, Dis_info *info) +static std::string CMP_UEQ_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4692,7 +4692,7 @@ std::string NMD::CMP_UEQ_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CMP_ULE_D(uint64 instruction, Dis_info *info) +static std::string CMP_ULE_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4716,7 +4716,7 @@ std::string NMD::CMP_ULE_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CMP_ULE_S(uint64 instruction, Dis_info *info) +static std::string CMP_ULE_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4740,7 +4740,7 @@ std::string NMD::CMP_ULE_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CMP_ULT_D(uint64 instruction, Dis_info *info) +static std::string CMP_ULT_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4764,7 +4764,7 @@ std::string NMD::CMP_ULT_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CMP_ULT_S(uint64 instruction, Dis_info *info) +static std::string CMP_ULT_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4788,7 +4788,7 @@ std::string NMD::CMP_ULT_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CMP_UN_D(uint64 instruction, Dis_info *info) +static std::string CMP_UN_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4812,7 +4812,7 @@ std::string NMD::CMP_UN_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CMP_UNE_D(uint64 instruction, Dis_info *info) +static std::string CMP_UNE_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4836,7 +4836,7 @@ std::string NMD::CMP_UNE_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CMP_UNE_S(uint64 instruction, Dis_info *info) +static std::string CMP_UNE_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4860,7 +4860,7 @@ std::string NMD::CMP_UNE_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CMP_UN_S(uint64 instruction, Dis_info *info) +static std::string CMP_UN_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -4885,7 +4885,7 @@ std::string NMD::CMP_UN_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CMPGDU_EQ_QB(uint64 instruction, Dis_info *info) +static std::string CMPGDU_EQ_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -4910,7 +4910,7 @@ std::string NMD::CMPGDU_EQ_QB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CMPGDU_LE_QB(uint64 instruction, Dis_info *info) +static std::string CMPGDU_LE_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -4935,7 +4935,7 @@ std::string NMD::CMPGDU_LE_QB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CMPGDU_LT_QB(uint64 instruction, Dis_info *info) +static std::string CMPGDU_LT_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -4960,7 +4960,7 @@ std::string NMD::CMPGDU_LT_QB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CMPGU_EQ_QB(uint64 instruction, Dis_info *info) +static std::string CMPGU_EQ_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -4985,7 +4985,7 @@ std::string NMD::CMPGU_EQ_QB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CMPGU_LE_QB(uint64 instruction, Dis_info *info) +static std::string CMPGU_LE_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -5010,7 +5010,7 @@ std::string NMD::CMPGU_LE_QB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CMPGU_LT_QB(uint64 instruction, Dis_info *info) +static std::string CMPGU_LT_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -5034,7 +5034,7 @@ std::string NMD::CMPGU_LT_QB(uint64 instruction, Dis_info *info) * rt ----- * rs ----- */ -std::string NMD::CMPU_EQ_QB(uint64 instruction, Dis_info *info) +static std::string CMPU_EQ_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -5056,7 +5056,7 @@ std::string NMD::CMPU_EQ_QB(uint64 instruction, Dis_info *info) * rt ----- * rs ----- */ -std::string NMD::CMPU_LE_QB(uint64 instruction, Dis_info *info) +static std::string CMPU_LE_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -5078,7 +5078,7 @@ std::string NMD::CMPU_LE_QB(uint64 instruction, Dis_info *info) * rt ----- * rs ----- */ -std::string NMD::CMPU_LT_QB(uint64 instruction, Dis_info *info) +static std::string CMPU_LT_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -5100,7 +5100,7 @@ std::string NMD::CMPU_LT_QB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::COP2_1(uint64 instruction, Dis_info *info) +static std::string COP2_1(uint64 instruction, Dis_info *info) { uint64 cofun_value = extract_cofun_25_24_23(instruction); @@ -5120,7 +5120,7 @@ std::string NMD::COP2_1(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CTC1(uint64 instruction, Dis_info *info) +static std::string CTC1(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 cs_value = extract_cs_20_19_18_17_16(instruction); @@ -5142,7 +5142,7 @@ std::string NMD::CTC1(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CTC2(uint64 instruction, Dis_info *info) +static std::string CTC2(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 cs_value = extract_cs_20_19_18_17_16(instruction); @@ -5164,7 +5164,7 @@ std::string NMD::CTC2(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CVT_D_L(uint64 instruction, Dis_info *info) +static std::string CVT_D_L(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -5186,7 +5186,7 @@ std::string NMD::CVT_D_L(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CVT_D_S(uint64 instruction, Dis_info *info) +static std::string CVT_D_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -5208,7 +5208,7 @@ std::string NMD::CVT_D_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CVT_D_W(uint64 instruction, Dis_info *info) +static std::string CVT_D_W(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -5230,7 +5230,7 @@ std::string NMD::CVT_D_W(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CVT_L_D(uint64 instruction, Dis_info *info) +static std::string CVT_L_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -5252,7 +5252,7 @@ std::string NMD::CVT_L_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CVT_L_S(uint64 instruction, Dis_info *info) +static std::string CVT_L_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -5274,7 +5274,7 @@ std::string NMD::CVT_L_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CVT_S_D(uint64 instruction, Dis_info *info) +static std::string CVT_S_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -5296,7 +5296,7 @@ std::string NMD::CVT_S_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CVT_S_L(uint64 instruction, Dis_info *info) +static std::string CVT_S_L(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -5318,7 +5318,7 @@ std::string NMD::CVT_S_L(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CVT_S_PL(uint64 instruction, Dis_info *info) +static std::string CVT_S_PL(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -5340,7 +5340,7 @@ std::string NMD::CVT_S_PL(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CVT_S_PU(uint64 instruction, Dis_info *info) +static std::string CVT_S_PU(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -5362,7 +5362,7 @@ std::string NMD::CVT_S_PU(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CVT_S_W(uint64 instruction, Dis_info *info) +static std::string CVT_S_W(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -5384,7 +5384,7 @@ std::string NMD::CVT_S_W(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CVT_W_D(uint64 instruction, Dis_info *info) +static std::string CVT_W_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -5406,7 +5406,7 @@ std::string NMD::CVT_W_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::CVT_W_S(uint64 instruction, Dis_info *info) +static std::string CVT_W_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -5428,7 +5428,7 @@ std::string NMD::CVT_W_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DADDIU_48_(uint64 instruction, Dis_info *info) +static std::string DADDIU_48_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_41_40_39_38_37(instruction); int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction); @@ -5450,7 +5450,7 @@ std::string NMD::DADDIU_48_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DADDIU_NEG_(uint64 instruction, Dis_info *info) +static std::string DADDIU_NEG_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -5474,7 +5474,7 @@ std::string NMD::DADDIU_NEG_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DADDIU_U12_(uint64 instruction, Dis_info *info) +static std::string DADDIU_U12_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -5498,7 +5498,7 @@ std::string NMD::DADDIU_U12_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DADD(uint64 instruction, Dis_info *info) +static std::string DADD(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -5522,7 +5522,7 @@ std::string NMD::DADD(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DADDU(uint64 instruction, Dis_info *info) +static std::string DADDU(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -5546,7 +5546,7 @@ std::string NMD::DADDU(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DCLO(uint64 instruction, Dis_info *info) +static std::string DCLO(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -5568,7 +5568,7 @@ std::string NMD::DCLO(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DCLZ(uint64 instruction, Dis_info *info) +static std::string DCLZ(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -5590,7 +5590,7 @@ std::string NMD::DCLZ(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DDIV(uint64 instruction, Dis_info *info) +static std::string DDIV(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -5614,7 +5614,7 @@ std::string NMD::DDIV(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DDIVU(uint64 instruction, Dis_info *info) +static std::string DDIVU(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -5638,7 +5638,7 @@ std::string NMD::DDIVU(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DERET(uint64 instruction, Dis_info *info) +static std::string DERET(uint64 instruction, Dis_info *info) { (void)instruction; @@ -5656,7 +5656,7 @@ std::string NMD::DERET(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DEXTM(uint64 instruction, Dis_info *info) +static std::string DEXTM(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -5682,7 +5682,7 @@ std::string NMD::DEXTM(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DEXT(uint64 instruction, Dis_info *info) +static std::string DEXT(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -5708,7 +5708,7 @@ std::string NMD::DEXT(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DEXTU(uint64 instruction, Dis_info *info) +static std::string DEXTU(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -5734,7 +5734,7 @@ std::string NMD::DEXTU(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DINSM(uint64 instruction, Dis_info *info) +static std::string DINSM(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -5762,7 +5762,7 @@ std::string NMD::DINSM(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DINS(uint64 instruction, Dis_info *info) +static std::string DINS(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -5790,7 +5790,7 @@ std::string NMD::DINS(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DINSU(uint64 instruction, Dis_info *info) +static std::string DINSU(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -5818,7 +5818,7 @@ std::string NMD::DINSU(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DI(uint64 instruction, Dis_info *info) +static std::string DI(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); @@ -5838,7 +5838,7 @@ std::string NMD::DI(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DIV(uint64 instruction, Dis_info *info) +static std::string DIV(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -5862,7 +5862,7 @@ std::string NMD::DIV(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DIV_D(uint64 instruction, Dis_info *info) +static std::string DIV_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -5886,7 +5886,7 @@ std::string NMD::DIV_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DIV_S(uint64 instruction, Dis_info *info) +static std::string DIV_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -5910,7 +5910,7 @@ std::string NMD::DIV_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DIVU(uint64 instruction, Dis_info *info) +static std::string DIVU(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -5934,7 +5934,7 @@ std::string NMD::DIVU(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DLSA(uint64 instruction, Dis_info *info) +static std::string DLSA(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -5960,7 +5960,7 @@ std::string NMD::DLSA(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DLUI_48_(uint64 instruction, Dis_info *info) +static std::string DLUI_48_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_41_40_39_38_37(instruction); uint64 u_value = extract_u_31_to_0__s32(instruction); @@ -5982,7 +5982,7 @@ std::string NMD::DLUI_48_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DMFC0(uint64 instruction, Dis_info *info) +static std::string DMFC0(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); @@ -6006,7 +6006,7 @@ std::string NMD::DMFC0(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DMFC1(uint64 instruction, Dis_info *info) +static std::string DMFC1(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -6028,7 +6028,7 @@ std::string NMD::DMFC1(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DMFC2(uint64 instruction, Dis_info *info) +static std::string DMFC2(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 cs_value = extract_cs_20_19_18_17_16(instruction); @@ -6050,7 +6050,7 @@ std::string NMD::DMFC2(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DMFGC0(uint64 instruction, Dis_info *info) +static std::string DMFGC0(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); @@ -6074,7 +6074,7 @@ std::string NMD::DMFGC0(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DMOD(uint64 instruction, Dis_info *info) +static std::string DMOD(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6098,7 +6098,7 @@ std::string NMD::DMOD(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DMODU(uint64 instruction, Dis_info *info) +static std::string DMODU(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6122,7 +6122,7 @@ std::string NMD::DMODU(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DMTC0(uint64 instruction, Dis_info *info) +static std::string DMTC0(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); @@ -6146,7 +6146,7 @@ std::string NMD::DMTC0(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DMTC1(uint64 instruction, Dis_info *info) +static std::string DMTC1(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -6168,7 +6168,7 @@ std::string NMD::DMTC1(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DMTC2(uint64 instruction, Dis_info *info) +static std::string DMTC2(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 cs_value = extract_cs_20_19_18_17_16(instruction); @@ -6190,7 +6190,7 @@ std::string NMD::DMTC2(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DMTGC0(uint64 instruction, Dis_info *info) +static std::string DMTGC0(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); @@ -6214,7 +6214,7 @@ std::string NMD::DMTGC0(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DMT(uint64 instruction, Dis_info *info) +static std::string DMT(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); @@ -6234,7 +6234,7 @@ std::string NMD::DMT(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DMUH(uint64 instruction, Dis_info *info) +static std::string DMUH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6258,7 +6258,7 @@ std::string NMD::DMUH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DMUHU(uint64 instruction, Dis_info *info) +static std::string DMUHU(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6282,7 +6282,7 @@ std::string NMD::DMUHU(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DMUL(uint64 instruction, Dis_info *info) +static std::string DMUL(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6306,7 +6306,7 @@ std::string NMD::DMUL(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DMULU(uint64 instruction, Dis_info *info) +static std::string DMULU(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6331,7 +6331,7 @@ std::string NMD::DMULU(uint64 instruction, Dis_info *info) * rs ----- * ac -- */ -std::string NMD::DPA_W_PH(uint64 instruction, Dis_info *info) +static std::string DPA_W_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6355,7 +6355,7 @@ std::string NMD::DPA_W_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DPAQ_SA_L_W(uint64 instruction, Dis_info *info) +static std::string DPAQ_SA_L_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6379,7 +6379,7 @@ std::string NMD::DPAQ_SA_L_W(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DPAQ_S_W_PH(uint64 instruction, Dis_info *info) +static std::string DPAQ_S_W_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6403,7 +6403,7 @@ std::string NMD::DPAQ_S_W_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DPAQX_SA_W_PH(uint64 instruction, Dis_info *info) +static std::string DPAQX_SA_W_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6427,7 +6427,7 @@ std::string NMD::DPAQX_SA_W_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DPAQX_S_W_PH(uint64 instruction, Dis_info *info) +static std::string DPAQX_S_W_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6451,7 +6451,7 @@ std::string NMD::DPAQX_S_W_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DPAU_H_QBL(uint64 instruction, Dis_info *info) +static std::string DPAU_H_QBL(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6475,7 +6475,7 @@ std::string NMD::DPAU_H_QBL(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DPAU_H_QBR(uint64 instruction, Dis_info *info) +static std::string DPAU_H_QBR(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6499,7 +6499,7 @@ std::string NMD::DPAU_H_QBR(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DPAX_W_PH(uint64 instruction, Dis_info *info) +static std::string DPAX_W_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6523,7 +6523,7 @@ std::string NMD::DPAX_W_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DPS_W_PH(uint64 instruction, Dis_info *info) +static std::string DPS_W_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6547,7 +6547,7 @@ std::string NMD::DPS_W_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DPSQ_SA_L_W(uint64 instruction, Dis_info *info) +static std::string DPSQ_SA_L_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6571,7 +6571,7 @@ std::string NMD::DPSQ_SA_L_W(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DPSQ_S_W_PH(uint64 instruction, Dis_info *info) +static std::string DPSQ_S_W_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6595,7 +6595,7 @@ std::string NMD::DPSQ_S_W_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DPSQX_SA_W_PH(uint64 instruction, Dis_info *info) +static std::string DPSQX_SA_W_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6619,7 +6619,7 @@ std::string NMD::DPSQX_SA_W_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DPSQX_S_W_PH(uint64 instruction, Dis_info *info) +static std::string DPSQX_S_W_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6643,7 +6643,7 @@ std::string NMD::DPSQX_S_W_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DPSU_H_QBL(uint64 instruction, Dis_info *info) +static std::string DPSU_H_QBL(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6667,7 +6667,7 @@ std::string NMD::DPSU_H_QBL(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DPSU_H_QBR(uint64 instruction, Dis_info *info) +static std::string DPSU_H_QBR(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6691,7 +6691,7 @@ std::string NMD::DPSU_H_QBR(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DPSX_W_PH(uint64 instruction, Dis_info *info) +static std::string DPSX_W_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6715,7 +6715,7 @@ std::string NMD::DPSX_W_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DROTR(uint64 instruction, Dis_info *info) +static std::string DROTR(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6739,7 +6739,7 @@ std::string NMD::DROTR(uint64 instruction, Dis_info *info) * rs ----- * shift ----- */ -std::string NMD::DROTR32(uint64 instruction, Dis_info *info) +static std::string DROTR32(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6763,7 +6763,7 @@ std::string NMD::DROTR32(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DROTRV(uint64 instruction, Dis_info *info) +static std::string DROTRV(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6787,7 +6787,7 @@ std::string NMD::DROTRV(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DROTX(uint64 instruction, Dis_info *info) +static std::string DROTX(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6813,7 +6813,7 @@ std::string NMD::DROTX(uint64 instruction, Dis_info *info) * rs ----- * shift ----- */ -std::string NMD::DSLL(uint64 instruction, Dis_info *info) +static std::string DSLL(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6837,7 +6837,7 @@ std::string NMD::DSLL(uint64 instruction, Dis_info *info) * rs ----- * shift ----- */ -std::string NMD::DSLL32(uint64 instruction, Dis_info *info) +static std::string DSLL32(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6861,7 +6861,7 @@ std::string NMD::DSLL32(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DSLLV(uint64 instruction, Dis_info *info) +static std::string DSLLV(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6885,7 +6885,7 @@ std::string NMD::DSLLV(uint64 instruction, Dis_info *info) * rs ----- * shift ----- */ -std::string NMD::DSRA(uint64 instruction, Dis_info *info) +static std::string DSRA(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6909,7 +6909,7 @@ std::string NMD::DSRA(uint64 instruction, Dis_info *info) * rs ----- * shift ----- */ -std::string NMD::DSRA32(uint64 instruction, Dis_info *info) +static std::string DSRA32(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6933,7 +6933,7 @@ std::string NMD::DSRA32(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DSRAV(uint64 instruction, Dis_info *info) +static std::string DSRAV(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6957,7 +6957,7 @@ std::string NMD::DSRAV(uint64 instruction, Dis_info *info) * rs ----- * shift ----- */ -std::string NMD::DSRL(uint64 instruction, Dis_info *info) +static std::string DSRL(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -6981,7 +6981,7 @@ std::string NMD::DSRL(uint64 instruction, Dis_info *info) * rs ----- * shift ----- */ -std::string NMD::DSRL32(uint64 instruction, Dis_info *info) +static std::string DSRL32(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -7005,7 +7005,7 @@ std::string NMD::DSRL32(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DSRLV(uint64 instruction, Dis_info *info) +static std::string DSRLV(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -7029,7 +7029,7 @@ std::string NMD::DSRLV(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DSUB(uint64 instruction, Dis_info *info) +static std::string DSUB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -7053,7 +7053,7 @@ std::string NMD::DSUB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DSUBU(uint64 instruction, Dis_info *info) +static std::string DSUBU(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -7077,7 +7077,7 @@ std::string NMD::DSUBU(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DVPE(uint64 instruction, Dis_info *info) +static std::string DVPE(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); @@ -7097,7 +7097,7 @@ std::string NMD::DVPE(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::DVP(uint64 instruction, Dis_info *info) +static std::string DVP(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); @@ -7117,7 +7117,7 @@ std::string NMD::DVP(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::EHB(uint64 instruction, Dis_info *info) +static std::string EHB(uint64 instruction, Dis_info *info) { (void)instruction; @@ -7135,7 +7135,7 @@ std::string NMD::EHB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::EI(uint64 instruction, Dis_info *info) +static std::string EI(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); @@ -7155,7 +7155,7 @@ std::string NMD::EI(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::EMT(uint64 instruction, Dis_info *info) +static std::string EMT(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); @@ -7175,7 +7175,7 @@ std::string NMD::EMT(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::ERET(uint64 instruction, Dis_info *info) +static std::string ERET(uint64 instruction, Dis_info *info) { (void)instruction; @@ -7193,7 +7193,7 @@ std::string NMD::ERET(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::ERETNC(uint64 instruction, Dis_info *info) +static std::string ERETNC(uint64 instruction, Dis_info *info) { (void)instruction; @@ -7211,7 +7211,7 @@ std::string NMD::ERETNC(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::EVP(uint64 instruction, Dis_info *info) +static std::string EVP(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); @@ -7231,7 +7231,7 @@ std::string NMD::EVP(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::EVPE(uint64 instruction, Dis_info *info) +static std::string EVPE(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); @@ -7251,7 +7251,7 @@ std::string NMD::EVPE(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::EXT(uint64 instruction, Dis_info *info) +static std::string EXT(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -7277,7 +7277,7 @@ std::string NMD::EXT(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::EXTD(uint64 instruction, Dis_info *info) +static std::string EXTD(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -7303,7 +7303,7 @@ std::string NMD::EXTD(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::EXTD32(uint64 instruction, Dis_info *info) +static std::string EXTD32(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -7329,7 +7329,7 @@ std::string NMD::EXTD32(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::EXTPDP(uint64 instruction, Dis_info *info) +static std::string EXTPDP(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 size_value = extract_size_20_19_18_17_16(instruction); @@ -7353,7 +7353,7 @@ std::string NMD::EXTPDP(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::EXTPDPV(uint64 instruction, Dis_info *info) +static std::string EXTPDPV(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -7377,7 +7377,7 @@ std::string NMD::EXTPDPV(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::EXTP(uint64 instruction, Dis_info *info) +static std::string EXTP(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 size_value = extract_size_20_19_18_17_16(instruction); @@ -7401,7 +7401,7 @@ std::string NMD::EXTP(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::EXTPV(uint64 instruction, Dis_info *info) +static std::string EXTPV(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -7426,7 +7426,7 @@ std::string NMD::EXTPV(uint64 instruction, Dis_info *info) * shift ----- * ac -- */ -std::string NMD::EXTR_RS_W(uint64 instruction, Dis_info *info) +static std::string EXTR_RS_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 shift_value = extract_shift_20_19_18_17_16(instruction); @@ -7451,7 +7451,7 @@ std::string NMD::EXTR_RS_W(uint64 instruction, Dis_info *info) * shift ----- * ac -- */ -std::string NMD::EXTR_R_W(uint64 instruction, Dis_info *info) +static std::string EXTR_R_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 shift_value = extract_shift_20_19_18_17_16(instruction); @@ -7476,7 +7476,7 @@ std::string NMD::EXTR_R_W(uint64 instruction, Dis_info *info) * shift ----- * ac -- */ -std::string NMD::EXTR_S_H(uint64 instruction, Dis_info *info) +static std::string EXTR_S_H(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 shift_value = extract_shift_20_19_18_17_16(instruction); @@ -7501,7 +7501,7 @@ std::string NMD::EXTR_S_H(uint64 instruction, Dis_info *info) * shift ----- * ac -- */ -std::string NMD::EXTR_W(uint64 instruction, Dis_info *info) +static std::string EXTR_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 shift_value = extract_shift_20_19_18_17_16(instruction); @@ -7526,7 +7526,7 @@ std::string NMD::EXTR_W(uint64 instruction, Dis_info *info) * rs ----- * ac -- */ -std::string NMD::EXTRV_RS_W(uint64 instruction, Dis_info *info) +static std::string EXTRV_RS_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -7551,7 +7551,7 @@ std::string NMD::EXTRV_RS_W(uint64 instruction, Dis_info *info) * rs ----- * ac -- */ -std::string NMD::EXTRV_R_W(uint64 instruction, Dis_info *info) +static std::string EXTRV_R_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -7576,7 +7576,7 @@ std::string NMD::EXTRV_R_W(uint64 instruction, Dis_info *info) * rs ----- * ac -- */ -std::string NMD::EXTRV_S_H(uint64 instruction, Dis_info *info) +static std::string EXTRV_S_H(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -7601,7 +7601,7 @@ std::string NMD::EXTRV_S_H(uint64 instruction, Dis_info *info) * rs ----- * ac -- */ -std::string NMD::EXTRV_W(uint64 instruction, Dis_info *info) +static std::string EXTRV_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -7626,7 +7626,7 @@ std::string NMD::EXTRV_W(uint64 instruction, Dis_info *info) * rd ----- * shift ----- */ -std::string NMD::EXTW(uint64 instruction, Dis_info *info) +static std::string EXTW(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -7652,7 +7652,7 @@ std::string NMD::EXTW(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::FLOOR_L_D(uint64 instruction, Dis_info *info) +static std::string FLOOR_L_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -7674,7 +7674,7 @@ std::string NMD::FLOOR_L_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::FLOOR_L_S(uint64 instruction, Dis_info *info) +static std::string FLOOR_L_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -7696,7 +7696,7 @@ std::string NMD::FLOOR_L_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::FLOOR_W_D(uint64 instruction, Dis_info *info) +static std::string FLOOR_W_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -7718,7 +7718,7 @@ std::string NMD::FLOOR_W_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::FLOOR_W_S(uint64 instruction, Dis_info *info) +static std::string FLOOR_W_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -7740,7 +7740,7 @@ std::string NMD::FLOOR_W_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::FORK(uint64 instruction, Dis_info *info) +static std::string FORK(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -7764,7 +7764,7 @@ std::string NMD::FORK(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::HYPCALL(uint64 instruction, Dis_info *info) +static std::string HYPCALL(uint64 instruction, Dis_info *info) { uint64 code_value = extract_code_17_to_0(instruction); @@ -7784,7 +7784,7 @@ std::string NMD::HYPCALL(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::HYPCALL_16_(uint64 instruction, Dis_info *info) +static std::string HYPCALL_16_(uint64 instruction, Dis_info *info) { uint64 code_value = extract_code_1_0(instruction); @@ -7804,7 +7804,7 @@ std::string NMD::HYPCALL_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::INS(uint64 instruction, Dis_info *info) +static std::string INS(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -7831,7 +7831,7 @@ std::string NMD::INS(uint64 instruction, Dis_info *info) * rt ----- * rs ----- */ -std::string NMD::INSV(uint64 instruction, Dis_info *info) +static std::string INSV(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -7853,7 +7853,7 @@ std::string NMD::INSV(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::IRET(uint64 instruction, Dis_info *info) +static std::string IRET(uint64 instruction, Dis_info *info) { (void)instruction; @@ -7871,7 +7871,7 @@ std::string NMD::IRET(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::JALRC_16_(uint64 instruction, Dis_info *info) +static std::string JALRC_16_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_9_8_7_6_5(instruction); @@ -7891,7 +7891,7 @@ std::string NMD::JALRC_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::JALRC_32_(uint64 instruction, Dis_info *info) +static std::string JALRC_32_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -7913,7 +7913,7 @@ std::string NMD::JALRC_32_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::JALRC_HB(uint64 instruction, Dis_info *info) +static std::string JALRC_HB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -7935,7 +7935,7 @@ std::string NMD::JALRC_HB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::JRC(uint64 instruction, Dis_info *info) +static std::string JRC(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_9_8_7_6_5(instruction); @@ -7955,7 +7955,7 @@ std::string NMD::JRC(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LB_16_(uint64 instruction, Dis_info *info) +static std::string LB_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); @@ -7979,7 +7979,7 @@ std::string NMD::LB_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LB_GP_(uint64 instruction, Dis_info *info) +static std::string LB_GP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_0(instruction); @@ -8001,7 +8001,7 @@ std::string NMD::LB_GP_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LB_S9_(uint64 instruction, Dis_info *info) +static std::string LB_S9_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8025,7 +8025,7 @@ std::string NMD::LB_S9_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LB_U12_(uint64 instruction, Dis_info *info) +static std::string LB_U12_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8049,7 +8049,7 @@ std::string NMD::LB_U12_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LBE(uint64 instruction, Dis_info *info) +static std::string LBE(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8073,7 +8073,7 @@ std::string NMD::LBE(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LBU_16_(uint64 instruction, Dis_info *info) +static std::string LBU_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); @@ -8097,7 +8097,7 @@ std::string NMD::LBU_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LBU_GP_(uint64 instruction, Dis_info *info) +static std::string LBU_GP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_0(instruction); @@ -8119,7 +8119,7 @@ std::string NMD::LBU_GP_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LBU_S9_(uint64 instruction, Dis_info *info) +static std::string LBU_S9_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8143,7 +8143,7 @@ std::string NMD::LBU_S9_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LBU_U12_(uint64 instruction, Dis_info *info) +static std::string LBU_U12_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8167,7 +8167,7 @@ std::string NMD::LBU_U12_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LBUE(uint64 instruction, Dis_info *info) +static std::string LBUE(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8191,7 +8191,7 @@ std::string NMD::LBUE(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LBUX(uint64 instruction, Dis_info *info) +static std::string LBUX(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8215,7 +8215,7 @@ std::string NMD::LBUX(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LBX(uint64 instruction, Dis_info *info) +static std::string LBX(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8239,7 +8239,7 @@ std::string NMD::LBX(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LD_GP_(uint64 instruction, Dis_info *info) +static std::string LD_GP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_20_to_3__s3(instruction); @@ -8261,7 +8261,7 @@ std::string NMD::LD_GP_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LD_S9_(uint64 instruction, Dis_info *info) +static std::string LD_S9_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8285,7 +8285,7 @@ std::string NMD::LD_S9_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LD_U12_(uint64 instruction, Dis_info *info) +static std::string LD_U12_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8309,7 +8309,7 @@ std::string NMD::LD_U12_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LDC1_GP_(uint64 instruction, Dis_info *info) +static std::string LDC1_GP_(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_2__s2(instruction); @@ -8331,7 +8331,7 @@ std::string NMD::LDC1_GP_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LDC1_S9_(uint64 instruction, Dis_info *info) +static std::string LDC1_S9_(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8355,7 +8355,7 @@ std::string NMD::LDC1_S9_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LDC1_U12_(uint64 instruction, Dis_info *info) +static std::string LDC1_U12_(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8379,7 +8379,7 @@ std::string NMD::LDC1_U12_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LDC1XS(uint64 instruction, Dis_info *info) +static std::string LDC1XS(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8403,7 +8403,7 @@ std::string NMD::LDC1XS(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LDC1X(uint64 instruction, Dis_info *info) +static std::string LDC1X(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8427,7 +8427,7 @@ std::string NMD::LDC1X(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LDC2(uint64 instruction, Dis_info *info) +static std::string LDC2(uint64 instruction, Dis_info *info) { uint64 ct_value = extract_ct_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8451,7 +8451,7 @@ std::string NMD::LDC2(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LDM(uint64 instruction, Dis_info *info) +static std::string LDM(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8477,7 +8477,7 @@ std::string NMD::LDM(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LDPC_48_(uint64 instruction, Dis_info *info) +static std::string LDPC_48_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_41_40_39_38_37(instruction); int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction); @@ -8499,7 +8499,7 @@ std::string NMD::LDPC_48_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LDX(uint64 instruction, Dis_info *info) +static std::string LDX(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8523,7 +8523,7 @@ std::string NMD::LDX(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LDXS(uint64 instruction, Dis_info *info) +static std::string LDXS(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8547,7 +8547,7 @@ std::string NMD::LDXS(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LH_16_(uint64 instruction, Dis_info *info) +static std::string LH_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); @@ -8571,7 +8571,7 @@ std::string NMD::LH_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LH_GP_(uint64 instruction, Dis_info *info) +static std::string LH_GP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_1__s1(instruction); @@ -8593,7 +8593,7 @@ std::string NMD::LH_GP_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LH_S9_(uint64 instruction, Dis_info *info) +static std::string LH_S9_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8617,7 +8617,7 @@ std::string NMD::LH_S9_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LH_U12_(uint64 instruction, Dis_info *info) +static std::string LH_U12_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8641,7 +8641,7 @@ std::string NMD::LH_U12_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LHE(uint64 instruction, Dis_info *info) +static std::string LHE(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8665,7 +8665,7 @@ std::string NMD::LHE(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LHU_16_(uint64 instruction, Dis_info *info) +static std::string LHU_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); @@ -8689,7 +8689,7 @@ std::string NMD::LHU_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LHU_GP_(uint64 instruction, Dis_info *info) +static std::string LHU_GP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_1__s1(instruction); @@ -8711,7 +8711,7 @@ std::string NMD::LHU_GP_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LHU_S9_(uint64 instruction, Dis_info *info) +static std::string LHU_S9_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8735,7 +8735,7 @@ std::string NMD::LHU_S9_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LHU_U12_(uint64 instruction, Dis_info *info) +static std::string LHU_U12_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8759,7 +8759,7 @@ std::string NMD::LHU_U12_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LHUE(uint64 instruction, Dis_info *info) +static std::string LHUE(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8783,7 +8783,7 @@ std::string NMD::LHUE(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LHUX(uint64 instruction, Dis_info *info) +static std::string LHUX(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8807,7 +8807,7 @@ std::string NMD::LHUX(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LHUXS(uint64 instruction, Dis_info *info) +static std::string LHUXS(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8831,7 +8831,7 @@ std::string NMD::LHUXS(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LHXS(uint64 instruction, Dis_info *info) +static std::string LHXS(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8855,7 +8855,7 @@ std::string NMD::LHXS(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LHX(uint64 instruction, Dis_info *info) +static std::string LHX(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8879,7 +8879,7 @@ std::string NMD::LHX(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LI_16_(uint64 instruction, Dis_info *info) +static std::string LI_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 eu_value = extract_eu_6_5_4_3_2_1_0(instruction); @@ -8901,7 +8901,7 @@ std::string NMD::LI_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LI_48_(uint64 instruction, Dis_info *info) +static std::string LI_48_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_41_40_39_38_37(instruction); int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction); @@ -8923,7 +8923,7 @@ std::string NMD::LI_48_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LL(uint64 instruction, Dis_info *info) +static std::string LL(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8947,7 +8947,7 @@ std::string NMD::LL(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LLD(uint64 instruction, Dis_info *info) +static std::string LLD(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8971,7 +8971,7 @@ std::string NMD::LLD(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LLDP(uint64 instruction, Dis_info *info) +static std::string LLDP(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -8995,7 +8995,7 @@ std::string NMD::LLDP(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LLE(uint64 instruction, Dis_info *info) +static std::string LLE(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -9019,7 +9019,7 @@ std::string NMD::LLE(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LLWP(uint64 instruction, Dis_info *info) +static std::string LLWP(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -9043,7 +9043,7 @@ std::string NMD::LLWP(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LLWPE(uint64 instruction, Dis_info *info) +static std::string LLWPE(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -9067,7 +9067,7 @@ std::string NMD::LLWPE(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LSA(uint64 instruction, Dis_info *info) +static std::string LSA(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -9093,7 +9093,7 @@ std::string NMD::LSA(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LUI(uint64 instruction, Dis_info *info) +static std::string LUI(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); int64 s_value = extract_s__se31_0_11_to_2_20_to_12_s12(instruction); @@ -9115,7 +9115,7 @@ std::string NMD::LUI(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LW_16_(uint64 instruction, Dis_info *info) +static std::string LW_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); @@ -9139,7 +9139,7 @@ std::string NMD::LW_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LW_4X4_(uint64 instruction, Dis_info *info) +static std::string LW_4X4_(uint64 instruction, Dis_info *info) { uint64 rt4_value = extract_rt4_9_7_6_5(instruction); uint64 rs4_value = extract_rs4_4_2_1_0(instruction); @@ -9163,7 +9163,7 @@ std::string NMD::LW_4X4_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LW_GP_(uint64 instruction, Dis_info *info) +static std::string LW_GP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_20_to_2__s2(instruction); @@ -9185,7 +9185,7 @@ std::string NMD::LW_GP_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LW_GP16_(uint64 instruction, Dis_info *info) +static std::string LW_GP16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 u_value = extract_u_6_5_4_3_2_1_0__s2(instruction); @@ -9207,7 +9207,7 @@ std::string NMD::LW_GP16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LW_S9_(uint64 instruction, Dis_info *info) +static std::string LW_S9_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -9231,7 +9231,7 @@ std::string NMD::LW_S9_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LW_SP_(uint64 instruction, Dis_info *info) +static std::string LW_SP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_9_8_7_6_5(instruction); uint64 u_value = extract_u_4_3_2_1_0__s2(instruction); @@ -9253,7 +9253,7 @@ std::string NMD::LW_SP_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LW_U12_(uint64 instruction, Dis_info *info) +static std::string LW_U12_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -9277,7 +9277,7 @@ std::string NMD::LW_U12_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LWC1_GP_(uint64 instruction, Dis_info *info) +static std::string LWC1_GP_(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_2__s2(instruction); @@ -9299,7 +9299,7 @@ std::string NMD::LWC1_GP_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LWC1_S9_(uint64 instruction, Dis_info *info) +static std::string LWC1_S9_(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -9323,7 +9323,7 @@ std::string NMD::LWC1_S9_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LWC1_U12_(uint64 instruction, Dis_info *info) +static std::string LWC1_U12_(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -9347,7 +9347,7 @@ std::string NMD::LWC1_U12_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LWC1X(uint64 instruction, Dis_info *info) +static std::string LWC1X(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -9371,7 +9371,7 @@ std::string NMD::LWC1X(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LWC1XS(uint64 instruction, Dis_info *info) +static std::string LWC1XS(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -9395,7 +9395,7 @@ std::string NMD::LWC1XS(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LWC2(uint64 instruction, Dis_info *info) +static std::string LWC2(uint64 instruction, Dis_info *info) { uint64 ct_value = extract_ct_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -9419,7 +9419,7 @@ std::string NMD::LWC2(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LWE(uint64 instruction, Dis_info *info) +static std::string LWE(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -9443,7 +9443,7 @@ std::string NMD::LWE(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LWM(uint64 instruction, Dis_info *info) +static std::string LWM(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -9469,7 +9469,7 @@ std::string NMD::LWM(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LWPC_48_(uint64 instruction, Dis_info *info) +static std::string LWPC_48_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_41_40_39_38_37(instruction); int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction); @@ -9491,7 +9491,7 @@ std::string NMD::LWPC_48_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LWU_GP_(uint64 instruction, Dis_info *info) +static std::string LWU_GP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_2__s2(instruction); @@ -9513,7 +9513,7 @@ std::string NMD::LWU_GP_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LWU_S9_(uint64 instruction, Dis_info *info) +static std::string LWU_S9_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -9537,7 +9537,7 @@ std::string NMD::LWU_S9_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LWU_U12_(uint64 instruction, Dis_info *info) +static std::string LWU_U12_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -9561,7 +9561,7 @@ std::string NMD::LWU_U12_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LWUX(uint64 instruction, Dis_info *info) +static std::string LWUX(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -9585,7 +9585,7 @@ std::string NMD::LWUX(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LWUXS(uint64 instruction, Dis_info *info) +static std::string LWUXS(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -9609,7 +9609,7 @@ std::string NMD::LWUXS(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LWX(uint64 instruction, Dis_info *info) +static std::string LWX(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -9633,7 +9633,7 @@ std::string NMD::LWX(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LWXS_16_(uint64 instruction, Dis_info *info) +static std::string LWXS_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); @@ -9657,7 +9657,7 @@ std::string NMD::LWXS_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::LWXS_32_(uint64 instruction, Dis_info *info) +static std::string LWXS_32_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -9682,7 +9682,7 @@ std::string NMD::LWXS_32_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MADD_DSP_(uint64 instruction, Dis_info *info) +static std::string MADD_DSP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -9706,7 +9706,7 @@ std::string NMD::MADD_DSP_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MADDF_D(uint64 instruction, Dis_info *info) +static std::string MADDF_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -9730,7 +9730,7 @@ std::string NMD::MADDF_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MADDF_S(uint64 instruction, Dis_info *info) +static std::string MADDF_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -9755,7 +9755,7 @@ std::string NMD::MADDF_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MADDU_DSP_(uint64 instruction, Dis_info *info) +static std::string MADDU_DSP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -9780,7 +9780,7 @@ std::string NMD::MADDU_DSP_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MAQ_S_W_PHL(uint64 instruction, Dis_info *info) +static std::string MAQ_S_W_PHL(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -9805,7 +9805,7 @@ std::string NMD::MAQ_S_W_PHL(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MAQ_S_W_PHR(uint64 instruction, Dis_info *info) +static std::string MAQ_S_W_PHR(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -9830,7 +9830,7 @@ std::string NMD::MAQ_S_W_PHR(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MAQ_SA_W_PHL(uint64 instruction, Dis_info *info) +static std::string MAQ_SA_W_PHL(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -9855,7 +9855,7 @@ std::string NMD::MAQ_SA_W_PHL(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MAQ_SA_W_PHR(uint64 instruction, Dis_info *info) +static std::string MAQ_SA_W_PHR(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -9879,7 +9879,7 @@ std::string NMD::MAQ_SA_W_PHR(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MAX_D(uint64 instruction, Dis_info *info) +static std::string MAX_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -9903,7 +9903,7 @@ std::string NMD::MAX_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MAX_S(uint64 instruction, Dis_info *info) +static std::string MAX_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -9927,7 +9927,7 @@ std::string NMD::MAX_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MAXA_D(uint64 instruction, Dis_info *info) +static std::string MAXA_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -9951,7 +9951,7 @@ std::string NMD::MAXA_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MAXA_S(uint64 instruction, Dis_info *info) +static std::string MAXA_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -9975,7 +9975,7 @@ std::string NMD::MAXA_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MFC0(uint64 instruction, Dis_info *info) +static std::string MFC0(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); @@ -9999,7 +9999,7 @@ std::string NMD::MFC0(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MFC1(uint64 instruction, Dis_info *info) +static std::string MFC1(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -10021,7 +10021,7 @@ std::string NMD::MFC1(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MFC2(uint64 instruction, Dis_info *info) +static std::string MFC2(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 cs_value = extract_cs_20_19_18_17_16(instruction); @@ -10043,7 +10043,7 @@ std::string NMD::MFC2(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MFGC0(uint64 instruction, Dis_info *info) +static std::string MFGC0(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); @@ -10067,7 +10067,7 @@ std::string NMD::MFGC0(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MFHC0(uint64 instruction, Dis_info *info) +static std::string MFHC0(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); @@ -10091,7 +10091,7 @@ std::string NMD::MFHC0(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MFHC1(uint64 instruction, Dis_info *info) +static std::string MFHC1(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -10113,7 +10113,7 @@ std::string NMD::MFHC1(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MFHC2(uint64 instruction, Dis_info *info) +static std::string MFHC2(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 cs_value = extract_cs_20_19_18_17_16(instruction); @@ -10135,7 +10135,7 @@ std::string NMD::MFHC2(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MFHGC0(uint64 instruction, Dis_info *info) +static std::string MFHGC0(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); @@ -10158,7 +10158,7 @@ std::string NMD::MFHGC0(uint64 instruction, Dis_info *info) * rt ----- * ac -- */ -std::string NMD::MFHI_DSP_(uint64 instruction, Dis_info *info) +static std::string MFHI_DSP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 ac_value = extract_ac_15_14(instruction); @@ -10180,7 +10180,7 @@ std::string NMD::MFHI_DSP_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MFHTR(uint64 instruction, Dis_info *info) +static std::string MFHTR(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); @@ -10205,7 +10205,7 @@ std::string NMD::MFHTR(uint64 instruction, Dis_info *info) * rt ----- * ac -- */ -std::string NMD::MFLO_DSP_(uint64 instruction, Dis_info *info) +static std::string MFLO_DSP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 ac_value = extract_ac_15_14(instruction); @@ -10227,7 +10227,7 @@ std::string NMD::MFLO_DSP_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MFTR(uint64 instruction, Dis_info *info) +static std::string MFTR(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); @@ -10253,7 +10253,7 @@ std::string NMD::MFTR(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MIN_D(uint64 instruction, Dis_info *info) +static std::string MIN_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -10277,7 +10277,7 @@ std::string NMD::MIN_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MIN_S(uint64 instruction, Dis_info *info) +static std::string MIN_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -10301,7 +10301,7 @@ std::string NMD::MIN_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MINA_D(uint64 instruction, Dis_info *info) +static std::string MINA_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -10325,7 +10325,7 @@ std::string NMD::MINA_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MINA_S(uint64 instruction, Dis_info *info) +static std::string MINA_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -10349,7 +10349,7 @@ std::string NMD::MINA_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MOD(uint64 instruction, Dis_info *info) +static std::string MOD(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -10373,7 +10373,7 @@ std::string NMD::MOD(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MODSUB(uint64 instruction, Dis_info *info) +static std::string MODSUB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -10397,7 +10397,7 @@ std::string NMD::MODSUB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MODU(uint64 instruction, Dis_info *info) +static std::string MODU(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -10421,7 +10421,7 @@ std::string NMD::MODU(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MOV_D(uint64 instruction, Dis_info *info) +static std::string MOV_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -10443,7 +10443,7 @@ std::string NMD::MOV_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MOV_S(uint64 instruction, Dis_info *info) +static std::string MOV_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -10465,7 +10465,7 @@ std::string NMD::MOV_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MOVE_BALC(uint64 instruction, Dis_info *info) +static std::string MOVE_BALC(uint64 instruction, Dis_info *info) { uint64 rtz4_value = extract_rtz4_27_26_25_23_22_21(instruction); uint64 rd1_value = extract_rdl_25_24(instruction); @@ -10489,7 +10489,7 @@ std::string NMD::MOVE_BALC(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MOVEP(uint64 instruction, Dis_info *info) +static std::string MOVEP(uint64 instruction, Dis_info *info) { uint64 rtz4_value = extract_rtz4_9_7_6_5(instruction); uint64 rd2_value = extract_rd2_3_8(instruction); @@ -10516,7 +10516,7 @@ std::string NMD::MOVEP(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MOVEP_REV_(uint64 instruction, Dis_info *info) +static std::string MOVEP_REV_(uint64 instruction, Dis_info *info) { uint64 rt4_value = extract_rt4_9_7_6_5(instruction); uint64 rd2_value = extract_rd2_3_8(instruction); @@ -10543,7 +10543,7 @@ std::string NMD::MOVEP_REV_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MOVE(uint64 instruction, Dis_info *info) +static std::string MOVE(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_9_8_7_6_5(instruction); uint64 rs_value = extract_rs_4_3_2_1_0(instruction); @@ -10565,7 +10565,7 @@ std::string NMD::MOVE(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MOVN(uint64 instruction, Dis_info *info) +static std::string MOVN(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -10589,7 +10589,7 @@ std::string NMD::MOVN(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MOVZ(uint64 instruction, Dis_info *info) +static std::string MOVZ(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -10613,7 +10613,7 @@ std::string NMD::MOVZ(uint64 instruction, Dis_info *info) * rs ----- * ac -- */ -std::string NMD::MSUB_DSP_(uint64 instruction, Dis_info *info) +static std::string MSUB_DSP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -10637,7 +10637,7 @@ std::string NMD::MSUB_DSP_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MSUBF_D(uint64 instruction, Dis_info *info) +static std::string MSUBF_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -10661,7 +10661,7 @@ std::string NMD::MSUBF_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MSUBF_S(uint64 instruction, Dis_info *info) +static std::string MSUBF_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -10685,7 +10685,7 @@ std::string NMD::MSUBF_S(uint64 instruction, Dis_info *info) * rs ----- * ac -- */ -std::string NMD::MSUBU_DSP_(uint64 instruction, Dis_info *info) +static std::string MSUBU_DSP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -10709,7 +10709,7 @@ std::string NMD::MSUBU_DSP_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MTC0(uint64 instruction, Dis_info *info) +static std::string MTC0(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); @@ -10733,7 +10733,7 @@ std::string NMD::MTC0(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MTC1(uint64 instruction, Dis_info *info) +static std::string MTC1(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -10755,7 +10755,7 @@ std::string NMD::MTC1(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MTC2(uint64 instruction, Dis_info *info) +static std::string MTC2(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 cs_value = extract_cs_20_19_18_17_16(instruction); @@ -10777,7 +10777,7 @@ std::string NMD::MTC2(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MTGC0(uint64 instruction, Dis_info *info) +static std::string MTGC0(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); @@ -10801,7 +10801,7 @@ std::string NMD::MTGC0(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MTHC0(uint64 instruction, Dis_info *info) +static std::string MTHC0(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); @@ -10825,7 +10825,7 @@ std::string NMD::MTHC0(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MTHC1(uint64 instruction, Dis_info *info) +static std::string MTHC1(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -10847,7 +10847,7 @@ std::string NMD::MTHC1(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MTHC2(uint64 instruction, Dis_info *info) +static std::string MTHC2(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 cs_value = extract_cs_20_19_18_17_16(instruction); @@ -10869,7 +10869,7 @@ std::string NMD::MTHC2(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MTHGC0(uint64 instruction, Dis_info *info) +static std::string MTHGC0(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); @@ -10892,7 +10892,7 @@ std::string NMD::MTHGC0(uint64 instruction, Dis_info *info) * rs ----- * ac -- */ -std::string NMD::MTHI_DSP_(uint64 instruction, Dis_info *info) +static std::string MTHI_DSP_(uint64 instruction, Dis_info *info) { uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); @@ -10913,7 +10913,7 @@ std::string NMD::MTHI_DSP_(uint64 instruction, Dis_info *info) * rs ----- * ac -- */ -std::string NMD::MTHLIP(uint64 instruction, Dis_info *info) +static std::string MTHLIP(uint64 instruction, Dis_info *info) { uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); @@ -10935,7 +10935,7 @@ std::string NMD::MTHLIP(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MTHTR(uint64 instruction, Dis_info *info) +static std::string MTHTR(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); @@ -10960,7 +10960,7 @@ std::string NMD::MTHTR(uint64 instruction, Dis_info *info) * rs ----- * ac -- */ -std::string NMD::MTLO_DSP_(uint64 instruction, Dis_info *info) +static std::string MTLO_DSP_(uint64 instruction, Dis_info *info) { uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); @@ -10982,7 +10982,7 @@ std::string NMD::MTLO_DSP_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MTTR(uint64 instruction, Dis_info *info) +static std::string MTTR(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); @@ -11008,7 +11008,7 @@ std::string NMD::MTTR(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MUH(uint64 instruction, Dis_info *info) +static std::string MUH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11032,7 +11032,7 @@ std::string NMD::MUH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MUHU(uint64 instruction, Dis_info *info) +static std::string MUHU(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11056,7 +11056,7 @@ std::string NMD::MUHU(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MUL_32_(uint64 instruction, Dis_info *info) +static std::string MUL_32_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11080,7 +11080,7 @@ std::string NMD::MUL_32_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MUL_4X4_(uint64 instruction, Dis_info *info) +static std::string MUL_4X4_(uint64 instruction, Dis_info *info) { uint64 rt4_value = extract_rt4_9_7_6_5(instruction); uint64 rs4_value = extract_rs4_4_2_1_0(instruction); @@ -11102,7 +11102,7 @@ std::string NMD::MUL_4X4_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MUL_D(uint64 instruction, Dis_info *info) +static std::string MUL_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -11127,7 +11127,7 @@ std::string NMD::MUL_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MUL_PH(uint64 instruction, Dis_info *info) +static std::string MUL_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11152,7 +11152,7 @@ std::string NMD::MUL_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MUL_S_PH(uint64 instruction, Dis_info *info) +static std::string MUL_S_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11176,7 +11176,7 @@ std::string NMD::MUL_S_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MUL_S(uint64 instruction, Dis_info *info) +static std::string MUL_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -11201,7 +11201,7 @@ std::string NMD::MUL_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MULEQ_S_W_PHL(uint64 instruction, Dis_info *info) +static std::string MULEQ_S_W_PHL(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11226,7 +11226,7 @@ std::string NMD::MULEQ_S_W_PHL(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MULEQ_S_W_PHR(uint64 instruction, Dis_info *info) +static std::string MULEQ_S_W_PHR(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11251,7 +11251,7 @@ std::string NMD::MULEQ_S_W_PHR(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MULEU_S_PH_QBL(uint64 instruction, Dis_info *info) +static std::string MULEU_S_PH_QBL(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11276,7 +11276,7 @@ std::string NMD::MULEU_S_PH_QBL(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MULEU_S_PH_QBR(uint64 instruction, Dis_info *info) +static std::string MULEU_S_PH_QBR(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11301,7 +11301,7 @@ std::string NMD::MULEU_S_PH_QBR(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MULQ_RS_PH(uint64 instruction, Dis_info *info) +static std::string MULQ_RS_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11326,7 +11326,7 @@ std::string NMD::MULQ_RS_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MULQ_RS_W(uint64 instruction, Dis_info *info) +static std::string MULQ_RS_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11351,7 +11351,7 @@ std::string NMD::MULQ_RS_W(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MULQ_S_PH(uint64 instruction, Dis_info *info) +static std::string MULQ_S_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11376,7 +11376,7 @@ std::string NMD::MULQ_S_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MULQ_S_W(uint64 instruction, Dis_info *info) +static std::string MULQ_S_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11401,7 +11401,7 @@ std::string NMD::MULQ_S_W(uint64 instruction, Dis_info *info) * rs ----- * ac -- */ -std::string NMD::MULSA_W_PH(uint64 instruction, Dis_info *info) +static std::string MULSA_W_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11426,7 +11426,7 @@ std::string NMD::MULSA_W_PH(uint64 instruction, Dis_info *info) * rs ----- * ac -- */ -std::string NMD::MULSAQ_S_W_PH(uint64 instruction, Dis_info *info) +static std::string MULSAQ_S_W_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11450,7 +11450,7 @@ std::string NMD::MULSAQ_S_W_PH(uint64 instruction, Dis_info *info) * rs ----- * ac -- */ -std::string NMD::MULT_DSP_(uint64 instruction, Dis_info *info) +static std::string MULT_DSP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11474,7 +11474,7 @@ std::string NMD::MULT_DSP_(uint64 instruction, Dis_info *info) * rs ----- * ac -- */ -std::string NMD::MULTU_DSP_(uint64 instruction, Dis_info *info) +static std::string MULTU_DSP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11498,7 +11498,7 @@ std::string NMD::MULTU_DSP_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::MULU(uint64 instruction, Dis_info *info) +static std::string MULU(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11522,7 +11522,7 @@ std::string NMD::MULU(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::NEG_D(uint64 instruction, Dis_info *info) +static std::string NEG_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -11544,7 +11544,7 @@ std::string NMD::NEG_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::NEG_S(uint64 instruction, Dis_info *info) +static std::string NEG_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -11566,7 +11566,7 @@ std::string NMD::NEG_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::NOP_16_(uint64 instruction, Dis_info *info) +static std::string NOP_16_(uint64 instruction, Dis_info *info) { (void)instruction; @@ -11584,7 +11584,7 @@ std::string NMD::NOP_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::NOP_32_(uint64 instruction, Dis_info *info) +static std::string NOP_32_(uint64 instruction, Dis_info *info) { (void)instruction; @@ -11602,7 +11602,7 @@ std::string NMD::NOP_32_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::NOR(uint64 instruction, Dis_info *info) +static std::string NOR(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11626,7 +11626,7 @@ std::string NMD::NOR(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::NOT_16_(uint64 instruction, Dis_info *info) +static std::string NOT_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); @@ -11648,7 +11648,7 @@ std::string NMD::NOT_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::OR_16_(uint64 instruction, Dis_info *info) +static std::string OR_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); @@ -11670,7 +11670,7 @@ std::string NMD::OR_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::OR_32_(uint64 instruction, Dis_info *info) +static std::string OR_32_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11694,7 +11694,7 @@ std::string NMD::OR_32_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::ORI(uint64 instruction, Dis_info *info) +static std::string ORI(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11719,7 +11719,7 @@ std::string NMD::ORI(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::PACKRL_PH(uint64 instruction, Dis_info *info) +static std::string PACKRL_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11743,7 +11743,7 @@ std::string NMD::PACKRL_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::PAUSE(uint64 instruction, Dis_info *info) +static std::string PAUSE(uint64 instruction, Dis_info *info) { (void)instruction; @@ -11762,7 +11762,7 @@ std::string NMD::PAUSE(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::PICK_PH(uint64 instruction, Dis_info *info) +static std::string PICK_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11787,7 +11787,7 @@ std::string NMD::PICK_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::PICK_QB(uint64 instruction, Dis_info *info) +static std::string PICK_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11812,7 +11812,7 @@ std::string NMD::PICK_QB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::PRECEQ_W_PHL(uint64 instruction, Dis_info *info) +static std::string PRECEQ_W_PHL(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11835,7 +11835,7 @@ std::string NMD::PRECEQ_W_PHL(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::PRECEQ_W_PHR(uint64 instruction, Dis_info *info) +static std::string PRECEQ_W_PHR(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11858,7 +11858,7 @@ std::string NMD::PRECEQ_W_PHR(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::PRECEQU_PH_QBLA(uint64 instruction, Dis_info *info) +static std::string PRECEQU_PH_QBLA(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11881,7 +11881,7 @@ std::string NMD::PRECEQU_PH_QBLA(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::PRECEQU_PH_QBL(uint64 instruction, Dis_info *info) +static std::string PRECEQU_PH_QBL(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11904,7 +11904,7 @@ std::string NMD::PRECEQU_PH_QBL(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::PRECEQU_PH_QBRA(uint64 instruction, Dis_info *info) +static std::string PRECEQU_PH_QBRA(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11927,7 +11927,7 @@ std::string NMD::PRECEQU_PH_QBRA(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::PRECEQU_PH_QBR(uint64 instruction, Dis_info *info) +static std::string PRECEQU_PH_QBR(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11951,7 +11951,7 @@ std::string NMD::PRECEQU_PH_QBR(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::PRECEU_PH_QBLA(uint64 instruction, Dis_info *info) +static std::string PRECEU_PH_QBLA(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11974,7 +11974,7 @@ std::string NMD::PRECEU_PH_QBLA(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::PRECEU_PH_QBL(uint64 instruction, Dis_info *info) +static std::string PRECEU_PH_QBL(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -11998,7 +11998,7 @@ std::string NMD::PRECEU_PH_QBL(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::PRECEU_PH_QBRA(uint64 instruction, Dis_info *info) +static std::string PRECEU_PH_QBRA(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -12021,7 +12021,7 @@ std::string NMD::PRECEU_PH_QBRA(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::PRECEU_PH_QBR(uint64 instruction, Dis_info *info) +static std::string PRECEU_PH_QBR(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -12044,7 +12044,7 @@ std::string NMD::PRECEU_PH_QBR(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::PRECR_QB_PH(uint64 instruction, Dis_info *info) +static std::string PRECR_QB_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -12069,7 +12069,7 @@ std::string NMD::PRECR_QB_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::PRECR_SRA_PH_W(uint64 instruction, Dis_info *info) +static std::string PRECR_SRA_PH_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -12094,7 +12094,7 @@ std::string NMD::PRECR_SRA_PH_W(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::PRECR_SRA_R_PH_W(uint64 instruction, Dis_info *info) +static std::string PRECR_SRA_R_PH_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -12119,7 +12119,7 @@ std::string NMD::PRECR_SRA_R_PH_W(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::PRECRQ_PH_W(uint64 instruction, Dis_info *info) +static std::string PRECRQ_PH_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -12144,7 +12144,7 @@ std::string NMD::PRECRQ_PH_W(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::PRECRQ_QB_PH(uint64 instruction, Dis_info *info) +static std::string PRECRQ_QB_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -12169,7 +12169,7 @@ std::string NMD::PRECRQ_QB_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::PRECRQ_RS_PH_W(uint64 instruction, Dis_info *info) +static std::string PRECRQ_RS_PH_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -12194,7 +12194,7 @@ std::string NMD::PRECRQ_RS_PH_W(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::PRECRQU_S_QB_PH(uint64 instruction, Dis_info *info) +static std::string PRECRQU_S_QB_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -12218,7 +12218,7 @@ std::string NMD::PRECRQU_S_QB_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::PREF_S9_(uint64 instruction, Dis_info *info) +static std::string PREF_S9_(uint64 instruction, Dis_info *info) { uint64 hint_value = extract_hint_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -12242,7 +12242,7 @@ std::string NMD::PREF_S9_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::PREF_U12_(uint64 instruction, Dis_info *info) +static std::string PREF_U12_(uint64 instruction, Dis_info *info) { uint64 hint_value = extract_hint_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -12266,7 +12266,7 @@ std::string NMD::PREF_U12_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::PREFE(uint64 instruction, Dis_info *info) +static std::string PREFE(uint64 instruction, Dis_info *info) { uint64 hint_value = extract_hint_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -12290,7 +12290,7 @@ std::string NMD::PREFE(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::PREPEND(uint64 instruction, Dis_info *info) +static std::string PREPEND(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -12313,7 +12313,7 @@ std::string NMD::PREPEND(uint64 instruction, Dis_info *info) * rt ----- * rs ----- */ -std::string NMD::RADDU_W_QB(uint64 instruction, Dis_info *info) +static std::string RADDU_W_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -12334,7 +12334,7 @@ std::string NMD::RADDU_W_QB(uint64 instruction, Dis_info *info) * rt ----- * mask ------- */ -std::string NMD::RDDSP(uint64 instruction, Dis_info *info) +static std::string RDDSP(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 mask_value = extract_mask_20_19_18_17_16_15_14(instruction); @@ -12356,7 +12356,7 @@ std::string NMD::RDDSP(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::RDHWR(uint64 instruction, Dis_info *info) +static std::string RDHWR(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 hs_value = extract_hs_20_19_18_17_16(instruction); @@ -12380,7 +12380,7 @@ std::string NMD::RDHWR(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::RDPGPR(uint64 instruction, Dis_info *info) +static std::string RDPGPR(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -12402,7 +12402,7 @@ std::string NMD::RDPGPR(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::RECIP_D(uint64 instruction, Dis_info *info) +static std::string RECIP_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -12424,7 +12424,7 @@ std::string NMD::RECIP_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::RECIP_S(uint64 instruction, Dis_info *info) +static std::string RECIP_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -12446,7 +12446,7 @@ std::string NMD::RECIP_S(uint64 instruction, Dis_info *info) * rt ----- * s ---------- */ -std::string NMD::REPL_PH(uint64 instruction, Dis_info *info) +static std::string REPL_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); int64 s_value = extract_s__se9_20_19_18_17_16_15_14_13_12_11(instruction); @@ -12468,7 +12468,7 @@ std::string NMD::REPL_PH(uint64 instruction, Dis_info *info) * rt ----- * u -------- */ -std::string NMD::REPL_QB(uint64 instruction, Dis_info *info) +static std::string REPL_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_20_19_18_17_16_15_14_13(instruction); @@ -12490,7 +12490,7 @@ std::string NMD::REPL_QB(uint64 instruction, Dis_info *info) * rt ----- * rs ----- */ -std::string NMD::REPLV_PH(uint64 instruction, Dis_info *info) +static std::string REPLV_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -12511,7 +12511,7 @@ std::string NMD::REPLV_PH(uint64 instruction, Dis_info *info) * rt ----- * rs ----- */ -std::string NMD::REPLV_QB(uint64 instruction, Dis_info *info) +static std::string REPLV_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -12533,7 +12533,7 @@ std::string NMD::REPLV_QB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::RESTORE_32_(uint64 instruction, Dis_info *info) +static std::string RESTORE_32_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 count_value = extract_count_19_18_17_16(instruction); @@ -12556,7 +12556,7 @@ std::string NMD::RESTORE_32_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::RESTORE_JRC_16_(uint64 instruction, Dis_info *info) +static std::string RESTORE_JRC_16_(uint64 instruction, Dis_info *info) { uint64 rt1_value = extract_rtl_11(instruction); uint64 u_value = extract_u_7_6_5_4__s4(instruction); @@ -12578,7 +12578,7 @@ std::string NMD::RESTORE_JRC_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::RESTORE_JRC_32_(uint64 instruction, Dis_info *info) +static std::string RESTORE_JRC_32_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 count_value = extract_count_19_18_17_16(instruction); @@ -12601,7 +12601,7 @@ std::string NMD::RESTORE_JRC_32_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::RESTOREF(uint64 instruction, Dis_info *info) +static std::string RESTOREF(uint64 instruction, Dis_info *info) { uint64 count_value = extract_count_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3__s3(instruction); @@ -12623,7 +12623,7 @@ std::string NMD::RESTOREF(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::RINT_D(uint64 instruction, Dis_info *info) +static std::string RINT_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -12645,7 +12645,7 @@ std::string NMD::RINT_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::RINT_S(uint64 instruction, Dis_info *info) +static std::string RINT_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -12667,7 +12667,7 @@ std::string NMD::RINT_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::ROTR(uint64 instruction, Dis_info *info) +static std::string ROTR(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -12691,7 +12691,7 @@ std::string NMD::ROTR(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::ROTRV(uint64 instruction, Dis_info *info) +static std::string ROTRV(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -12715,7 +12715,7 @@ std::string NMD::ROTRV(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::ROTX(uint64 instruction, Dis_info *info) +static std::string ROTX(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -12744,7 +12744,7 @@ std::string NMD::ROTX(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::ROUND_L_D(uint64 instruction, Dis_info *info) +static std::string ROUND_L_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -12766,7 +12766,7 @@ std::string NMD::ROUND_L_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::ROUND_L_S(uint64 instruction, Dis_info *info) +static std::string ROUND_L_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -12788,7 +12788,7 @@ std::string NMD::ROUND_L_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::ROUND_W_D(uint64 instruction, Dis_info *info) +static std::string ROUND_W_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -12810,7 +12810,7 @@ std::string NMD::ROUND_W_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::ROUND_W_S(uint64 instruction, Dis_info *info) +static std::string ROUND_W_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -12832,7 +12832,7 @@ std::string NMD::ROUND_W_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::RSQRT_D(uint64 instruction, Dis_info *info) +static std::string RSQRT_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -12854,7 +12854,7 @@ std::string NMD::RSQRT_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::RSQRT_S(uint64 instruction, Dis_info *info) +static std::string RSQRT_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -12876,7 +12876,7 @@ std::string NMD::RSQRT_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SAVE_16_(uint64 instruction, Dis_info *info) +static std::string SAVE_16_(uint64 instruction, Dis_info *info) { uint64 rt1_value = extract_rtl_11(instruction); uint64 u_value = extract_u_7_6_5_4__s4(instruction); @@ -12898,7 +12898,7 @@ std::string NMD::SAVE_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SAVE_32_(uint64 instruction, Dis_info *info) +static std::string SAVE_32_(uint64 instruction, Dis_info *info) { uint64 count_value = extract_count_19_18_17_16(instruction); uint64 rt_value = extract_rt_25_24_23_22_21(instruction); @@ -12921,7 +12921,7 @@ std::string NMD::SAVE_32_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SAVEF(uint64 instruction, Dis_info *info) +static std::string SAVEF(uint64 instruction, Dis_info *info) { uint64 count_value = extract_count_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3__s3(instruction); @@ -12943,7 +12943,7 @@ std::string NMD::SAVEF(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SB_16_(uint64 instruction, Dis_info *info) +static std::string SB_16_(uint64 instruction, Dis_info *info) { uint64 rtz3_value = extract_rtz3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); @@ -12967,7 +12967,7 @@ std::string NMD::SB_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SB_GP_(uint64 instruction, Dis_info *info) +static std::string SB_GP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_0(instruction); @@ -12989,7 +12989,7 @@ std::string NMD::SB_GP_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SB_S9_(uint64 instruction, Dis_info *info) +static std::string SB_S9_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -13013,7 +13013,7 @@ std::string NMD::SB_S9_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SB_U12_(uint64 instruction, Dis_info *info) +static std::string SB_U12_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -13037,7 +13037,7 @@ std::string NMD::SB_U12_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SBE(uint64 instruction, Dis_info *info) +static std::string SBE(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -13061,7 +13061,7 @@ std::string NMD::SBE(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SBX(uint64 instruction, Dis_info *info) +static std::string SBX(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -13085,7 +13085,7 @@ std::string NMD::SBX(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SC(uint64 instruction, Dis_info *info) +static std::string SC(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -13109,7 +13109,7 @@ std::string NMD::SC(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SCD(uint64 instruction, Dis_info *info) +static std::string SCD(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -13133,7 +13133,7 @@ std::string NMD::SCD(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SCDP(uint64 instruction, Dis_info *info) +static std::string SCDP(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -13157,7 +13157,7 @@ std::string NMD::SCDP(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SCE(uint64 instruction, Dis_info *info) +static std::string SCE(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -13181,7 +13181,7 @@ std::string NMD::SCE(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SCWP(uint64 instruction, Dis_info *info) +static std::string SCWP(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -13205,7 +13205,7 @@ std::string NMD::SCWP(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SCWPE(uint64 instruction, Dis_info *info) +static std::string SCWPE(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -13229,7 +13229,7 @@ std::string NMD::SCWPE(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SD_GP_(uint64 instruction, Dis_info *info) +static std::string SD_GP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_20_to_3__s3(instruction); @@ -13251,7 +13251,7 @@ std::string NMD::SD_GP_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SD_S9_(uint64 instruction, Dis_info *info) +static std::string SD_S9_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -13275,7 +13275,7 @@ std::string NMD::SD_S9_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SD_U12_(uint64 instruction, Dis_info *info) +static std::string SD_U12_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -13299,7 +13299,7 @@ std::string NMD::SD_U12_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SDBBP_16_(uint64 instruction, Dis_info *info) +static std::string SDBBP_16_(uint64 instruction, Dis_info *info) { uint64 code_value = extract_code_2_1_0(instruction); @@ -13319,7 +13319,7 @@ std::string NMD::SDBBP_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SDBBP_32_(uint64 instruction, Dis_info *info) +static std::string SDBBP_32_(uint64 instruction, Dis_info *info) { uint64 code_value = extract_code_18_to_0(instruction); @@ -13339,7 +13339,7 @@ std::string NMD::SDBBP_32_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SDC1_GP_(uint64 instruction, Dis_info *info) +static std::string SDC1_GP_(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_2__s2(instruction); @@ -13361,7 +13361,7 @@ std::string NMD::SDC1_GP_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SDC1_S9_(uint64 instruction, Dis_info *info) +static std::string SDC1_S9_(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -13385,7 +13385,7 @@ std::string NMD::SDC1_S9_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SDC1_U12_(uint64 instruction, Dis_info *info) +static std::string SDC1_U12_(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -13409,7 +13409,7 @@ std::string NMD::SDC1_U12_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SDC1X(uint64 instruction, Dis_info *info) +static std::string SDC1X(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -13433,7 +13433,7 @@ std::string NMD::SDC1X(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SDC1XS(uint64 instruction, Dis_info *info) +static std::string SDC1XS(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -13457,7 +13457,7 @@ std::string NMD::SDC1XS(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SDC2(uint64 instruction, Dis_info *info) +static std::string SDC2(uint64 instruction, Dis_info *info) { uint64 cs_value = extract_cs_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -13481,7 +13481,7 @@ std::string NMD::SDC2(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SDM(uint64 instruction, Dis_info *info) +static std::string SDM(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -13507,7 +13507,7 @@ std::string NMD::SDM(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SDPC_48_(uint64 instruction, Dis_info *info) +static std::string SDPC_48_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_41_40_39_38_37(instruction); int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction); @@ -13529,7 +13529,7 @@ std::string NMD::SDPC_48_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SDXS(uint64 instruction, Dis_info *info) +static std::string SDXS(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -13553,7 +13553,7 @@ std::string NMD::SDXS(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SDX(uint64 instruction, Dis_info *info) +static std::string SDX(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -13577,7 +13577,7 @@ std::string NMD::SDX(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SEB(uint64 instruction, Dis_info *info) +static std::string SEB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -13599,7 +13599,7 @@ std::string NMD::SEB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SEH(uint64 instruction, Dis_info *info) +static std::string SEH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -13621,7 +13621,7 @@ std::string NMD::SEH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SEL_D(uint64 instruction, Dis_info *info) +static std::string SEL_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -13645,7 +13645,7 @@ std::string NMD::SEL_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SEL_S(uint64 instruction, Dis_info *info) +static std::string SEL_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -13669,7 +13669,7 @@ std::string NMD::SEL_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SELEQZ_D(uint64 instruction, Dis_info *info) +static std::string SELEQZ_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -13693,7 +13693,7 @@ std::string NMD::SELEQZ_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SELEQZ_S(uint64 instruction, Dis_info *info) +static std::string SELEQZ_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -13717,7 +13717,7 @@ std::string NMD::SELEQZ_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SELNEZ_D(uint64 instruction, Dis_info *info) +static std::string SELNEZ_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -13741,7 +13741,7 @@ std::string NMD::SELNEZ_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SELNEZ_S(uint64 instruction, Dis_info *info) +static std::string SELNEZ_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -13765,7 +13765,7 @@ std::string NMD::SELNEZ_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SEQI(uint64 instruction, Dis_info *info) +static std::string SEQI(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -13789,7 +13789,7 @@ std::string NMD::SEQI(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SH_16_(uint64 instruction, Dis_info *info) +static std::string SH_16_(uint64 instruction, Dis_info *info) { uint64 rtz3_value = extract_rtz3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); @@ -13813,7 +13813,7 @@ std::string NMD::SH_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SH_GP_(uint64 instruction, Dis_info *info) +static std::string SH_GP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_1__s1(instruction); @@ -13835,7 +13835,7 @@ std::string NMD::SH_GP_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SH_S9_(uint64 instruction, Dis_info *info) +static std::string SH_S9_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -13859,7 +13859,7 @@ std::string NMD::SH_S9_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SH_U12_(uint64 instruction, Dis_info *info) +static std::string SH_U12_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -13883,7 +13883,7 @@ std::string NMD::SH_U12_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SHE(uint64 instruction, Dis_info *info) +static std::string SHE(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -13907,7 +13907,7 @@ std::string NMD::SHE(uint64 instruction, Dis_info *info) * shift ------ * ac -- */ -std::string NMD::SHILO(uint64 instruction, Dis_info *info) +static std::string SHILO(uint64 instruction, Dis_info *info) { int64 shift_value = extract_shift__se5_21_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); @@ -13929,7 +13929,7 @@ std::string NMD::SHILO(uint64 instruction, Dis_info *info) * rs ----- * ac -- */ -std::string NMD::SHILOV(uint64 instruction, Dis_info *info) +static std::string SHILOV(uint64 instruction, Dis_info *info) { uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); @@ -13951,7 +13951,7 @@ std::string NMD::SHILOV(uint64 instruction, Dis_info *info) * rs ----- * sa ---- */ -std::string NMD::SHLL_PH(uint64 instruction, Dis_info *info) +static std::string SHLL_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -13975,7 +13975,7 @@ std::string NMD::SHLL_PH(uint64 instruction, Dis_info *info) * rs ----- * sa --- */ -std::string NMD::SHLL_QB(uint64 instruction, Dis_info *info) +static std::string SHLL_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14000,7 +14000,7 @@ std::string NMD::SHLL_QB(uint64 instruction, Dis_info *info) * rs ----- * sa ---- */ -std::string NMD::SHLL_S_PH(uint64 instruction, Dis_info *info) +static std::string SHLL_S_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14024,7 +14024,7 @@ std::string NMD::SHLL_S_PH(uint64 instruction, Dis_info *info) * rs ----- * sa ----- */ -std::string NMD::SHLL_S_W(uint64 instruction, Dis_info *info) +static std::string SHLL_S_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14049,7 +14049,7 @@ std::string NMD::SHLL_S_W(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SHLLV_PH(uint64 instruction, Dis_info *info) +static std::string SHLLV_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14073,7 +14073,7 @@ std::string NMD::SHLLV_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SHLLV_QB(uint64 instruction, Dis_info *info) +static std::string SHLLV_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14098,7 +14098,7 @@ std::string NMD::SHLLV_QB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SHLLV_S_PH(uint64 instruction, Dis_info *info) +static std::string SHLLV_S_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14122,7 +14122,7 @@ std::string NMD::SHLLV_S_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SHLLV_S_W(uint64 instruction, Dis_info *info) +static std::string SHLLV_S_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14146,7 +14146,7 @@ std::string NMD::SHLLV_S_W(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SHRA_PH(uint64 instruction, Dis_info *info) +static std::string SHRA_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14170,7 +14170,7 @@ std::string NMD::SHRA_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SHRA_QB(uint64 instruction, Dis_info *info) +static std::string SHRA_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14194,7 +14194,7 @@ std::string NMD::SHRA_QB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SHRA_R_PH(uint64 instruction, Dis_info *info) +static std::string SHRA_R_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14218,7 +14218,7 @@ std::string NMD::SHRA_R_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SHRA_R_QB(uint64 instruction, Dis_info *info) +static std::string SHRA_R_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14242,7 +14242,7 @@ std::string NMD::SHRA_R_QB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SHRA_R_W(uint64 instruction, Dis_info *info) +static std::string SHRA_R_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14266,7 +14266,7 @@ std::string NMD::SHRA_R_W(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SHRAV_PH(uint64 instruction, Dis_info *info) +static std::string SHRAV_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14290,7 +14290,7 @@ std::string NMD::SHRAV_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SHRAV_QB(uint64 instruction, Dis_info *info) +static std::string SHRAV_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14314,7 +14314,7 @@ std::string NMD::SHRAV_QB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SHRAV_R_PH(uint64 instruction, Dis_info *info) +static std::string SHRAV_R_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14338,7 +14338,7 @@ std::string NMD::SHRAV_R_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SHRAV_R_QB(uint64 instruction, Dis_info *info) +static std::string SHRAV_R_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14362,7 +14362,7 @@ std::string NMD::SHRAV_R_QB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SHRAV_R_W(uint64 instruction, Dis_info *info) +static std::string SHRAV_R_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14386,7 +14386,7 @@ std::string NMD::SHRAV_R_W(uint64 instruction, Dis_info *info) * rs ----- * sa ---- */ -std::string NMD::SHRL_PH(uint64 instruction, Dis_info *info) +static std::string SHRL_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14410,7 +14410,7 @@ std::string NMD::SHRL_PH(uint64 instruction, Dis_info *info) * rs ----- * sa --- */ -std::string NMD::SHRL_QB(uint64 instruction, Dis_info *info) +static std::string SHRL_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14435,7 +14435,7 @@ std::string NMD::SHRL_QB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SHRLV_PH(uint64 instruction, Dis_info *info) +static std::string SHRLV_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14459,7 +14459,7 @@ std::string NMD::SHRLV_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SHRLV_QB(uint64 instruction, Dis_info *info) +static std::string SHRLV_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14483,7 +14483,7 @@ std::string NMD::SHRLV_QB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SHX(uint64 instruction, Dis_info *info) +static std::string SHX(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14507,7 +14507,7 @@ std::string NMD::SHX(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SHXS(uint64 instruction, Dis_info *info) +static std::string SHXS(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14531,7 +14531,7 @@ std::string NMD::SHXS(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SIGRIE(uint64 instruction, Dis_info *info) +static std::string SIGRIE(uint64 instruction, Dis_info *info) { uint64 code_value = extract_code_18_to_0(instruction); @@ -14551,7 +14551,7 @@ std::string NMD::SIGRIE(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SLL_16_(uint64 instruction, Dis_info *info) +static std::string SLL_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); @@ -14575,7 +14575,7 @@ std::string NMD::SLL_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SLL_32_(uint64 instruction, Dis_info *info) +static std::string SLL_32_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14599,7 +14599,7 @@ std::string NMD::SLL_32_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SLLV(uint64 instruction, Dis_info *info) +static std::string SLLV(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14623,7 +14623,7 @@ std::string NMD::SLLV(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SLT(uint64 instruction, Dis_info *info) +static std::string SLT(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14647,7 +14647,7 @@ std::string NMD::SLT(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SLTI(uint64 instruction, Dis_info *info) +static std::string SLTI(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14671,7 +14671,7 @@ std::string NMD::SLTI(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SLTIU(uint64 instruction, Dis_info *info) +static std::string SLTIU(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14695,7 +14695,7 @@ std::string NMD::SLTIU(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SLTU(uint64 instruction, Dis_info *info) +static std::string SLTU(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14719,7 +14719,7 @@ std::string NMD::SLTU(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SOV(uint64 instruction, Dis_info *info) +static std::string SOV(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14743,7 +14743,7 @@ std::string NMD::SOV(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SPECIAL2(uint64 instruction, Dis_info *info) +static std::string SPECIAL2(uint64 instruction, Dis_info *info) { uint64 op_value = extract_op_25_to_3(instruction); @@ -14763,7 +14763,7 @@ std::string NMD::SPECIAL2(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SQRT_D(uint64 instruction, Dis_info *info) +static std::string SQRT_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -14785,7 +14785,7 @@ std::string NMD::SQRT_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SQRT_S(uint64 instruction, Dis_info *info) +static std::string SQRT_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -14807,7 +14807,7 @@ std::string NMD::SQRT_S(uint64 instruction, Dis_info *info) * rd ----- * sa ----- */ -std::string NMD::SRA(uint64 instruction, Dis_info *info) +static std::string SRA(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14831,7 +14831,7 @@ std::string NMD::SRA(uint64 instruction, Dis_info *info) * rt ----- * rd ----- */ -std::string NMD::SRAV(uint64 instruction, Dis_info *info) +static std::string SRAV(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14855,7 +14855,7 @@ std::string NMD::SRAV(uint64 instruction, Dis_info *info) * rt ----- * rd ----- */ -std::string NMD::SRL_16_(uint64 instruction, Dis_info *info) +static std::string SRL_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); @@ -14879,7 +14879,7 @@ std::string NMD::SRL_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SRL_32_(uint64 instruction, Dis_info *info) +static std::string SRL_32_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14903,7 +14903,7 @@ std::string NMD::SRL_32_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SRLV(uint64 instruction, Dis_info *info) +static std::string SRLV(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14927,7 +14927,7 @@ std::string NMD::SRLV(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SUB(uint64 instruction, Dis_info *info) +static std::string SUB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -14951,7 +14951,7 @@ std::string NMD::SUB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SUB_D(uint64 instruction, Dis_info *info) +static std::string SUB_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -14975,7 +14975,7 @@ std::string NMD::SUB_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SUB_S(uint64 instruction, Dis_info *info) +static std::string SUB_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -14999,7 +14999,7 @@ std::string NMD::SUB_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SUBQ_PH(uint64 instruction, Dis_info *info) +static std::string SUBQ_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -15024,7 +15024,7 @@ std::string NMD::SUBQ_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SUBQ_S_PH(uint64 instruction, Dis_info *info) +static std::string SUBQ_S_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -15049,7 +15049,7 @@ std::string NMD::SUBQ_S_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SUBQ_S_W(uint64 instruction, Dis_info *info) +static std::string SUBQ_S_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -15074,7 +15074,7 @@ std::string NMD::SUBQ_S_W(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SUBQH_PH(uint64 instruction, Dis_info *info) +static std::string SUBQH_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -15099,7 +15099,7 @@ std::string NMD::SUBQH_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SUBQH_R_PH(uint64 instruction, Dis_info *info) +static std::string SUBQH_R_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -15124,7 +15124,7 @@ std::string NMD::SUBQH_R_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SUBQH_R_W(uint64 instruction, Dis_info *info) +static std::string SUBQH_R_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -15149,7 +15149,7 @@ std::string NMD::SUBQH_R_W(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SUBQH_W(uint64 instruction, Dis_info *info) +static std::string SUBQH_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -15173,7 +15173,7 @@ std::string NMD::SUBQH_W(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SUBU_16_(uint64 instruction, Dis_info *info) +static std::string SUBU_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); @@ -15197,7 +15197,7 @@ std::string NMD::SUBU_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SUBU_32_(uint64 instruction, Dis_info *info) +static std::string SUBU_32_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -15221,7 +15221,7 @@ std::string NMD::SUBU_32_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SUBU_PH(uint64 instruction, Dis_info *info) +static std::string SUBU_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -15245,7 +15245,7 @@ std::string NMD::SUBU_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SUBU_QB(uint64 instruction, Dis_info *info) +static std::string SUBU_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -15270,7 +15270,7 @@ std::string NMD::SUBU_QB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SUBU_S_PH(uint64 instruction, Dis_info *info) +static std::string SUBU_S_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -15295,7 +15295,7 @@ std::string NMD::SUBU_S_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SUBU_S_QB(uint64 instruction, Dis_info *info) +static std::string SUBU_S_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -15320,7 +15320,7 @@ std::string NMD::SUBU_S_QB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SUBUH_QB(uint64 instruction, Dis_info *info) +static std::string SUBUH_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -15345,7 +15345,7 @@ std::string NMD::SUBUH_QB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SUBUH_R_QB(uint64 instruction, Dis_info *info) +static std::string SUBUH_R_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -15369,7 +15369,7 @@ std::string NMD::SUBUH_R_QB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SW_16_(uint64 instruction, Dis_info *info) +static std::string SW_16_(uint64 instruction, Dis_info *info) { uint64 rtz3_value = extract_rtz3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); @@ -15393,7 +15393,7 @@ std::string NMD::SW_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SW_4X4_(uint64 instruction, Dis_info *info) +static std::string SW_4X4_(uint64 instruction, Dis_info *info) { uint64 rtz4_value = extract_rtz4_9_7_6_5(instruction); uint64 rs4_value = extract_rs4_4_2_1_0(instruction); @@ -15417,7 +15417,7 @@ std::string NMD::SW_4X4_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SW_GP16_(uint64 instruction, Dis_info *info) +static std::string SW_GP16_(uint64 instruction, Dis_info *info) { uint64 u_value = extract_u_6_5_4_3_2_1_0__s2(instruction); uint64 rtz3_value = extract_rtz3_9_8_7(instruction); @@ -15439,7 +15439,7 @@ std::string NMD::SW_GP16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SW_GP_(uint64 instruction, Dis_info *info) +static std::string SW_GP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_20_to_2__s2(instruction); @@ -15461,7 +15461,7 @@ std::string NMD::SW_GP_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SW_S9_(uint64 instruction, Dis_info *info) +static std::string SW_S9_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); @@ -15485,7 +15485,7 @@ std::string NMD::SW_S9_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SW_SP_(uint64 instruction, Dis_info *info) +static std::string SW_SP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_9_8_7_6_5(instruction); uint64 u_value = extract_u_4_3_2_1_0__s2(instruction); @@ -15507,7 +15507,7 @@ std::string NMD::SW_SP_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SW_U12_(uint64 instruction, Dis_info *info) +static std::string SW_U12_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -15531,7 +15531,7 @@ std::string NMD::SW_U12_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SWC1_GP_(uint64 instruction, Dis_info *info) +static std::string SWC1_GP_(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_2__s2(instruction); @@ -15553,7 +15553,7 @@ std::string NMD::SWC1_GP_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SWC1_S9_(uint64 instruction, Dis_info *info) +static std::string SWC1_S9_(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -15577,7 +15577,7 @@ std::string NMD::SWC1_S9_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SWC1_U12_(uint64 instruction, Dis_info *info) +static std::string SWC1_U12_(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -15601,7 +15601,7 @@ std::string NMD::SWC1_U12_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SWC1X(uint64 instruction, Dis_info *info) +static std::string SWC1X(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -15625,7 +15625,7 @@ std::string NMD::SWC1X(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SWC1XS(uint64 instruction, Dis_info *info) +static std::string SWC1XS(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -15649,7 +15649,7 @@ std::string NMD::SWC1XS(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SWC2(uint64 instruction, Dis_info *info) +static std::string SWC2(uint64 instruction, Dis_info *info) { uint64 cs_value = extract_cs_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -15673,7 +15673,7 @@ std::string NMD::SWC2(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SWE(uint64 instruction, Dis_info *info) +static std::string SWE(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -15697,7 +15697,7 @@ std::string NMD::SWE(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SWM(uint64 instruction, Dis_info *info) +static std::string SWM(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -15723,7 +15723,7 @@ std::string NMD::SWM(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SWPC_48_(uint64 instruction, Dis_info *info) +static std::string SWPC_48_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_41_40_39_38_37(instruction); int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction); @@ -15745,7 +15745,7 @@ std::string NMD::SWPC_48_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SWX(uint64 instruction, Dis_info *info) +static std::string SWX(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -15769,7 +15769,7 @@ std::string NMD::SWX(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SWXS(uint64 instruction, Dis_info *info) +static std::string SWXS(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -15793,7 +15793,7 @@ std::string NMD::SWXS(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SYNC(uint64 instruction, Dis_info *info) +static std::string SYNC(uint64 instruction, Dis_info *info) { uint64 stype_value = extract_stype_20_19_18_17_16(instruction); @@ -15813,7 +15813,7 @@ std::string NMD::SYNC(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SYNCI(uint64 instruction, Dis_info *info) +static std::string SYNCI(uint64 instruction, Dis_info *info) { uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); @@ -15835,7 +15835,7 @@ std::string NMD::SYNCI(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SYNCIE(uint64 instruction, Dis_info *info) +static std::string SYNCIE(uint64 instruction, Dis_info *info) { uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); @@ -15857,7 +15857,7 @@ std::string NMD::SYNCIE(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::SYSCALL_16_(uint64 instruction, Dis_info *info) +static std::string SYSCALL_16_(uint64 instruction, Dis_info *info) { uint64 code_value = extract_code_1_0(instruction); @@ -15875,7 +15875,7 @@ std::string NMD::SYSCALL_16_(uint64 instruction, Dis_info *info) * 00000000000010 * code ------------------ */ -std::string NMD::SYSCALL_32_(uint64 instruction, Dis_info *info) +static std::string SYSCALL_32_(uint64 instruction, Dis_info *info) { uint64 code_value = extract_code_17_to_0(instruction); @@ -15895,7 +15895,7 @@ std::string NMD::SYSCALL_32_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::TEQ(uint64 instruction, Dis_info *info) +static std::string TEQ(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -15917,7 +15917,7 @@ std::string NMD::TEQ(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::TLBGINV(uint64 instruction, Dis_info *info) +static std::string TLBGINV(uint64 instruction, Dis_info *info) { (void)instruction; @@ -15935,7 +15935,7 @@ std::string NMD::TLBGINV(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::TLBGINVF(uint64 instruction, Dis_info *info) +static std::string TLBGINVF(uint64 instruction, Dis_info *info) { (void)instruction; @@ -15953,7 +15953,7 @@ std::string NMD::TLBGINVF(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::TLBGP(uint64 instruction, Dis_info *info) +static std::string TLBGP(uint64 instruction, Dis_info *info) { (void)instruction; @@ -15971,7 +15971,7 @@ std::string NMD::TLBGP(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::TLBGR(uint64 instruction, Dis_info *info) +static std::string TLBGR(uint64 instruction, Dis_info *info) { (void)instruction; @@ -15989,7 +15989,7 @@ std::string NMD::TLBGR(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::TLBGWI(uint64 instruction, Dis_info *info) +static std::string TLBGWI(uint64 instruction, Dis_info *info) { (void)instruction; @@ -16007,7 +16007,7 @@ std::string NMD::TLBGWI(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::TLBGWR(uint64 instruction, Dis_info *info) +static std::string TLBGWR(uint64 instruction, Dis_info *info) { (void)instruction; @@ -16025,7 +16025,7 @@ std::string NMD::TLBGWR(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::TLBINV(uint64 instruction, Dis_info *info) +static std::string TLBINV(uint64 instruction, Dis_info *info) { (void)instruction; @@ -16043,7 +16043,7 @@ std::string NMD::TLBINV(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::TLBINVF(uint64 instruction, Dis_info *info) +static std::string TLBINVF(uint64 instruction, Dis_info *info) { (void)instruction; @@ -16061,7 +16061,7 @@ std::string NMD::TLBINVF(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::TLBP(uint64 instruction, Dis_info *info) +static std::string TLBP(uint64 instruction, Dis_info *info) { (void)instruction; @@ -16079,7 +16079,7 @@ std::string NMD::TLBP(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::TLBR(uint64 instruction, Dis_info *info) +static std::string TLBR(uint64 instruction, Dis_info *info) { (void)instruction; @@ -16097,7 +16097,7 @@ std::string NMD::TLBR(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::TLBWI(uint64 instruction, Dis_info *info) +static std::string TLBWI(uint64 instruction, Dis_info *info) { (void)instruction; @@ -16115,7 +16115,7 @@ std::string NMD::TLBWI(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::TLBWR(uint64 instruction, Dis_info *info) +static std::string TLBWR(uint64 instruction, Dis_info *info) { (void)instruction; @@ -16133,7 +16133,7 @@ std::string NMD::TLBWR(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::TNE(uint64 instruction, Dis_info *info) +static std::string TNE(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -16155,7 +16155,7 @@ std::string NMD::TNE(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::TRUNC_L_D(uint64 instruction, Dis_info *info) +static std::string TRUNC_L_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -16177,7 +16177,7 @@ std::string NMD::TRUNC_L_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::TRUNC_L_S(uint64 instruction, Dis_info *info) +static std::string TRUNC_L_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -16199,7 +16199,7 @@ std::string NMD::TRUNC_L_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::TRUNC_W_D(uint64 instruction, Dis_info *info) +static std::string TRUNC_W_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -16221,7 +16221,7 @@ std::string NMD::TRUNC_W_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::TRUNC_W_S(uint64 instruction, Dis_info *info) +static std::string TRUNC_W_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); @@ -16243,7 +16243,7 @@ std::string NMD::TRUNC_W_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::UALDM(uint64 instruction, Dis_info *info) +static std::string UALDM(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -16269,7 +16269,7 @@ std::string NMD::UALDM(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::UALH(uint64 instruction, Dis_info *info) +static std::string UALH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -16293,7 +16293,7 @@ std::string NMD::UALH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::UALWM(uint64 instruction, Dis_info *info) +static std::string UALWM(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -16319,7 +16319,7 @@ std::string NMD::UALWM(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::UASDM(uint64 instruction, Dis_info *info) +static std::string UASDM(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -16345,7 +16345,7 @@ std::string NMD::UASDM(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::UASH(uint64 instruction, Dis_info *info) +static std::string UASH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -16369,7 +16369,7 @@ std::string NMD::UASH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::UASWM(uint64 instruction, Dis_info *info) +static std::string UASWM(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -16395,7 +16395,7 @@ std::string NMD::UASWM(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::UDI(uint64 instruction, Dis_info *info) +static std::string UDI(uint64 instruction, Dis_info *info) { uint64 op_value = extract_op_25_to_3(instruction); @@ -16413,7 +16413,7 @@ std::string NMD::UDI(uint64 instruction, Dis_info *info) * 001000 1100001101111111 * code ---------- */ -std::string NMD::WAIT(uint64 instruction, Dis_info *info) +static std::string WAIT(uint64 instruction, Dis_info *info) { uint64 code_value = extract_code_25_24_23_22_21_20_19_18_17_16(instruction); @@ -16433,7 +16433,7 @@ std::string NMD::WAIT(uint64 instruction, Dis_info *info) * rt ----- * mask ------- */ -std::string NMD::WRDSP(uint64 instruction, Dis_info *info) +static std::string WRDSP(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 mask_value = extract_mask_20_19_18_17_16_15_14(instruction); @@ -16455,7 +16455,7 @@ std::string NMD::WRDSP(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::WRPGPR(uint64 instruction, Dis_info *info) +static std::string WRPGPR(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -16477,7 +16477,7 @@ std::string NMD::WRPGPR(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::XOR_16_(uint64 instruction, Dis_info *info) +static std::string XOR_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); @@ -16499,7 +16499,7 @@ std::string NMD::XOR_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::XOR_32_(uint64 instruction, Dis_info *info) +static std::string XOR_32_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -16523,7 +16523,7 @@ std::string NMD::XOR_32_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -std::string NMD::XORI(uint64 instruction, Dis_info *info) +static std::string XORI(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -16546,7 +16546,7 @@ std::string NMD::XORI(uint64 instruction, Dis_info *info) * rt ----- * rs ----- */ -std::string NMD::YIELD(uint64 instruction, Dis_info *info) +static std::string YIELD(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -16663,26 +16663,26 @@ std::string NMD::YIELD(uint64 instruction, Dis_info *info) NMD::Pool NMD::P_SYSCALL[2] = { { instruction , 0 , 0 , 32, - 0xfffc0000, 0x00080000, &NMD::SYSCALL_32_ , 0, + 0xfffc0000, 0x00080000, &SYSCALL_32_ , 0, 0x0 }, /* SYSCALL[32] */ { instruction , 0 , 0 , 32, - 0xfffc0000, 0x000c0000, &NMD::HYPCALL , 0, + 0xfffc0000, 0x000c0000, &HYPCALL , 0, CP0_ | VZ_ }, /* HYPCALL */ }; NMD::Pool NMD::P_RI[4] = { { instruction , 0 , 0 , 32, - 0xfff80000, 0x00000000, &NMD::SIGRIE , 0, + 0xfff80000, 0x00000000, &SIGRIE , 0, 0x0 }, /* SIGRIE */ { pool , P_SYSCALL , 2 , 32, 0xfff80000, 0x00080000, 0 , 0, 0x0 }, /* P.SYSCALL */ { instruction , 0 , 0 , 32, - 0xfff80000, 0x00100000, &NMD::BREAK_32_ , 0, + 0xfff80000, 0x00100000, &BREAK_32_ , 0, 0x0 }, /* BREAK[32] */ { instruction , 0 , 0 , 32, - 0xfff80000, 0x00180000, &NMD::SDBBP_32_ , 0, + 0xfff80000, 0x00180000, &SDBBP_32_ , 0, EJTAG_ }, /* SDBBP[32] */ }; @@ -16692,47 +16692,47 @@ NMD::Pool NMD::P_ADDIU[2] = { 0xffe00000, 0x00000000, 0 , 0, 0x0 }, /* P.RI */ { instruction , 0 , 0 , 32, - 0xfc000000, 0x00000000, &NMD::ADDIU_32_ , &ADDIU_32__cond , + 0xfc000000, 0x00000000, &ADDIU_32_ , &ADDIU_32__cond , 0x0 }, /* ADDIU[32] */ }; NMD::Pool NMD::P_TRAP[2] = { { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x20000000, &NMD::TEQ , 0, + 0xfc0007ff, 0x20000000, &TEQ , 0, XMMS_ }, /* TEQ */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x20000400, &NMD::TNE , 0, + 0xfc0007ff, 0x20000400, &TNE , 0, XMMS_ }, /* TNE */ }; NMD::Pool NMD::P_CMOVE[2] = { { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x20000210, &NMD::MOVZ , 0, + 0xfc0007ff, 0x20000210, &MOVZ , 0, 0x0 }, /* MOVZ */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x20000610, &NMD::MOVN , 0, + 0xfc0007ff, 0x20000610, &MOVN , 0, 0x0 }, /* MOVN */ }; NMD::Pool NMD::P_D_MT_VPE[2] = { { instruction , 0 , 0 , 32, - 0xfc1f3fff, 0x20010ab0, &NMD::DMT , 0, + 0xfc1f3fff, 0x20010ab0, &DMT , 0, MT_ }, /* DMT */ { instruction , 0 , 0 , 32, - 0xfc1f3fff, 0x20000ab0, &NMD::DVPE , 0, + 0xfc1f3fff, 0x20000ab0, &DVPE , 0, MT_ }, /* DVPE */ }; NMD::Pool NMD::P_E_MT_VPE[2] = { { instruction , 0 , 0 , 32, - 0xfc1f3fff, 0x20010eb0, &NMD::EMT , 0, + 0xfc1f3fff, 0x20010eb0, &EMT , 0, MT_ }, /* EMT */ { instruction , 0 , 0 , 32, - 0xfc1f3fff, 0x20000eb0, &NMD::EVPE , 0, + 0xfc1f3fff, 0x20000eb0, &EVPE , 0, MT_ }, /* EVPE */ }; @@ -16777,10 +16777,10 @@ NMD::Pool NMD::P_MT_VPE[8] = { NMD::Pool NMD::P_DVP[2] = { { instruction , 0 , 0 , 32, - 0xfc00ffff, 0x20000390, &NMD::DVP , 0, + 0xfc00ffff, 0x20000390, &DVP , 0, 0x0 }, /* DVP */ { instruction , 0 , 0 , 32, - 0xfc00ffff, 0x20000790, &NMD::EVP , 0, + 0xfc00ffff, 0x20000790, &EVP , 0, 0x0 }, /* EVP */ }; @@ -16790,7 +16790,7 @@ NMD::Pool NMD::P_SLTU[2] = { 0xfc00fbff, 0x20000390, 0 , 0, 0x0 }, /* P.DVP */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x20000390, &NMD::SLTU , &SLTU_cond , + 0xfc0003ff, 0x20000390, &SLTU , &SLTU_cond , 0x0 }, /* SLTU */ }; @@ -16800,13 +16800,13 @@ NMD::Pool NMD::_POOL32A0[128] = { 0xfc0003ff, 0x20000000, 0 , 0, 0x0 }, /* P.TRAP */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x20000008, &NMD::SEB , 0, + 0xfc0003ff, 0x20000008, &SEB , 0, XMMS_ }, /* SEB */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x20000010, &NMD::SLLV , 0, + 0xfc0003ff, 0x20000010, &SLLV , 0, 0x0 }, /* SLLV */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x20000018, &NMD::MUL_32_ , 0, + 0xfc0003ff, 0x20000018, &MUL_32_ , 0, 0x0 }, /* MUL[32] */ { reserved_block , 0 , 0 , 32, 0xfc0003ff, 0x20000020, 0 , 0, @@ -16815,22 +16815,22 @@ NMD::Pool NMD::_POOL32A0[128] = { 0xfc0003ff, 0x20000028, 0 , 0, 0x0 }, /* _POOL32A0~*(5) */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x20000030, &NMD::MFC0 , 0, + 0xfc0003ff, 0x20000030, &MFC0 , 0, 0x0 }, /* MFC0 */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x20000038, &NMD::MFHC0 , 0, + 0xfc0003ff, 0x20000038, &MFHC0 , 0, CP0_ | MVH_ }, /* MFHC0 */ { reserved_block , 0 , 0 , 32, 0xfc0003ff, 0x20000040, 0 , 0, 0x0 }, /* _POOL32A0~*(8) */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x20000048, &NMD::SEH , 0, + 0xfc0003ff, 0x20000048, &SEH , 0, 0x0 }, /* SEH */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x20000050, &NMD::SRLV , 0, + 0xfc0003ff, 0x20000050, &SRLV , 0, 0x0 }, /* SRLV */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x20000058, &NMD::MUH , 0, + 0xfc0003ff, 0x20000058, &MUH , 0, 0x0 }, /* MUH */ { reserved_block , 0 , 0 , 32, 0xfc0003ff, 0x20000060, 0 , 0, @@ -16839,10 +16839,10 @@ NMD::Pool NMD::_POOL32A0[128] = { 0xfc0003ff, 0x20000068, 0 , 0, 0x0 }, /* _POOL32A0~*(13) */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x20000070, &NMD::MTC0 , 0, + 0xfc0003ff, 0x20000070, &MTC0 , 0, CP0_ }, /* MTC0 */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x20000078, &NMD::MTHC0 , 0, + 0xfc0003ff, 0x20000078, &MTHC0 , 0, CP0_ | MVH_ }, /* MTHC0 */ { reserved_block , 0 , 0 , 32, 0xfc0003ff, 0x20000080, 0 , 0, @@ -16851,10 +16851,10 @@ NMD::Pool NMD::_POOL32A0[128] = { 0xfc0003ff, 0x20000088, 0 , 0, 0x0 }, /* _POOL32A0~*(17) */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x20000090, &NMD::SRAV , 0, + 0xfc0003ff, 0x20000090, &SRAV , 0, 0x0 }, /* SRAV */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x20000098, &NMD::MULU , 0, + 0xfc0003ff, 0x20000098, &MULU , 0, 0x0 }, /* MULU */ { reserved_block , 0 , 0 , 32, 0xfc0003ff, 0x200000a0, 0 , 0, @@ -16863,10 +16863,10 @@ NMD::Pool NMD::_POOL32A0[128] = { 0xfc0003ff, 0x200000a8, 0 , 0, 0x0 }, /* _POOL32A0~*(21) */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x200000b0, &NMD::MFGC0 , 0, + 0xfc0003ff, 0x200000b0, &MFGC0 , 0, CP0_ | VZ_ }, /* MFGC0 */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x200000b8, &NMD::MFHGC0 , 0, + 0xfc0003ff, 0x200000b8, &MFHGC0 , 0, CP0_ | VZ_ | MVH_ }, /* MFHGC0 */ { reserved_block , 0 , 0 , 32, 0xfc0003ff, 0x200000c0, 0 , 0, @@ -16875,10 +16875,10 @@ NMD::Pool NMD::_POOL32A0[128] = { 0xfc0003ff, 0x200000c8, 0 , 0, 0x0 }, /* _POOL32A0~*(25) */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x200000d0, &NMD::ROTRV , 0, + 0xfc0003ff, 0x200000d0, &ROTRV , 0, 0x0 }, /* ROTRV */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x200000d8, &NMD::MUHU , 0, + 0xfc0003ff, 0x200000d8, &MUHU , 0, 0x0 }, /* MUHU */ { reserved_block , 0 , 0 , 32, 0xfc0003ff, 0x200000e0, 0 , 0, @@ -16887,10 +16887,10 @@ NMD::Pool NMD::_POOL32A0[128] = { 0xfc0003ff, 0x200000e8, 0 , 0, 0x0 }, /* _POOL32A0~*(29) */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x200000f0, &NMD::MTGC0 , 0, + 0xfc0003ff, 0x200000f0, &MTGC0 , 0, CP0_ | VZ_ }, /* MTGC0 */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x200000f8, &NMD::MTHGC0 , 0, + 0xfc0003ff, 0x200000f8, &MTHGC0 , 0, CP0_ | VZ_ | MVH_ }, /* MTHGC0 */ { reserved_block , 0 , 0 , 32, 0xfc0003ff, 0x20000100, 0 , 0, @@ -16899,10 +16899,10 @@ NMD::Pool NMD::_POOL32A0[128] = { 0xfc0003ff, 0x20000108, 0 , 0, 0x0 }, /* _POOL32A0~*(33) */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x20000110, &NMD::ADD , 0, + 0xfc0003ff, 0x20000110, &ADD , 0, XMMS_ }, /* ADD */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x20000118, &NMD::DIV , 0, + 0xfc0003ff, 0x20000118, &DIV , 0, 0x0 }, /* DIV */ { reserved_block , 0 , 0 , 32, 0xfc0003ff, 0x20000120, 0 , 0, @@ -16911,7 +16911,7 @@ NMD::Pool NMD::_POOL32A0[128] = { 0xfc0003ff, 0x20000128, 0 , 0, 0x0 }, /* _POOL32A0~*(37) */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x20000130, &NMD::DMFC0 , 0, + 0xfc0003ff, 0x20000130, &DMFC0 , 0, CP0_ | MIPS64_ }, /* DMFC0 */ { reserved_block , 0 , 0 , 32, 0xfc0003ff, 0x20000138, 0 , 0, @@ -16923,10 +16923,10 @@ NMD::Pool NMD::_POOL32A0[128] = { 0xfc0003ff, 0x20000148, 0 , 0, 0x0 }, /* _POOL32A0~*(41) */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x20000150, &NMD::ADDU_32_ , 0, + 0xfc0003ff, 0x20000150, &ADDU_32_ , 0, 0x0 }, /* ADDU[32] */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x20000158, &NMD::MOD , 0, + 0xfc0003ff, 0x20000158, &MOD , 0, 0x0 }, /* MOD */ { reserved_block , 0 , 0 , 32, 0xfc0003ff, 0x20000160, 0 , 0, @@ -16935,7 +16935,7 @@ NMD::Pool NMD::_POOL32A0[128] = { 0xfc0003ff, 0x20000168, 0 , 0, 0x0 }, /* _POOL32A0~*(45) */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x20000170, &NMD::DMTC0 , 0, + 0xfc0003ff, 0x20000170, &DMTC0 , 0, CP0_ | MIPS64_ }, /* DMTC0 */ { reserved_block , 0 , 0 , 32, 0xfc0003ff, 0x20000178, 0 , 0, @@ -16947,10 +16947,10 @@ NMD::Pool NMD::_POOL32A0[128] = { 0xfc0003ff, 0x20000188, 0 , 0, 0x0 }, /* _POOL32A0~*(49) */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x20000190, &NMD::SUB , 0, + 0xfc0003ff, 0x20000190, &SUB , 0, XMMS_ }, /* SUB */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x20000198, &NMD::DIVU , 0, + 0xfc0003ff, 0x20000198, &DIVU , 0, 0x0 }, /* DIVU */ { reserved_block , 0 , 0 , 32, 0xfc0003ff, 0x200001a0, 0 , 0, @@ -16959,22 +16959,22 @@ NMD::Pool NMD::_POOL32A0[128] = { 0xfc0003ff, 0x200001a8, 0 , 0, 0x0 }, /* _POOL32A0~*(53) */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x200001b0, &NMD::DMFGC0 , 0, + 0xfc0003ff, 0x200001b0, &DMFGC0 , 0, CP0_ | MIPS64_ | VZ_}, /* DMFGC0 */ { reserved_block , 0 , 0 , 32, 0xfc0003ff, 0x200001b8, 0 , 0, 0x0 }, /* _POOL32A0~*(55) */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x200001c0, &NMD::RDHWR , 0, + 0xfc0003ff, 0x200001c0, &RDHWR , 0, XMMS_ }, /* RDHWR */ { reserved_block , 0 , 0 , 32, 0xfc0003ff, 0x200001c8, 0 , 0, 0x0 }, /* _POOL32A0~*(57) */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x200001d0, &NMD::SUBU_32_ , 0, + 0xfc0003ff, 0x200001d0, &SUBU_32_ , 0, 0x0 }, /* SUBU[32] */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x200001d8, &NMD::MODU , 0, + 0xfc0003ff, 0x200001d8, &MODU , 0, 0x0 }, /* MODU */ { reserved_block , 0 , 0 , 32, 0xfc0003ff, 0x200001e0, 0 , 0, @@ -16983,7 +16983,7 @@ NMD::Pool NMD::_POOL32A0[128] = { 0xfc0003ff, 0x200001e8, 0 , 0, 0x0 }, /* _POOL32A0~*(61) */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x200001f0, &NMD::DMTGC0 , 0, + 0xfc0003ff, 0x200001f0, &DMTGC0 , 0, CP0_ | MIPS64_ | VZ_}, /* DMTGC0 */ { reserved_block , 0 , 0 , 32, 0xfc0003ff, 0x200001f8, 0 , 0, @@ -17004,13 +17004,13 @@ NMD::Pool NMD::_POOL32A0[128] = { 0xfc0003ff, 0x20000220, 0 , 0, 0x0 }, /* _POOL32A0~*(68) */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x20000228, &NMD::FORK , 0, + 0xfc0003ff, 0x20000228, &FORK , 0, MT_ }, /* FORK */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x20000230, &NMD::MFTR , 0, + 0xfc0003ff, 0x20000230, &MFTR , 0, MT_ }, /* MFTR */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x20000238, &NMD::MFHTR , 0, + 0xfc0003ff, 0x20000238, &MFHTR , 0, MT_ }, /* MFHTR */ { reserved_block , 0 , 0 , 32, 0xfc0003ff, 0x20000240, 0 , 0, @@ -17019,7 +17019,7 @@ NMD::Pool NMD::_POOL32A0[128] = { 0xfc0003ff, 0x20000248, 0 , 0, 0x0 }, /* _POOL32A0~*(73) */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x20000250, &NMD::AND_32_ , 0, + 0xfc0003ff, 0x20000250, &AND_32_ , 0, 0x0 }, /* AND[32] */ { reserved_block , 0 , 0 , 32, 0xfc0003ff, 0x20000258, 0 , 0, @@ -17028,13 +17028,13 @@ NMD::Pool NMD::_POOL32A0[128] = { 0xfc0003ff, 0x20000260, 0 , 0, 0x0 }, /* _POOL32A0~*(76) */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x20000268, &NMD::YIELD , 0, + 0xfc0003ff, 0x20000268, &YIELD , 0, MT_ }, /* YIELD */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x20000270, &NMD::MTTR , 0, + 0xfc0003ff, 0x20000270, &MTTR , 0, MT_ }, /* MTTR */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x20000278, &NMD::MTHTR , 0, + 0xfc0003ff, 0x20000278, &MTHTR , 0, MT_ }, /* MTHTR */ { reserved_block , 0 , 0 , 32, 0xfc0003ff, 0x20000280, 0 , 0, @@ -17043,7 +17043,7 @@ NMD::Pool NMD::_POOL32A0[128] = { 0xfc0003ff, 0x20000288, 0 , 0, 0x0 }, /* _POOL32A0~*(81) */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x20000290, &NMD::OR_32_ , 0, + 0xfc0003ff, 0x20000290, &OR_32_ , 0, 0x0 }, /* OR[32] */ { reserved_block , 0 , 0 , 32, 0xfc0003ff, 0x20000298, 0 , 0, @@ -17067,7 +17067,7 @@ NMD::Pool NMD::_POOL32A0[128] = { 0xfc0003ff, 0x200002c8, 0 , 0, 0x0 }, /* _POOL32A0~*(89) */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x200002d0, &NMD::NOR , 0, + 0xfc0003ff, 0x200002d0, &NOR , 0, 0x0 }, /* NOR */ { reserved_block , 0 , 0 , 32, 0xfc0003ff, 0x200002d8, 0 , 0, @@ -17091,7 +17091,7 @@ NMD::Pool NMD::_POOL32A0[128] = { 0xfc0003ff, 0x20000308, 0 , 0, 0x0 }, /* _POOL32A0~*(97) */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x20000310, &NMD::XOR_32_ , 0, + 0xfc0003ff, 0x20000310, &XOR_32_ , 0, 0x0 }, /* XOR[32] */ { reserved_block , 0 , 0 , 32, 0xfc0003ff, 0x20000318, 0 , 0, @@ -17115,7 +17115,7 @@ NMD::Pool NMD::_POOL32A0[128] = { 0xfc0003ff, 0x20000348, 0 , 0, 0x0 }, /* _POOL32A0~*(105) */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x20000350, &NMD::SLT , 0, + 0xfc0003ff, 0x20000350, &SLT , 0, 0x0 }, /* SLT */ { reserved_block , 0 , 0 , 32, 0xfc0003ff, 0x20000358, 0 , 0, @@ -17163,7 +17163,7 @@ NMD::Pool NMD::_POOL32A0[128] = { 0xfc0003ff, 0x200003c8, 0 , 0, 0x0 }, /* _POOL32A0~*(121) */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x200003d0, &NMD::SOV , 0, + 0xfc0003ff, 0x200003d0, &SOV , 0, 0x0 }, /* SOV */ { reserved_block , 0 , 0 , 32, 0xfc0003ff, 0x200003d8, 0 , 0, @@ -17185,183 +17185,183 @@ NMD::Pool NMD::_POOL32A0[128] = { NMD::Pool NMD::ADDQ__S__PH[2] = { { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x2000000d, &NMD::ADDQ_PH , 0, + 0xfc0007ff, 0x2000000d, &ADDQ_PH , 0, DSP_ }, /* ADDQ.PH */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x2000040d, &NMD::ADDQ_S_PH , 0, + 0xfc0007ff, 0x2000040d, &ADDQ_S_PH , 0, DSP_ }, /* ADDQ_S.PH */ }; NMD::Pool NMD::MUL__S__PH[2] = { { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x2000002d, &NMD::MUL_PH , 0, + 0xfc0007ff, 0x2000002d, &MUL_PH , 0, DSP_ }, /* MUL.PH */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x2000042d, &NMD::MUL_S_PH , 0, + 0xfc0007ff, 0x2000042d, &MUL_S_PH , 0, DSP_ }, /* MUL_S.PH */ }; NMD::Pool NMD::ADDQH__R__PH[2] = { { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x2000004d, &NMD::ADDQH_PH , 0, + 0xfc0007ff, 0x2000004d, &ADDQH_PH , 0, DSP_ }, /* ADDQH.PH */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x2000044d, &NMD::ADDQH_R_PH , 0, + 0xfc0007ff, 0x2000044d, &ADDQH_R_PH , 0, DSP_ }, /* ADDQH_R.PH */ }; NMD::Pool NMD::ADDQH__R__W[2] = { { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x2000008d, &NMD::ADDQH_W , 0, + 0xfc0007ff, 0x2000008d, &ADDQH_W , 0, DSP_ }, /* ADDQH.W */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x2000048d, &NMD::ADDQH_R_W , 0, + 0xfc0007ff, 0x2000048d, &ADDQH_R_W , 0, DSP_ }, /* ADDQH_R.W */ }; NMD::Pool NMD::ADDU__S__QB[2] = { { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x200000cd, &NMD::ADDU_QB , 0, + 0xfc0007ff, 0x200000cd, &ADDU_QB , 0, DSP_ }, /* ADDU.QB */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x200004cd, &NMD::ADDU_S_QB , 0, + 0xfc0007ff, 0x200004cd, &ADDU_S_QB , 0, DSP_ }, /* ADDU_S.QB */ }; NMD::Pool NMD::ADDU__S__PH[2] = { { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x2000010d, &NMD::ADDU_PH , 0, + 0xfc0007ff, 0x2000010d, &ADDU_PH , 0, DSP_ }, /* ADDU.PH */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x2000050d, &NMD::ADDU_S_PH , 0, + 0xfc0007ff, 0x2000050d, &ADDU_S_PH , 0, DSP_ }, /* ADDU_S.PH */ }; NMD::Pool NMD::ADDUH__R__QB[2] = { { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x2000014d, &NMD::ADDUH_QB , 0, + 0xfc0007ff, 0x2000014d, &ADDUH_QB , 0, DSP_ }, /* ADDUH.QB */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x2000054d, &NMD::ADDUH_R_QB , 0, + 0xfc0007ff, 0x2000054d, &ADDUH_R_QB , 0, DSP_ }, /* ADDUH_R.QB */ }; NMD::Pool NMD::SHRAV__R__PH[2] = { { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x2000018d, &NMD::SHRAV_PH , 0, + 0xfc0007ff, 0x2000018d, &SHRAV_PH , 0, DSP_ }, /* SHRAV.PH */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x2000058d, &NMD::SHRAV_R_PH , 0, + 0xfc0007ff, 0x2000058d, &SHRAV_R_PH , 0, DSP_ }, /* SHRAV_R.PH */ }; NMD::Pool NMD::SHRAV__R__QB[2] = { { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x200001cd, &NMD::SHRAV_QB , 0, + 0xfc0007ff, 0x200001cd, &SHRAV_QB , 0, DSP_ }, /* SHRAV.QB */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x200005cd, &NMD::SHRAV_R_QB , 0, + 0xfc0007ff, 0x200005cd, &SHRAV_R_QB , 0, DSP_ }, /* SHRAV_R.QB */ }; NMD::Pool NMD::SUBQ__S__PH[2] = { { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x2000020d, &NMD::SUBQ_PH , 0, + 0xfc0007ff, 0x2000020d, &SUBQ_PH , 0, DSP_ }, /* SUBQ.PH */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x2000060d, &NMD::SUBQ_S_PH , 0, + 0xfc0007ff, 0x2000060d, &SUBQ_S_PH , 0, DSP_ }, /* SUBQ_S.PH */ }; NMD::Pool NMD::SUBQH__R__PH[2] = { { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x2000024d, &NMD::SUBQH_PH , 0, + 0xfc0007ff, 0x2000024d, &SUBQH_PH , 0, DSP_ }, /* SUBQH.PH */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x2000064d, &NMD::SUBQH_R_PH , 0, + 0xfc0007ff, 0x2000064d, &SUBQH_R_PH , 0, DSP_ }, /* SUBQH_R.PH */ }; NMD::Pool NMD::SUBQH__R__W[2] = { { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x2000028d, &NMD::SUBQH_W , 0, + 0xfc0007ff, 0x2000028d, &SUBQH_W , 0, DSP_ }, /* SUBQH.W */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x2000068d, &NMD::SUBQH_R_W , 0, + 0xfc0007ff, 0x2000068d, &SUBQH_R_W , 0, DSP_ }, /* SUBQH_R.W */ }; NMD::Pool NMD::SUBU__S__QB[2] = { { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x200002cd, &NMD::SUBU_QB , 0, + 0xfc0007ff, 0x200002cd, &SUBU_QB , 0, DSP_ }, /* SUBU.QB */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x200006cd, &NMD::SUBU_S_QB , 0, + 0xfc0007ff, 0x200006cd, &SUBU_S_QB , 0, DSP_ }, /* SUBU_S.QB */ }; NMD::Pool NMD::SUBU__S__PH[2] = { { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x2000030d, &NMD::SUBU_PH , 0, + 0xfc0007ff, 0x2000030d, &SUBU_PH , 0, DSP_ }, /* SUBU.PH */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x2000070d, &NMD::SUBU_S_PH , 0, + 0xfc0007ff, 0x2000070d, &SUBU_S_PH , 0, DSP_ }, /* SUBU_S.PH */ }; NMD::Pool NMD::SHRA__R__PH[2] = { { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x20000335, &NMD::SHRA_PH , 0, + 0xfc0007ff, 0x20000335, &SHRA_PH , 0, DSP_ }, /* SHRA.PH */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x20000735, &NMD::SHRA_R_PH , 0, + 0xfc0007ff, 0x20000735, &SHRA_R_PH , 0, DSP_ }, /* SHRA_R.PH */ }; NMD::Pool NMD::SUBUH__R__QB[2] = { { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x2000034d, &NMD::SUBUH_QB , 0, + 0xfc0007ff, 0x2000034d, &SUBUH_QB , 0, DSP_ }, /* SUBUH.QB */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x2000074d, &NMD::SUBUH_R_QB , 0, + 0xfc0007ff, 0x2000074d, &SUBUH_R_QB , 0, DSP_ }, /* SUBUH_R.QB */ }; NMD::Pool NMD::SHLLV__S__PH[2] = { { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x2000038d, &NMD::SHLLV_PH , 0, + 0xfc0007ff, 0x2000038d, &SHLLV_PH , 0, DSP_ }, /* SHLLV.PH */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x2000078d, &NMD::SHLLV_S_PH , 0, + 0xfc0007ff, 0x2000078d, &SHLLV_S_PH , 0, DSP_ }, /* SHLLV_S.PH */ }; NMD::Pool NMD::SHLL__S__PH[4] = { { instruction , 0 , 0 , 32, - 0xfc000fff, 0x200003b5, &NMD::SHLL_PH , 0, + 0xfc000fff, 0x200003b5, &SHLL_PH , 0, DSP_ }, /* SHLL.PH */ { reserved_block , 0 , 0 , 32, 0xfc000fff, 0x200007b5, 0 , 0, 0x0 }, /* SHLL[_S].PH~*(1) */ { instruction , 0 , 0 , 32, - 0xfc000fff, 0x20000bb5, &NMD::SHLL_S_PH , 0, + 0xfc000fff, 0x20000bb5, &SHLL_S_PH , 0, DSP_ }, /* SHLL_S.PH */ { reserved_block , 0 , 0 , 32, 0xfc000fff, 0x20000fb5, 0 , 0, @@ -17371,17 +17371,17 @@ NMD::Pool NMD::SHLL__S__PH[4] = { NMD::Pool NMD::PRECR_SRA__R__PH_W[2] = { { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x200003cd, &NMD::PRECR_SRA_PH_W , 0, + 0xfc0007ff, 0x200003cd, &PRECR_SRA_PH_W , 0, DSP_ }, /* PRECR_SRA.PH.W */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x200007cd, &NMD::PRECR_SRA_R_PH_W , 0, + 0xfc0007ff, 0x200007cd, &PRECR_SRA_R_PH_W , 0, DSP_ }, /* PRECR_SRA_R.PH.W */ }; NMD::Pool NMD::_POOL32A5[128] = { { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x20000005, &NMD::CMP_EQ_PH , 0, + 0xfc0003ff, 0x20000005, &CMP_EQ_PH , 0, DSP_ }, /* CMP.EQ.PH */ { pool , ADDQ__S__PH , 2 , 32, 0xfc0003ff, 0x2000000d, 0 , 0, @@ -17390,10 +17390,10 @@ NMD::Pool NMD::_POOL32A5[128] = { 0xfc0003ff, 0x20000015, 0 , 0, 0x0 }, /* _POOL32A5~*(2) */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x2000001d, &NMD::SHILO , 0, + 0xfc0003ff, 0x2000001d, &SHILO , 0, DSP_ }, /* SHILO */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x20000025, &NMD::MULEQ_S_W_PHL , 0, + 0xfc0003ff, 0x20000025, &MULEQ_S_W_PHL , 0, DSP_ }, /* MULEQ_S.W.PHL */ { pool , MUL__S__PH , 2 , 32, 0xfc0003ff, 0x2000002d, 0 , 0, @@ -17402,10 +17402,10 @@ NMD::Pool NMD::_POOL32A5[128] = { 0xfc0003ff, 0x20000035, 0 , 0, 0x0 }, /* _POOL32A5~*(6) */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x2000003d, &NMD::REPL_PH , 0, + 0xfc0003ff, 0x2000003d, &REPL_PH , 0, DSP_ }, /* REPL.PH */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x20000045, &NMD::CMP_LT_PH , 0, + 0xfc0003ff, 0x20000045, &CMP_LT_PH , 0, DSP_ }, /* CMP.LT.PH */ { pool , ADDQH__R__PH , 2 , 32, 0xfc0003ff, 0x2000004d, 0 , 0, @@ -17417,10 +17417,10 @@ NMD::Pool NMD::_POOL32A5[128] = { 0xfc0003ff, 0x2000005d, 0 , 0, 0x0 }, /* _POOL32A5~*(11) */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x20000065, &NMD::MULEQ_S_W_PHR , 0, + 0xfc0003ff, 0x20000065, &MULEQ_S_W_PHR , 0, DSP_ }, /* MULEQ_S.W.PHR */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x2000006d, &NMD::PRECR_QB_PH , 0, + 0xfc0003ff, 0x2000006d, &PRECR_QB_PH , 0, DSP_ }, /* PRECR.QB.PH */ { reserved_block , 0 , 0 , 32, 0xfc0003ff, 0x20000075, 0 , 0, @@ -17429,13 +17429,13 @@ NMD::Pool NMD::_POOL32A5[128] = { 0xfc0003ff, 0x2000007d, 0 , 0, 0x0 }, /* _POOL32A5~*(15) */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x20000085, &NMD::CMP_LE_PH , 0, + 0xfc0003ff, 0x20000085, &CMP_LE_PH , 0, DSP_ }, /* CMP.LE.PH */ { pool , ADDQH__R__W , 2 , 32, 0xfc0003ff, 0x2000008d, 0 , 0, 0x0 }, /* ADDQH[_R].W */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x20000095, &NMD::MULEU_S_PH_QBL , 0, + 0xfc0003ff, 0x20000095, &MULEU_S_PH_QBL , 0, DSP_ }, /* MULEU_S.PH.QBL */ { reserved_block , 0 , 0 , 32, 0xfc0003ff, 0x2000009d, 0 , 0, @@ -17444,7 +17444,7 @@ NMD::Pool NMD::_POOL32A5[128] = { 0xfc0003ff, 0x200000a5, 0 , 0, 0x0 }, /* _POOL32A5~*(20) */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x200000ad, &NMD::PRECRQ_QB_PH , 0, + 0xfc0003ff, 0x200000ad, &PRECRQ_QB_PH , 0, DSP_ }, /* PRECRQ.QB.PH */ { reserved_block , 0 , 0 , 32, 0xfc0003ff, 0x200000b5, 0 , 0, @@ -17453,13 +17453,13 @@ NMD::Pool NMD::_POOL32A5[128] = { 0xfc0003ff, 0x200000bd, 0 , 0, 0x0 }, /* _POOL32A5~*(23) */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x200000c5, &NMD::CMPGU_EQ_QB , 0, + 0xfc0003ff, 0x200000c5, &CMPGU_EQ_QB , 0, DSP_ }, /* CMPGU.EQ.QB */ { pool , ADDU__S__QB , 2 , 32, 0xfc0003ff, 0x200000cd, 0 , 0, 0x0 }, /* ADDU[_S].QB */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x200000d5, &NMD::MULEU_S_PH_QBR , 0, + 0xfc0003ff, 0x200000d5, &MULEU_S_PH_QBR , 0, DSP_ }, /* MULEU_S.PH.QBR */ { reserved_block , 0 , 0 , 32, 0xfc0003ff, 0x200000dd, 0 , 0, @@ -17468,7 +17468,7 @@ NMD::Pool NMD::_POOL32A5[128] = { 0xfc0003ff, 0x200000e5, 0 , 0, 0x0 }, /* _POOL32A5~*(28) */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x200000ed, &NMD::PRECRQ_PH_W , 0, + 0xfc0003ff, 0x200000ed, &PRECRQ_PH_W , 0, DSP_ }, /* PRECRQ.PH.W */ { reserved_block , 0 , 0 , 32, 0xfc0003ff, 0x200000f5, 0 , 0, @@ -17477,13 +17477,13 @@ NMD::Pool NMD::_POOL32A5[128] = { 0xfc0003ff, 0x200000fd, 0 , 0, 0x0 }, /* _POOL32A5~*(31) */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x20000105, &NMD::CMPGU_LT_QB , 0, + 0xfc0003ff, 0x20000105, &CMPGU_LT_QB , 0, DSP_ }, /* CMPGU.LT.QB */ { pool , ADDU__S__PH , 2 , 32, 0xfc0003ff, 0x2000010d, 0 , 0, 0x0 }, /* ADDU[_S].PH */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x20000115, &NMD::MULQ_RS_PH , 0, + 0xfc0003ff, 0x20000115, &MULQ_RS_PH , 0, DSP_ }, /* MULQ_RS.PH */ { reserved_block , 0 , 0 , 32, 0xfc0003ff, 0x2000011d, 0 , 0, @@ -17492,7 +17492,7 @@ NMD::Pool NMD::_POOL32A5[128] = { 0xfc0003ff, 0x20000125, 0 , 0, 0x0 }, /* _POOL32A5~*(36) */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x2000012d, &NMD::PRECRQ_RS_PH_W , 0, + 0xfc0003ff, 0x2000012d, &PRECRQ_RS_PH_W , 0, DSP_ }, /* PRECRQ_RS.PH.W */ { reserved_block , 0 , 0 , 32, 0xfc0003ff, 0x20000135, 0 , 0, @@ -17501,13 +17501,13 @@ NMD::Pool NMD::_POOL32A5[128] = { 0xfc0003ff, 0x2000013d, 0 , 0, 0x0 }, /* _POOL32A5~*(39) */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x20000145, &NMD::CMPGU_LE_QB , 0, + 0xfc0003ff, 0x20000145, &CMPGU_LE_QB , 0, DSP_ }, /* CMPGU.LE.QB */ { pool , ADDUH__R__QB , 2 , 32, 0xfc0003ff, 0x2000014d, 0 , 0, 0x0 }, /* ADDUH[_R].QB */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x20000155, &NMD::MULQ_S_PH , 0, + 0xfc0003ff, 0x20000155, &MULQ_S_PH , 0, DSP_ }, /* MULQ_S.PH */ { reserved_block , 0 , 0 , 32, 0xfc0003ff, 0x2000015d, 0 , 0, @@ -17516,7 +17516,7 @@ NMD::Pool NMD::_POOL32A5[128] = { 0xfc0003ff, 0x20000165, 0 , 0, 0x0 }, /* _POOL32A5~*(44) */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x2000016d, &NMD::PRECRQU_S_QB_PH , 0, + 0xfc0003ff, 0x2000016d, &PRECRQU_S_QB_PH , 0, DSP_ }, /* PRECRQU_S.QB.PH */ { reserved_block , 0 , 0 , 32, 0xfc0003ff, 0x20000175, 0 , 0, @@ -17525,13 +17525,13 @@ NMD::Pool NMD::_POOL32A5[128] = { 0xfc0003ff, 0x2000017d, 0 , 0, 0x0 }, /* _POOL32A5~*(47) */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x20000185, &NMD::CMPGDU_EQ_QB , 0, + 0xfc0003ff, 0x20000185, &CMPGDU_EQ_QB , 0, DSP_ }, /* CMPGDU.EQ.QB */ { pool , SHRAV__R__PH , 2 , 32, 0xfc0003ff, 0x2000018d, 0 , 0, 0x0 }, /* SHRAV[_R].PH */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x20000195, &NMD::MULQ_RS_W , 0, + 0xfc0003ff, 0x20000195, &MULQ_RS_W , 0, DSP_ }, /* MULQ_RS.W */ { reserved_block , 0 , 0 , 32, 0xfc0003ff, 0x2000019d, 0 , 0, @@ -17540,7 +17540,7 @@ NMD::Pool NMD::_POOL32A5[128] = { 0xfc0003ff, 0x200001a5, 0 , 0, 0x0 }, /* _POOL32A5~*(52) */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x200001ad, &NMD::PACKRL_PH , 0, + 0xfc0003ff, 0x200001ad, &PACKRL_PH , 0, DSP_ }, /* PACKRL.PH */ { reserved_block , 0 , 0 , 32, 0xfc0003ff, 0x200001b5, 0 , 0, @@ -17549,13 +17549,13 @@ NMD::Pool NMD::_POOL32A5[128] = { 0xfc0003ff, 0x200001bd, 0 , 0, 0x0 }, /* _POOL32A5~*(55) */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x200001c5, &NMD::CMPGDU_LT_QB , 0, + 0xfc0003ff, 0x200001c5, &CMPGDU_LT_QB , 0, DSP_ }, /* CMPGDU.LT.QB */ { pool , SHRAV__R__QB , 2 , 32, 0xfc0003ff, 0x200001cd, 0 , 0, 0x0 }, /* SHRAV[_R].QB */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x200001d5, &NMD::MULQ_S_W , 0, + 0xfc0003ff, 0x200001d5, &MULQ_S_W , 0, DSP_ }, /* MULQ_S.W */ { reserved_block , 0 , 0 , 32, 0xfc0003ff, 0x200001dd, 0 , 0, @@ -17564,7 +17564,7 @@ NMD::Pool NMD::_POOL32A5[128] = { 0xfc0003ff, 0x200001e5, 0 , 0, 0x0 }, /* _POOL32A5~*(60) */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x200001ed, &NMD::PICK_QB , 0, + 0xfc0003ff, 0x200001ed, &PICK_QB , 0, DSP_ }, /* PICK.QB */ { reserved_block , 0 , 0 , 32, 0xfc0003ff, 0x200001f5, 0 , 0, @@ -17573,13 +17573,13 @@ NMD::Pool NMD::_POOL32A5[128] = { 0xfc0003ff, 0x200001fd, 0 , 0, 0x0 }, /* _POOL32A5~*(63) */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x20000205, &NMD::CMPGDU_LE_QB , 0, + 0xfc0003ff, 0x20000205, &CMPGDU_LE_QB , 0, DSP_ }, /* CMPGDU.LE.QB */ { pool , SUBQ__S__PH , 2 , 32, 0xfc0003ff, 0x2000020d, 0 , 0, 0x0 }, /* SUBQ[_S].PH */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x20000215, &NMD::APPEND , 0, + 0xfc0003ff, 0x20000215, &APPEND , 0, DSP_ }, /* APPEND */ { reserved_block , 0 , 0 , 32, 0xfc0003ff, 0x2000021d, 0 , 0, @@ -17588,7 +17588,7 @@ NMD::Pool NMD::_POOL32A5[128] = { 0xfc0003ff, 0x20000225, 0 , 0, 0x0 }, /* _POOL32A5~*(68) */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x2000022d, &NMD::PICK_PH , 0, + 0xfc0003ff, 0x2000022d, &PICK_PH , 0, DSP_ }, /* PICK.PH */ { reserved_block , 0 , 0 , 32, 0xfc0003ff, 0x20000235, 0 , 0, @@ -17597,13 +17597,13 @@ NMD::Pool NMD::_POOL32A5[128] = { 0xfc0003ff, 0x2000023d, 0 , 0, 0x0 }, /* _POOL32A5~*(71) */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x20000245, &NMD::CMPU_EQ_QB , 0, + 0xfc0003ff, 0x20000245, &CMPU_EQ_QB , 0, DSP_ }, /* CMPU.EQ.QB */ { pool , SUBQH__R__PH , 2 , 32, 0xfc0003ff, 0x2000024d, 0 , 0, 0x0 }, /* SUBQH[_R].PH */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x20000255, &NMD::PREPEND , 0, + 0xfc0003ff, 0x20000255, &PREPEND , 0, DSP_ }, /* PREPEND */ { reserved_block , 0 , 0 , 32, 0xfc0003ff, 0x2000025d, 0 , 0, @@ -17621,13 +17621,13 @@ NMD::Pool NMD::_POOL32A5[128] = { 0xfc0003ff, 0x2000027d, 0 , 0, 0x0 }, /* _POOL32A5~*(79) */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x20000285, &NMD::CMPU_LT_QB , 0, + 0xfc0003ff, 0x20000285, &CMPU_LT_QB , 0, DSP_ }, /* CMPU.LT.QB */ { pool , SUBQH__R__W , 2 , 32, 0xfc0003ff, 0x2000028d, 0 , 0, 0x0 }, /* SUBQH[_R].W */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x20000295, &NMD::MODSUB , 0, + 0xfc0003ff, 0x20000295, &MODSUB , 0, DSP_ }, /* MODSUB */ { reserved_block , 0 , 0 , 32, 0xfc0003ff, 0x2000029d, 0 , 0, @@ -17645,13 +17645,13 @@ NMD::Pool NMD::_POOL32A5[128] = { 0xfc0003ff, 0x200002bd, 0 , 0, 0x0 }, /* _POOL32A5~*(87) */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x200002c5, &NMD::CMPU_LE_QB , 0, + 0xfc0003ff, 0x200002c5, &CMPU_LE_QB , 0, DSP_ }, /* CMPU.LE.QB */ { pool , SUBU__S__QB , 2 , 32, 0xfc0003ff, 0x200002cd, 0 , 0, 0x0 }, /* SUBU[_S].QB */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x200002d5, &NMD::SHRAV_R_W , 0, + 0xfc0003ff, 0x200002d5, &SHRAV_R_W , 0, DSP_ }, /* SHRAV_R.W */ { reserved_block , 0 , 0 , 32, 0xfc0003ff, 0x200002dd, 0 , 0, @@ -17663,19 +17663,19 @@ NMD::Pool NMD::_POOL32A5[128] = { 0xfc0003ff, 0x200002ed, 0 , 0, 0x0 }, /* _POOL32A5~*(93) */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x200002f5, &NMD::SHRA_R_W , 0, + 0xfc0003ff, 0x200002f5, &SHRA_R_W , 0, DSP_ }, /* SHRA_R.W */ { reserved_block , 0 , 0 , 32, 0xfc0003ff, 0x200002fd, 0 , 0, 0x0 }, /* _POOL32A5~*(95) */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x20000305, &NMD::ADDQ_S_W , 0, + 0xfc0003ff, 0x20000305, &ADDQ_S_W , 0, DSP_ }, /* ADDQ_S.W */ { pool , SUBU__S__PH , 2 , 32, 0xfc0003ff, 0x2000030d, 0 , 0, 0x0 }, /* SUBU[_S].PH */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x20000315, &NMD::SHRLV_PH , 0, + 0xfc0003ff, 0x20000315, &SHRLV_PH , 0, DSP_ }, /* SHRLV.PH */ { reserved_block , 0 , 0 , 32, 0xfc0003ff, 0x2000031d, 0 , 0, @@ -17693,13 +17693,13 @@ NMD::Pool NMD::_POOL32A5[128] = { 0xfc0003ff, 0x2000033d, 0 , 0, 0x0 }, /* _POOL32A5~*(103) */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x20000345, &NMD::SUBQ_S_W , 0, + 0xfc0003ff, 0x20000345, &SUBQ_S_W , 0, DSP_ }, /* SUBQ_S.W */ { pool , SUBUH__R__QB , 2 , 32, 0xfc0003ff, 0x2000034d, 0 , 0, 0x0 }, /* SUBUH[_R].QB */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x20000355, &NMD::SHRLV_QB , 0, + 0xfc0003ff, 0x20000355, &SHRLV_QB , 0, DSP_ }, /* SHRLV.QB */ { reserved_block , 0 , 0 , 32, 0xfc0003ff, 0x2000035d, 0 , 0, @@ -17717,13 +17717,13 @@ NMD::Pool NMD::_POOL32A5[128] = { 0xfc0003ff, 0x2000037d, 0 , 0, 0x0 }, /* _POOL32A5~*(111) */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x20000385, &NMD::ADDSC , 0, + 0xfc0003ff, 0x20000385, &ADDSC , 0, DSP_ }, /* ADDSC */ { pool , SHLLV__S__PH , 2 , 32, 0xfc0003ff, 0x2000038d, 0 , 0, 0x0 }, /* SHLLV[_S].PH */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x20000395, &NMD::SHLLV_QB , 0, + 0xfc0003ff, 0x20000395, &SHLLV_QB , 0, DSP_ }, /* SHLLV.QB */ { reserved_block , 0 , 0 , 32, 0xfc0003ff, 0x2000039d, 0 , 0, @@ -17741,13 +17741,13 @@ NMD::Pool NMD::_POOL32A5[128] = { 0xfc0003ff, 0x200003bd, 0 , 0, 0x0 }, /* _POOL32A5~*(119) */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x200003c5, &NMD::ADDWC , 0, + 0xfc0003ff, 0x200003c5, &ADDWC , 0, DSP_ }, /* ADDWC */ { pool , PRECR_SRA__R__PH_W , 2 , 32, 0xfc0003ff, 0x200003cd, 0 , 0, 0x0 }, /* PRECR_SRA[_R].PH.W */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x200003d5, &NMD::SHLLV_S_W , 0, + 0xfc0003ff, 0x200003d5, &SHLLV_S_W , 0, DSP_ }, /* SHLLV_S.W */ { reserved_block , 0 , 0 , 32, 0xfc0003ff, 0x200003dd, 0 , 0, @@ -17759,7 +17759,7 @@ NMD::Pool NMD::_POOL32A5[128] = { 0xfc0003ff, 0x200003ed, 0 , 0, 0x0 }, /* _POOL32A5~*(125) */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0x200003f5, &NMD::SHLL_S_W , 0, + 0xfc0003ff, 0x200003f5, &SHLL_S_W , 0, DSP_ }, /* SHLL_S.W */ { reserved_block , 0 , 0 , 32, 0xfc0003ff, 0x200003fd, 0 , 0, @@ -17769,52 +17769,52 @@ NMD::Pool NMD::_POOL32A5[128] = { NMD::Pool NMD::PP_LSX[16] = { { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x20000007, &NMD::LBX , 0, + 0xfc0007ff, 0x20000007, &LBX , 0, 0x0 }, /* LBX */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x20000087, &NMD::SBX , 0, + 0xfc0007ff, 0x20000087, &SBX , 0, XMMS_ }, /* SBX */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x20000107, &NMD::LBUX , 0, + 0xfc0007ff, 0x20000107, &LBUX , 0, 0x0 }, /* LBUX */ { reserved_block , 0 , 0 , 32, 0xfc0007ff, 0x20000187, 0 , 0, 0x0 }, /* PP.LSX~*(3) */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x20000207, &NMD::LHX , 0, + 0xfc0007ff, 0x20000207, &LHX , 0, 0x0 }, /* LHX */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x20000287, &NMD::SHX , 0, + 0xfc0007ff, 0x20000287, &SHX , 0, XMMS_ }, /* SHX */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x20000307, &NMD::LHUX , 0, + 0xfc0007ff, 0x20000307, &LHUX , 0, 0x0 }, /* LHUX */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x20000387, &NMD::LWUX , 0, + 0xfc0007ff, 0x20000387, &LWUX , 0, MIPS64_ }, /* LWUX */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x20000407, &NMD::LWX , 0, + 0xfc0007ff, 0x20000407, &LWX , 0, 0x0 }, /* LWX */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x20000487, &NMD::SWX , 0, + 0xfc0007ff, 0x20000487, &SWX , 0, XMMS_ }, /* SWX */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x20000507, &NMD::LWC1X , 0, + 0xfc0007ff, 0x20000507, &LWC1X , 0, CP1_ }, /* LWC1X */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x20000587, &NMD::SWC1X , 0, + 0xfc0007ff, 0x20000587, &SWC1X , 0, CP1_ }, /* SWC1X */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x20000607, &NMD::LDX , 0, + 0xfc0007ff, 0x20000607, &LDX , 0, MIPS64_ }, /* LDX */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x20000687, &NMD::SDX , 0, + 0xfc0007ff, 0x20000687, &SDX , 0, MIPS64_ }, /* SDX */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x20000707, &NMD::LDC1X , 0, + 0xfc0007ff, 0x20000707, &LDC1X , 0, CP1_ }, /* LDC1X */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x20000787, &NMD::SDC1X , 0, + 0xfc0007ff, 0x20000787, &SDC1X , 0, CP1_ }, /* SDC1X */ }; @@ -17833,40 +17833,40 @@ NMD::Pool NMD::PP_LSXS[16] = { 0xfc0007ff, 0x200001c7, 0 , 0, 0x0 }, /* PP.LSXS~*(3) */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x20000247, &NMD::LHXS , 0, + 0xfc0007ff, 0x20000247, &LHXS , 0, 0x0 }, /* LHXS */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x200002c7, &NMD::SHXS , 0, + 0xfc0007ff, 0x200002c7, &SHXS , 0, XMMS_ }, /* SHXS */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x20000347, &NMD::LHUXS , 0, + 0xfc0007ff, 0x20000347, &LHUXS , 0, 0x0 }, /* LHUXS */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x200003c7, &NMD::LWUXS , 0, + 0xfc0007ff, 0x200003c7, &LWUXS , 0, MIPS64_ }, /* LWUXS */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x20000447, &NMD::LWXS_32_ , 0, + 0xfc0007ff, 0x20000447, &LWXS_32_ , 0, 0x0 }, /* LWXS[32] */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x200004c7, &NMD::SWXS , 0, + 0xfc0007ff, 0x200004c7, &SWXS , 0, XMMS_ }, /* SWXS */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x20000547, &NMD::LWC1XS , 0, + 0xfc0007ff, 0x20000547, &LWC1XS , 0, CP1_ }, /* LWC1XS */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x200005c7, &NMD::SWC1XS , 0, + 0xfc0007ff, 0x200005c7, &SWC1XS , 0, CP1_ }, /* SWC1XS */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x20000647, &NMD::LDXS , 0, + 0xfc0007ff, 0x20000647, &LDXS , 0, MIPS64_ }, /* LDXS */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x200006c7, &NMD::SDXS , 0, + 0xfc0007ff, 0x200006c7, &SDXS , 0, MIPS64_ }, /* SDXS */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x20000747, &NMD::LDC1XS , 0, + 0xfc0007ff, 0x20000747, &LDC1XS , 0, CP1_ }, /* LDC1XS */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0x200007c7, &NMD::SDC1XS , 0, + 0xfc0007ff, 0x200007c7, &SDC1XS , 0, CP1_ }, /* SDC1XS */ }; @@ -17883,26 +17883,26 @@ NMD::Pool NMD::P_LSX[2] = { NMD::Pool NMD::POOL32Axf_1_0[4] = { { instruction , 0 , 0 , 32, - 0xfc003fff, 0x2000007f, &NMD::MFHI_DSP_ , 0, + 0xfc003fff, 0x2000007f, &MFHI_DSP_ , 0, DSP_ }, /* MFHI[DSP] */ { instruction , 0 , 0 , 32, - 0xfc003fff, 0x2000107f, &NMD::MFLO_DSP_ , 0, + 0xfc003fff, 0x2000107f, &MFLO_DSP_ , 0, DSP_ }, /* MFLO[DSP] */ { instruction , 0 , 0 , 32, - 0xfc003fff, 0x2000207f, &NMD::MTHI_DSP_ , 0, + 0xfc003fff, 0x2000207f, &MTHI_DSP_ , 0, DSP_ }, /* MTHI[DSP] */ { instruction , 0 , 0 , 32, - 0xfc003fff, 0x2000307f, &NMD::MTLO_DSP_ , 0, + 0xfc003fff, 0x2000307f, &MTLO_DSP_ , 0, DSP_ }, /* MTLO[DSP] */ }; NMD::Pool NMD::POOL32Axf_1_1[4] = { { instruction , 0 , 0 , 32, - 0xfc003fff, 0x2000027f, &NMD::MTHLIP , 0, + 0xfc003fff, 0x2000027f, &MTHLIP , 0, DSP_ }, /* MTHLIP */ { instruction , 0 , 0 , 32, - 0xfc003fff, 0x2000127f, &NMD::SHILOV , 0, + 0xfc003fff, 0x2000127f, &SHILOV , 0, DSP_ }, /* SHILOV */ { reserved_block , 0 , 0 , 32, 0xfc003fff, 0x2000227f, 0 , 0, @@ -17915,46 +17915,46 @@ NMD::Pool NMD::POOL32Axf_1_1[4] = { NMD::Pool NMD::POOL32Axf_1_3[4] = { { instruction , 0 , 0 , 32, - 0xfc003fff, 0x2000067f, &NMD::RDDSP , 0, + 0xfc003fff, 0x2000067f, &RDDSP , 0, DSP_ }, /* RDDSP */ { instruction , 0 , 0 , 32, - 0xfc003fff, 0x2000167f, &NMD::WRDSP , 0, + 0xfc003fff, 0x2000167f, &WRDSP , 0, DSP_ }, /* WRDSP */ { instruction , 0 , 0 , 32, - 0xfc003fff, 0x2000267f, &NMD::EXTP , 0, + 0xfc003fff, 0x2000267f, &EXTP , 0, DSP_ }, /* EXTP */ { instruction , 0 , 0 , 32, - 0xfc003fff, 0x2000367f, &NMD::EXTPDP , 0, + 0xfc003fff, 0x2000367f, &EXTPDP , 0, DSP_ }, /* EXTPDP */ }; NMD::Pool NMD::POOL32Axf_1_4[2] = { { instruction , 0 , 0 , 32, - 0xfc001fff, 0x2000087f, &NMD::SHLL_QB , 0, + 0xfc001fff, 0x2000087f, &SHLL_QB , 0, DSP_ }, /* SHLL.QB */ { instruction , 0 , 0 , 32, - 0xfc001fff, 0x2000187f, &NMD::SHRL_QB , 0, + 0xfc001fff, 0x2000187f, &SHRL_QB , 0, DSP_ }, /* SHRL.QB */ }; NMD::Pool NMD::MAQ_S_A__W_PHR[2] = { { instruction , 0 , 0 , 32, - 0xfc003fff, 0x20000a7f, &NMD::MAQ_S_W_PHR , 0, + 0xfc003fff, 0x20000a7f, &MAQ_S_W_PHR , 0, DSP_ }, /* MAQ_S.W.PHR */ { instruction , 0 , 0 , 32, - 0xfc003fff, 0x20002a7f, &NMD::MAQ_SA_W_PHR , 0, + 0xfc003fff, 0x20002a7f, &MAQ_SA_W_PHR , 0, DSP_ }, /* MAQ_SA.W.PHR */ }; NMD::Pool NMD::MAQ_S_A__W_PHL[2] = { { instruction , 0 , 0 , 32, - 0xfc003fff, 0x20001a7f, &NMD::MAQ_S_W_PHL , 0, + 0xfc003fff, 0x20001a7f, &MAQ_S_W_PHL , 0, DSP_ }, /* MAQ_S.W.PHL */ { instruction , 0 , 0 , 32, - 0xfc003fff, 0x20003a7f, &NMD::MAQ_SA_W_PHL , 0, + 0xfc003fff, 0x20003a7f, &MAQ_SA_W_PHL , 0, DSP_ }, /* MAQ_SA.W.PHL */ }; @@ -17971,16 +17971,16 @@ NMD::Pool NMD::POOL32Axf_1_5[2] = { NMD::Pool NMD::POOL32Axf_1_7[4] = { { instruction , 0 , 0 , 32, - 0xfc003fff, 0x20000e7f, &NMD::EXTR_W , 0, + 0xfc003fff, 0x20000e7f, &EXTR_W , 0, DSP_ }, /* EXTR.W */ { instruction , 0 , 0 , 32, - 0xfc003fff, 0x20001e7f, &NMD::EXTR_R_W , 0, + 0xfc003fff, 0x20001e7f, &EXTR_R_W , 0, DSP_ }, /* EXTR_R.W */ { instruction , 0 , 0 , 32, - 0xfc003fff, 0x20002e7f, &NMD::EXTR_RS_W , 0, + 0xfc003fff, 0x20002e7f, &EXTR_RS_W , 0, DSP_ }, /* EXTR_RS.W */ { instruction , 0 , 0 , 32, - 0xfc003fff, 0x20003e7f, &NMD::EXTR_S_H , 0, + 0xfc003fff, 0x20003e7f, &EXTR_S_H , 0, DSP_ }, /* EXTR_S.H */ }; @@ -18015,112 +18015,112 @@ NMD::Pool NMD::POOL32Axf_1[8] = { NMD::Pool NMD::POOL32Axf_2_DSP__0_7[8] = { { instruction , 0 , 0 , 32, - 0xfc003fff, 0x200000bf, &NMD::DPA_W_PH , 0, + 0xfc003fff, 0x200000bf, &DPA_W_PH , 0, DSP_ }, /* DPA.W.PH */ { instruction , 0 , 0 , 32, - 0xfc003fff, 0x200002bf, &NMD::DPAQ_S_W_PH , 0, + 0xfc003fff, 0x200002bf, &DPAQ_S_W_PH , 0, DSP_ }, /* DPAQ_S.W.PH */ { instruction , 0 , 0 , 32, - 0xfc003fff, 0x200004bf, &NMD::DPS_W_PH , 0, + 0xfc003fff, 0x200004bf, &DPS_W_PH , 0, DSP_ }, /* DPS.W.PH */ { instruction , 0 , 0 , 32, - 0xfc003fff, 0x200006bf, &NMD::DPSQ_S_W_PH , 0, + 0xfc003fff, 0x200006bf, &DPSQ_S_W_PH , 0, DSP_ }, /* DPSQ_S.W.PH */ { reserved_block , 0 , 0 , 32, 0xfc003fff, 0x200008bf, 0 , 0, 0x0 }, /* POOL32Axf_2(DSP)_0_7~*(4) */ { instruction , 0 , 0 , 32, - 0xfc003fff, 0x20000abf, &NMD::MADD_DSP_ , 0, + 0xfc003fff, 0x20000abf, &MADD_DSP_ , 0, DSP_ }, /* MADD[DSP] */ { instruction , 0 , 0 , 32, - 0xfc003fff, 0x20000cbf, &NMD::MULT_DSP_ , 0, + 0xfc003fff, 0x20000cbf, &MULT_DSP_ , 0, DSP_ }, /* MULT[DSP] */ { instruction , 0 , 0 , 32, - 0xfc003fff, 0x20000ebf, &NMD::EXTRV_W , 0, + 0xfc003fff, 0x20000ebf, &EXTRV_W , 0, DSP_ }, /* EXTRV.W */ }; NMD::Pool NMD::POOL32Axf_2_DSP__8_15[8] = { { instruction , 0 , 0 , 32, - 0xfc003fff, 0x200010bf, &NMD::DPAX_W_PH , 0, + 0xfc003fff, 0x200010bf, &DPAX_W_PH , 0, DSP_ }, /* DPAX.W.PH */ { instruction , 0 , 0 , 32, - 0xfc003fff, 0x200012bf, &NMD::DPAQ_SA_L_W , 0, + 0xfc003fff, 0x200012bf, &DPAQ_SA_L_W , 0, DSP_ }, /* DPAQ_SA.L.W */ { instruction , 0 , 0 , 32, - 0xfc003fff, 0x200014bf, &NMD::DPSX_W_PH , 0, + 0xfc003fff, 0x200014bf, &DPSX_W_PH , 0, DSP_ }, /* DPSX.W.PH */ { instruction , 0 , 0 , 32, - 0xfc003fff, 0x200016bf, &NMD::DPSQ_SA_L_W , 0, + 0xfc003fff, 0x200016bf, &DPSQ_SA_L_W , 0, DSP_ }, /* DPSQ_SA.L.W */ { reserved_block , 0 , 0 , 32, 0xfc003fff, 0x200018bf, 0 , 0, 0x0 }, /* POOL32Axf_2(DSP)_8_15~*(4) */ { instruction , 0 , 0 , 32, - 0xfc003fff, 0x20001abf, &NMD::MADDU_DSP_ , 0, + 0xfc003fff, 0x20001abf, &MADDU_DSP_ , 0, DSP_ }, /* MADDU[DSP] */ { instruction , 0 , 0 , 32, - 0xfc003fff, 0x20001cbf, &NMD::MULTU_DSP_ , 0, + 0xfc003fff, 0x20001cbf, &MULTU_DSP_ , 0, DSP_ }, /* MULTU[DSP] */ { instruction , 0 , 0 , 32, - 0xfc003fff, 0x20001ebf, &NMD::EXTRV_R_W , 0, + 0xfc003fff, 0x20001ebf, &EXTRV_R_W , 0, DSP_ }, /* EXTRV_R.W */ }; NMD::Pool NMD::POOL32Axf_2_DSP__16_23[8] = { { instruction , 0 , 0 , 32, - 0xfc003fff, 0x200020bf, &NMD::DPAU_H_QBL , 0, + 0xfc003fff, 0x200020bf, &DPAU_H_QBL , 0, DSP_ }, /* DPAU.H.QBL */ { instruction , 0 , 0 , 32, - 0xfc003fff, 0x200022bf, &NMD::DPAQX_S_W_PH , 0, + 0xfc003fff, 0x200022bf, &DPAQX_S_W_PH , 0, DSP_ }, /* DPAQX_S.W.PH */ { instruction , 0 , 0 , 32, - 0xfc003fff, 0x200024bf, &NMD::DPSU_H_QBL , 0, + 0xfc003fff, 0x200024bf, &DPSU_H_QBL , 0, DSP_ }, /* DPSU.H.QBL */ { instruction , 0 , 0 , 32, - 0xfc003fff, 0x200026bf, &NMD::DPSQX_S_W_PH , 0, + 0xfc003fff, 0x200026bf, &DPSQX_S_W_PH , 0, DSP_ }, /* DPSQX_S.W.PH */ { instruction , 0 , 0 , 32, - 0xfc003fff, 0x200028bf, &NMD::EXTPV , 0, + 0xfc003fff, 0x200028bf, &EXTPV , 0, DSP_ }, /* EXTPV */ { instruction , 0 , 0 , 32, - 0xfc003fff, 0x20002abf, &NMD::MSUB_DSP_ , 0, + 0xfc003fff, 0x20002abf, &MSUB_DSP_ , 0, DSP_ }, /* MSUB[DSP] */ { instruction , 0 , 0 , 32, - 0xfc003fff, 0x20002cbf, &NMD::MULSA_W_PH , 0, + 0xfc003fff, 0x20002cbf, &MULSA_W_PH , 0, DSP_ }, /* MULSA.W.PH */ { instruction , 0 , 0 , 32, - 0xfc003fff, 0x20002ebf, &NMD::EXTRV_RS_W , 0, + 0xfc003fff, 0x20002ebf, &EXTRV_RS_W , 0, DSP_ }, /* EXTRV_RS.W */ }; NMD::Pool NMD::POOL32Axf_2_DSP__24_31[8] = { { instruction , 0 , 0 , 32, - 0xfc003fff, 0x200030bf, &NMD::DPAU_H_QBR , 0, + 0xfc003fff, 0x200030bf, &DPAU_H_QBR , 0, DSP_ }, /* DPAU.H.QBR */ { instruction , 0 , 0 , 32, - 0xfc003fff, 0x200032bf, &NMD::DPAQX_SA_W_PH , 0, + 0xfc003fff, 0x200032bf, &DPAQX_SA_W_PH , 0, DSP_ }, /* DPAQX_SA.W.PH */ { instruction , 0 , 0 , 32, - 0xfc003fff, 0x200034bf, &NMD::DPSU_H_QBR , 0, + 0xfc003fff, 0x200034bf, &DPSU_H_QBR , 0, DSP_ }, /* DPSU.H.QBR */ { instruction , 0 , 0 , 32, - 0xfc003fff, 0x200036bf, &NMD::DPSQX_SA_W_PH , 0, + 0xfc003fff, 0x200036bf, &DPSQX_SA_W_PH , 0, DSP_ }, /* DPSQX_SA.W.PH */ { instruction , 0 , 0 , 32, - 0xfc003fff, 0x200038bf, &NMD::EXTPDPV , 0, + 0xfc003fff, 0x200038bf, &EXTPDPV , 0, DSP_ }, /* EXTPDPV */ { instruction , 0 , 0 , 32, - 0xfc003fff, 0x20003abf, &NMD::MSUBU_DSP_ , 0, + 0xfc003fff, 0x20003abf, &MSUBU_DSP_ , 0, DSP_ }, /* MSUBU[DSP] */ { instruction , 0 , 0 , 32, - 0xfc003fff, 0x20003cbf, &NMD::MULSAQ_S_W_PH , 0, + 0xfc003fff, 0x20003cbf, &MULSAQ_S_W_PH , 0, DSP_ }, /* MULSAQ_S.W.PH */ { instruction , 0 , 0 , 32, - 0xfc003fff, 0x20003ebf, &NMD::EXTRV_S_H , 0, + 0xfc003fff, 0x20003ebf, &EXTRV_S_H , 0, DSP_ }, /* EXTRV_S.H */ }; @@ -18143,10 +18143,10 @@ NMD::Pool NMD::POOL32Axf_2[4] = { NMD::Pool NMD::POOL32Axf_4[128] = { { instruction , 0 , 0 , 32, - 0xfc00ffff, 0x2000013f, &NMD::ABSQ_S_QB , 0, + 0xfc00ffff, 0x2000013f, &ABSQ_S_QB , 0, DSP_ }, /* ABSQ_S.QB */ { instruction , 0 , 0 , 32, - 0xfc00ffff, 0x2000033f, &NMD::REPLV_PH , 0, + 0xfc00ffff, 0x2000033f, &REPLV_PH , 0, DSP_ }, /* REPLV.PH */ { reserved_block , 0 , 0 , 32, 0xfc00ffff, 0x2000053f, 0 , 0, @@ -18167,10 +18167,10 @@ NMD::Pool NMD::POOL32Axf_4[128] = { 0xfc00ffff, 0x20000f3f, 0 , 0, 0x0 }, /* POOL32Axf_4~*(7) */ { instruction , 0 , 0 , 32, - 0xfc00ffff, 0x2000113f, &NMD::ABSQ_S_PH , 0, + 0xfc00ffff, 0x2000113f, &ABSQ_S_PH , 0, DSP_ }, /* ABSQ_S.PH */ { instruction , 0 , 0 , 32, - 0xfc00ffff, 0x2000133f, &NMD::REPLV_QB , 0, + 0xfc00ffff, 0x2000133f, &REPLV_QB , 0, DSP_ }, /* REPLV.QB */ { reserved_block , 0 , 0 , 32, 0xfc00ffff, 0x2000153f, 0 , 0, @@ -18191,7 +18191,7 @@ NMD::Pool NMD::POOL32Axf_4[128] = { 0xfc00ffff, 0x20001f3f, 0 , 0, 0x0 }, /* POOL32Axf_4~*(15) */ { instruction , 0 , 0 , 32, - 0xfc00ffff, 0x2000213f, &NMD::ABSQ_S_W , 0, + 0xfc00ffff, 0x2000213f, &ABSQ_S_W , 0, DSP_ }, /* ABSQ_S.W */ { reserved_block , 0 , 0 , 32, 0xfc00ffff, 0x2000233f, 0 , 0, @@ -18239,7 +18239,7 @@ NMD::Pool NMD::POOL32Axf_4[128] = { 0xfc00ffff, 0x20003f3f, 0 , 0, 0x0 }, /* POOL32Axf_4~*(31) */ { instruction , 0 , 0 , 32, - 0xfc00ffff, 0x2000413f, &NMD::INSV , 0, + 0xfc00ffff, 0x2000413f, &INSV , 0, DSP_ }, /* INSV */ { reserved_block , 0 , 0 , 32, 0xfc00ffff, 0x2000433f, 0 , 0, @@ -18254,16 +18254,16 @@ NMD::Pool NMD::POOL32Axf_4[128] = { 0xfc00ffff, 0x2000493f, 0 , 0, 0x0 }, /* POOL32Axf_4~*(36) */ { instruction , 0 , 0 , 32, - 0xfc00ffff, 0x20004b3f, &NMD::CLO , 0, + 0xfc00ffff, 0x20004b3f, &CLO , 0, XMMS_ }, /* CLO */ { instruction , 0 , 0 , 32, - 0xfc00ffff, 0x20004d3f, &NMD::MFC2 , 0, + 0xfc00ffff, 0x20004d3f, &MFC2 , 0, CP2_ }, /* MFC2 */ { reserved_block , 0 , 0 , 32, 0xfc00ffff, 0x20004f3f, 0 , 0, 0x0 }, /* POOL32Axf_4~*(39) */ { instruction , 0 , 0 , 32, - 0xfc00ffff, 0x2000513f, &NMD::PRECEQ_W_PHL , 0, + 0xfc00ffff, 0x2000513f, &PRECEQ_W_PHL , 0, DSP_ }, /* PRECEQ.W.PHL */ { reserved_block , 0 , 0 , 32, 0xfc00ffff, 0x2000533f, 0 , 0, @@ -18278,16 +18278,16 @@ NMD::Pool NMD::POOL32Axf_4[128] = { 0xfc00ffff, 0x2000593f, 0 , 0, 0x0 }, /* POOL32Axf_4~*(44) */ { instruction , 0 , 0 , 32, - 0xfc00ffff, 0x20005b3f, &NMD::CLZ , 0, + 0xfc00ffff, 0x20005b3f, &CLZ , 0, XMMS_ }, /* CLZ */ { instruction , 0 , 0 , 32, - 0xfc00ffff, 0x20005d3f, &NMD::MTC2 , 0, + 0xfc00ffff, 0x20005d3f, &MTC2 , 0, CP2_ }, /* MTC2 */ { reserved_block , 0 , 0 , 32, 0xfc00ffff, 0x20005f3f, 0 , 0, 0x0 }, /* POOL32Axf_4~*(47) */ { instruction , 0 , 0 , 32, - 0xfc00ffff, 0x2000613f, &NMD::PRECEQ_W_PHR , 0, + 0xfc00ffff, 0x2000613f, &PRECEQ_W_PHR , 0, DSP_ }, /* PRECEQ.W.PHR */ { reserved_block , 0 , 0 , 32, 0xfc00ffff, 0x2000633f, 0 , 0, @@ -18305,16 +18305,16 @@ NMD::Pool NMD::POOL32Axf_4[128] = { 0xfc00ffff, 0x20006b3f, 0 , 0, 0x0 }, /* POOL32Axf_4~*(53) */ { instruction , 0 , 0 , 32, - 0xfc00ffff, 0x20006d3f, &NMD::DMFC2 , 0, + 0xfc00ffff, 0x20006d3f, &DMFC2 , 0, CP2_ }, /* DMFC2 */ { reserved_block , 0 , 0 , 32, 0xfc00ffff, 0x20006f3f, 0 , 0, 0x0 }, /* POOL32Axf_4~*(55) */ { instruction , 0 , 0 , 32, - 0xfc00ffff, 0x2000713f, &NMD::PRECEQU_PH_QBL , 0, + 0xfc00ffff, 0x2000713f, &PRECEQU_PH_QBL , 0, DSP_ }, /* PRECEQU.PH.QBL */ { instruction , 0 , 0 , 32, - 0xfc00ffff, 0x2000733f, &NMD::PRECEQU_PH_QBLA , 0, + 0xfc00ffff, 0x2000733f, &PRECEQU_PH_QBLA , 0, DSP_ }, /* PRECEQU.PH.QBLA */ { reserved_block , 0 , 0 , 32, 0xfc00ffff, 0x2000753f, 0 , 0, @@ -18329,7 +18329,7 @@ NMD::Pool NMD::POOL32Axf_4[128] = { 0xfc00ffff, 0x20007b3f, 0 , 0, 0x0 }, /* POOL32Axf_4~*(61) */ { instruction , 0 , 0 , 32, - 0xfc00ffff, 0x20007d3f, &NMD::DMTC2 , 0, + 0xfc00ffff, 0x20007d3f, &DMTC2 , 0, CP2_ }, /* DMTC2 */ { reserved_block , 0 , 0 , 32, 0xfc00ffff, 0x20007f3f, 0 , 0, @@ -18353,16 +18353,16 @@ NMD::Pool NMD::POOL32Axf_4[128] = { 0xfc00ffff, 0x20008b3f, 0 , 0, 0x0 }, /* POOL32Axf_4~*(69) */ { instruction , 0 , 0 , 32, - 0xfc00ffff, 0x20008d3f, &NMD::MFHC2 , 0, + 0xfc00ffff, 0x20008d3f, &MFHC2 , 0, CP2_ }, /* MFHC2 */ { reserved_block , 0 , 0 , 32, 0xfc00ffff, 0x20008f3f, 0 , 0, 0x0 }, /* POOL32Axf_4~*(71) */ { instruction , 0 , 0 , 32, - 0xfc00ffff, 0x2000913f, &NMD::PRECEQU_PH_QBR , 0, + 0xfc00ffff, 0x2000913f, &PRECEQU_PH_QBR , 0, DSP_ }, /* PRECEQU.PH.QBR */ { instruction , 0 , 0 , 32, - 0xfc00ffff, 0x2000933f, &NMD::PRECEQU_PH_QBRA , 0, + 0xfc00ffff, 0x2000933f, &PRECEQU_PH_QBRA , 0, DSP_ }, /* PRECEQU.PH.QBRA */ { reserved_block , 0 , 0 , 32, 0xfc00ffff, 0x2000953f, 0 , 0, @@ -18377,7 +18377,7 @@ NMD::Pool NMD::POOL32Axf_4[128] = { 0xfc00ffff, 0x20009b3f, 0 , 0, 0x0 }, /* POOL32Axf_4~*(77) */ { instruction , 0 , 0 , 32, - 0xfc00ffff, 0x20009d3f, &NMD::MTHC2 , 0, + 0xfc00ffff, 0x20009d3f, &MTHC2 , 0, CP2_ }, /* MTHC2 */ { reserved_block , 0 , 0 , 32, 0xfc00ffff, 0x20009f3f, 0 , 0, @@ -18407,10 +18407,10 @@ NMD::Pool NMD::POOL32Axf_4[128] = { 0xfc00ffff, 0x2000af3f, 0 , 0, 0x0 }, /* POOL32Axf_4~*(87) */ { instruction , 0 , 0 , 32, - 0xfc00ffff, 0x2000b13f, &NMD::PRECEU_PH_QBL , 0, + 0xfc00ffff, 0x2000b13f, &PRECEU_PH_QBL , 0, DSP_ }, /* PRECEU.PH.QBL */ { instruction , 0 , 0 , 32, - 0xfc00ffff, 0x2000b33f, &NMD::PRECEU_PH_QBLA , 0, + 0xfc00ffff, 0x2000b33f, &PRECEU_PH_QBLA , 0, DSP_ }, /* PRECEU.PH.QBLA */ { reserved_block , 0 , 0 , 32, 0xfc00ffff, 0x2000b53f, 0 , 0, @@ -18449,16 +18449,16 @@ NMD::Pool NMD::POOL32Axf_4[128] = { 0xfc00ffff, 0x2000cb3f, 0 , 0, 0x0 }, /* POOL32Axf_4~*(101) */ { instruction , 0 , 0 , 32, - 0xfc00ffff, 0x2000cd3f, &NMD::CFC2 , 0, + 0xfc00ffff, 0x2000cd3f, &CFC2 , 0, CP2_ }, /* CFC2 */ { reserved_block , 0 , 0 , 32, 0xfc00ffff, 0x2000cf3f, 0 , 0, 0x0 }, /* POOL32Axf_4~*(103) */ { instruction , 0 , 0 , 32, - 0xfc00ffff, 0x2000d13f, &NMD::PRECEU_PH_QBR , 0, + 0xfc00ffff, 0x2000d13f, &PRECEU_PH_QBR , 0, DSP_ }, /* PRECEU.PH.QBR */ { instruction , 0 , 0 , 32, - 0xfc00ffff, 0x2000d33f, &NMD::PRECEU_PH_QBRA , 0, + 0xfc00ffff, 0x2000d33f, &PRECEU_PH_QBRA , 0, DSP_ }, /* PRECEU.PH.QBRA */ { reserved_block , 0 , 0 , 32, 0xfc00ffff, 0x2000d53f, 0 , 0, @@ -18473,7 +18473,7 @@ NMD::Pool NMD::POOL32Axf_4[128] = { 0xfc00ffff, 0x2000db3f, 0 , 0, 0x0 }, /* POOL32Axf_4~*(109) */ { instruction , 0 , 0 , 32, - 0xfc00ffff, 0x2000dd3f, &NMD::CTC2 , 0, + 0xfc00ffff, 0x2000dd3f, &CTC2 , 0, CP2_ }, /* CTC2 */ { reserved_block , 0 , 0 , 32, 0xfc00ffff, 0x2000df3f, 0 , 0, @@ -18503,7 +18503,7 @@ NMD::Pool NMD::POOL32Axf_4[128] = { 0xfc00ffff, 0x2000ef3f, 0 , 0, 0x0 }, /* POOL32Axf_4~*(119) */ { instruction , 0 , 0 , 32, - 0xfc00ffff, 0x2000f13f, &NMD::RADDU_W_QB , 0, + 0xfc00ffff, 0x2000f13f, &RADDU_W_QB , 0, DSP_ }, /* RADDU.W.QB */ { reserved_block , 0 , 0 , 32, 0xfc00ffff, 0x2000f33f, 0 , 0, @@ -18531,16 +18531,16 @@ NMD::Pool NMD::POOL32Axf_4[128] = { NMD::Pool NMD::POOL32Axf_5_group0[32] = { { instruction , 0 , 0 , 32, - 0xfc00ffff, 0x2000017f, &NMD::TLBGP , 0, + 0xfc00ffff, 0x2000017f, &TLBGP , 0, CP0_ | VZ_ | TLB_ }, /* TLBGP */ { instruction , 0 , 0 , 32, - 0xfc00ffff, 0x2000037f, &NMD::TLBP , 0, + 0xfc00ffff, 0x2000037f, &TLBP , 0, CP0_ | TLB_ }, /* TLBP */ { instruction , 0 , 0 , 32, - 0xfc00ffff, 0x2000057f, &NMD::TLBGINV , 0, + 0xfc00ffff, 0x2000057f, &TLBGINV , 0, CP0_ | VZ_ | TLB_ | TLBINV_}, /* TLBGINV */ { instruction , 0 , 0 , 32, - 0xfc00ffff, 0x2000077f, &NMD::TLBINV , 0, + 0xfc00ffff, 0x2000077f, &TLBINV , 0, CP0_ | TLB_ | TLBINV_}, /* TLBINV */ { reserved_block , 0 , 0 , 32, 0xfc00ffff, 0x2000097f, 0 , 0, @@ -18555,16 +18555,16 @@ NMD::Pool NMD::POOL32Axf_5_group0[32] = { 0xfc00ffff, 0x20000f7f, 0 , 0, 0x0 }, /* POOL32Axf_5_group0~*(7) */ { instruction , 0 , 0 , 32, - 0xfc00ffff, 0x2000117f, &NMD::TLBGR , 0, + 0xfc00ffff, 0x2000117f, &TLBGR , 0, CP0_ | VZ_ | TLB_ }, /* TLBGR */ { instruction , 0 , 0 , 32, - 0xfc00ffff, 0x2000137f, &NMD::TLBR , 0, + 0xfc00ffff, 0x2000137f, &TLBR , 0, CP0_ | TLB_ }, /* TLBR */ { instruction , 0 , 0 , 32, - 0xfc00ffff, 0x2000157f, &NMD::TLBGINVF , 0, + 0xfc00ffff, 0x2000157f, &TLBGINVF , 0, CP0_ | VZ_ | TLB_ | TLBINV_}, /* TLBGINVF */ { instruction , 0 , 0 , 32, - 0xfc00ffff, 0x2000177f, &NMD::TLBINVF , 0, + 0xfc00ffff, 0x2000177f, &TLBINVF , 0, CP0_ | TLB_ | TLBINV_}, /* TLBINVF */ { reserved_block , 0 , 0 , 32, 0xfc00ffff, 0x2000197f, 0 , 0, @@ -18579,10 +18579,10 @@ NMD::Pool NMD::POOL32Axf_5_group0[32] = { 0xfc00ffff, 0x20001f7f, 0 , 0, 0x0 }, /* POOL32Axf_5_group0~*(15) */ { instruction , 0 , 0 , 32, - 0xfc00ffff, 0x2000217f, &NMD::TLBGWI , 0, + 0xfc00ffff, 0x2000217f, &TLBGWI , 0, CP0_ | VZ_ | TLB_ }, /* TLBGWI */ { instruction , 0 , 0 , 32, - 0xfc00ffff, 0x2000237f, &NMD::TLBWI , 0, + 0xfc00ffff, 0x2000237f, &TLBWI , 0, CP0_ | TLB_ }, /* TLBWI */ { reserved_block , 0 , 0 , 32, 0xfc00ffff, 0x2000257f, 0 , 0, @@ -18603,10 +18603,10 @@ NMD::Pool NMD::POOL32Axf_5_group0[32] = { 0xfc00ffff, 0x20002f7f, 0 , 0, 0x0 }, /* POOL32Axf_5_group0~*(23) */ { instruction , 0 , 0 , 32, - 0xfc00ffff, 0x2000317f, &NMD::TLBGWR , 0, + 0xfc00ffff, 0x2000317f, &TLBGWR , 0, CP0_ | VZ_ | TLB_ }, /* TLBGWR */ { instruction , 0 , 0 , 32, - 0xfc00ffff, 0x2000337f, &NMD::TLBWR , 0, + 0xfc00ffff, 0x2000337f, &TLBWR , 0, CP0_ | TLB_ }, /* TLBWR */ { reserved_block , 0 , 0 , 32, 0xfc00ffff, 0x2000357f, 0 , 0, @@ -18640,7 +18640,7 @@ NMD::Pool NMD::POOL32Axf_5_group1[32] = { 0xfc00ffff, 0x2000457f, 0 , 0, 0x0 }, /* POOL32Axf_5_group1~*(2) */ { instruction , 0 , 0 , 32, - 0xfc00ffff, 0x2000477f, &NMD::DI , 0, + 0xfc00ffff, 0x2000477f, &DI , 0, 0x0 }, /* DI */ { reserved_block , 0 , 0 , 32, 0xfc00ffff, 0x2000497f, 0 , 0, @@ -18664,7 +18664,7 @@ NMD::Pool NMD::POOL32Axf_5_group1[32] = { 0xfc00ffff, 0x2000557f, 0 , 0, 0x0 }, /* POOL32Axf_5_group1~*(10) */ { instruction , 0 , 0 , 32, - 0xfc00ffff, 0x2000577f, &NMD::EI , 0, + 0xfc00ffff, 0x2000577f, &EI , 0, 0x0 }, /* EI */ { reserved_block , 0 , 0 , 32, 0xfc00ffff, 0x2000597f, 0 , 0, @@ -18731,10 +18731,10 @@ NMD::Pool NMD::POOL32Axf_5_group1[32] = { NMD::Pool NMD::ERETx[2] = { { instruction , 0 , 0 , 32, - 0xfc01ffff, 0x2000f37f, &NMD::ERET , 0, + 0xfc01ffff, 0x2000f37f, &ERET , 0, 0x0 }, /* ERET */ { instruction , 0 , 0 , 32, - 0xfc01ffff, 0x2001f37f, &NMD::ERETNC , 0, + 0xfc01ffff, 0x2001f37f, &ERETNC , 0, 0x0 }, /* ERETNC */ }; @@ -18744,7 +18744,7 @@ NMD::Pool NMD::POOL32Axf_5_group3[32] = { 0xfc00ffff, 0x2000c17f, 0 , 0, 0x0 }, /* POOL32Axf_5_group3~*(0) */ { instruction , 0 , 0 , 32, - 0xfc00ffff, 0x2000c37f, &NMD::WAIT , 0, + 0xfc00ffff, 0x2000c37f, &WAIT , 0, 0x0 }, /* WAIT */ { reserved_block , 0 , 0 , 32, 0xfc00ffff, 0x2000c57f, 0 , 0, @@ -18768,7 +18768,7 @@ NMD::Pool NMD::POOL32Axf_5_group3[32] = { 0xfc00ffff, 0x2000d17f, 0 , 0, 0x0 }, /* POOL32Axf_5_group3~*(8) */ { instruction , 0 , 0 , 32, - 0xfc00ffff, 0x2000d37f, &NMD::IRET , 0, + 0xfc00ffff, 0x2000d37f, &IRET , 0, MCU_ }, /* IRET */ { reserved_block , 0 , 0 , 32, 0xfc00ffff, 0x2000d57f, 0 , 0, @@ -18789,10 +18789,10 @@ NMD::Pool NMD::POOL32Axf_5_group3[32] = { 0xfc00ffff, 0x2000df7f, 0 , 0, 0x0 }, /* POOL32Axf_5_group3~*(15) */ { instruction , 0 , 0 , 32, - 0xfc00ffff, 0x2000e17f, &NMD::RDPGPR , 0, + 0xfc00ffff, 0x2000e17f, &RDPGPR , 0, CP0_ }, /* RDPGPR */ { instruction , 0 , 0 , 32, - 0xfc00ffff, 0x2000e37f, &NMD::DERET , 0, + 0xfc00ffff, 0x2000e37f, &DERET , 0, EJTAG_ }, /* DERET */ { reserved_block , 0 , 0 , 32, 0xfc00ffff, 0x2000e57f, 0 , 0, @@ -18813,7 +18813,7 @@ NMD::Pool NMD::POOL32Axf_5_group3[32] = { 0xfc00ffff, 0x2000ef7f, 0 , 0, 0x0 }, /* POOL32Axf_5_group3~*(23) */ { instruction , 0 , 0 , 32, - 0xfc00ffff, 0x2000f17f, &NMD::WRPGPR , 0, + 0xfc00ffff, 0x2000f17f, &WRPGPR , 0, CP0_ }, /* WRPGPR */ { pool , ERETx , 2 , 32, 0xfc00ffff, 0x2000f37f, 0 , 0, @@ -18857,10 +18857,10 @@ NMD::Pool NMD::POOL32Axf_5[4] = { NMD::Pool NMD::SHRA__R__QB[2] = { { instruction , 0 , 0 , 32, - 0xfc001fff, 0x200001ff, &NMD::SHRA_QB , 0, + 0xfc001fff, 0x200001ff, &SHRA_QB , 0, DSP_ }, /* SHRA.QB */ { instruction , 0 , 0 , 32, - 0xfc001fff, 0x200011ff, &NMD::SHRA_R_QB , 0, + 0xfc001fff, 0x200011ff, &SHRA_R_QB , 0, DSP_ }, /* SHRA_R.QB */ }; @@ -18870,10 +18870,10 @@ NMD::Pool NMD::POOL32Axf_7[8] = { 0xfc000fff, 0x200001ff, 0 , 0, 0x0 }, /* SHRA[_R].QB */ { instruction , 0 , 0 , 32, - 0xfc000fff, 0x200003ff, &NMD::SHRL_PH , 0, + 0xfc000fff, 0x200003ff, &SHRL_PH , 0, DSP_ }, /* SHRL.PH */ { instruction , 0 , 0 , 32, - 0xfc000fff, 0x200005ff, &NMD::REPL_QB , 0, + 0xfc000fff, 0x200005ff, &REPL_QB , 0, DSP_ }, /* REPL.QB */ { reserved_block , 0 , 0 , 32, 0xfc000fff, 0x200007ff, 0 , 0, @@ -18926,13 +18926,13 @@ NMD::Pool NMD::_POOL32A7[8] = { 0xfc00003f, 0x20000007, 0 , 0, 0x0 }, /* P.LSX */ { instruction , 0 , 0 , 32, - 0xfc00003f, 0x2000000f, &NMD::LSA , 0, + 0xfc00003f, 0x2000000f, &LSA , 0, 0x0 }, /* LSA */ { reserved_block , 0 , 0 , 32, 0xfc00003f, 0x20000017, 0 , 0, 0x0 }, /* _POOL32A7~*(2) */ { instruction , 0 , 0 , 32, - 0xfc00003f, 0x2000001f, &NMD::EXTW , 0, + 0xfc00003f, 0x2000001f, &EXTW , 0, 0x0 }, /* EXTW */ { reserved_block , 0 , 0 , 32, 0xfc00003f, 0x20000027, 0 , 0, @@ -18954,13 +18954,13 @@ NMD::Pool NMD::P32A[8] = { 0xfc000007, 0x20000000, 0 , 0, 0x0 }, /* _POOL32A0 */ { instruction , 0 , 0 , 32, - 0xfc000007, 0x20000001, &NMD::SPECIAL2 , 0, + 0xfc000007, 0x20000001, &SPECIAL2 , 0, UDI_ }, /* SPECIAL2 */ { instruction , 0 , 0 , 32, - 0xfc000007, 0x20000002, &NMD::COP2_1 , 0, + 0xfc000007, 0x20000002, &COP2_1 , 0, CP2_ }, /* COP2_1 */ { instruction , 0 , 0 , 32, - 0xfc000007, 0x20000003, &NMD::UDI , 0, + 0xfc000007, 0x20000003, &UDI , 0, UDI_ }, /* UDI */ { reserved_block , 0 , 0 , 32, 0xfc000007, 0x20000004, 0 , 0, @@ -18979,42 +18979,42 @@ NMD::Pool NMD::P32A[8] = { NMD::Pool NMD::P_GP_D[2] = { { instruction , 0 , 0 , 32, - 0xfc000007, 0x40000001, &NMD::LD_GP_ , 0, + 0xfc000007, 0x40000001, &LD_GP_ , 0, MIPS64_ }, /* LD[GP] */ { instruction , 0 , 0 , 32, - 0xfc000007, 0x40000005, &NMD::SD_GP_ , 0, + 0xfc000007, 0x40000005, &SD_GP_ , 0, MIPS64_ }, /* SD[GP] */ }; NMD::Pool NMD::P_GP_W[4] = { { instruction , 0 , 0 , 32, - 0xfc000003, 0x40000000, &NMD::ADDIU_GP_W_ , 0, + 0xfc000003, 0x40000000, &ADDIU_GP_W_ , 0, 0x0 }, /* ADDIU[GP.W] */ { pool , P_GP_D , 2 , 32, 0xfc000003, 0x40000001, 0 , 0, 0x0 }, /* P.GP.D */ { instruction , 0 , 0 , 32, - 0xfc000003, 0x40000002, &NMD::LW_GP_ , 0, + 0xfc000003, 0x40000002, &LW_GP_ , 0, 0x0 }, /* LW[GP] */ { instruction , 0 , 0 , 32, - 0xfc000003, 0x40000003, &NMD::SW_GP_ , 0, + 0xfc000003, 0x40000003, &SW_GP_ , 0, 0x0 }, /* SW[GP] */ }; NMD::Pool NMD::POOL48I[32] = { { instruction , 0 , 0 , 48, - 0xfc1f00000000ull, 0x600000000000ull, &NMD::LI_48_ , 0, + 0xfc1f00000000ull, 0x600000000000ull, &LI_48_ , 0, XMMS_ }, /* LI[48] */ { instruction , 0 , 0 , 48, - 0xfc1f00000000ull, 0x600100000000ull, &NMD::ADDIU_48_ , 0, + 0xfc1f00000000ull, 0x600100000000ull, &ADDIU_48_ , 0, XMMS_ }, /* ADDIU[48] */ { instruction , 0 , 0 , 48, - 0xfc1f00000000ull, 0x600200000000ull, &NMD::ADDIU_GP48_ , 0, + 0xfc1f00000000ull, 0x600200000000ull, &ADDIU_GP48_ , 0, XMMS_ }, /* ADDIU[GP48] */ { instruction , 0 , 0 , 48, - 0xfc1f00000000ull, 0x600300000000ull, &NMD::ADDIUPC_48_ , 0, + 0xfc1f00000000ull, 0x600300000000ull, &ADDIUPC_48_ , 0, XMMS_ }, /* ADDIUPC[48] */ { reserved_block , 0 , 0 , 48, 0xfc1f00000000ull, 0x600400000000ull, 0 , 0, @@ -19038,7 +19038,7 @@ NMD::Pool NMD::POOL48I[32] = { 0xfc1f00000000ull, 0x600a00000000ull, 0 , 0, 0x0 }, /* POOL48I~*(10) */ { instruction , 0 , 0 , 48, - 0xfc1f00000000ull, 0x600b00000000ull, &NMD::LWPC_48_ , 0, + 0xfc1f00000000ull, 0x600b00000000ull, &LWPC_48_ , 0, XMMS_ }, /* LWPC[48] */ { reserved_block , 0 , 0 , 48, 0xfc1f00000000ull, 0x600c00000000ull, 0 , 0, @@ -19050,13 +19050,13 @@ NMD::Pool NMD::POOL48I[32] = { 0xfc1f00000000ull, 0x600e00000000ull, 0 , 0, 0x0 }, /* POOL48I~*(14) */ { instruction , 0 , 0 , 48, - 0xfc1f00000000ull, 0x600f00000000ull, &NMD::SWPC_48_ , 0, + 0xfc1f00000000ull, 0x600f00000000ull, &SWPC_48_ , 0, XMMS_ }, /* SWPC[48] */ { reserved_block , 0 , 0 , 48, 0xfc1f00000000ull, 0x601000000000ull, 0 , 0, 0x0 }, /* POOL48I~*(16) */ { instruction , 0 , 0 , 48, - 0xfc1f00000000ull, 0x601100000000ull, &NMD::DADDIU_48_ , 0, + 0xfc1f00000000ull, 0x601100000000ull, &DADDIU_48_ , 0, MIPS64_ }, /* DADDIU[48] */ { reserved_block , 0 , 0 , 48, 0xfc1f00000000ull, 0x601200000000ull, 0 , 0, @@ -19065,7 +19065,7 @@ NMD::Pool NMD::POOL48I[32] = { 0xfc1f00000000ull, 0x601300000000ull, 0 , 0, 0x0 }, /* POOL48I~*(19) */ { instruction , 0 , 0 , 48, - 0xfc1f00000000ull, 0x601400000000ull, &NMD::DLUI_48_ , 0, + 0xfc1f00000000ull, 0x601400000000ull, &DLUI_48_ , 0, MIPS64_ }, /* DLUI[48] */ { reserved_block , 0 , 0 , 48, 0xfc1f00000000ull, 0x601500000000ull, 0 , 0, @@ -19086,7 +19086,7 @@ NMD::Pool NMD::POOL48I[32] = { 0xfc1f00000000ull, 0x601a00000000ull, 0 , 0, 0x0 }, /* POOL48I~*(26) */ { instruction , 0 , 0 , 48, - 0xfc1f00000000ull, 0x601b00000000ull, &NMD::LDPC_48_ , 0, + 0xfc1f00000000ull, 0x601b00000000ull, &LDPC_48_ , 0, MIPS64_ }, /* LDPC[48] */ { reserved_block , 0 , 0 , 48, 0xfc1f00000000ull, 0x601c00000000ull, 0 , 0, @@ -19098,33 +19098,33 @@ NMD::Pool NMD::POOL48I[32] = { 0xfc1f00000000ull, 0x601e00000000ull, 0 , 0, 0x0 }, /* POOL48I~*(30) */ { instruction , 0 , 0 , 48, - 0xfc1f00000000ull, 0x601f00000000ull, &NMD::SDPC_48_ , 0, + 0xfc1f00000000ull, 0x601f00000000ull, &SDPC_48_ , 0, MIPS64_ }, /* SDPC[48] */ }; NMD::Pool NMD::PP_SR[4] = { { instruction , 0 , 0 , 32, - 0xfc10f003, 0x80003000, &NMD::SAVE_32_ , 0, + 0xfc10f003, 0x80003000, &SAVE_32_ , 0, 0x0 }, /* SAVE[32] */ { reserved_block , 0 , 0 , 32, 0xfc10f003, 0x80003001, 0 , 0, 0x0 }, /* PP.SR~*(1) */ { instruction , 0 , 0 , 32, - 0xfc10f003, 0x80003002, &NMD::RESTORE_32_ , 0, + 0xfc10f003, 0x80003002, &RESTORE_32_ , 0, 0x0 }, /* RESTORE[32] */ { return_instruction , 0 , 0 , 32, - 0xfc10f003, 0x80003003, &NMD::RESTORE_JRC_32_ , 0, + 0xfc10f003, 0x80003003, &RESTORE_JRC_32_ , 0, 0x0 }, /* RESTORE.JRC[32] */ }; NMD::Pool NMD::P_SR_F[8] = { { instruction , 0 , 0 , 32, - 0xfc10f007, 0x80103000, &NMD::SAVEF , 0, + 0xfc10f007, 0x80103000, &SAVEF , 0, CP1_ }, /* SAVEF */ { instruction , 0 , 0 , 32, - 0xfc10f007, 0x80103001, &NMD::RESTOREF , 0, + 0xfc10f007, 0x80103001, &RESTOREF , 0, CP1_ }, /* RESTOREF */ { reserved_block , 0 , 0 , 32, 0xfc10f007, 0x80103002, 0 , 0, @@ -19159,19 +19159,19 @@ NMD::Pool NMD::P_SR[2] = { NMD::Pool NMD::P_SLL[5] = { { instruction , 0 , 0 , 32, - 0xffe0f1ff, 0x8000c000, &NMD::NOP_32_ , 0, + 0xffe0f1ff, 0x8000c000, &NOP_32_ , 0, 0x0 }, /* NOP[32] */ { instruction , 0 , 0 , 32, - 0xffe0f1ff, 0x8000c003, &NMD::EHB , 0, + 0xffe0f1ff, 0x8000c003, &EHB , 0, 0x0 }, /* EHB */ { instruction , 0 , 0 , 32, - 0xffe0f1ff, 0x8000c005, &NMD::PAUSE , 0, + 0xffe0f1ff, 0x8000c005, &PAUSE , 0, 0x0 }, /* PAUSE */ { instruction , 0 , 0 , 32, - 0xffe0f1ff, 0x8000c006, &NMD::SYNC , 0, + 0xffe0f1ff, 0x8000c006, &SYNC , 0, 0x0 }, /* SYNC */ { instruction , 0 , 0 , 32, - 0xfc00f1e0, 0x8000c000, &NMD::SLL_32_ , 0, + 0xfc00f1e0, 0x8000c000, &SLL_32_ , 0, 0x0 }, /* SLL[32] */ }; @@ -19184,53 +19184,53 @@ NMD::Pool NMD::P_SHIFT[16] = { 0xfc00f1e0, 0x8000c020, 0 , 0, 0x0 }, /* P.SHIFT~*(1) */ { instruction , 0 , 0 , 32, - 0xfc00f1e0, 0x8000c040, &NMD::SRL_32_ , 0, + 0xfc00f1e0, 0x8000c040, &SRL_32_ , 0, 0x0 }, /* SRL[32] */ { reserved_block , 0 , 0 , 32, 0xfc00f1e0, 0x8000c060, 0 , 0, 0x0 }, /* P.SHIFT~*(3) */ { instruction , 0 , 0 , 32, - 0xfc00f1e0, 0x8000c080, &NMD::SRA , 0, + 0xfc00f1e0, 0x8000c080, &SRA , 0, 0x0 }, /* SRA */ { reserved_block , 0 , 0 , 32, 0xfc00f1e0, 0x8000c0a0, 0 , 0, 0x0 }, /* P.SHIFT~*(5) */ { instruction , 0 , 0 , 32, - 0xfc00f1e0, 0x8000c0c0, &NMD::ROTR , 0, + 0xfc00f1e0, 0x8000c0c0, &ROTR , 0, 0x0 }, /* ROTR */ { reserved_block , 0 , 0 , 32, 0xfc00f1e0, 0x8000c0e0, 0 , 0, 0x0 }, /* P.SHIFT~*(7) */ { instruction , 0 , 0 , 32, - 0xfc00f1e0, 0x8000c100, &NMD::DSLL , 0, + 0xfc00f1e0, 0x8000c100, &DSLL , 0, MIPS64_ }, /* DSLL */ { instruction , 0 , 0 , 32, - 0xfc00f1e0, 0x8000c120, &NMD::DSLL32 , 0, + 0xfc00f1e0, 0x8000c120, &DSLL32 , 0, MIPS64_ }, /* DSLL32 */ { instruction , 0 , 0 , 32, - 0xfc00f1e0, 0x8000c140, &NMD::DSRL , 0, + 0xfc00f1e0, 0x8000c140, &DSRL , 0, MIPS64_ }, /* DSRL */ { instruction , 0 , 0 , 32, - 0xfc00f1e0, 0x8000c160, &NMD::DSRL32 , 0, + 0xfc00f1e0, 0x8000c160, &DSRL32 , 0, MIPS64_ }, /* DSRL32 */ { instruction , 0 , 0 , 32, - 0xfc00f1e0, 0x8000c180, &NMD::DSRA , 0, + 0xfc00f1e0, 0x8000c180, &DSRA , 0, MIPS64_ }, /* DSRA */ { instruction , 0 , 0 , 32, - 0xfc00f1e0, 0x8000c1a0, &NMD::DSRA32 , 0, + 0xfc00f1e0, 0x8000c1a0, &DSRA32 , 0, MIPS64_ }, /* DSRA32 */ { instruction , 0 , 0 , 32, - 0xfc00f1e0, 0x8000c1c0, &NMD::DROTR , 0, + 0xfc00f1e0, 0x8000c1c0, &DROTR , 0, MIPS64_ }, /* DROTR */ { instruction , 0 , 0 , 32, - 0xfc00f1e0, 0x8000c1e0, &NMD::DROTR32 , 0, + 0xfc00f1e0, 0x8000c1e0, &DROTR32 , 0, MIPS64_ }, /* DROTR32 */ }; NMD::Pool NMD::P_ROTX[4] = { { instruction , 0 , 0 , 32, - 0xfc00f820, 0x8000d000, &NMD::ROTX , 0, + 0xfc00f820, 0x8000d000, &ROTX , 0, XMMS_ }, /* ROTX */ { reserved_block , 0 , 0 , 32, 0xfc00f820, 0x8000d020, 0 , 0, @@ -19246,72 +19246,72 @@ NMD::Pool NMD::P_ROTX[4] = { NMD::Pool NMD::P_INS[4] = { { instruction , 0 , 0 , 32, - 0xfc00f820, 0x8000e000, &NMD::INS , 0, + 0xfc00f820, 0x8000e000, &INS , 0, XMMS_ }, /* INS */ { instruction , 0 , 0 , 32, - 0xfc00f820, 0x8000e020, &NMD::DINSU , 0, + 0xfc00f820, 0x8000e020, &DINSU , 0, MIPS64_ }, /* DINSU */ { instruction , 0 , 0 , 32, - 0xfc00f820, 0x8000e800, &NMD::DINSM , 0, + 0xfc00f820, 0x8000e800, &DINSM , 0, MIPS64_ }, /* DINSM */ { instruction , 0 , 0 , 32, - 0xfc00f820, 0x8000e820, &NMD::DINS , 0, + 0xfc00f820, 0x8000e820, &DINS , 0, MIPS64_ }, /* DINS */ }; NMD::Pool NMD::P_EXT[4] = { { instruction , 0 , 0 , 32, - 0xfc00f820, 0x8000f000, &NMD::EXT , 0, + 0xfc00f820, 0x8000f000, &EXT , 0, XMMS_ }, /* EXT */ { instruction , 0 , 0 , 32, - 0xfc00f820, 0x8000f020, &NMD::DEXTU , 0, + 0xfc00f820, 0x8000f020, &DEXTU , 0, MIPS64_ }, /* DEXTU */ { instruction , 0 , 0 , 32, - 0xfc00f820, 0x8000f800, &NMD::DEXTM , 0, + 0xfc00f820, 0x8000f800, &DEXTM , 0, MIPS64_ }, /* DEXTM */ { instruction , 0 , 0 , 32, - 0xfc00f820, 0x8000f820, &NMD::DEXT , 0, + 0xfc00f820, 0x8000f820, &DEXT , 0, MIPS64_ }, /* DEXT */ }; NMD::Pool NMD::P_U12[16] = { { instruction , 0 , 0 , 32, - 0xfc00f000, 0x80000000, &NMD::ORI , 0, + 0xfc00f000, 0x80000000, &ORI , 0, 0x0 }, /* ORI */ { instruction , 0 , 0 , 32, - 0xfc00f000, 0x80001000, &NMD::XORI , 0, + 0xfc00f000, 0x80001000, &XORI , 0, 0x0 }, /* XORI */ { instruction , 0 , 0 , 32, - 0xfc00f000, 0x80002000, &NMD::ANDI_32_ , 0, + 0xfc00f000, 0x80002000, &ANDI_32_ , 0, 0x0 }, /* ANDI[32] */ { pool , P_SR , 2 , 32, 0xfc00f000, 0x80003000, 0 , 0, 0x0 }, /* P.SR */ { instruction , 0 , 0 , 32, - 0xfc00f000, 0x80004000, &NMD::SLTI , 0, + 0xfc00f000, 0x80004000, &SLTI , 0, 0x0 }, /* SLTI */ { instruction , 0 , 0 , 32, - 0xfc00f000, 0x80005000, &NMD::SLTIU , 0, + 0xfc00f000, 0x80005000, &SLTIU , 0, 0x0 }, /* SLTIU */ { instruction , 0 , 0 , 32, - 0xfc00f000, 0x80006000, &NMD::SEQI , 0, + 0xfc00f000, 0x80006000, &SEQI , 0, 0x0 }, /* SEQI */ { reserved_block , 0 , 0 , 32, 0xfc00f000, 0x80007000, 0 , 0, 0x0 }, /* P.U12~*(7) */ { instruction , 0 , 0 , 32, - 0xfc00f000, 0x80008000, &NMD::ADDIU_NEG_ , 0, + 0xfc00f000, 0x80008000, &ADDIU_NEG_ , 0, 0x0 }, /* ADDIU[NEG] */ { instruction , 0 , 0 , 32, - 0xfc00f000, 0x80009000, &NMD::DADDIU_U12_ , 0, + 0xfc00f000, 0x80009000, &DADDIU_U12_ , 0, MIPS64_ }, /* DADDIU[U12] */ { instruction , 0 , 0 , 32, - 0xfc00f000, 0x8000a000, &NMD::DADDIU_NEG_ , 0, + 0xfc00f000, 0x8000a000, &DADDIU_NEG_ , 0, MIPS64_ }, /* DADDIU[NEG] */ { instruction , 0 , 0 , 32, - 0xfc00f000, 0x8000b000, &NMD::DROTX , 0, + 0xfc00f000, 0x8000b000, &DROTX , 0, MIPS64_ }, /* DROTX */ { pool , P_SHIFT , 16 , 32, 0xfc00f000, 0x8000c000, 0 , 0, @@ -19330,17 +19330,17 @@ NMD::Pool NMD::P_U12[16] = { NMD::Pool NMD::RINT_fmt[2] = { { instruction , 0 , 0 , 32, - 0xfc0003ff, 0xa0000020, &NMD::RINT_S , 0, + 0xfc0003ff, 0xa0000020, &RINT_S , 0, CP1_ }, /* RINT.S */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0xa0000220, &NMD::RINT_D , 0, + 0xfc0003ff, 0xa0000220, &RINT_D , 0, CP1_ }, /* RINT.D */ }; NMD::Pool NMD::ADD_fmt0[2] = { { instruction , 0 , 0 , 32, - 0xfc0003ff, 0xa0000030, &NMD::ADD_S , 0, + 0xfc0003ff, 0xa0000030, &ADD_S , 0, CP1_ }, /* ADD.S */ { reserved_block , 0 , 0 , 32, 0xfc0003ff, 0xa0000230, 0 , 0, @@ -19350,27 +19350,27 @@ NMD::Pool NMD::ADD_fmt0[2] = { NMD::Pool NMD::SELEQZ_fmt[2] = { { instruction , 0 , 0 , 32, - 0xfc0003ff, 0xa0000038, &NMD::SELEQZ_S , 0, + 0xfc0003ff, 0xa0000038, &SELEQZ_S , 0, CP1_ }, /* SELEQZ.S */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0xa0000238, &NMD::SELEQZ_D , 0, + 0xfc0003ff, 0xa0000238, &SELEQZ_D , 0, CP1_ }, /* SELEQZ.D */ }; NMD::Pool NMD::CLASS_fmt[2] = { { instruction , 0 , 0 , 32, - 0xfc0003ff, 0xa0000060, &NMD::CLASS_S , 0, + 0xfc0003ff, 0xa0000060, &CLASS_S , 0, CP1_ }, /* CLASS.S */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0xa0000260, &NMD::CLASS_D , 0, + 0xfc0003ff, 0xa0000260, &CLASS_D , 0, CP1_ }, /* CLASS.D */ }; NMD::Pool NMD::SUB_fmt0[2] = { { instruction , 0 , 0 , 32, - 0xfc0003ff, 0xa0000070, &NMD::SUB_S , 0, + 0xfc0003ff, 0xa0000070, &SUB_S , 0, CP1_ }, /* SUB.S */ { reserved_block , 0 , 0 , 32, 0xfc0003ff, 0xa0000270, 0 , 0, @@ -19380,17 +19380,17 @@ NMD::Pool NMD::SUB_fmt0[2] = { NMD::Pool NMD::SELNEZ_fmt[2] = { { instruction , 0 , 0 , 32, - 0xfc0003ff, 0xa0000078, &NMD::SELNEZ_S , 0, + 0xfc0003ff, 0xa0000078, &SELNEZ_S , 0, CP1_ }, /* SELNEZ.S */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0xa0000278, &NMD::SELNEZ_D , 0, + 0xfc0003ff, 0xa0000278, &SELNEZ_D , 0, CP1_ }, /* SELNEZ.D */ }; NMD::Pool NMD::MUL_fmt0[2] = { { instruction , 0 , 0 , 32, - 0xfc0003ff, 0xa00000b0, &NMD::MUL_S , 0, + 0xfc0003ff, 0xa00000b0, &MUL_S , 0, CP1_ }, /* MUL.S */ { reserved_block , 0 , 0 , 32, 0xfc0003ff, 0xa00002b0, 0 , 0, @@ -19400,17 +19400,17 @@ NMD::Pool NMD::MUL_fmt0[2] = { NMD::Pool NMD::SEL_fmt[2] = { { instruction , 0 , 0 , 32, - 0xfc0003ff, 0xa00000b8, &NMD::SEL_S , 0, + 0xfc0003ff, 0xa00000b8, &SEL_S , 0, CP1_ }, /* SEL.S */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0xa00002b8, &NMD::SEL_D , 0, + 0xfc0003ff, 0xa00002b8, &SEL_D , 0, CP1_ }, /* SEL.D */ }; NMD::Pool NMD::DIV_fmt0[2] = { { instruction , 0 , 0 , 32, - 0xfc0003ff, 0xa00000f0, &NMD::DIV_S , 0, + 0xfc0003ff, 0xa00000f0, &DIV_S , 0, CP1_ }, /* DIV.S */ { reserved_block , 0 , 0 , 32, 0xfc0003ff, 0xa00002f0, 0 , 0, @@ -19420,7 +19420,7 @@ NMD::Pool NMD::DIV_fmt0[2] = { NMD::Pool NMD::ADD_fmt1[2] = { { instruction , 0 , 0 , 32, - 0xfc0003ff, 0xa0000130, &NMD::ADD_D , 0, + 0xfc0003ff, 0xa0000130, &ADD_D , 0, CP1_ }, /* ADD.D */ { reserved_block , 0 , 0 , 32, 0xfc0003ff, 0xa0000330, 0 , 0, @@ -19430,7 +19430,7 @@ NMD::Pool NMD::ADD_fmt1[2] = { NMD::Pool NMD::SUB_fmt1[2] = { { instruction , 0 , 0 , 32, - 0xfc0003ff, 0xa0000170, &NMD::SUB_D , 0, + 0xfc0003ff, 0xa0000170, &SUB_D , 0, CP1_ }, /* SUB.D */ { reserved_block , 0 , 0 , 32, 0xfc0003ff, 0xa0000370, 0 , 0, @@ -19440,7 +19440,7 @@ NMD::Pool NMD::SUB_fmt1[2] = { NMD::Pool NMD::MUL_fmt1[2] = { { instruction , 0 , 0 , 32, - 0xfc0003ff, 0xa00001b0, &NMD::MUL_D , 0, + 0xfc0003ff, 0xa00001b0, &MUL_D , 0, CP1_ }, /* MUL.D */ { reserved_block , 0 , 0 , 32, 0xfc0003ff, 0xa00003b0, 0 , 0, @@ -19450,17 +19450,17 @@ NMD::Pool NMD::MUL_fmt1[2] = { NMD::Pool NMD::MADDF_fmt[2] = { { instruction , 0 , 0 , 32, - 0xfc0003ff, 0xa00001b8, &NMD::MADDF_S , 0, + 0xfc0003ff, 0xa00001b8, &MADDF_S , 0, CP1_ }, /* MADDF.S */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0xa00003b8, &NMD::MADDF_D , 0, + 0xfc0003ff, 0xa00003b8, &MADDF_D , 0, CP1_ }, /* MADDF.D */ }; NMD::Pool NMD::DIV_fmt1[2] = { { instruction , 0 , 0 , 32, - 0xfc0003ff, 0xa00001f0, &NMD::DIV_D , 0, + 0xfc0003ff, 0xa00001f0, &DIV_D , 0, CP1_ }, /* DIV.D */ { reserved_block , 0 , 0 , 32, 0xfc0003ff, 0xa00003f0, 0 , 0, @@ -19470,10 +19470,10 @@ NMD::Pool NMD::DIV_fmt1[2] = { NMD::Pool NMD::MSUBF_fmt[2] = { { instruction , 0 , 0 , 32, - 0xfc0003ff, 0xa00001f8, &NMD::MSUBF_S , 0, + 0xfc0003ff, 0xa00001f8, &MSUBF_S , 0, CP1_ }, /* MSUBF.S */ { instruction , 0 , 0 , 32, - 0xfc0003ff, 0xa00003f8, &NMD::MSUBF_D , 0, + 0xfc0003ff, 0xa00003f8, &MSUBF_D , 0, CP1_ }, /* MSUBF.D */ }; @@ -19676,170 +19676,170 @@ NMD::Pool NMD::POOL32F_0[64] = { NMD::Pool NMD::MIN_fmt[2] = { { instruction , 0 , 0 , 32, - 0xfc00023f, 0xa0000003, &NMD::MIN_S , 0, + 0xfc00023f, 0xa0000003, &MIN_S , 0, CP1_ }, /* MIN.S */ { instruction , 0 , 0 , 32, - 0xfc00023f, 0xa0000203, &NMD::MIN_D , 0, + 0xfc00023f, 0xa0000203, &MIN_D , 0, CP1_ }, /* MIN.D */ }; NMD::Pool NMD::MAX_fmt[2] = { { instruction , 0 , 0 , 32, - 0xfc00023f, 0xa000000b, &NMD::MAX_S , 0, + 0xfc00023f, 0xa000000b, &MAX_S , 0, CP1_ }, /* MAX.S */ { instruction , 0 , 0 , 32, - 0xfc00023f, 0xa000020b, &NMD::MAX_D , 0, + 0xfc00023f, 0xa000020b, &MAX_D , 0, CP1_ }, /* MAX.D */ }; NMD::Pool NMD::MINA_fmt[2] = { { instruction , 0 , 0 , 32, - 0xfc00023f, 0xa0000023, &NMD::MINA_S , 0, + 0xfc00023f, 0xa0000023, &MINA_S , 0, CP1_ }, /* MINA.S */ { instruction , 0 , 0 , 32, - 0xfc00023f, 0xa0000223, &NMD::MINA_D , 0, + 0xfc00023f, 0xa0000223, &MINA_D , 0, CP1_ }, /* MINA.D */ }; NMD::Pool NMD::MAXA_fmt[2] = { { instruction , 0 , 0 , 32, - 0xfc00023f, 0xa000002b, &NMD::MAXA_S , 0, + 0xfc00023f, 0xa000002b, &MAXA_S , 0, CP1_ }, /* MAXA.S */ { instruction , 0 , 0 , 32, - 0xfc00023f, 0xa000022b, &NMD::MAXA_D , 0, + 0xfc00023f, 0xa000022b, &MAXA_D , 0, CP1_ }, /* MAXA.D */ }; NMD::Pool NMD::CVT_L_fmt[2] = { { instruction , 0 , 0 , 32, - 0xfc007fff, 0xa000013b, &NMD::CVT_L_S , 0, + 0xfc007fff, 0xa000013b, &CVT_L_S , 0, CP1_ }, /* CVT.L.S */ { instruction , 0 , 0 , 32, - 0xfc007fff, 0xa000413b, &NMD::CVT_L_D , 0, + 0xfc007fff, 0xa000413b, &CVT_L_D , 0, CP1_ }, /* CVT.L.D */ }; NMD::Pool NMD::RSQRT_fmt[2] = { { instruction , 0 , 0 , 32, - 0xfc007fff, 0xa000023b, &NMD::RSQRT_S , 0, + 0xfc007fff, 0xa000023b, &RSQRT_S , 0, CP1_ }, /* RSQRT.S */ { instruction , 0 , 0 , 32, - 0xfc007fff, 0xa000423b, &NMD::RSQRT_D , 0, + 0xfc007fff, 0xa000423b, &RSQRT_D , 0, CP1_ }, /* RSQRT.D */ }; NMD::Pool NMD::FLOOR_L_fmt[2] = { { instruction , 0 , 0 , 32, - 0xfc007fff, 0xa000033b, &NMD::FLOOR_L_S , 0, + 0xfc007fff, 0xa000033b, &FLOOR_L_S , 0, CP1_ }, /* FLOOR.L.S */ { instruction , 0 , 0 , 32, - 0xfc007fff, 0xa000433b, &NMD::FLOOR_L_D , 0, + 0xfc007fff, 0xa000433b, &FLOOR_L_D , 0, CP1_ }, /* FLOOR.L.D */ }; NMD::Pool NMD::CVT_W_fmt[2] = { { instruction , 0 , 0 , 32, - 0xfc007fff, 0xa000093b, &NMD::CVT_W_S , 0, + 0xfc007fff, 0xa000093b, &CVT_W_S , 0, CP1_ }, /* CVT.W.S */ { instruction , 0 , 0 , 32, - 0xfc007fff, 0xa000493b, &NMD::CVT_W_D , 0, + 0xfc007fff, 0xa000493b, &CVT_W_D , 0, CP1_ }, /* CVT.W.D */ }; NMD::Pool NMD::SQRT_fmt[2] = { { instruction , 0 , 0 , 32, - 0xfc007fff, 0xa0000a3b, &NMD::SQRT_S , 0, + 0xfc007fff, 0xa0000a3b, &SQRT_S , 0, CP1_ }, /* SQRT.S */ { instruction , 0 , 0 , 32, - 0xfc007fff, 0xa0004a3b, &NMD::SQRT_D , 0, + 0xfc007fff, 0xa0004a3b, &SQRT_D , 0, CP1_ }, /* SQRT.D */ }; NMD::Pool NMD::FLOOR_W_fmt[2] = { { instruction , 0 , 0 , 32, - 0xfc007fff, 0xa0000b3b, &NMD::FLOOR_W_S , 0, + 0xfc007fff, 0xa0000b3b, &FLOOR_W_S , 0, CP1_ }, /* FLOOR.W.S */ { instruction , 0 , 0 , 32, - 0xfc007fff, 0xa0004b3b, &NMD::FLOOR_W_D , 0, + 0xfc007fff, 0xa0004b3b, &FLOOR_W_D , 0, CP1_ }, /* FLOOR.W.D */ }; NMD::Pool NMD::RECIP_fmt[2] = { { instruction , 0 , 0 , 32, - 0xfc007fff, 0xa000123b, &NMD::RECIP_S , 0, + 0xfc007fff, 0xa000123b, &RECIP_S , 0, CP1_ }, /* RECIP.S */ { instruction , 0 , 0 , 32, - 0xfc007fff, 0xa000523b, &NMD::RECIP_D , 0, + 0xfc007fff, 0xa000523b, &RECIP_D , 0, CP1_ }, /* RECIP.D */ }; NMD::Pool NMD::CEIL_L_fmt[2] = { { instruction , 0 , 0 , 32, - 0xfc007fff, 0xa000133b, &NMD::CEIL_L_S , 0, + 0xfc007fff, 0xa000133b, &CEIL_L_S , 0, CP1_ }, /* CEIL.L.S */ { instruction , 0 , 0 , 32, - 0xfc007fff, 0xa000533b, &NMD::CEIL_L_D , 0, + 0xfc007fff, 0xa000533b, &CEIL_L_D , 0, CP1_ }, /* CEIL.L.D */ }; NMD::Pool NMD::CEIL_W_fmt[2] = { { instruction , 0 , 0 , 32, - 0xfc007fff, 0xa0001b3b, &NMD::CEIL_W_S , 0, + 0xfc007fff, 0xa0001b3b, &CEIL_W_S , 0, CP1_ }, /* CEIL.W.S */ { instruction , 0 , 0 , 32, - 0xfc007fff, 0xa0005b3b, &NMD::CEIL_W_D , 0, + 0xfc007fff, 0xa0005b3b, &CEIL_W_D , 0, CP1_ }, /* CEIL.W.D */ }; NMD::Pool NMD::TRUNC_L_fmt[2] = { { instruction , 0 , 0 , 32, - 0xfc007fff, 0xa000233b, &NMD::TRUNC_L_S , 0, + 0xfc007fff, 0xa000233b, &TRUNC_L_S , 0, CP1_ }, /* TRUNC.L.S */ { instruction , 0 , 0 , 32, - 0xfc007fff, 0xa000633b, &NMD::TRUNC_L_D , 0, + 0xfc007fff, 0xa000633b, &TRUNC_L_D , 0, CP1_ }, /* TRUNC.L.D */ }; NMD::Pool NMD::TRUNC_W_fmt[2] = { { instruction , 0 , 0 , 32, - 0xfc007fff, 0xa0002b3b, &NMD::TRUNC_W_S , 0, + 0xfc007fff, 0xa0002b3b, &TRUNC_W_S , 0, CP1_ }, /* TRUNC.W.S */ { instruction , 0 , 0 , 32, - 0xfc007fff, 0xa0006b3b, &NMD::TRUNC_W_D , 0, + 0xfc007fff, 0xa0006b3b, &TRUNC_W_D , 0, CP1_ }, /* TRUNC.W.D */ }; NMD::Pool NMD::ROUND_L_fmt[2] = { { instruction , 0 , 0 , 32, - 0xfc007fff, 0xa000333b, &NMD::ROUND_L_S , 0, + 0xfc007fff, 0xa000333b, &ROUND_L_S , 0, CP1_ }, /* ROUND.L.S */ { instruction , 0 , 0 , 32, - 0xfc007fff, 0xa000733b, &NMD::ROUND_L_D , 0, + 0xfc007fff, 0xa000733b, &ROUND_L_D , 0, CP1_ }, /* ROUND.L.D */ }; NMD::Pool NMD::ROUND_W_fmt[2] = { { instruction , 0 , 0 , 32, - 0xfc007fff, 0xa0003b3b, &NMD::ROUND_W_S , 0, + 0xfc007fff, 0xa0003b3b, &ROUND_W_S , 0, CP1_ }, /* ROUND.W.S */ { instruction , 0 , 0 , 32, - 0xfc007fff, 0xa0007b3b, &NMD::ROUND_W_D , 0, + 0xfc007fff, 0xa0007b3b, &ROUND_W_D , 0, CP1_ }, /* ROUND.W.D */ }; @@ -19894,7 +19894,7 @@ NMD::Pool NMD::POOL32Fxf_0[64] = { 0xfc003fff, 0xa0000f3b, 0 , 0, CP1_ }, /* POOL32Fxf_0~*(15) */ { instruction , 0 , 0 , 32, - 0xfc003fff, 0xa000103b, &NMD::CFC1 , 0, + 0xfc003fff, 0xa000103b, &CFC1 , 0, CP1_ }, /* CFC1 */ { reserved_block , 0 , 0 , 32, 0xfc003fff, 0xa000113b, 0 , 0, @@ -19918,7 +19918,7 @@ NMD::Pool NMD::POOL32Fxf_0[64] = { 0xfc003fff, 0xa000173b, 0 , 0, CP1_ }, /* POOL32Fxf_0~*(23) */ { instruction , 0 , 0 , 32, - 0xfc003fff, 0xa000183b, &NMD::CTC1 , 0, + 0xfc003fff, 0xa000183b, &CTC1 , 0, CP1_ }, /* CTC1 */ { reserved_block , 0 , 0 , 32, 0xfc003fff, 0xa000193b, 0 , 0, @@ -19942,10 +19942,10 @@ NMD::Pool NMD::POOL32Fxf_0[64] = { 0xfc003fff, 0xa0001f3b, 0 , 0, CP1_ }, /* POOL32Fxf_0~*(31) */ { instruction , 0 , 0 , 32, - 0xfc003fff, 0xa000203b, &NMD::MFC1 , 0, + 0xfc003fff, 0xa000203b, &MFC1 , 0, CP1_ }, /* MFC1 */ { instruction , 0 , 0 , 32, - 0xfc003fff, 0xa000213b, &NMD::CVT_S_PL , 0, + 0xfc003fff, 0xa000213b, &CVT_S_PL , 0, CP1_ }, /* CVT.S.PL */ { reserved_block , 0 , 0 , 32, 0xfc003fff, 0xa000223b, 0 , 0, @@ -19954,7 +19954,7 @@ NMD::Pool NMD::POOL32Fxf_0[64] = { 0xfc003fff, 0xa000233b, 0 , 0, CP1_ }, /* TRUNC.L.fmt */ { instruction , 0 , 0 , 32, - 0xfc003fff, 0xa000243b, &NMD::DMFC1 , 0, + 0xfc003fff, 0xa000243b, &DMFC1 , 0, CP1_ | MIPS64_ }, /* DMFC1 */ { reserved_block , 0 , 0 , 32, 0xfc003fff, 0xa000253b, 0 , 0, @@ -19966,10 +19966,10 @@ NMD::Pool NMD::POOL32Fxf_0[64] = { 0xfc003fff, 0xa000273b, 0 , 0, CP1_ }, /* POOL32Fxf_0~*(39) */ { instruction , 0 , 0 , 32, - 0xfc003fff, 0xa000283b, &NMD::MTC1 , 0, + 0xfc003fff, 0xa000283b, &MTC1 , 0, CP1_ }, /* MTC1 */ { instruction , 0 , 0 , 32, - 0xfc003fff, 0xa000293b, &NMD::CVT_S_PU , 0, + 0xfc003fff, 0xa000293b, &CVT_S_PU , 0, CP1_ }, /* CVT.S.PU */ { reserved_block , 0 , 0 , 32, 0xfc003fff, 0xa0002a3b, 0 , 0, @@ -19978,7 +19978,7 @@ NMD::Pool NMD::POOL32Fxf_0[64] = { 0xfc003fff, 0xa0002b3b, 0 , 0, CP1_ }, /* TRUNC.W.fmt */ { instruction , 0 , 0 , 32, - 0xfc003fff, 0xa0002c3b, &NMD::DMTC1 , 0, + 0xfc003fff, 0xa0002c3b, &DMTC1 , 0, CP1_ | MIPS64_ }, /* DMTC1 */ { reserved_block , 0 , 0 , 32, 0xfc003fff, 0xa0002d3b, 0 , 0, @@ -19990,7 +19990,7 @@ NMD::Pool NMD::POOL32Fxf_0[64] = { 0xfc003fff, 0xa0002f3b, 0 , 0, CP1_ }, /* POOL32Fxf_0~*(47) */ { instruction , 0 , 0 , 32, - 0xfc003fff, 0xa000303b, &NMD::MFHC1 , 0, + 0xfc003fff, 0xa000303b, &MFHC1 , 0, CP1_ }, /* MFHC1 */ { reserved_block , 0 , 0 , 32, 0xfc003fff, 0xa000313b, 0 , 0, @@ -20014,7 +20014,7 @@ NMD::Pool NMD::POOL32Fxf_0[64] = { 0xfc003fff, 0xa000373b, 0 , 0, CP1_ }, /* POOL32Fxf_0~*(55) */ { instruction , 0 , 0 , 32, - 0xfc003fff, 0xa000383b, &NMD::MTHC1 , 0, + 0xfc003fff, 0xa000383b, &MTHC1 , 0, CP1_ }, /* MTHC1 */ { reserved_block , 0 , 0 , 32, 0xfc003fff, 0xa000393b, 0 , 0, @@ -20042,10 +20042,10 @@ NMD::Pool NMD::POOL32Fxf_0[64] = { NMD::Pool NMD::MOV_fmt[4] = { { instruction , 0 , 0 , 32, - 0xfc007fff, 0xa000007b, &NMD::MOV_S , 0, + 0xfc007fff, 0xa000007b, &MOV_S , 0, CP1_ }, /* MOV.S */ { instruction , 0 , 0 , 32, - 0xfc007fff, 0xa000207b, &NMD::MOV_D , 0, + 0xfc007fff, 0xa000207b, &MOV_D , 0, CP1_ }, /* MOV.D */ { reserved_block , 0 , 0 , 32, 0xfc007fff, 0xa000407b, 0 , 0, @@ -20058,10 +20058,10 @@ NMD::Pool NMD::MOV_fmt[4] = { NMD::Pool NMD::ABS_fmt[4] = { { instruction , 0 , 0 , 32, - 0xfc007fff, 0xa000037b, &NMD::ABS_S , 0, + 0xfc007fff, 0xa000037b, &ABS_S , 0, CP1_ }, /* ABS.S */ { instruction , 0 , 0 , 32, - 0xfc007fff, 0xa000237b, &NMD::ABS_D , 0, + 0xfc007fff, 0xa000237b, &ABS_D , 0, CP1_ }, /* ABS.D */ { reserved_block , 0 , 0 , 32, 0xfc007fff, 0xa000437b, 0 , 0, @@ -20074,10 +20074,10 @@ NMD::Pool NMD::ABS_fmt[4] = { NMD::Pool NMD::NEG_fmt[4] = { { instruction , 0 , 0 , 32, - 0xfc007fff, 0xa0000b7b, &NMD::NEG_S , 0, + 0xfc007fff, 0xa0000b7b, &NEG_S , 0, CP1_ }, /* NEG.S */ { instruction , 0 , 0 , 32, - 0xfc007fff, 0xa0002b7b, &NMD::NEG_D , 0, + 0xfc007fff, 0xa0002b7b, &NEG_D , 0, CP1_ }, /* NEG.D */ { reserved_block , 0 , 0 , 32, 0xfc007fff, 0xa0004b7b, 0 , 0, @@ -20090,13 +20090,13 @@ NMD::Pool NMD::NEG_fmt[4] = { NMD::Pool NMD::CVT_D_fmt[4] = { { instruction , 0 , 0 , 32, - 0xfc007fff, 0xa000137b, &NMD::CVT_D_S , 0, + 0xfc007fff, 0xa000137b, &CVT_D_S , 0, CP1_ }, /* CVT.D.S */ { instruction , 0 , 0 , 32, - 0xfc007fff, 0xa000337b, &NMD::CVT_D_W , 0, + 0xfc007fff, 0xa000337b, &CVT_D_W , 0, CP1_ }, /* CVT.D.W */ { instruction , 0 , 0 , 32, - 0xfc007fff, 0xa000537b, &NMD::CVT_D_L , 0, + 0xfc007fff, 0xa000537b, &CVT_D_L , 0, CP1_ }, /* CVT.D.L */ { reserved_block , 0 , 0 , 32, 0xfc007fff, 0xa000737b, 0 , 0, @@ -20106,13 +20106,13 @@ NMD::Pool NMD::CVT_D_fmt[4] = { NMD::Pool NMD::CVT_S_fmt[4] = { { instruction , 0 , 0 , 32, - 0xfc007fff, 0xa0001b7b, &NMD::CVT_S_D , 0, + 0xfc007fff, 0xa0001b7b, &CVT_S_D , 0, CP1_ }, /* CVT.S.D */ { instruction , 0 , 0 , 32, - 0xfc007fff, 0xa0003b7b, &NMD::CVT_S_W , 0, + 0xfc007fff, 0xa0003b7b, &CVT_S_W , 0, CP1_ }, /* CVT.S.W */ { instruction , 0 , 0 , 32, - 0xfc007fff, 0xa0005b7b, &NMD::CVT_S_L , 0, + 0xfc007fff, 0xa0005b7b, &CVT_S_L , 0, CP1_ }, /* CVT.S.L */ { reserved_block , 0 , 0 , 32, 0xfc007fff, 0xa0007b7b, 0 , 0, @@ -20266,64 +20266,64 @@ NMD::Pool NMD::POOL32F_3[8] = { NMD::Pool NMD::CMP_condn_S[32] = { { instruction , 0 , 0 , 32, - 0xfc0007ff, 0xa0000005, &NMD::CMP_AF_S , 0, + 0xfc0007ff, 0xa0000005, &CMP_AF_S , 0, CP1_ }, /* CMP.AF.S */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0xa0000045, &NMD::CMP_UN_S , 0, + 0xfc0007ff, 0xa0000045, &CMP_UN_S , 0, CP1_ }, /* CMP.UN.S */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0xa0000085, &NMD::CMP_EQ_S , 0, + 0xfc0007ff, 0xa0000085, &CMP_EQ_S , 0, CP1_ }, /* CMP.EQ.S */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0xa00000c5, &NMD::CMP_UEQ_S , 0, + 0xfc0007ff, 0xa00000c5, &CMP_UEQ_S , 0, CP1_ }, /* CMP.UEQ.S */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0xa0000105, &NMD::CMP_LT_S , 0, + 0xfc0007ff, 0xa0000105, &CMP_LT_S , 0, CP1_ }, /* CMP.LT.S */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0xa0000145, &NMD::CMP_ULT_S , 0, + 0xfc0007ff, 0xa0000145, &CMP_ULT_S , 0, CP1_ }, /* CMP.ULT.S */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0xa0000185, &NMD::CMP_LE_S , 0, + 0xfc0007ff, 0xa0000185, &CMP_LE_S , 0, CP1_ }, /* CMP.LE.S */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0xa00001c5, &NMD::CMP_ULE_S , 0, + 0xfc0007ff, 0xa00001c5, &CMP_ULE_S , 0, CP1_ }, /* CMP.ULE.S */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0xa0000205, &NMD::CMP_SAF_S , 0, + 0xfc0007ff, 0xa0000205, &CMP_SAF_S , 0, CP1_ }, /* CMP.SAF.S */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0xa0000245, &NMD::CMP_SUN_S , 0, + 0xfc0007ff, 0xa0000245, &CMP_SUN_S , 0, CP1_ }, /* CMP.SUN.S */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0xa0000285, &NMD::CMP_SEQ_S , 0, + 0xfc0007ff, 0xa0000285, &CMP_SEQ_S , 0, CP1_ }, /* CMP.SEQ.S */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0xa00002c5, &NMD::CMP_SUEQ_S , 0, + 0xfc0007ff, 0xa00002c5, &CMP_SUEQ_S , 0, CP1_ }, /* CMP.SUEQ.S */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0xa0000305, &NMD::CMP_SLT_S , 0, + 0xfc0007ff, 0xa0000305, &CMP_SLT_S , 0, CP1_ }, /* CMP.SLT.S */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0xa0000345, &NMD::CMP_SULT_S , 0, + 0xfc0007ff, 0xa0000345, &CMP_SULT_S , 0, CP1_ }, /* CMP.SULT.S */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0xa0000385, &NMD::CMP_SLE_S , 0, + 0xfc0007ff, 0xa0000385, &CMP_SLE_S , 0, CP1_ }, /* CMP.SLE.S */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0xa00003c5, &NMD::CMP_SULE_S , 0, + 0xfc0007ff, 0xa00003c5, &CMP_SULE_S , 0, CP1_ }, /* CMP.SULE.S */ { reserved_block , 0 , 0 , 32, 0xfc0007ff, 0xa0000405, 0 , 0, CP1_ }, /* CMP.condn.S~*(16) */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0xa0000445, &NMD::CMP_OR_S , 0, + 0xfc0007ff, 0xa0000445, &CMP_OR_S , 0, CP1_ }, /* CMP.OR.S */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0xa0000485, &NMD::CMP_UNE_S , 0, + 0xfc0007ff, 0xa0000485, &CMP_UNE_S , 0, CP1_ }, /* CMP.UNE.S */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0xa00004c5, &NMD::CMP_NE_S , 0, + 0xfc0007ff, 0xa00004c5, &CMP_NE_S , 0, CP1_ }, /* CMP.NE.S */ { reserved_block , 0 , 0 , 32, 0xfc0007ff, 0xa0000505, 0 , 0, @@ -20341,13 +20341,13 @@ NMD::Pool NMD::CMP_condn_S[32] = { 0xfc0007ff, 0xa0000605, 0 , 0, CP1_ }, /* CMP.condn.S~*(24) */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0xa0000645, &NMD::CMP_SOR_S , 0, + 0xfc0007ff, 0xa0000645, &CMP_SOR_S , 0, CP1_ }, /* CMP.SOR.S */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0xa0000685, &NMD::CMP_SUNE_S , 0, + 0xfc0007ff, 0xa0000685, &CMP_SUNE_S , 0, CP1_ }, /* CMP.SUNE.S */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0xa00006c5, &NMD::CMP_SNE_S , 0, + 0xfc0007ff, 0xa00006c5, &CMP_SNE_S , 0, CP1_ }, /* CMP.SNE.S */ { reserved_block , 0 , 0 , 32, 0xfc0007ff, 0xa0000705, 0 , 0, @@ -20366,64 +20366,64 @@ NMD::Pool NMD::CMP_condn_S[32] = { NMD::Pool NMD::CMP_condn_D[32] = { { instruction , 0 , 0 , 32, - 0xfc0007ff, 0xa0000015, &NMD::CMP_AF_D , 0, + 0xfc0007ff, 0xa0000015, &CMP_AF_D , 0, CP1_ }, /* CMP.AF.D */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0xa0000055, &NMD::CMP_UN_D , 0, + 0xfc0007ff, 0xa0000055, &CMP_UN_D , 0, CP1_ }, /* CMP.UN.D */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0xa0000095, &NMD::CMP_EQ_D , 0, + 0xfc0007ff, 0xa0000095, &CMP_EQ_D , 0, CP1_ }, /* CMP.EQ.D */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0xa00000d5, &NMD::CMP_UEQ_D , 0, + 0xfc0007ff, 0xa00000d5, &CMP_UEQ_D , 0, CP1_ }, /* CMP.UEQ.D */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0xa0000115, &NMD::CMP_LT_D , 0, + 0xfc0007ff, 0xa0000115, &CMP_LT_D , 0, CP1_ }, /* CMP.LT.D */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0xa0000155, &NMD::CMP_ULT_D , 0, + 0xfc0007ff, 0xa0000155, &CMP_ULT_D , 0, CP1_ }, /* CMP.ULT.D */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0xa0000195, &NMD::CMP_LE_D , 0, + 0xfc0007ff, 0xa0000195, &CMP_LE_D , 0, CP1_ }, /* CMP.LE.D */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0xa00001d5, &NMD::CMP_ULE_D , 0, + 0xfc0007ff, 0xa00001d5, &CMP_ULE_D , 0, CP1_ }, /* CMP.ULE.D */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0xa0000215, &NMD::CMP_SAF_D , 0, + 0xfc0007ff, 0xa0000215, &CMP_SAF_D , 0, CP1_ }, /* CMP.SAF.D */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0xa0000255, &NMD::CMP_SUN_D , 0, + 0xfc0007ff, 0xa0000255, &CMP_SUN_D , 0, CP1_ }, /* CMP.SUN.D */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0xa0000295, &NMD::CMP_SEQ_D , 0, + 0xfc0007ff, 0xa0000295, &CMP_SEQ_D , 0, CP1_ }, /* CMP.SEQ.D */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0xa00002d5, &NMD::CMP_SUEQ_D , 0, + 0xfc0007ff, 0xa00002d5, &CMP_SUEQ_D , 0, CP1_ }, /* CMP.SUEQ.D */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0xa0000315, &NMD::CMP_SLT_D , 0, + 0xfc0007ff, 0xa0000315, &CMP_SLT_D , 0, CP1_ }, /* CMP.SLT.D */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0xa0000355, &NMD::CMP_SULT_D , 0, + 0xfc0007ff, 0xa0000355, &CMP_SULT_D , 0, CP1_ }, /* CMP.SULT.D */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0xa0000395, &NMD::CMP_SLE_D , 0, + 0xfc0007ff, 0xa0000395, &CMP_SLE_D , 0, CP1_ }, /* CMP.SLE.D */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0xa00003d5, &NMD::CMP_SULE_D , 0, + 0xfc0007ff, 0xa00003d5, &CMP_SULE_D , 0, CP1_ }, /* CMP.SULE.D */ { reserved_block , 0 , 0 , 32, 0xfc0007ff, 0xa0000415, 0 , 0, CP1_ }, /* CMP.condn.D~*(16) */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0xa0000455, &NMD::CMP_OR_D , 0, + 0xfc0007ff, 0xa0000455, &CMP_OR_D , 0, CP1_ }, /* CMP.OR.D */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0xa0000495, &NMD::CMP_UNE_D , 0, + 0xfc0007ff, 0xa0000495, &CMP_UNE_D , 0, CP1_ }, /* CMP.UNE.D */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0xa00004d5, &NMD::CMP_NE_D , 0, + 0xfc0007ff, 0xa00004d5, &CMP_NE_D , 0, CP1_ }, /* CMP.NE.D */ { reserved_block , 0 , 0 , 32, 0xfc0007ff, 0xa0000515, 0 , 0, @@ -20441,13 +20441,13 @@ NMD::Pool NMD::CMP_condn_D[32] = { 0xfc0007ff, 0xa0000615, 0 , 0, CP1_ }, /* CMP.condn.D~*(24) */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0xa0000655, &NMD::CMP_SOR_D , 0, + 0xfc0007ff, 0xa0000655, &CMP_SOR_D , 0, CP1_ }, /* CMP.SOR.D */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0xa0000695, &NMD::CMP_SUNE_D , 0, + 0xfc0007ff, 0xa0000695, &CMP_SUNE_D , 0, CP1_ }, /* CMP.SUNE.D */ { instruction , 0 , 0 , 32, - 0xfc0007ff, 0xa00006d5, &NMD::CMP_SNE_D , 0, + 0xfc0007ff, 0xa00006d5, &CMP_SNE_D , 0, CP1_ }, /* CMP.SNE.D */ { reserved_block , 0 , 0 , 32, 0xfc0007ff, 0xa0000715, 0 , 0, @@ -20525,13 +20525,13 @@ NMD::Pool NMD::POOL32S_0[64] = { 0xfc0001ff, 0xc0000000, 0 , 0, 0x0 }, /* POOL32S_0~*(0) */ { instruction , 0 , 0 , 32, - 0xfc0001ff, 0xc0000008, &NMD::DLSA , 0, + 0xfc0001ff, 0xc0000008, &DLSA , 0, MIPS64_ }, /* DLSA */ { instruction , 0 , 0 , 32, - 0xfc0001ff, 0xc0000010, &NMD::DSLLV , 0, + 0xfc0001ff, 0xc0000010, &DSLLV , 0, MIPS64_ }, /* DSLLV */ { instruction , 0 , 0 , 32, - 0xfc0001ff, 0xc0000018, &NMD::DMUL , 0, + 0xfc0001ff, 0xc0000018, &DMUL , 0, MIPS64_ }, /* DMUL */ { reserved_block , 0 , 0 , 32, 0xfc0001ff, 0xc0000020, 0 , 0, @@ -20552,10 +20552,10 @@ NMD::Pool NMD::POOL32S_0[64] = { 0xfc0001ff, 0xc0000048, 0 , 0, 0x0 }, /* POOL32S_0~*(9) */ { instruction , 0 , 0 , 32, - 0xfc0001ff, 0xc0000050, &NMD::DSRLV , 0, + 0xfc0001ff, 0xc0000050, &DSRLV , 0, MIPS64_ }, /* DSRLV */ { instruction , 0 , 0 , 32, - 0xfc0001ff, 0xc0000058, &NMD::DMUH , 0, + 0xfc0001ff, 0xc0000058, &DMUH , 0, MIPS64_ }, /* DMUH */ { reserved_block , 0 , 0 , 32, 0xfc0001ff, 0xc0000060, 0 , 0, @@ -20576,10 +20576,10 @@ NMD::Pool NMD::POOL32S_0[64] = { 0xfc0001ff, 0xc0000088, 0 , 0, 0x0 }, /* POOL32S_0~*(17) */ { instruction , 0 , 0 , 32, - 0xfc0001ff, 0xc0000090, &NMD::DSRAV , 0, + 0xfc0001ff, 0xc0000090, &DSRAV , 0, MIPS64_ }, /* DSRAV */ { instruction , 0 , 0 , 32, - 0xfc0001ff, 0xc0000098, &NMD::DMULU , 0, + 0xfc0001ff, 0xc0000098, &DMULU , 0, MIPS64_ }, /* DMULU */ { reserved_block , 0 , 0 , 32, 0xfc0001ff, 0xc00000a0, 0 , 0, @@ -20600,10 +20600,10 @@ NMD::Pool NMD::POOL32S_0[64] = { 0xfc0001ff, 0xc00000c8, 0 , 0, 0x0 }, /* POOL32S_0~*(25) */ { instruction , 0 , 0 , 32, - 0xfc0001ff, 0xc00000d0, &NMD::DROTRV , 0, + 0xfc0001ff, 0xc00000d0, &DROTRV , 0, MIPS64_ }, /* DROTRV */ { instruction , 0 , 0 , 32, - 0xfc0001ff, 0xc00000d8, &NMD::DMUHU , 0, + 0xfc0001ff, 0xc00000d8, &DMUHU , 0, MIPS64_ }, /* DMUHU */ { reserved_block , 0 , 0 , 32, 0xfc0001ff, 0xc00000e0, 0 , 0, @@ -20624,10 +20624,10 @@ NMD::Pool NMD::POOL32S_0[64] = { 0xfc0001ff, 0xc0000108, 0 , 0, 0x0 }, /* POOL32S_0~*(33) */ { instruction , 0 , 0 , 32, - 0xfc0001ff, 0xc0000110, &NMD::DADD , 0, + 0xfc0001ff, 0xc0000110, &DADD , 0, MIPS64_ }, /* DADD */ { instruction , 0 , 0 , 32, - 0xfc0001ff, 0xc0000118, &NMD::DDIV , 0, + 0xfc0001ff, 0xc0000118, &DDIV , 0, MIPS64_ }, /* DDIV */ { reserved_block , 0 , 0 , 32, 0xfc0001ff, 0xc0000120, 0 , 0, @@ -20648,10 +20648,10 @@ NMD::Pool NMD::POOL32S_0[64] = { 0xfc0001ff, 0xc0000148, 0 , 0, 0x0 }, /* POOL32S_0~*(41) */ { instruction , 0 , 0 , 32, - 0xfc0001ff, 0xc0000150, &NMD::DADDU , 0, + 0xfc0001ff, 0xc0000150, &DADDU , 0, MIPS64_ }, /* DADDU */ { instruction , 0 , 0 , 32, - 0xfc0001ff, 0xc0000158, &NMD::DMOD , 0, + 0xfc0001ff, 0xc0000158, &DMOD , 0, MIPS64_ }, /* DMOD */ { reserved_block , 0 , 0 , 32, 0xfc0001ff, 0xc0000160, 0 , 0, @@ -20672,10 +20672,10 @@ NMD::Pool NMD::POOL32S_0[64] = { 0xfc0001ff, 0xc0000188, 0 , 0, 0x0 }, /* POOL32S_0~*(49) */ { instruction , 0 , 0 , 32, - 0xfc0001ff, 0xc0000190, &NMD::DSUB , 0, + 0xfc0001ff, 0xc0000190, &DSUB , 0, MIPS64_ }, /* DSUB */ { instruction , 0 , 0 , 32, - 0xfc0001ff, 0xc0000198, &NMD::DDIVU , 0, + 0xfc0001ff, 0xc0000198, &DDIVU , 0, MIPS64_ }, /* DDIVU */ { reserved_block , 0 , 0 , 32, 0xfc0001ff, 0xc00001a0, 0 , 0, @@ -20696,10 +20696,10 @@ NMD::Pool NMD::POOL32S_0[64] = { 0xfc0001ff, 0xc00001c8, 0 , 0, 0x0 }, /* POOL32S_0~*(57) */ { instruction , 0 , 0 , 32, - 0xfc0001ff, 0xc00001d0, &NMD::DSUBU , 0, + 0xfc0001ff, 0xc00001d0, &DSUBU , 0, MIPS64_ }, /* DSUBU */ { instruction , 0 , 0 , 32, - 0xfc0001ff, 0xc00001d8, &NMD::DMODU , 0, + 0xfc0001ff, 0xc00001d8, &DMODU , 0, MIPS64_ }, /* DMODU */ { reserved_block , 0 , 0 , 32, 0xfc0001ff, 0xc00001e0, 0 , 0, @@ -20829,7 +20829,7 @@ NMD::Pool NMD::POOL32Sxf_4[128] = { 0xfc00ffff, 0xc000493c, 0 , 0, 0x0 }, /* POOL32Sxf_4~*(36) */ { instruction , 0 , 0 , 32, - 0xfc00ffff, 0xc0004b3c, &NMD::DCLO , 0, + 0xfc00ffff, 0xc0004b3c, &DCLO , 0, MIPS64_ }, /* DCLO */ { reserved_block , 0 , 0 , 32, 0xfc00ffff, 0xc0004d3c, 0 , 0, @@ -20853,7 +20853,7 @@ NMD::Pool NMD::POOL32Sxf_4[128] = { 0xfc00ffff, 0xc000593c, 0 , 0, 0x0 }, /* POOL32Sxf_4~*(44) */ { instruction , 0 , 0 , 32, - 0xfc00ffff, 0xc0005b3c, &NMD::DCLZ , 0, + 0xfc00ffff, 0xc0005b3c, &DCLZ , 0, MIPS64_ }, /* DCLZ */ { reserved_block , 0 , 0 , 32, 0xfc00ffff, 0xc0005d3c, 0 , 0, @@ -21134,10 +21134,10 @@ NMD::Pool NMD::POOL32Sxf[8] = { NMD::Pool NMD::POOL32S_4[8] = { { instruction , 0 , 0 , 32, - 0xfc00003f, 0xc0000004, &NMD::EXTD , 0, + 0xfc00003f, 0xc0000004, &EXTD , 0, MIPS64_ }, /* EXTD */ { instruction , 0 , 0 , 32, - 0xfc00003f, 0xc000000c, &NMD::EXTD32 , 0, + 0xfc00003f, 0xc000000c, &EXTD32 , 0, MIPS64_ }, /* EXTD32 */ { reserved_block , 0 , 0 , 32, 0xfc00003f, 0xc0000014, 0 , 0, @@ -21190,27 +21190,27 @@ NMD::Pool NMD::POOL32S[8] = { NMD::Pool NMD::P_LUI[2] = { { instruction , 0 , 0 , 32, - 0xfc000002, 0xe0000000, &NMD::LUI , 0, + 0xfc000002, 0xe0000000, &LUI , 0, 0x0 }, /* LUI */ { instruction , 0 , 0 , 32, - 0xfc000002, 0xe0000002, &NMD::ALUIPC , 0, + 0xfc000002, 0xe0000002, &ALUIPC , 0, 0x0 }, /* ALUIPC */ }; NMD::Pool NMD::P_GP_LH[2] = { { instruction , 0 , 0 , 32, - 0xfc1c0001, 0x44100000, &NMD::LH_GP_ , 0, + 0xfc1c0001, 0x44100000, &LH_GP_ , 0, 0x0 }, /* LH[GP] */ { instruction , 0 , 0 , 32, - 0xfc1c0001, 0x44100001, &NMD::LHU_GP_ , 0, + 0xfc1c0001, 0x44100001, &LHU_GP_ , 0, 0x0 }, /* LHU[GP] */ }; NMD::Pool NMD::P_GP_SH[2] = { { instruction , 0 , 0 , 32, - 0xfc1c0001, 0x44140000, &NMD::SH_GP_ , 0, + 0xfc1c0001, 0x44140000, &SH_GP_ , 0, 0x0 }, /* SH[GP] */ { reserved_block , 0 , 0 , 32, 0xfc1c0001, 0x44140001, 0 , 0, @@ -21220,23 +21220,23 @@ NMD::Pool NMD::P_GP_SH[2] = { NMD::Pool NMD::P_GP_CP1[4] = { { instruction , 0 , 0 , 32, - 0xfc1c0003, 0x44180000, &NMD::LWC1_GP_ , 0, + 0xfc1c0003, 0x44180000, &LWC1_GP_ , 0, CP1_ }, /* LWC1[GP] */ { instruction , 0 , 0 , 32, - 0xfc1c0003, 0x44180001, &NMD::SWC1_GP_ , 0, + 0xfc1c0003, 0x44180001, &SWC1_GP_ , 0, CP1_ }, /* SWC1[GP] */ { instruction , 0 , 0 , 32, - 0xfc1c0003, 0x44180002, &NMD::LDC1_GP_ , 0, + 0xfc1c0003, 0x44180002, &LDC1_GP_ , 0, CP1_ }, /* LDC1[GP] */ { instruction , 0 , 0 , 32, - 0xfc1c0003, 0x44180003, &NMD::SDC1_GP_ , 0, + 0xfc1c0003, 0x44180003, &SDC1_GP_ , 0, CP1_ }, /* SDC1[GP] */ }; NMD::Pool NMD::P_GP_M64[4] = { { instruction , 0 , 0 , 32, - 0xfc1c0003, 0x441c0000, &NMD::LWU_GP_ , 0, + 0xfc1c0003, 0x441c0000, &LWU_GP_ , 0, MIPS64_ }, /* LWU[GP] */ { reserved_block , 0 , 0 , 32, 0xfc1c0003, 0x441c0001, 0 , 0, @@ -21252,16 +21252,16 @@ NMD::Pool NMD::P_GP_M64[4] = { NMD::Pool NMD::P_GP_BH[8] = { { instruction , 0 , 0 , 32, - 0xfc1c0000, 0x44000000, &NMD::LB_GP_ , 0, + 0xfc1c0000, 0x44000000, &LB_GP_ , 0, 0x0 }, /* LB[GP] */ { instruction , 0 , 0 , 32, - 0xfc1c0000, 0x44040000, &NMD::SB_GP_ , 0, + 0xfc1c0000, 0x44040000, &SB_GP_ , 0, 0x0 }, /* SB[GP] */ { instruction , 0 , 0 , 32, - 0xfc1c0000, 0x44080000, &NMD::LBU_GP_ , 0, + 0xfc1c0000, 0x44080000, &LBU_GP_ , 0, 0x0 }, /* LBU[GP] */ { instruction , 0 , 0 , 32, - 0xfc1c0000, 0x440c0000, &NMD::ADDIU_GP_B_ , 0, + 0xfc1c0000, 0x440c0000, &ADDIU_GP_B_ , 0, 0x0 }, /* ADDIU[GP.B] */ { pool , P_GP_LH , 2 , 32, 0xfc1c0000, 0x44100000, 0 , 0, @@ -21280,134 +21280,134 @@ NMD::Pool NMD::P_GP_BH[8] = { NMD::Pool NMD::P_LS_U12[16] = { { instruction , 0 , 0 , 32, - 0xfc00f000, 0x84000000, &NMD::LB_U12_ , 0, + 0xfc00f000, 0x84000000, &LB_U12_ , 0, 0x0 }, /* LB[U12] */ { instruction , 0 , 0 , 32, - 0xfc00f000, 0x84001000, &NMD::SB_U12_ , 0, + 0xfc00f000, 0x84001000, &SB_U12_ , 0, 0x0 }, /* SB[U12] */ { instruction , 0 , 0 , 32, - 0xfc00f000, 0x84002000, &NMD::LBU_U12_ , 0, + 0xfc00f000, 0x84002000, &LBU_U12_ , 0, 0x0 }, /* LBU[U12] */ { instruction , 0 , 0 , 32, - 0xfc00f000, 0x84003000, &NMD::PREF_U12_ , 0, + 0xfc00f000, 0x84003000, &PREF_U12_ , 0, 0x0 }, /* PREF[U12] */ { instruction , 0 , 0 , 32, - 0xfc00f000, 0x84004000, &NMD::LH_U12_ , 0, + 0xfc00f000, 0x84004000, &LH_U12_ , 0, 0x0 }, /* LH[U12] */ { instruction , 0 , 0 , 32, - 0xfc00f000, 0x84005000, &NMD::SH_U12_ , 0, + 0xfc00f000, 0x84005000, &SH_U12_ , 0, 0x0 }, /* SH[U12] */ { instruction , 0 , 0 , 32, - 0xfc00f000, 0x84006000, &NMD::LHU_U12_ , 0, + 0xfc00f000, 0x84006000, &LHU_U12_ , 0, 0x0 }, /* LHU[U12] */ { instruction , 0 , 0 , 32, - 0xfc00f000, 0x84007000, &NMD::LWU_U12_ , 0, + 0xfc00f000, 0x84007000, &LWU_U12_ , 0, MIPS64_ }, /* LWU[U12] */ { instruction , 0 , 0 , 32, - 0xfc00f000, 0x84008000, &NMD::LW_U12_ , 0, + 0xfc00f000, 0x84008000, &LW_U12_ , 0, 0x0 }, /* LW[U12] */ { instruction , 0 , 0 , 32, - 0xfc00f000, 0x84009000, &NMD::SW_U12_ , 0, + 0xfc00f000, 0x84009000, &SW_U12_ , 0, 0x0 }, /* SW[U12] */ { instruction , 0 , 0 , 32, - 0xfc00f000, 0x8400a000, &NMD::LWC1_U12_ , 0, + 0xfc00f000, 0x8400a000, &LWC1_U12_ , 0, CP1_ }, /* LWC1[U12] */ { instruction , 0 , 0 , 32, - 0xfc00f000, 0x8400b000, &NMD::SWC1_U12_ , 0, + 0xfc00f000, 0x8400b000, &SWC1_U12_ , 0, CP1_ }, /* SWC1[U12] */ { instruction , 0 , 0 , 32, - 0xfc00f000, 0x8400c000, &NMD::LD_U12_ , 0, + 0xfc00f000, 0x8400c000, &LD_U12_ , 0, MIPS64_ }, /* LD[U12] */ { instruction , 0 , 0 , 32, - 0xfc00f000, 0x8400d000, &NMD::SD_U12_ , 0, + 0xfc00f000, 0x8400d000, &SD_U12_ , 0, MIPS64_ }, /* SD[U12] */ { instruction , 0 , 0 , 32, - 0xfc00f000, 0x8400e000, &NMD::LDC1_U12_ , 0, + 0xfc00f000, 0x8400e000, &LDC1_U12_ , 0, CP1_ }, /* LDC1[U12] */ { instruction , 0 , 0 , 32, - 0xfc00f000, 0x8400f000, &NMD::SDC1_U12_ , 0, + 0xfc00f000, 0x8400f000, &SDC1_U12_ , 0, CP1_ }, /* SDC1[U12] */ }; NMD::Pool NMD::P_PREF_S9_[2] = { { instruction , 0 , 0 , 32, - 0xffe07f00, 0xa7e01800, &NMD::SYNCI , 0, + 0xffe07f00, 0xa7e01800, &SYNCI , 0, 0x0 }, /* SYNCI */ { instruction , 0 , 0 , 32, - 0xfc007f00, 0xa4001800, &NMD::PREF_S9_ , &PREF_S9__cond , + 0xfc007f00, 0xa4001800, &PREF_S9_ , &PREF_S9__cond , 0x0 }, /* PREF[S9] */ }; NMD::Pool NMD::P_LS_S0[16] = { { instruction , 0 , 0 , 32, - 0xfc007f00, 0xa4000000, &NMD::LB_S9_ , 0, + 0xfc007f00, 0xa4000000, &LB_S9_ , 0, 0x0 }, /* LB[S9] */ { instruction , 0 , 0 , 32, - 0xfc007f00, 0xa4000800, &NMD::SB_S9_ , 0, + 0xfc007f00, 0xa4000800, &SB_S9_ , 0, 0x0 }, /* SB[S9] */ { instruction , 0 , 0 , 32, - 0xfc007f00, 0xa4001000, &NMD::LBU_S9_ , 0, + 0xfc007f00, 0xa4001000, &LBU_S9_ , 0, 0x0 }, /* LBU[S9] */ { pool , P_PREF_S9_ , 2 , 32, 0xfc007f00, 0xa4001800, 0 , 0, 0x0 }, /* P.PREF[S9] */ { instruction , 0 , 0 , 32, - 0xfc007f00, 0xa4002000, &NMD::LH_S9_ , 0, + 0xfc007f00, 0xa4002000, &LH_S9_ , 0, 0x0 }, /* LH[S9] */ { instruction , 0 , 0 , 32, - 0xfc007f00, 0xa4002800, &NMD::SH_S9_ , 0, + 0xfc007f00, 0xa4002800, &SH_S9_ , 0, 0x0 }, /* SH[S9] */ { instruction , 0 , 0 , 32, - 0xfc007f00, 0xa4003000, &NMD::LHU_S9_ , 0, + 0xfc007f00, 0xa4003000, &LHU_S9_ , 0, 0x0 }, /* LHU[S9] */ { instruction , 0 , 0 , 32, - 0xfc007f00, 0xa4003800, &NMD::LWU_S9_ , 0, + 0xfc007f00, 0xa4003800, &LWU_S9_ , 0, MIPS64_ }, /* LWU[S9] */ { instruction , 0 , 0 , 32, - 0xfc007f00, 0xa4004000, &NMD::LW_S9_ , 0, + 0xfc007f00, 0xa4004000, &LW_S9_ , 0, 0x0 }, /* LW[S9] */ { instruction , 0 , 0 , 32, - 0xfc007f00, 0xa4004800, &NMD::SW_S9_ , 0, + 0xfc007f00, 0xa4004800, &SW_S9_ , 0, 0x0 }, /* SW[S9] */ { instruction , 0 , 0 , 32, - 0xfc007f00, 0xa4005000, &NMD::LWC1_S9_ , 0, + 0xfc007f00, 0xa4005000, &LWC1_S9_ , 0, CP1_ }, /* LWC1[S9] */ { instruction , 0 , 0 , 32, - 0xfc007f00, 0xa4005800, &NMD::SWC1_S9_ , 0, + 0xfc007f00, 0xa4005800, &SWC1_S9_ , 0, CP1_ }, /* SWC1[S9] */ { instruction , 0 , 0 , 32, - 0xfc007f00, 0xa4006000, &NMD::LD_S9_ , 0, + 0xfc007f00, 0xa4006000, &LD_S9_ , 0, MIPS64_ }, /* LD[S9] */ { instruction , 0 , 0 , 32, - 0xfc007f00, 0xa4006800, &NMD::SD_S9_ , 0, + 0xfc007f00, 0xa4006800, &SD_S9_ , 0, MIPS64_ }, /* SD[S9] */ { instruction , 0 , 0 , 32, - 0xfc007f00, 0xa4007000, &NMD::LDC1_S9_ , 0, + 0xfc007f00, 0xa4007000, &LDC1_S9_ , 0, CP1_ }, /* LDC1[S9] */ { instruction , 0 , 0 , 32, - 0xfc007f00, 0xa4007800, &NMD::SDC1_S9_ , 0, + 0xfc007f00, 0xa4007800, &SDC1_S9_ , 0, CP1_ }, /* SDC1[S9] */ }; NMD::Pool NMD::ASET_ACLR[2] = { { instruction , 0 , 0 , 32, - 0xfe007f00, 0xa4001100, &NMD::ASET , 0, + 0xfe007f00, 0xa4001100, &ASET , 0, MCU_ }, /* ASET */ { instruction , 0 , 0 , 32, - 0xfe007f00, 0xa6001100, &NMD::ACLR , 0, + 0xfe007f00, 0xa6001100, &ACLR , 0, MCU_ }, /* ACLR */ }; NMD::Pool NMD::P_LL[4] = { { instruction , 0 , 0 , 32, - 0xfc007f03, 0xa4005100, &NMD::LL , 0, + 0xfc007f03, 0xa4005100, &LL , 0, 0x0 }, /* LL */ { instruction , 0 , 0 , 32, - 0xfc007f03, 0xa4005101, &NMD::LLWP , 0, + 0xfc007f03, 0xa4005101, &LLWP , 0, XNP_ }, /* LLWP */ { reserved_block , 0 , 0 , 32, 0xfc007f03, 0xa4005102, 0 , 0, @@ -21420,10 +21420,10 @@ NMD::Pool NMD::P_LL[4] = { NMD::Pool NMD::P_SC[4] = { { instruction , 0 , 0 , 32, - 0xfc007f03, 0xa4005900, &NMD::SC , 0, + 0xfc007f03, 0xa4005900, &SC , 0, 0x0 }, /* SC */ { instruction , 0 , 0 , 32, - 0xfc007f03, 0xa4005901, &NMD::SCWP , 0, + 0xfc007f03, 0xa4005901, &SCWP , 0, XNP_ }, /* SCWP */ { reserved_block , 0 , 0 , 32, 0xfc007f03, 0xa4005902, 0 , 0, @@ -21436,10 +21436,10 @@ NMD::Pool NMD::P_SC[4] = { NMD::Pool NMD::P_LLD[8] = { { instruction , 0 , 0 , 32, - 0xfc007f07, 0xa4007100, &NMD::LLD , 0, + 0xfc007f07, 0xa4007100, &LLD , 0, MIPS64_ }, /* LLD */ { instruction , 0 , 0 , 32, - 0xfc007f07, 0xa4007101, &NMD::LLDP , 0, + 0xfc007f07, 0xa4007101, &LLDP , 0, MIPS64_ }, /* LLDP */ { reserved_block , 0 , 0 , 32, 0xfc007f07, 0xa4007102, 0 , 0, @@ -21464,10 +21464,10 @@ NMD::Pool NMD::P_LLD[8] = { NMD::Pool NMD::P_SCD[8] = { { instruction , 0 , 0 , 32, - 0xfc007f07, 0xa4007900, &NMD::SCD , 0, + 0xfc007f07, 0xa4007900, &SCD , 0, MIPS64_ }, /* SCD */ { instruction , 0 , 0 , 32, - 0xfc007f07, 0xa4007901, &NMD::SCDP , 0, + 0xfc007f07, 0xa4007901, &SCDP , 0, MIPS64_ }, /* SCDP */ { reserved_block , 0 , 0 , 32, 0xfc007f07, 0xa4007902, 0 , 0, @@ -21504,22 +21504,22 @@ NMD::Pool NMD::P_LS_S1[16] = { 0xfc007f00, 0xa4001900, 0 , 0, 0x0 }, /* P.LS.S1~*(3) */ { instruction , 0 , 0 , 32, - 0xfc007f00, 0xa4002100, &NMD::UALH , 0, + 0xfc007f00, 0xa4002100, &UALH , 0, XMMS_ }, /* UALH */ { instruction , 0 , 0 , 32, - 0xfc007f00, 0xa4002900, &NMD::UASH , 0, + 0xfc007f00, 0xa4002900, &UASH , 0, XMMS_ }, /* UASH */ { reserved_block , 0 , 0 , 32, 0xfc007f00, 0xa4003100, 0 , 0, 0x0 }, /* P.LS.S1~*(6) */ { instruction , 0 , 0 , 32, - 0xfc007f00, 0xa4003900, &NMD::CACHE , 0, + 0xfc007f00, 0xa4003900, &CACHE , 0, CP0_ }, /* CACHE */ { instruction , 0 , 0 , 32, - 0xfc007f00, 0xa4004100, &NMD::LWC2 , 0, + 0xfc007f00, 0xa4004100, &LWC2 , 0, CP2_ }, /* LWC2 */ { instruction , 0 , 0 , 32, - 0xfc007f00, 0xa4004900, &NMD::SWC2 , 0, + 0xfc007f00, 0xa4004900, &SWC2 , 0, CP2_ }, /* SWC2 */ { pool , P_LL , 4 , 32, 0xfc007f00, 0xa4005100, 0 , 0, @@ -21528,10 +21528,10 @@ NMD::Pool NMD::P_LS_S1[16] = { 0xfc007f00, 0xa4005900, 0 , 0, 0x0 }, /* P.SC */ { instruction , 0 , 0 , 32, - 0xfc007f00, 0xa4006100, &NMD::LDC2 , 0, + 0xfc007f00, 0xa4006100, &LDC2 , 0, CP2_ }, /* LDC2 */ { instruction , 0 , 0 , 32, - 0xfc007f00, 0xa4006900, &NMD::SDC2 , 0, + 0xfc007f00, 0xa4006900, &SDC2 , 0, CP2_ }, /* SDC2 */ { pool , P_LLD , 8 , 32, 0xfc007f00, 0xa4007100, 0 , 0, @@ -21544,20 +21544,20 @@ NMD::Pool NMD::P_LS_S1[16] = { NMD::Pool NMD::P_PREFE[2] = { { instruction , 0 , 0 , 32, - 0xffe07f00, 0xa7e01a00, &NMD::SYNCIE , 0, + 0xffe07f00, 0xa7e01a00, &SYNCIE , 0, CP0_ | EVA_ }, /* SYNCIE */ { instruction , 0 , 0 , 32, - 0xfc007f00, 0xa4001a00, &NMD::PREFE , &PREFE_cond , + 0xfc007f00, 0xa4001a00, &PREFE , &PREFE_cond , CP0_ | EVA_ }, /* PREFE */ }; NMD::Pool NMD::P_LLE[4] = { { instruction , 0 , 0 , 32, - 0xfc007f03, 0xa4005200, &NMD::LLE , 0, + 0xfc007f03, 0xa4005200, &LLE , 0, CP0_ | EVA_ }, /* LLE */ { instruction , 0 , 0 , 32, - 0xfc007f03, 0xa4005201, &NMD::LLWPE , 0, + 0xfc007f03, 0xa4005201, &LLWPE , 0, CP0_ | EVA_ }, /* LLWPE */ { reserved_block , 0 , 0 , 32, 0xfc007f03, 0xa4005202, 0 , 0, @@ -21570,10 +21570,10 @@ NMD::Pool NMD::P_LLE[4] = { NMD::Pool NMD::P_SCE[4] = { { instruction , 0 , 0 , 32, - 0xfc007f03, 0xa4005a00, &NMD::SCE , 0, + 0xfc007f03, 0xa4005a00, &SCE , 0, CP0_ | EVA_ }, /* SCE */ { instruction , 0 , 0 , 32, - 0xfc007f03, 0xa4005a01, &NMD::SCWPE , 0, + 0xfc007f03, 0xa4005a01, &SCWPE , 0, CP0_ | EVA_ }, /* SCWPE */ { reserved_block , 0 , 0 , 32, 0xfc007f03, 0xa4005a02, 0 , 0, @@ -21586,34 +21586,34 @@ NMD::Pool NMD::P_SCE[4] = { NMD::Pool NMD::P_LS_E0[16] = { { instruction , 0 , 0 , 32, - 0xfc007f00, 0xa4000200, &NMD::LBE , 0, + 0xfc007f00, 0xa4000200, &LBE , 0, CP0_ | EVA_ }, /* LBE */ { instruction , 0 , 0 , 32, - 0xfc007f00, 0xa4000a00, &NMD::SBE , 0, + 0xfc007f00, 0xa4000a00, &SBE , 0, CP0_ | EVA_ }, /* SBE */ { instruction , 0 , 0 , 32, - 0xfc007f00, 0xa4001200, &NMD::LBUE , 0, + 0xfc007f00, 0xa4001200, &LBUE , 0, CP0_ | EVA_ }, /* LBUE */ { pool , P_PREFE , 2 , 32, 0xfc007f00, 0xa4001a00, 0 , 0, 0x0 }, /* P.PREFE */ { instruction , 0 , 0 , 32, - 0xfc007f00, 0xa4002200, &NMD::LHE , 0, + 0xfc007f00, 0xa4002200, &LHE , 0, CP0_ | EVA_ }, /* LHE */ { instruction , 0 , 0 , 32, - 0xfc007f00, 0xa4002a00, &NMD::SHE , 0, + 0xfc007f00, 0xa4002a00, &SHE , 0, CP0_ | EVA_ }, /* SHE */ { instruction , 0 , 0 , 32, - 0xfc007f00, 0xa4003200, &NMD::LHUE , 0, + 0xfc007f00, 0xa4003200, &LHUE , 0, CP0_ | EVA_ }, /* LHUE */ { instruction , 0 , 0 , 32, - 0xfc007f00, 0xa4003a00, &NMD::CACHEE , 0, + 0xfc007f00, 0xa4003a00, &CACHEE , 0, CP0_ | EVA_ }, /* CACHEE */ { instruction , 0 , 0 , 32, - 0xfc007f00, 0xa4004200, &NMD::LWE , 0, + 0xfc007f00, 0xa4004200, &LWE , 0, CP0_ | EVA_ }, /* LWE */ { instruction , 0 , 0 , 32, - 0xfc007f00, 0xa4004a00, &NMD::SWE , 0, + 0xfc007f00, 0xa4004a00, &SWE , 0, CP0_ | EVA_ }, /* SWE */ { pool , P_LLE , 4 , 32, 0xfc007f00, 0xa4005200, 0 , 0, @@ -21638,40 +21638,40 @@ NMD::Pool NMD::P_LS_E0[16] = { NMD::Pool NMD::P_LS_WM[2] = { { instruction , 0 , 0 , 32, - 0xfc000f00, 0xa4000400, &NMD::LWM , 0, + 0xfc000f00, 0xa4000400, &LWM , 0, XMMS_ }, /* LWM */ { instruction , 0 , 0 , 32, - 0xfc000f00, 0xa4000c00, &NMD::SWM , 0, + 0xfc000f00, 0xa4000c00, &SWM , 0, XMMS_ }, /* SWM */ }; NMD::Pool NMD::P_LS_UAWM[2] = { { instruction , 0 , 0 , 32, - 0xfc000f00, 0xa4000500, &NMD::UALWM , 0, + 0xfc000f00, 0xa4000500, &UALWM , 0, XMMS_ }, /* UALWM */ { instruction , 0 , 0 , 32, - 0xfc000f00, 0xa4000d00, &NMD::UASWM , 0, + 0xfc000f00, 0xa4000d00, &UASWM , 0, XMMS_ }, /* UASWM */ }; NMD::Pool NMD::P_LS_DM[2] = { { instruction , 0 , 0 , 32, - 0xfc000f00, 0xa4000600, &NMD::LDM , 0, + 0xfc000f00, 0xa4000600, &LDM , 0, MIPS64_ }, /* LDM */ { instruction , 0 , 0 , 32, - 0xfc000f00, 0xa4000e00, &NMD::SDM , 0, + 0xfc000f00, 0xa4000e00, &SDM , 0, MIPS64_ }, /* SDM */ }; NMD::Pool NMD::P_LS_UADM[2] = { { instruction , 0 , 0 , 32, - 0xfc000f00, 0xa4000700, &NMD::UALDM , 0, + 0xfc000f00, 0xa4000700, &UALDM , 0, MIPS64_ }, /* UALDM */ { instruction , 0 , 0 , 32, - 0xfc000f00, 0xa4000f00, &NMD::UASDM , 0, + 0xfc000f00, 0xa4000f00, &UASDM , 0, MIPS64_ }, /* UASDM */ }; @@ -21706,30 +21706,30 @@ NMD::Pool NMD::P_LS_S9[8] = { NMD::Pool NMD::P_BAL[2] = { { branch_instruction , 0 , 0 , 32, - 0xfe000000, 0x28000000, &NMD::BC_32_ , 0, + 0xfe000000, 0x28000000, &BC_32_ , 0, 0x0 }, /* BC[32] */ { call_instruction , 0 , 0 , 32, - 0xfe000000, 0x2a000000, &NMD::BALC_32_ , 0, + 0xfe000000, 0x2a000000, &BALC_32_ , 0, 0x0 }, /* BALC[32] */ }; NMD::Pool NMD::P_BALRSC[2] = { { branch_instruction , 0 , 0 , 32, - 0xffe0f000, 0x48008000, &NMD::BRSC , 0, + 0xffe0f000, 0x48008000, &BRSC , 0, 0x0 }, /* BRSC */ { call_instruction , 0 , 0 , 32, - 0xfc00f000, 0x48008000, &NMD::BALRSC , &BALRSC_cond , + 0xfc00f000, 0x48008000, &BALRSC , &BALRSC_cond , 0x0 }, /* BALRSC */ }; NMD::Pool NMD::P_J[16] = { { call_instruction , 0 , 0 , 32, - 0xfc00f000, 0x48000000, &NMD::JALRC_32_ , 0, + 0xfc00f000, 0x48000000, &JALRC_32_ , 0, 0x0 }, /* JALRC[32] */ { call_instruction , 0 , 0 , 32, - 0xfc00f000, 0x48001000, &NMD::JALRC_HB , 0, + 0xfc00f000, 0x48001000, &JALRC_HB , 0, 0x0 }, /* JALRC.HB */ { reserved_block , 0 , 0 , 32, 0xfc00f000, 0x48002000, 0 , 0, @@ -21778,19 +21778,19 @@ NMD::Pool NMD::P_J[16] = { NMD::Pool NMD::P_BR3A[32] = { { branch_instruction , 0 , 0 , 32, - 0xfc1fc000, 0x88004000, &NMD::BC1EQZC , 0, + 0xfc1fc000, 0x88004000, &BC1EQZC , 0, CP1_ }, /* BC1EQZC */ { branch_instruction , 0 , 0 , 32, - 0xfc1fc000, 0x88014000, &NMD::BC1NEZC , 0, + 0xfc1fc000, 0x88014000, &BC1NEZC , 0, CP1_ }, /* BC1NEZC */ { branch_instruction , 0 , 0 , 32, - 0xfc1fc000, 0x88024000, &NMD::BC2EQZC , 0, + 0xfc1fc000, 0x88024000, &BC2EQZC , 0, CP2_ }, /* BC2EQZC */ { branch_instruction , 0 , 0 , 32, - 0xfc1fc000, 0x88034000, &NMD::BC2NEZC , 0, + 0xfc1fc000, 0x88034000, &BC2NEZC , 0, CP2_ }, /* BC2NEZC */ { branch_instruction , 0 , 0 , 32, - 0xfc1fc000, 0x88044000, &NMD::BPOSGE32C , 0, + 0xfc1fc000, 0x88044000, &BPOSGE32C , 0, DSP_ }, /* BPOSGE32C */ { reserved_block , 0 , 0 , 32, 0xfc1fc000, 0x88054000, 0 , 0, @@ -21878,60 +21878,60 @@ NMD::Pool NMD::P_BR3A[32] = { NMD::Pool NMD::P_BR1[4] = { { branch_instruction , 0 , 0 , 32, - 0xfc00c000, 0x88000000, &NMD::BEQC_32_ , 0, + 0xfc00c000, 0x88000000, &BEQC_32_ , 0, 0x0 }, /* BEQC[32] */ { pool , P_BR3A , 32 , 32, 0xfc00c000, 0x88004000, 0 , 0, 0x0 }, /* P.BR3A */ { branch_instruction , 0 , 0 , 32, - 0xfc00c000, 0x88008000, &NMD::BGEC , 0, + 0xfc00c000, 0x88008000, &BGEC , 0, 0x0 }, /* BGEC */ { branch_instruction , 0 , 0 , 32, - 0xfc00c000, 0x8800c000, &NMD::BGEUC , 0, + 0xfc00c000, 0x8800c000, &BGEUC , 0, 0x0 }, /* BGEUC */ }; NMD::Pool NMD::P_BR2[4] = { { branch_instruction , 0 , 0 , 32, - 0xfc00c000, 0xa8000000, &NMD::BNEC_32_ , 0, + 0xfc00c000, 0xa8000000, &BNEC_32_ , 0, 0x0 }, /* BNEC[32] */ { reserved_block , 0 , 0 , 32, 0xfc00c000, 0xa8004000, 0 , 0, 0x0 }, /* P.BR2~*(1) */ { branch_instruction , 0 , 0 , 32, - 0xfc00c000, 0xa8008000, &NMD::BLTC , 0, + 0xfc00c000, 0xa8008000, &BLTC , 0, 0x0 }, /* BLTC */ { branch_instruction , 0 , 0 , 32, - 0xfc00c000, 0xa800c000, &NMD::BLTUC , 0, + 0xfc00c000, 0xa800c000, &BLTUC , 0, 0x0 }, /* BLTUC */ }; NMD::Pool NMD::P_BRI[8] = { { branch_instruction , 0 , 0 , 32, - 0xfc1c0000, 0xc8000000, &NMD::BEQIC , 0, + 0xfc1c0000, 0xc8000000, &BEQIC , 0, 0x0 }, /* BEQIC */ { branch_instruction , 0 , 0 , 32, - 0xfc1c0000, 0xc8040000, &NMD::BBEQZC , 0, + 0xfc1c0000, 0xc8040000, &BBEQZC , 0, XMMS_ }, /* BBEQZC */ { branch_instruction , 0 , 0 , 32, - 0xfc1c0000, 0xc8080000, &NMD::BGEIC , 0, + 0xfc1c0000, 0xc8080000, &BGEIC , 0, 0x0 }, /* BGEIC */ { branch_instruction , 0 , 0 , 32, - 0xfc1c0000, 0xc80c0000, &NMD::BGEIUC , 0, + 0xfc1c0000, 0xc80c0000, &BGEIUC , 0, 0x0 }, /* BGEIUC */ { branch_instruction , 0 , 0 , 32, - 0xfc1c0000, 0xc8100000, &NMD::BNEIC , 0, + 0xfc1c0000, 0xc8100000, &BNEIC , 0, 0x0 }, /* BNEIC */ { branch_instruction , 0 , 0 , 32, - 0xfc1c0000, 0xc8140000, &NMD::BBNEZC , 0, + 0xfc1c0000, 0xc8140000, &BBNEZC , 0, XMMS_ }, /* BBNEZC */ { branch_instruction , 0 , 0 , 32, - 0xfc1c0000, 0xc8180000, &NMD::BLTIC , 0, + 0xfc1c0000, 0xc8180000, &BLTIC , 0, 0x0 }, /* BLTIC */ { branch_instruction , 0 , 0 , 32, - 0xfc1c0000, 0xc81c0000, &NMD::BLTIUC , 0, + 0xfc1c0000, 0xc81c0000, &BLTIUC , 0, 0x0 }, /* BLTIUC */ }; @@ -21962,7 +21962,7 @@ NMD::Pool NMD::P32[32] = { 0xfc000000, 0xe0000000, 0 , 0, 0x0 }, /* P.LUI */ { instruction , 0 , 0 , 32, - 0xfc000000, 0x04000000, &NMD::ADDIUPC_32_ , 0, + 0xfc000000, 0x04000000, &ADDIUPC_32_ , 0, 0x0 }, /* ADDIUPC[32] */ { reserved_block , 0 , 0 , 32, 0xfc000000, 0x24000000, 0 , 0, @@ -21986,7 +21986,7 @@ NMD::Pool NMD::P32[32] = { 0xfc000000, 0xe4000000, 0 , 0, 0x0 }, /* P32~*(29) */ { call_instruction , 0 , 0 , 32, - 0xfc000000, 0x08000000, &NMD::MOVE_BALC , 0, + 0xfc000000, 0x08000000, &MOVE_BALC , 0, XMMS_ }, /* MOVE.BALC */ { pool , P_BAL , 2 , 32, 0xfc000000, 0x28000000, 0 , 0, @@ -22038,10 +22038,10 @@ NMD::Pool NMD::P32[32] = { NMD::Pool NMD::P16_SYSCALL[2] = { { instruction , 0 , 0 , 16, - 0xfffc , 0x1008 , &NMD::SYSCALL_16_ , 0, + 0xfffc , 0x1008 , &SYSCALL_16_ , 0, 0x0 }, /* SYSCALL[16] */ { instruction , 0 , 0 , 16, - 0xfffc , 0x100c , &NMD::HYPCALL_16_ , 0, + 0xfffc , 0x100c , &HYPCALL_16_ , 0, CP0_ | VZ_ }, /* HYPCALL[16] */ }; @@ -22054,10 +22054,10 @@ NMD::Pool NMD::P16_RI[4] = { 0xfff8 , 0x1008 , 0 , 0, 0x0 }, /* P16.SYSCALL */ { instruction , 0 , 0 , 16, - 0xfff8 , 0x1010 , &NMD::BREAK_16_ , 0, + 0xfff8 , 0x1010 , &BREAK_16_ , 0, 0x0 }, /* BREAK[16] */ { instruction , 0 , 0 , 16, - 0xfff8 , 0x1018 , &NMD::SDBBP_16_ , 0, + 0xfff8 , 0x1018 , &SDBBP_16_ , 0, EJTAG_ }, /* SDBBP[16] */ }; @@ -22067,33 +22067,33 @@ NMD::Pool NMD::P16_MV[2] = { 0xffe0 , 0x1000 , 0 , 0, 0x0 }, /* P16.RI */ { instruction , 0 , 0 , 16, - 0xfc00 , 0x1000 , &NMD::MOVE , &MOVE_cond , + 0xfc00 , 0x1000 , &MOVE , &MOVE_cond , 0x0 }, /* MOVE */ }; NMD::Pool NMD::P16_SHIFT[2] = { { instruction , 0 , 0 , 16, - 0xfc08 , 0x3000 , &NMD::SLL_16_ , 0, + 0xfc08 , 0x3000 , &SLL_16_ , 0, 0x0 }, /* SLL[16] */ { instruction , 0 , 0 , 16, - 0xfc08 , 0x3008 , &NMD::SRL_16_ , 0, + 0xfc08 , 0x3008 , &SRL_16_ , 0, 0x0 }, /* SRL[16] */ }; NMD::Pool NMD::POOL16C_00[4] = { { instruction , 0 , 0 , 16, - 0xfc0f , 0x5000 , &NMD::NOT_16_ , 0, + 0xfc0f , 0x5000 , &NOT_16_ , 0, 0x0 }, /* NOT[16] */ { instruction , 0 , 0 , 16, - 0xfc0f , 0x5004 , &NMD::XOR_16_ , 0, + 0xfc0f , 0x5004 , &XOR_16_ , 0, 0x0 }, /* XOR[16] */ { instruction , 0 , 0 , 16, - 0xfc0f , 0x5008 , &NMD::AND_16_ , 0, + 0xfc0f , 0x5008 , &AND_16_ , 0, 0x0 }, /* AND[16] */ { instruction , 0 , 0 , 16, - 0xfc0f , 0x500c , &NMD::OR_16_ , 0, + 0xfc0f , 0x500c , &OR_16_ , 0, 0x0 }, /* OR[16] */ }; @@ -22113,7 +22113,7 @@ NMD::Pool NMD::P16C[2] = { 0xfc01 , 0x5000 , 0 , 0, 0x0 }, /* POOL16C_0 */ { instruction , 0 , 0 , 16, - 0xfc01 , 0x5001 , &NMD::LWXS_16_ , 0, + 0xfc01 , 0x5001 , &LWXS_16_ , 0, 0x0 }, /* LWXS[16] */ }; @@ -22123,24 +22123,24 @@ NMD::Pool NMD::P16_A1[2] = { 0xfc40 , 0x7000 , 0 , 0, 0x0 }, /* P16.A1~*(0) */ { instruction , 0 , 0 , 16, - 0xfc40 , 0x7040 , &NMD::ADDIU_R1_SP_ , 0, + 0xfc40 , 0x7040 , &ADDIU_R1_SP_ , 0, 0x0 }, /* ADDIU[R1.SP] */ }; NMD::Pool NMD::P_ADDIU_RS5_[2] = { { instruction , 0 , 0 , 16, - 0xffe8 , 0x9008 , &NMD::NOP_16_ , 0, + 0xffe8 , 0x9008 , &NOP_16_ , 0, 0x0 }, /* NOP[16] */ { instruction , 0 , 0 , 16, - 0xfc08 , 0x9008 , &NMD::ADDIU_RS5_ , &ADDIU_RS5__cond , + 0xfc08 , 0x9008 , &ADDIU_RS5_ , &ADDIU_RS5__cond , 0x0 }, /* ADDIU[RS5] */ }; NMD::Pool NMD::P16_A2[2] = { { instruction , 0 , 0 , 16, - 0xfc08 , 0x9000 , &NMD::ADDIU_R2_ , 0, + 0xfc08 , 0x9000 , &ADDIU_R2_ , 0, 0x0 }, /* ADDIU[R2] */ { pool , P_ADDIU_RS5_ , 2 , 16, 0xfc08 , 0x9008 , 0 , 0, @@ -22150,30 +22150,30 @@ NMD::Pool NMD::P16_A2[2] = { NMD::Pool NMD::P16_ADDU[2] = { { instruction , 0 , 0 , 16, - 0xfc01 , 0xb000 , &NMD::ADDU_16_ , 0, + 0xfc01 , 0xb000 , &ADDU_16_ , 0, 0x0 }, /* ADDU[16] */ { instruction , 0 , 0 , 16, - 0xfc01 , 0xb001 , &NMD::SUBU_16_ , 0, + 0xfc01 , 0xb001 , &SUBU_16_ , 0, 0x0 }, /* SUBU[16] */ }; NMD::Pool NMD::P16_JRC[2] = { { branch_instruction , 0 , 0 , 16, - 0xfc1f , 0xd800 , &NMD::JRC , 0, + 0xfc1f , 0xd800 , &JRC , 0, 0x0 }, /* JRC */ { call_instruction , 0 , 0 , 16, - 0xfc1f , 0xd810 , &NMD::JALRC_16_ , 0, + 0xfc1f , 0xd810 , &JALRC_16_ , 0, 0x0 }, /* JALRC[16] */ }; NMD::Pool NMD::P16_BR1[2] = { { branch_instruction , 0 , 0 , 16, - 0xfc00 , 0xd800 , &NMD::BEQC_16_ , &BEQC_16__cond , + 0xfc00 , 0xd800 , &BEQC_16_ , &BEQC_16__cond , XMMS_ }, /* BEQC[16] */ { branch_instruction , 0 , 0 , 16, - 0xfc00 , 0xd800 , &NMD::BNEC_16_ , &BNEC_16__cond , + 0xfc00 , 0xd800 , &BNEC_16_ , &BNEC_16__cond , XMMS_ }, /* BNEC[16] */ }; @@ -22190,20 +22190,20 @@ NMD::Pool NMD::P16_BR[2] = { NMD::Pool NMD::P16_SR[2] = { { instruction , 0 , 0 , 16, - 0xfd00 , 0x1c00 , &NMD::SAVE_16_ , 0, + 0xfd00 , 0x1c00 , &SAVE_16_ , 0, 0x0 }, /* SAVE[16] */ { return_instruction , 0 , 0 , 16, - 0xfd00 , 0x1d00 , &NMD::RESTORE_JRC_16_ , 0, + 0xfd00 , 0x1d00 , &RESTORE_JRC_16_ , 0, 0x0 }, /* RESTORE.JRC[16] */ }; NMD::Pool NMD::P16_4X4[4] = { { instruction , 0 , 0 , 16, - 0xfd08 , 0x3c00 , &NMD::ADDU_4X4_ , 0, + 0xfd08 , 0x3c00 , &ADDU_4X4_ , 0, XMMS_ }, /* ADDU[4X4] */ { instruction , 0 , 0 , 16, - 0xfd08 , 0x3c08 , &NMD::MUL_4X4_ , 0, + 0xfd08 , 0x3c08 , &MUL_4X4_ , 0, XMMS_ }, /* MUL[4X4] */ { reserved_block , 0 , 0 , 16, 0xfd08 , 0x3d00 , 0 , 0, @@ -22216,13 +22216,13 @@ NMD::Pool NMD::P16_4X4[4] = { NMD::Pool NMD::P16_LB[4] = { { instruction , 0 , 0 , 16, - 0xfc0c , 0x5c00 , &NMD::LB_16_ , 0, + 0xfc0c , 0x5c00 , &LB_16_ , 0, 0x0 }, /* LB[16] */ { instruction , 0 , 0 , 16, - 0xfc0c , 0x5c04 , &NMD::SB_16_ , 0, + 0xfc0c , 0x5c04 , &SB_16_ , 0, 0x0 }, /* SB[16] */ { instruction , 0 , 0 , 16, - 0xfc0c , 0x5c08 , &NMD::LBU_16_ , 0, + 0xfc0c , 0x5c08 , &LBU_16_ , 0, 0x0 }, /* LBU[16] */ { reserved_block , 0 , 0 , 16, 0xfc0c , 0x5c0c , 0 , 0, @@ -22232,13 +22232,13 @@ NMD::Pool NMD::P16_LB[4] = { NMD::Pool NMD::P16_LH[4] = { { instruction , 0 , 0 , 16, - 0xfc09 , 0x7c00 , &NMD::LH_16_ , 0, + 0xfc09 , 0x7c00 , &LH_16_ , 0, 0x0 }, /* LH[16] */ { instruction , 0 , 0 , 16, - 0xfc09 , 0x7c01 , &NMD::SH_16_ , 0, + 0xfc09 , 0x7c01 , &SH_16_ , 0, 0x0 }, /* SH[16] */ { instruction , 0 , 0 , 16, - 0xfc09 , 0x7c08 , &NMD::LHU_16_ , 0, + 0xfc09 , 0x7c08 , &LHU_16_ , 0, 0x0 }, /* LHU[16] */ { reserved_block , 0 , 0 , 16, 0xfc09 , 0x7c09 , 0 , 0, @@ -22266,40 +22266,40 @@ NMD::Pool NMD::P16[32] = { 0xfc00 , 0xb000 , 0 , 0, 0x0 }, /* P16.ADDU */ { instruction , 0 , 0 , 16, - 0xfc00 , 0xd000 , &NMD::LI_16_ , 0, + 0xfc00 , 0xd000 , &LI_16_ , 0, 0x0 }, /* LI[16] */ { instruction , 0 , 0 , 16, - 0xfc00 , 0xf000 , &NMD::ANDI_16_ , 0, + 0xfc00 , 0xf000 , &ANDI_16_ , 0, 0x0 }, /* ANDI[16] */ { instruction , 0 , 0 , 16, - 0xfc00 , 0x1400 , &NMD::LW_16_ , 0, + 0xfc00 , 0x1400 , &LW_16_ , 0, 0x0 }, /* LW[16] */ { instruction , 0 , 0 , 16, - 0xfc00 , 0x3400 , &NMD::LW_SP_ , 0, + 0xfc00 , 0x3400 , &LW_SP_ , 0, 0x0 }, /* LW[SP] */ { instruction , 0 , 0 , 16, - 0xfc00 , 0x5400 , &NMD::LW_GP16_ , 0, + 0xfc00 , 0x5400 , &LW_GP16_ , 0, 0x0 }, /* LW[GP16] */ { instruction , 0 , 0 , 16, - 0xfc00 , 0x7400 , &NMD::LW_4X4_ , 0, + 0xfc00 , 0x7400 , &LW_4X4_ , 0, XMMS_ }, /* LW[4X4] */ { instruction , 0 , 0 , 16, - 0xfc00 , 0x9400 , &NMD::SW_16_ , 0, + 0xfc00 , 0x9400 , &SW_16_ , 0, 0x0 }, /* SW[16] */ { instruction , 0 , 0 , 16, - 0xfc00 , 0xb400 , &NMD::SW_SP_ , 0, + 0xfc00 , 0xb400 , &SW_SP_ , 0, 0x0 }, /* SW[SP] */ { instruction , 0 , 0 , 16, - 0xfc00 , 0xd400 , &NMD::SW_GP16_ , 0, + 0xfc00 , 0xd400 , &SW_GP16_ , 0, 0x0 }, /* SW[GP16] */ { instruction , 0 , 0 , 16, - 0xfc00 , 0xf400 , &NMD::SW_4X4_ , 0, + 0xfc00 , 0xf400 , &SW_4X4_ , 0, XMMS_ }, /* SW[4X4] */ { branch_instruction , 0 , 0 , 16, - 0xfc00 , 0x1800 , &NMD::BC_16_ , 0, + 0xfc00 , 0x1800 , &BC_16_ , 0, 0x0 }, /* BC[16] */ { call_instruction , 0 , 0 , 16, - 0xfc00 , 0x3800 , &NMD::BALC_16_ , 0, + 0xfc00 , 0x3800 , &BALC_16_ , 0, 0x0 }, /* BALC[16] */ { reserved_block , 0 , 0 , 16, 0xfc00 , 0x5800 , 0 , 0, @@ -22308,10 +22308,10 @@ NMD::Pool NMD::P16[32] = { 0xfc00 , 0x7800 , 0 , 0, 0x0 }, /* P16~*(14) */ { branch_instruction , 0 , 0 , 16, - 0xfc00 , 0x9800 , &NMD::BEQZC_16_ , 0, + 0xfc00 , 0x9800 , &BEQZC_16_ , 0, 0x0 }, /* BEQZC[16] */ { branch_instruction , 0 , 0 , 16, - 0xfc00 , 0xb800 , &NMD::BNEZC_16_ , 0, + 0xfc00 , 0xb800 , &BNEZC_16_ , 0, 0x0 }, /* BNEZC[16] */ { pool , P16_BR , 2 , 16, 0xfc00 , 0xd800 , 0 , 0, @@ -22335,13 +22335,13 @@ NMD::Pool NMD::P16[32] = { 0xfc00 , 0x9c00 , 0 , 0, 0x0 }, /* P16~*(19) */ { instruction , 0 , 0 , 16, - 0xfc00 , 0xbc00 , &NMD::MOVEP , 0, + 0xfc00 , 0xbc00 , &MOVEP , 0, XMMS_ }, /* MOVEP */ { reserved_block , 0 , 0 , 16, 0xfc00 , 0xdc00 , 0 , 0, 0x0 }, /* P16~*(27) */ { instruction , 0 , 0 , 16, - 0xfc00 , 0xfc00 , &NMD::MOVEP_REV_ , 0, + 0xfc00 , 0xfc00 , &MOVEP_REV_ , 0, XMMS_ }, /* MOVEP[REV] */ }; diff --git a/disas/nanomips.h b/disas/nanomips.h index af803f4cc0..7036e589f4 100644 --- a/disas/nanomips.h +++ b/disas/nanomips.h @@ -65,6 +65,8 @@ typedef struct Dis_info { } Dis_info; typedef bool (*conditional_function)(uint64 instruction); +typedef std::string (*disassembly_function)(uint64 instruction, + Dis_info *info); class NMD { @@ -75,9 +77,6 @@ public: private: - typedef std::string(NMD:: *disassembly_function)(uint64 instruction, - Dis_info *info); - struct Pool { TABLE_ENTRY_TYPE type; struct Pool *next_table; @@ -95,643 +94,6 @@ private: TABLE_ENTRY_TYPE & type, const Pool *table, int table_size, Dis_info *info); - std::string ABS_D(uint64 instruction, Dis_info *info); - std::string ABS_S(uint64 instruction, Dis_info *info); - std::string ABSQ_S_PH(uint64 instruction, Dis_info *info); - std::string ABSQ_S_QB(uint64 instruction, Dis_info *info); - std::string ABSQ_S_W(uint64 instruction, Dis_info *info); - std::string ACLR(uint64 instruction, Dis_info *info); - std::string ADD(uint64 instruction, Dis_info *info); - std::string ADD_D(uint64 instruction, Dis_info *info); - std::string ADD_S(uint64 instruction, Dis_info *info); - std::string ADDIU_32_(uint64 instruction, Dis_info *info); - std::string ADDIU_48_(uint64 instruction, Dis_info *info); - std::string ADDIU_GP48_(uint64 instruction, Dis_info *info); - std::string ADDIU_GP_B_(uint64 instruction, Dis_info *info); - std::string ADDIU_GP_W_(uint64 instruction, Dis_info *info); - std::string ADDIU_NEG_(uint64 instruction, Dis_info *info); - std::string ADDIU_R1_SP_(uint64 instruction, Dis_info *info); - std::string ADDIU_R2_(uint64 instruction, Dis_info *info); - std::string ADDIU_RS5_(uint64 instruction, Dis_info *info); - std::string ADDIUPC_32_(uint64 instruction, Dis_info *info); - std::string ADDIUPC_48_(uint64 instruction, Dis_info *info); - std::string ADDQ_PH(uint64 instruction, Dis_info *info); - std::string ADDQ_S_PH(uint64 instruction, Dis_info *info); - std::string ADDQ_S_W(uint64 instruction, Dis_info *info); - std::string ADDQH_PH(uint64 instruction, Dis_info *info); - std::string ADDQH_R_PH(uint64 instruction, Dis_info *info); - std::string ADDQH_R_W(uint64 instruction, Dis_info *info); - std::string ADDQH_W(uint64 instruction, Dis_info *info); - std::string ADDSC(uint64 instruction, Dis_info *info); - std::string ADDU_16_(uint64 instruction, Dis_info *info); - std::string ADDU_32_(uint64 instruction, Dis_info *info); - std::string ADDU_4X4_(uint64 instruction, Dis_info *info); - std::string ADDU_PH(uint64 instruction, Dis_info *info); - std::string ADDU_QB(uint64 instruction, Dis_info *info); - std::string ADDU_S_PH(uint64 instruction, Dis_info *info); - std::string ADDU_S_QB(uint64 instruction, Dis_info *info); - std::string ADDUH_QB(uint64 instruction, Dis_info *info); - std::string ADDUH_R_QB(uint64 instruction, Dis_info *info); - std::string ADDWC(uint64 instruction, Dis_info *info); - std::string ALUIPC(uint64 instruction, Dis_info *info); - std::string AND_16_(uint64 instruction, Dis_info *info); - std::string AND_32_(uint64 instruction, Dis_info *info); - std::string ANDI_16_(uint64 instruction, Dis_info *info); - std::string ANDI_32_(uint64 instruction, Dis_info *info); - std::string APPEND(uint64 instruction, Dis_info *info); - std::string ASET(uint64 instruction, Dis_info *info); - std::string BALC_16_(uint64 instruction, Dis_info *info); - std::string BALC_32_(uint64 instruction, Dis_info *info); - std::string BALRSC(uint64 instruction, Dis_info *info); - std::string BBEQZC(uint64 instruction, Dis_info *info); - std::string BBNEZC(uint64 instruction, Dis_info *info); - std::string BC_16_(uint64 instruction, Dis_info *info); - std::string BC_32_(uint64 instruction, Dis_info *info); - std::string BC1EQZC(uint64 instruction, Dis_info *info); - std::string BC1NEZC(uint64 instruction, Dis_info *info); - std::string BC2EQZC(uint64 instruction, Dis_info *info); - std::string BC2NEZC(uint64 instruction, Dis_info *info); - std::string BEQC_16_(uint64 instruction, Dis_info *info); - std::string BEQC_32_(uint64 instruction, Dis_info *info); - std::string BEQIC(uint64 instruction, Dis_info *info); - std::string BEQZC_16_(uint64 instruction, Dis_info *info); - std::string BGEC(uint64 instruction, Dis_info *info); - std::string BGEIC(uint64 instruction, Dis_info *info); - std::string BGEIUC(uint64 instruction, Dis_info *info); - std::string BGEUC(uint64 instruction, Dis_info *info); - std::string BLTC(uint64 instruction, Dis_info *info); - std::string BLTIC(uint64 instruction, Dis_info *info); - std::string BLTIUC(uint64 instruction, Dis_info *info); - std::string BLTUC(uint64 instruction, Dis_info *info); - std::string BNEC_16_(uint64 instruction, Dis_info *info); - std::string BNEC_32_(uint64 instruction, Dis_info *info); - std::string BNEIC(uint64 instruction, Dis_info *info); - std::string BNEZC_16_(uint64 instruction, Dis_info *info); - std::string BPOSGE32C(uint64 instruction, Dis_info *info); - std::string BREAK_16_(uint64 instruction, Dis_info *info); - std::string BREAK_32_(uint64 instruction, Dis_info *info); - std::string BRSC(uint64 instruction, Dis_info *info); - std::string CACHE(uint64 instruction, Dis_info *info); - std::string CACHEE(uint64 instruction, Dis_info *info); - std::string CEIL_L_D(uint64 instruction, Dis_info *info); - std::string CEIL_L_S(uint64 instruction, Dis_info *info); - std::string CEIL_W_D(uint64 instruction, Dis_info *info); - std::string CEIL_W_S(uint64 instruction, Dis_info *info); - std::string CFC1(uint64 instruction, Dis_info *info); - std::string CFC2(uint64 instruction, Dis_info *info); - std::string CLASS_D(uint64 instruction, Dis_info *info); - std::string CLASS_S(uint64 instruction, Dis_info *info); - std::string CLO(uint64 instruction, Dis_info *info); - std::string CLZ(uint64 instruction, Dis_info *info); - std::string CMP_AF_D(uint64 instruction, Dis_info *info); - std::string CMP_AF_S(uint64 instruction, Dis_info *info); - std::string CMP_EQ_D(uint64 instruction, Dis_info *info); - std::string CMP_EQ_PH(uint64 instruction, Dis_info *info); - std::string CMP_EQ_S(uint64 instruction, Dis_info *info); - std::string CMP_LE_D(uint64 instruction, Dis_info *info); - std::string CMP_LE_PH(uint64 instruction, Dis_info *info); - std::string CMP_LE_S(uint64 instruction, Dis_info *info); - std::string CMP_LT_D(uint64 instruction, Dis_info *info); - std::string CMP_LT_PH(uint64 instruction, Dis_info *info); - std::string CMP_LT_S(uint64 instruction, Dis_info *info); - std::string CMP_NE_D(uint64 instruction, Dis_info *info); - std::string CMP_NE_S(uint64 instruction, Dis_info *info); - std::string CMP_OR_D(uint64 instruction, Dis_info *info); - std::string CMP_OR_S(uint64 instruction, Dis_info *info); - std::string CMP_SAF_D(uint64 instruction, Dis_info *info); - std::string CMP_SAF_S(uint64 instruction, Dis_info *info); - std::string CMP_SEQ_D(uint64 instruction, Dis_info *info); - std::string CMP_SEQ_S(uint64 instruction, Dis_info *info); - std::string CMP_SLE_D(uint64 instruction, Dis_info *info); - std::string CMP_SLE_S(uint64 instruction, Dis_info *info); - std::string CMP_SLT_D(uint64 instruction, Dis_info *info); - std::string CMP_SLT_S(uint64 instruction, Dis_info *info); - std::string CMP_SNE_D(uint64 instruction, Dis_info *info); - std::string CMP_SNE_S(uint64 instruction, Dis_info *info); - std::string CMP_SOR_D(uint64 instruction, Dis_info *info); - std::string CMP_SOR_S(uint64 instruction, Dis_info *info); - std::string CMP_SUEQ_D(uint64 instruction, Dis_info *info); - std::string CMP_SUEQ_S(uint64 instruction, Dis_info *info); - std::string CMP_SULE_D(uint64 instruction, Dis_info *info); - std::string CMP_SULE_S(uint64 instruction, Dis_info *info); - std::string CMP_SULT_D(uint64 instruction, Dis_info *info); - std::string CMP_SULT_S(uint64 instruction, Dis_info *info); - std::string CMP_SUN_D(uint64 instruction, Dis_info *info); - std::string CMP_SUN_S(uint64 instruction, Dis_info *info); - std::string CMP_SUNE_D(uint64 instruction, Dis_info *info); - std::string CMP_SUNE_S(uint64 instruction, Dis_info *info); - std::string CMP_UEQ_D(uint64 instruction, Dis_info *info); - std::string CMP_UEQ_S(uint64 instruction, Dis_info *info); - std::string CMP_ULE_D(uint64 instruction, Dis_info *info); - std::string CMP_ULE_S(uint64 instruction, Dis_info *info); - std::string CMP_ULT_D(uint64 instruction, Dis_info *info); - std::string CMP_ULT_S(uint64 instruction, Dis_info *info); - std::string CMP_UN_D(uint64 instruction, Dis_info *info); - std::string CMP_UN_S(uint64 instruction, Dis_info *info); - std::string CMP_UNE_D(uint64 instruction, Dis_info *info); - std::string CMP_UNE_S(uint64 instruction, Dis_info *info); - std::string CMPGDU_EQ_QB(uint64 instruction, Dis_info *info); - std::string CMPGDU_LE_QB(uint64 instruction, Dis_info *info); - std::string CMPGDU_LT_QB(uint64 instruction, Dis_info *info); - std::string CMPGU_EQ_QB(uint64 instruction, Dis_info *info); - std::string CMPGU_LE_QB(uint64 instruction, Dis_info *info); - std::string CMPGU_LT_QB(uint64 instruction, Dis_info *info); - std::string CMPU_EQ_QB(uint64 instruction, Dis_info *info); - std::string CMPU_LE_QB(uint64 instruction, Dis_info *info); - std::string CMPU_LT_QB(uint64 instruction, Dis_info *info); - std::string COP2_1(uint64 instruction, Dis_info *info); - std::string CTC1(uint64 instruction, Dis_info *info); - std::string CTC2(uint64 instruction, Dis_info *info); - std::string CVT_D_L(uint64 instruction, Dis_info *info); - std::string CVT_D_S(uint64 instruction, Dis_info *info); - std::string CVT_D_W(uint64 instruction, Dis_info *info); - std::string CVT_L_D(uint64 instruction, Dis_info *info); - std::string CVT_L_S(uint64 instruction, Dis_info *info); - std::string CVT_S_D(uint64 instruction, Dis_info *info); - std::string CVT_S_L(uint64 instruction, Dis_info *info); - std::string CVT_S_PL(uint64 instruction, Dis_info *info); - std::string CVT_S_PU(uint64 instruction, Dis_info *info); - std::string CVT_S_W(uint64 instruction, Dis_info *info); - std::string CVT_W_D(uint64 instruction, Dis_info *info); - std::string CVT_W_S(uint64 instruction, Dis_info *info); - std::string DADDIU_48_(uint64 instruction, Dis_info *info); - std::string DADDIU_NEG_(uint64 instruction, Dis_info *info); - std::string DADDIU_U12_(uint64 instruction, Dis_info *info); - std::string DADD(uint64 instruction, Dis_info *info); - std::string DADDU(uint64 instruction, Dis_info *info); - std::string DCLO(uint64 instruction, Dis_info *info); - std::string DCLZ(uint64 instruction, Dis_info *info); - std::string DDIV(uint64 instruction, Dis_info *info); - std::string DDIVU(uint64 instruction, Dis_info *info); - std::string DERET(uint64 instruction, Dis_info *info); - std::string DEXTM(uint64 instruction, Dis_info *info); - std::string DEXT(uint64 instruction, Dis_info *info); - std::string DEXTU(uint64 instruction, Dis_info *info); - std::string DINSM(uint64 instruction, Dis_info *info); - std::string DINS(uint64 instruction, Dis_info *info); - std::string DINSU(uint64 instruction, Dis_info *info); - std::string DI(uint64 instruction, Dis_info *info); - std::string DIV(uint64 instruction, Dis_info *info); - std::string DIV_D(uint64 instruction, Dis_info *info); - std::string DIV_S(uint64 instruction, Dis_info *info); - std::string DIVU(uint64 instruction, Dis_info *info); - std::string DLSA(uint64 instruction, Dis_info *info); - std::string DLUI_48_(uint64 instruction, Dis_info *info); - std::string DMFC0(uint64 instruction, Dis_info *info); - std::string DMFC1(uint64 instruction, Dis_info *info); - std::string DMFC2(uint64 instruction, Dis_info *info); - std::string DMFGC0(uint64 instruction, Dis_info *info); - std::string DMOD(uint64 instruction, Dis_info *info); - std::string DMODU(uint64 instruction, Dis_info *info); - std::string DMTC0(uint64 instruction, Dis_info *info); - std::string DMTC1(uint64 instruction, Dis_info *info); - std::string DMTC2(uint64 instruction, Dis_info *info); - std::string DMTGC0(uint64 instruction, Dis_info *info); - std::string DMT(uint64 instruction, Dis_info *info); - std::string DMUH(uint64 instruction, Dis_info *info); - std::string DMUHU(uint64 instruction, Dis_info *info); - std::string DMUL(uint64 instruction, Dis_info *info); - std::string DMULU(uint64 instruction, Dis_info *info); - std::string DPAQ_S_W_PH(uint64 instruction, Dis_info *info); - std::string DPAQ_SA_L_W(uint64 instruction, Dis_info *info); - std::string DPAQX_S_W_PH(uint64 instruction, Dis_info *info); - std::string DPAQX_SA_W_PH(uint64 instruction, Dis_info *info); - std::string DPAU_H_QBL(uint64 instruction, Dis_info *info); - std::string DPAU_H_QBR(uint64 instruction, Dis_info *info); - std::string DPA_W_PH(uint64 instruction, Dis_info *info); - std::string DPAX_W_PH(uint64 instruction, Dis_info *info); - std::string DPS_W_PH(uint64 instruction, Dis_info *info); - std::string DPSQ_SA_L_W(uint64 instruction, Dis_info *info); - std::string DPSQ_S_W_PH(uint64 instruction, Dis_info *info); - std::string DPSQX_SA_W_PH(uint64 instruction, Dis_info *info); - std::string DPSQX_S_W_PH(uint64 instruction, Dis_info *info); - std::string DPSU_H_QBL(uint64 instruction, Dis_info *info); - std::string DPSU_H_QBR(uint64 instruction, Dis_info *info); - std::string DPSX_W_PH(uint64 instruction, Dis_info *info); - std::string DROTR(uint64 instruction, Dis_info *info); - std::string DROTR32(uint64 instruction, Dis_info *info); - std::string DROTRV(uint64 instruction, Dis_info *info); - std::string DROTX(uint64 instruction, Dis_info *info); - std::string DSLL(uint64 instruction, Dis_info *info); - std::string DSLL32(uint64 instruction, Dis_info *info); - std::string DSLLV(uint64 instruction, Dis_info *info); - std::string DSRA(uint64 instruction, Dis_info *info); - std::string DSRA32(uint64 instruction, Dis_info *info); - std::string DSRAV(uint64 instruction, Dis_info *info); - std::string DSRL32(uint64 instruction, Dis_info *info); - std::string DSRL(uint64 instruction, Dis_info *info); - std::string DSRLV(uint64 instruction, Dis_info *info); - std::string DSUB(uint64 instruction, Dis_info *info); - std::string DSUBU(uint64 instruction, Dis_info *info); - std::string DVP(uint64 instruction, Dis_info *info); - std::string DVPE(uint64 instruction, Dis_info *info); - std::string EHB(uint64 instruction, Dis_info *info); - std::string EI(uint64 instruction, Dis_info *info); - std::string EMT(uint64 instruction, Dis_info *info); - std::string ERET(uint64 instruction, Dis_info *info); - std::string ERETNC(uint64 instruction, Dis_info *info); - std::string EVP(uint64 instruction, Dis_info *info); - std::string EVPE(uint64 instruction, Dis_info *info); - std::string EXT(uint64 instruction, Dis_info *info); - std::string EXTD(uint64 instruction, Dis_info *info); - std::string EXTD32(uint64 instruction, Dis_info *info); - std::string EXTP(uint64 instruction, Dis_info *info); - std::string EXTPDP(uint64 instruction, Dis_info *info); - std::string EXTPDPV(uint64 instruction, Dis_info *info); - std::string EXTPV(uint64 instruction, Dis_info *info); - std::string EXTR_RS_W(uint64 instruction, Dis_info *info); - std::string EXTR_R_W(uint64 instruction, Dis_info *info); - std::string EXTR_S_H(uint64 instruction, Dis_info *info); - std::string EXTR_W(uint64 instruction, Dis_info *info); - std::string EXTRV_R_W(uint64 instruction, Dis_info *info); - std::string EXTRV_RS_W(uint64 instruction, Dis_info *info); - std::string EXTRV_S_H(uint64 instruction, Dis_info *info); - std::string EXTRV_W(uint64 instruction, Dis_info *info); - std::string EXTW(uint64 instruction, Dis_info *info); - std::string FLOOR_L_D(uint64 instruction, Dis_info *info); - std::string FLOOR_L_S(uint64 instruction, Dis_info *info); - std::string FLOOR_W_D(uint64 instruction, Dis_info *info); - std::string FLOOR_W_S(uint64 instruction, Dis_info *info); - std::string FORK(uint64 instruction, Dis_info *info); - std::string HYPCALL(uint64 instruction, Dis_info *info); - std::string HYPCALL_16_(uint64 instruction, Dis_info *info); - std::string INS(uint64 instruction, Dis_info *info); - std::string INSV(uint64 instruction, Dis_info *info); - std::string IRET(uint64 instruction, Dis_info *info); - std::string JALRC_16_(uint64 instruction, Dis_info *info); - std::string JALRC_32_(uint64 instruction, Dis_info *info); - std::string JALRC_HB(uint64 instruction, Dis_info *info); - std::string JRC(uint64 instruction, Dis_info *info); - std::string LB_16_(uint64 instruction, Dis_info *info); - std::string LB_GP_(uint64 instruction, Dis_info *info); - std::string LB_S9_(uint64 instruction, Dis_info *info); - std::string LB_U12_(uint64 instruction, Dis_info *info); - std::string LBE(uint64 instruction, Dis_info *info); - std::string LBU_16_(uint64 instruction, Dis_info *info); - std::string LBU_GP_(uint64 instruction, Dis_info *info); - std::string LBU_S9_(uint64 instruction, Dis_info *info); - std::string LBU_U12_(uint64 instruction, Dis_info *info); - std::string LBUE(uint64 instruction, Dis_info *info); - std::string LBUX(uint64 instruction, Dis_info *info); - std::string LBX(uint64 instruction, Dis_info *info); - std::string LD_GP_(uint64 instruction, Dis_info *info); - std::string LD_S9_(uint64 instruction, Dis_info *info); - std::string LD_U12_(uint64 instruction, Dis_info *info); - std::string LDC1_GP_(uint64 instruction, Dis_info *info); - std::string LDC1_S9_(uint64 instruction, Dis_info *info); - std::string LDC1_U12_(uint64 instruction, Dis_info *info); - std::string LDC1X(uint64 instruction, Dis_info *info); - std::string LDC1XS(uint64 instruction, Dis_info *info); - std::string LDC2(uint64 instruction, Dis_info *info); - std::string LDM(uint64 instruction, Dis_info *info); - std::string LDPC_48_(uint64 instruction, Dis_info *info); - std::string LDX(uint64 instruction, Dis_info *info); - std::string LDXS(uint64 instruction, Dis_info *info); - std::string LH_16_(uint64 instruction, Dis_info *info); - std::string LH_GP_(uint64 instruction, Dis_info *info); - std::string LH_S9_(uint64 instruction, Dis_info *info); - std::string LH_U12_(uint64 instruction, Dis_info *info); - std::string LHE(uint64 instruction, Dis_info *info); - std::string LHU_16_(uint64 instruction, Dis_info *info); - std::string LHU_GP_(uint64 instruction, Dis_info *info); - std::string LHU_S9_(uint64 instruction, Dis_info *info); - std::string LHU_U12_(uint64 instruction, Dis_info *info); - std::string LHUE(uint64 instruction, Dis_info *info); - std::string LHUX(uint64 instruction, Dis_info *info); - std::string LHUXS(uint64 instruction, Dis_info *info); - std::string LHX(uint64 instruction, Dis_info *info); - std::string LHXS(uint64 instruction, Dis_info *info); - std::string LI_16_(uint64 instruction, Dis_info *info); - std::string LI_48_(uint64 instruction, Dis_info *info); - std::string LL(uint64 instruction, Dis_info *info); - std::string LLD(uint64 instruction, Dis_info *info); - std::string LLDP(uint64 instruction, Dis_info *info); - std::string LLE(uint64 instruction, Dis_info *info); - std::string LLWP(uint64 instruction, Dis_info *info); - std::string LLWPE(uint64 instruction, Dis_info *info); - std::string LSA(uint64 instruction, Dis_info *info); - std::string LUI(uint64 instruction, Dis_info *info); - std::string LW_16_(uint64 instruction, Dis_info *info); - std::string LW_4X4_(uint64 instruction, Dis_info *info); - std::string LWC1_GP_(uint64 instruction, Dis_info *info); - std::string LWC1_S9_(uint64 instruction, Dis_info *info); - std::string LWC1_U12_(uint64 instruction, Dis_info *info); - std::string LWC1X(uint64 instruction, Dis_info *info); - std::string LWC1XS(uint64 instruction, Dis_info *info); - std::string LWC2(uint64 instruction, Dis_info *info); - std::string LWE(uint64 instruction, Dis_info *info); - std::string LW_GP_(uint64 instruction, Dis_info *info); - std::string LW_GP16_(uint64 instruction, Dis_info *info); - std::string LWM(uint64 instruction, Dis_info *info); - std::string LWPC_48_(uint64 instruction, Dis_info *info); - std::string LW_S9_(uint64 instruction, Dis_info *info); - std::string LW_SP_(uint64 instruction, Dis_info *info); - std::string LW_U12_(uint64 instruction, Dis_info *info); - std::string LWU_GP_(uint64 instruction, Dis_info *info); - std::string LWU_S9_(uint64 instruction, Dis_info *info); - std::string LWU_U12_(uint64 instruction, Dis_info *info); - std::string LWUX(uint64 instruction, Dis_info *info); - std::string LWUXS(uint64 instruction, Dis_info *info); - std::string LWX(uint64 instruction, Dis_info *info); - std::string LWXS_16_(uint64 instruction, Dis_info *info); - std::string LWXS_32_(uint64 instruction, Dis_info *info); - std::string MADD_DSP_(uint64 instruction, Dis_info *info); - std::string MADDF_D(uint64 instruction, Dis_info *info); - std::string MADDF_S(uint64 instruction, Dis_info *info); - std::string MADDU_DSP_(uint64 instruction, Dis_info *info); - std::string MAQ_S_W_PHL(uint64 instruction, Dis_info *info); - std::string MAQ_S_W_PHR(uint64 instruction, Dis_info *info); - std::string MAQ_SA_W_PHL(uint64 instruction, Dis_info *info); - std::string MAQ_SA_W_PHR(uint64 instruction, Dis_info *info); - std::string MAX_D(uint64 instruction, Dis_info *info); - std::string MAX_S(uint64 instruction, Dis_info *info); - std::string MAXA_D(uint64 instruction, Dis_info *info); - std::string MAXA_S(uint64 instruction, Dis_info *info); - std::string MFC0(uint64 instruction, Dis_info *info); - std::string MFC1(uint64 instruction, Dis_info *info); - std::string MFC2(uint64 instruction, Dis_info *info); - std::string MFGC0(uint64 instruction, Dis_info *info); - std::string MFHC0(uint64 instruction, Dis_info *info); - std::string MFHC1(uint64 instruction, Dis_info *info); - std::string MFHC2(uint64 instruction, Dis_info *info); - std::string MFHGC0(uint64 instruction, Dis_info *info); - std::string MFHI_DSP_(uint64 instruction, Dis_info *info); - std::string MFHTR(uint64 instruction, Dis_info *info); - std::string MFLO_DSP_(uint64 instruction, Dis_info *info); - std::string MFTR(uint64 instruction, Dis_info *info); - std::string MIN_D(uint64 instruction, Dis_info *info); - std::string MIN_S(uint64 instruction, Dis_info *info); - std::string MINA_D(uint64 instruction, Dis_info *info); - std::string MINA_S(uint64 instruction, Dis_info *info); - std::string MOD(uint64 instruction, Dis_info *info); - std::string MODSUB(uint64 instruction, Dis_info *info); - std::string MODU(uint64 instruction, Dis_info *info); - std::string MOV_D(uint64 instruction, Dis_info *info); - std::string MOV_S(uint64 instruction, Dis_info *info); - std::string MOVE_BALC(uint64 instruction, Dis_info *info); - std::string MOVEP(uint64 instruction, Dis_info *info); - std::string MOVEP_REV_(uint64 instruction, Dis_info *info); - std::string MOVE(uint64 instruction, Dis_info *info); - std::string MOVN(uint64 instruction, Dis_info *info); - std::string MOVZ(uint64 instruction, Dis_info *info); - std::string MSUB_DSP_(uint64 instruction, Dis_info *info); - std::string MSUBF_D(uint64 instruction, Dis_info *info); - std::string MSUBF_S(uint64 instruction, Dis_info *info); - std::string MSUBU_DSP_(uint64 instruction, Dis_info *info); - std::string MTC0(uint64 instruction, Dis_info *info); - std::string MTC1(uint64 instruction, Dis_info *info); - std::string MTC2(uint64 instruction, Dis_info *info); - std::string MTGC0(uint64 instruction, Dis_info *info); - std::string MTHC0(uint64 instruction, Dis_info *info); - std::string MTHC1(uint64 instruction, Dis_info *info); - std::string MTHC2(uint64 instruction, Dis_info *info); - std::string MTHGC0(uint64 instruction, Dis_info *info); - std::string MTHI_DSP_(uint64 instruction, Dis_info *info); - std::string MTHLIP(uint64 instruction, Dis_info *info); - std::string MTHTR(uint64 instruction, Dis_info *info); - std::string MTLO_DSP_(uint64 instruction, Dis_info *info); - std::string MTTR(uint64 instruction, Dis_info *info); - std::string MUH(uint64 instruction, Dis_info *info); - std::string MUHU(uint64 instruction, Dis_info *info); - std::string MUL_32_(uint64 instruction, Dis_info *info); - std::string MUL_4X4_(uint64 instruction, Dis_info *info); - std::string MUL_D(uint64 instruction, Dis_info *info); - std::string MUL_PH(uint64 instruction, Dis_info *info); - std::string MUL_S(uint64 instruction, Dis_info *info); - std::string MUL_S_PH(uint64 instruction, Dis_info *info); - std::string MULEQ_S_W_PHL(uint64 instruction, Dis_info *info); - std::string MULEQ_S_W_PHR(uint64 instruction, Dis_info *info); - std::string MULEU_S_PH_QBL(uint64 instruction, Dis_info *info); - std::string MULEU_S_PH_QBR(uint64 instruction, Dis_info *info); - std::string MULQ_RS_PH(uint64 instruction, Dis_info *info); - std::string MULQ_RS_W(uint64 instruction, Dis_info *info); - std::string MULQ_S_PH(uint64 instruction, Dis_info *info); - std::string MULQ_S_W(uint64 instruction, Dis_info *info); - std::string MULSA_W_PH(uint64 instruction, Dis_info *info); - std::string MULSAQ_S_W_PH(uint64 instruction, Dis_info *info); - std::string MULT_DSP_(uint64 instruction, Dis_info *info); - std::string MULTU_DSP_(uint64 instruction, Dis_info *info); - std::string MULU(uint64 instruction, Dis_info *info); - std::string NEG_D(uint64 instruction, Dis_info *info); - std::string NEG_S(uint64 instruction, Dis_info *info); - std::string NOP_16_(uint64 instruction, Dis_info *info); - std::string NOP_32_(uint64 instruction, Dis_info *info); - std::string NOR(uint64 instruction, Dis_info *info); - std::string NOT_16_(uint64 instruction, Dis_info *info); - std::string OR_16_(uint64 instruction, Dis_info *info); - std::string OR_32_(uint64 instruction, Dis_info *info); - std::string ORI(uint64 instruction, Dis_info *info); - std::string PACKRL_PH(uint64 instruction, Dis_info *info); - std::string PAUSE(uint64 instruction, Dis_info *info); - std::string PICK_PH(uint64 instruction, Dis_info *info); - std::string PICK_QB(uint64 instruction, Dis_info *info); - std::string PRECEQ_W_PHL(uint64 instruction, Dis_info *info); - std::string PRECEQ_W_PHR(uint64 instruction, Dis_info *info); - std::string PRECEQU_PH_QBL(uint64 instruction, Dis_info *info); - std::string PRECEQU_PH_QBLA(uint64 instruction, Dis_info *info); - std::string PRECEQU_PH_QBR(uint64 instruction, Dis_info *info); - std::string PRECEQU_PH_QBRA(uint64 instruction, Dis_info *info); - std::string PRECEU_PH_QBL(uint64 instruction, Dis_info *info); - std::string PRECEU_PH_QBLA(uint64 instruction, Dis_info *info); - std::string PRECEU_PH_QBR(uint64 instruction, Dis_info *info); - std::string PRECEU_PH_QBRA(uint64 instruction, Dis_info *info); - std::string PRECR_QB_PH(uint64 instruction, Dis_info *info); - std::string PRECR_SRA_PH_W(uint64 instruction, Dis_info *info); - std::string PRECR_SRA_R_PH_W(uint64 instruction, Dis_info *info); - std::string PRECRQ_PH_W(uint64 instruction, Dis_info *info); - std::string PRECRQ_QB_PH(uint64 instruction, Dis_info *info); - std::string PRECRQ_RS_PH_W(uint64 instruction, Dis_info *info); - std::string PRECRQU_S_QB_PH(uint64 instruction, Dis_info *info); - std::string PREF_S9_(uint64 instruction, Dis_info *info); - std::string PREF_U12_(uint64 instruction, Dis_info *info); - std::string PREFE(uint64 instruction, Dis_info *info); - std::string PREPEND(uint64 instruction, Dis_info *info); - std::string RADDU_W_QB(uint64 instruction, Dis_info *info); - std::string RDDSP(uint64 instruction, Dis_info *info); - std::string RDHWR(uint64 instruction, Dis_info *info); - std::string RDPGPR(uint64 instruction, Dis_info *info); - std::string RECIP_D(uint64 instruction, Dis_info *info); - std::string RECIP_S(uint64 instruction, Dis_info *info); - std::string REPL_PH(uint64 instruction, Dis_info *info); - std::string REPL_QB(uint64 instruction, Dis_info *info); - std::string REPLV_PH(uint64 instruction, Dis_info *info); - std::string REPLV_QB(uint64 instruction, Dis_info *info); - std::string RESTORE_32_(uint64 instruction, Dis_info *info); - std::string RESTORE_JRC_16_(uint64 instruction, Dis_info *info); - std::string RESTORE_JRC_32_(uint64 instruction, Dis_info *info); - std::string RESTOREF(uint64 instruction, Dis_info *info); - std::string RINT_D(uint64 instruction, Dis_info *info); - std::string RINT_S(uint64 instruction, Dis_info *info); - std::string ROTR(uint64 instruction, Dis_info *info); - std::string ROTRV(uint64 instruction, Dis_info *info); - std::string ROTX(uint64 instruction, Dis_info *info); - std::string ROUND_L_D(uint64 instruction, Dis_info *info); - std::string ROUND_L_S(uint64 instruction, Dis_info *info); - std::string ROUND_W_D(uint64 instruction, Dis_info *info); - std::string ROUND_W_S(uint64 instruction, Dis_info *info); - std::string RSQRT_D(uint64 instruction, Dis_info *info); - std::string RSQRT_S(uint64 instruction, Dis_info *info); - std::string SAVE_16_(uint64 instruction, Dis_info *info); - std::string SAVE_32_(uint64 instruction, Dis_info *info); - std::string SAVEF(uint64 instruction, Dis_info *info); - std::string SB_16_(uint64 instruction, Dis_info *info); - std::string SB_GP_(uint64 instruction, Dis_info *info); - std::string SB_S9_(uint64 instruction, Dis_info *info); - std::string SB_U12_(uint64 instruction, Dis_info *info); - std::string SBE(uint64 instruction, Dis_info *info); - std::string SBX(uint64 instruction, Dis_info *info); - std::string SC(uint64 instruction, Dis_info *info); - std::string SCD(uint64 instruction, Dis_info *info); - std::string SCDP(uint64 instruction, Dis_info *info); - std::string SCE(uint64 instruction, Dis_info *info); - std::string SCWP(uint64 instruction, Dis_info *info); - std::string SCWPE(uint64 instruction, Dis_info *info); - std::string SD_GP_(uint64 instruction, Dis_info *info); - std::string SD_S9_(uint64 instruction, Dis_info *info); - std::string SD_U12_(uint64 instruction, Dis_info *info); - std::string SDBBP_16_(uint64 instruction, Dis_info *info); - std::string SDBBP_32_(uint64 instruction, Dis_info *info); - std::string SDC1_GP_(uint64 instruction, Dis_info *info); - std::string SDC1_S9_(uint64 instruction, Dis_info *info); - std::string SDC1_U12_(uint64 instruction, Dis_info *info); - std::string SDC1X(uint64 instruction, Dis_info *info); - std::string SDC1XS(uint64 instruction, Dis_info *info); - std::string SDC2(uint64 instruction, Dis_info *info); - std::string SDM(uint64 instruction, Dis_info *info); - std::string SDPC_48_(uint64 instruction, Dis_info *info); - std::string SDX(uint64 instruction, Dis_info *info); - std::string SDXS(uint64 instruction, Dis_info *info); - std::string SEB(uint64 instruction, Dis_info *info); - std::string SEH(uint64 instruction, Dis_info *info); - std::string SEL_D(uint64 instruction, Dis_info *info); - std::string SEL_S(uint64 instruction, Dis_info *info); - std::string SELEQZ_D(uint64 instruction, Dis_info *info); - std::string SELEQZ_S(uint64 instruction, Dis_info *info); - std::string SELNEZ_D(uint64 instruction, Dis_info *info); - std::string SELNEZ_S(uint64 instruction, Dis_info *info); - std::string SEQI(uint64 instruction, Dis_info *info); - std::string SH_16_(uint64 instruction, Dis_info *info); - std::string SH_GP_(uint64 instruction, Dis_info *info); - std::string SH_S9_(uint64 instruction, Dis_info *info); - std::string SH_U12_(uint64 instruction, Dis_info *info); - std::string SHE(uint64 instruction, Dis_info *info); - std::string SHILO(uint64 instruction, Dis_info *info); - std::string SHILOV(uint64 instruction, Dis_info *info); - std::string SHLL_PH(uint64 instruction, Dis_info *info); - std::string SHLL_QB(uint64 instruction, Dis_info *info); - std::string SHLL_S_PH(uint64 instruction, Dis_info *info); - std::string SHLL_S_W(uint64 instruction, Dis_info *info); - std::string SHLLV_PH(uint64 instruction, Dis_info *info); - std::string SHLLV_QB(uint64 instruction, Dis_info *info); - std::string SHLLV_S_PH(uint64 instruction, Dis_info *info); - std::string SHLLV_S_W(uint64 instruction, Dis_info *info); - std::string SHRA_PH(uint64 instruction, Dis_info *info); - std::string SHRA_QB(uint64 instruction, Dis_info *info); - std::string SHRA_R_PH(uint64 instruction, Dis_info *info); - std::string SHRA_R_QB(uint64 instruction, Dis_info *info); - std::string SHRA_R_W(uint64 instruction, Dis_info *info); - std::string SHRAV_PH(uint64 instruction, Dis_info *info); - std::string SHRAV_QB(uint64 instruction, Dis_info *info); - std::string SHRAV_R_PH(uint64 instruction, Dis_info *info); - std::string SHRAV_R_QB(uint64 instruction, Dis_info *info); - std::string SHRAV_R_W(uint64 instruction, Dis_info *info); - std::string SHRL_PH(uint64 instruction, Dis_info *info); - std::string SHRL_QB(uint64 instruction, Dis_info *info); - std::string SHRLV_PH(uint64 instruction, Dis_info *info); - std::string SHRLV_QB(uint64 instruction, Dis_info *info); - std::string SHX(uint64 instruction, Dis_info *info); - std::string SHXS(uint64 instruction, Dis_info *info); - std::string SIGRIE(uint64 instruction, Dis_info *info); - std::string SLL_16_(uint64 instruction, Dis_info *info); - std::string SLL_32_(uint64 instruction, Dis_info *info); - std::string SLLV(uint64 instruction, Dis_info *info); - std::string SLT(uint64 instruction, Dis_info *info); - std::string SLTI(uint64 instruction, Dis_info *info); - std::string SLTIU(uint64 instruction, Dis_info *info); - std::string SLTU(uint64 instruction, Dis_info *info); - std::string SOV(uint64 instruction, Dis_info *info); - std::string SPECIAL2(uint64 instruction, Dis_info *info); - std::string SQRT_D(uint64 instruction, Dis_info *info); - std::string SQRT_S(uint64 instruction, Dis_info *info); - std::string SRA(uint64 instruction, Dis_info *info); - std::string SRAV(uint64 instruction, Dis_info *info); - std::string SRL_16_(uint64 instruction, Dis_info *info); - std::string SRL_32_(uint64 instruction, Dis_info *info); - std::string SRLV(uint64 instruction, Dis_info *info); - std::string SUB(uint64 instruction, Dis_info *info); - std::string SUB_D(uint64 instruction, Dis_info *info); - std::string SUB_S(uint64 instruction, Dis_info *info); - std::string SUBQ_PH(uint64 instruction, Dis_info *info); - std::string SUBQ_S_PH(uint64 instruction, Dis_info *info); - std::string SUBQ_S_W(uint64 instruction, Dis_info *info); - std::string SUBQH_PH(uint64 instruction, Dis_info *info); - std::string SUBQH_R_PH(uint64 instruction, Dis_info *info); - std::string SUBQH_R_W(uint64 instruction, Dis_info *info); - std::string SUBQH_W(uint64 instruction, Dis_info *info); - std::string SUBU_16_(uint64 instruction, Dis_info *info); - std::string SUBU_32_(uint64 instruction, Dis_info *info); - std::string SUBU_PH(uint64 instruction, Dis_info *info); - std::string SUBU_QB(uint64 instruction, Dis_info *info); - std::string SUBU_S_PH(uint64 instruction, Dis_info *info); - std::string SUBU_S_QB(uint64 instruction, Dis_info *info); - std::string SUBUH_QB(uint64 instruction, Dis_info *info); - std::string SUBUH_R_QB(uint64 instruction, Dis_info *info); - std::string SW_16_(uint64 instruction, Dis_info *info); - std::string SW_4X4_(uint64 instruction, Dis_info *info); - std::string SW_GP16_(uint64 instruction, Dis_info *info); - std::string SW_GP_(uint64 instruction, Dis_info *info); - std::string SW_S9_(uint64 instruction, Dis_info *info); - std::string SW_SP_(uint64 instruction, Dis_info *info); - std::string SW_U12_(uint64 instruction, Dis_info *info); - std::string SWC1_GP_(uint64 instruction, Dis_info *info); - std::string SWC1_S9_(uint64 instruction, Dis_info *info); - std::string SWC1_U12_(uint64 instruction, Dis_info *info); - std::string SWC1X(uint64 instruction, Dis_info *info); - std::string SWC1XS(uint64 instruction, Dis_info *info); - std::string SWC2(uint64 instruction, Dis_info *info); - std::string SWE(uint64 instruction, Dis_info *info); - std::string SWM(uint64 instruction, Dis_info *info); - std::string SWPC_48_(uint64 instruction, Dis_info *info); - std::string SWX(uint64 instruction, Dis_info *info); - std::string SWXS(uint64 instruction, Dis_info *info); - std::string SYNC(uint64 instruction, Dis_info *info); - std::string SYNCI(uint64 instruction, Dis_info *info); - std::string SYNCIE(uint64 instruction, Dis_info *info); - std::string SYSCALL_16_(uint64 instruction, Dis_info *info); - std::string SYSCALL_32_(uint64 instruction, Dis_info *info); - std::string TEQ(uint64 instruction, Dis_info *info); - std::string TLBGINV(uint64 instruction, Dis_info *info); - std::string TLBGINVF(uint64 instruction, Dis_info *info); - std::string TLBGP(uint64 instruction, Dis_info *info); - std::string TLBGR(uint64 instruction, Dis_info *info); - std::string TLBGWI(uint64 instruction, Dis_info *info); - std::string TLBGWR(uint64 instruction, Dis_info *info); - std::string TLBINV(uint64 instruction, Dis_info *info); - std::string TLBINVF(uint64 instruction, Dis_info *info); - std::string TLBP(uint64 instruction, Dis_info *info); - std::string TLBR(uint64 instruction, Dis_info *info); - std::string TLBWI(uint64 instruction, Dis_info *info); - std::string TLBWR(uint64 instruction, Dis_info *info); - std::string TNE(uint64 instruction, Dis_info *info); - std::string TRUNC_L_D(uint64 instruction, Dis_info *info); - std::string TRUNC_L_S(uint64 instruction, Dis_info *info); - std::string TRUNC_W_D(uint64 instruction, Dis_info *info); - std::string TRUNC_W_S(uint64 instruction, Dis_info *info); - std::string UALDM(uint64 instruction, Dis_info *info); - std::string UALH(uint64 instruction, Dis_info *info); - std::string UALWM(uint64 instruction, Dis_info *info); - std::string UASDM(uint64 instruction, Dis_info *info); - std::string UASH(uint64 instruction, Dis_info *info); - std::string UASWM(uint64 instruction, Dis_info *info); - std::string UDI(uint64 instruction, Dis_info *info); - std::string WAIT(uint64 instruction, Dis_info *info); - std::string WRDSP(uint64 instruction, Dis_info *info); - std::string WRPGPR(uint64 instruction, Dis_info *info); - std::string XOR_16_(uint64 instruction, Dis_info *info); - std::string XOR_32_(uint64 instruction, Dis_info *info); - std::string XORI(uint64 instruction, Dis_info *info); - std::string YIELD(uint64 instruction, Dis_info *info); - static Pool P_SYSCALL[2]; static Pool P_RI[4]; static Pool P_ADDIU[2]; From patchwork Sun Oct 30 22:28:08 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 13025253 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 0B528C38A02 for ; Sun, 30 Oct 2022 22:31:30 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1opGps-0006Ef-Pe; Sun, 30 Oct 2022 18:31:20 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1opGpr-00069r-Mx for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:31:19 -0400 Received: from mail-wr1-x42f.google.com ([2a00:1450:4864:20::42f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1opGpm-000891-Ri for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:31:19 -0400 Received: by mail-wr1-x42f.google.com with SMTP id w14so13640258wru.8 for ; Sun, 30 Oct 2022 15:31:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=zLWC6xEOi/MXfkwYGpZjKV5ePdFtRiEGyq7gfPaAwmc=; b=ETrqI5pvZit0BdxM1ensfAW4kn/GT7eAb9SN/YGJwzI5CocjUAMc1BehH5iItA3Pf1 uDMfXxMBJeBH0atkm/p1dqFoY4IjV/ifHr339BelvzFZnfd/3shvTWGJubRQ375fp1eC Ulwu5AK5zi/TPehKYHTcojSdNErpl6091tazPzm9y+Kj5gkubPM2UmVjGQ7WJM/OcgD9 Jfz1w5YhGHfTNy0GEReKBbqh7IYxKAiGoQwddDcLGBkAJLBcPc22o8zjutPZwp3aPwUY JCAJ4uXcC1TOpMNpnmDsGSsdgNnkfvY6SYmIy3fVPw6oZu7693PHgH59Gh2EuR73kWlj SrqQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=zLWC6xEOi/MXfkwYGpZjKV5ePdFtRiEGyq7gfPaAwmc=; b=MikLe0MdrBIj/xbZVWHDkH2A+0OoUidinfJqW3JGrCFW4+a8K/O1GKQyWUdEHGhEwP jjmfIHvtilLQgcoaXudpmJ6Rrr/4o7cPSKEEuT6tVUAcxGkVQJUKdC03c+VV/r9tDxhf G/nwBkJuKWdUziEcsXIj3hu6HBDDWvb5G8zKEiiQV5QvkBsoSr8dYEcZkmehApRNWJSh VhhwlxurO03S1oomqbnJbIuIC30KG68l+N7tMQSNs2TMIUe3nU5ilJzNVvcfmZTicziA xTnvu4RdvE3biwwWXkzKtU7lkooBelmXtyp4cpl5bxKjoH4PWjn5gis1B3dV0kZl/mP6 GRQw== X-Gm-Message-State: ACrzQf1RAdpZlUw+Hm8cFZR/39CNNgj88qHokQKbLfeciEY5i4tLgcp5 lWNejBYARYYw/vGDkNthPH3J4P4JDwGR/Q== X-Google-Smtp-Source: AMsMyM6bcOQpcUa630VHi0RuVN8sv6RIgC8JTFyMNu4BqMq77Ssly5EltCaZH9wQOatD0KJQwqiSew== X-Received: by 2002:adf:f78f:0:b0:236:992b:1f62 with SMTP id q15-20020adff78f000000b00236992b1f62mr5863814wrp.605.1667169072510; Sun, 30 Oct 2022 15:31:12 -0700 (PDT) Received: from localhost.localdomain ([185.126.107.38]) by smtp.gmail.com with ESMTPSA id q9-20020a5d61c9000000b00236733f0f98sm5138427wrv.107.2022.10.30.15.31.10 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 30 Oct 2022 15:31:11 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Aleksandar Rikalo , Huacai Chen , Stefan Pejic , Jiaxun Yang , Aurelien Jarno , Paul Burton , Milica Lazarevic , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= , Richard Henderson Subject: [PULL 22/55] disas/nanomips: Remove Pool tables from the class Date: Sun, 30 Oct 2022 23:28:08 +0100 Message-Id: <20221030222841.42377-23-philmd@linaro.org> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221030222841.42377-1-philmd@linaro.org> References: <20221030222841.42377-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42f; envelope-from=philmd@linaro.org; helo=mail-wr1-x42f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Qemu-devel" Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Milica Lazarevic Pool tables are no longer declared as static fields of the NMD class but as global static const variables. Pool struct is defined outside of the class. The NMD::Disassemble method is using the MAJOR Pool table variable, so its implementation is moved to the end of the nanomips.cpp file, right after the initialization of the MAJOR Pool table. Signed-off-by: Milica Lazarevic Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson Message-Id: <20220912122635.74032-9-milica.lazarevic@syrmia.com> Signed-off-by: Philippe Mathieu-Daudé --- disas/nanomips.cpp | 363 ++++++++++++++++++++++----------------------- disas/nanomips.h | 201 ++----------------------- 2 files changed, 193 insertions(+), 371 deletions(-) diff --git a/disas/nanomips.cpp b/disas/nanomips.cpp index 5482284206..a73eae5b33 100644 --- a/disas/nanomips.cpp +++ b/disas/nanomips.cpp @@ -754,13 +754,6 @@ uint64 NMD::extract_op_code_value(const uint16 * data, int size) } -int NMD::Disassemble(const uint16 * data, std::string & dis, - TABLE_ENTRY_TYPE & type, Dis_info *info) -{ - return Disassemble(data, dis, type, MAJOR, 2, info); -} - - /* * Recurse through tables until the instruction is found then return * the string and size @@ -16661,7 +16654,7 @@ static std::string YIELD(uint64 instruction, Dis_info *info) * */ -NMD::Pool NMD::P_SYSCALL[2] = { +static const Pool P_SYSCALL[2] = { { instruction , 0 , 0 , 32, 0xfffc0000, 0x00080000, &SYSCALL_32_ , 0, 0x0 }, /* SYSCALL[32] */ @@ -16671,7 +16664,7 @@ NMD::Pool NMD::P_SYSCALL[2] = { }; -NMD::Pool NMD::P_RI[4] = { +static const Pool P_RI[4] = { { instruction , 0 , 0 , 32, 0xfff80000, 0x00000000, &SIGRIE , 0, 0x0 }, /* SIGRIE */ @@ -16687,7 +16680,7 @@ NMD::Pool NMD::P_RI[4] = { }; -NMD::Pool NMD::P_ADDIU[2] = { +static const Pool P_ADDIU[2] = { { pool , P_RI , 4 , 32, 0xffe00000, 0x00000000, 0 , 0, 0x0 }, /* P.RI */ @@ -16697,7 +16690,7 @@ NMD::Pool NMD::P_ADDIU[2] = { }; -NMD::Pool NMD::P_TRAP[2] = { +static const Pool P_TRAP[2] = { { instruction , 0 , 0 , 32, 0xfc0007ff, 0x20000000, &TEQ , 0, XMMS_ }, /* TEQ */ @@ -16707,7 +16700,7 @@ NMD::Pool NMD::P_TRAP[2] = { }; -NMD::Pool NMD::P_CMOVE[2] = { +static const Pool P_CMOVE[2] = { { instruction , 0 , 0 , 32, 0xfc0007ff, 0x20000210, &MOVZ , 0, 0x0 }, /* MOVZ */ @@ -16717,7 +16710,7 @@ NMD::Pool NMD::P_CMOVE[2] = { }; -NMD::Pool NMD::P_D_MT_VPE[2] = { +static const Pool P_D_MT_VPE[2] = { { instruction , 0 , 0 , 32, 0xfc1f3fff, 0x20010ab0, &DMT , 0, MT_ }, /* DMT */ @@ -16727,7 +16720,7 @@ NMD::Pool NMD::P_D_MT_VPE[2] = { }; -NMD::Pool NMD::P_E_MT_VPE[2] = { +static const Pool P_E_MT_VPE[2] = { { instruction , 0 , 0 , 32, 0xfc1f3fff, 0x20010eb0, &EMT , 0, MT_ }, /* EMT */ @@ -16737,7 +16730,7 @@ NMD::Pool NMD::P_E_MT_VPE[2] = { }; -NMD::Pool NMD::_P_MT_VPE[2] = { +static const Pool _P_MT_VPE[2] = { { pool , P_D_MT_VPE , 2 , 32, 0xfc003fff, 0x20000ab0, 0 , 0, 0x0 }, /* P.D_MT_VPE */ @@ -16747,7 +16740,7 @@ NMD::Pool NMD::_P_MT_VPE[2] = { }; -NMD::Pool NMD::P_MT_VPE[8] = { +static const Pool P_MT_VPE[8] = { { reserved_block , 0 , 0 , 32, 0xfc003bff, 0x200002b0, 0 , 0, 0x0 }, /* P.MT_VPE~*(0) */ @@ -16775,7 +16768,7 @@ NMD::Pool NMD::P_MT_VPE[8] = { }; -NMD::Pool NMD::P_DVP[2] = { +static const Pool P_DVP[2] = { { instruction , 0 , 0 , 32, 0xfc00ffff, 0x20000390, &DVP , 0, 0x0 }, /* DVP */ @@ -16785,7 +16778,7 @@ NMD::Pool NMD::P_DVP[2] = { }; -NMD::Pool NMD::P_SLTU[2] = { +static const Pool P_SLTU[2] = { { pool , P_DVP , 2 , 32, 0xfc00fbff, 0x20000390, 0 , 0, 0x0 }, /* P.DVP */ @@ -16795,7 +16788,7 @@ NMD::Pool NMD::P_SLTU[2] = { }; -NMD::Pool NMD::_POOL32A0[128] = { +static const Pool _POOL32A0[128] = { { pool , P_TRAP , 2 , 32, 0xfc0003ff, 0x20000000, 0 , 0, 0x0 }, /* P.TRAP */ @@ -17183,7 +17176,7 @@ NMD::Pool NMD::_POOL32A0[128] = { }; -NMD::Pool NMD::ADDQ__S__PH[2] = { +static const Pool ADDQ__S__PH[2] = { { instruction , 0 , 0 , 32, 0xfc0007ff, 0x2000000d, &ADDQ_PH , 0, DSP_ }, /* ADDQ.PH */ @@ -17193,7 +17186,7 @@ NMD::Pool NMD::ADDQ__S__PH[2] = { }; -NMD::Pool NMD::MUL__S__PH[2] = { +static const Pool MUL__S__PH[2] = { { instruction , 0 , 0 , 32, 0xfc0007ff, 0x2000002d, &MUL_PH , 0, DSP_ }, /* MUL.PH */ @@ -17203,7 +17196,7 @@ NMD::Pool NMD::MUL__S__PH[2] = { }; -NMD::Pool NMD::ADDQH__R__PH[2] = { +static const Pool ADDQH__R__PH[2] = { { instruction , 0 , 0 , 32, 0xfc0007ff, 0x2000004d, &ADDQH_PH , 0, DSP_ }, /* ADDQH.PH */ @@ -17213,7 +17206,7 @@ NMD::Pool NMD::ADDQH__R__PH[2] = { }; -NMD::Pool NMD::ADDQH__R__W[2] = { +static const Pool ADDQH__R__W[2] = { { instruction , 0 , 0 , 32, 0xfc0007ff, 0x2000008d, &ADDQH_W , 0, DSP_ }, /* ADDQH.W */ @@ -17223,7 +17216,7 @@ NMD::Pool NMD::ADDQH__R__W[2] = { }; -NMD::Pool NMD::ADDU__S__QB[2] = { +static const Pool ADDU__S__QB[2] = { { instruction , 0 , 0 , 32, 0xfc0007ff, 0x200000cd, &ADDU_QB , 0, DSP_ }, /* ADDU.QB */ @@ -17233,7 +17226,7 @@ NMD::Pool NMD::ADDU__S__QB[2] = { }; -NMD::Pool NMD::ADDU__S__PH[2] = { +static const Pool ADDU__S__PH[2] = { { instruction , 0 , 0 , 32, 0xfc0007ff, 0x2000010d, &ADDU_PH , 0, DSP_ }, /* ADDU.PH */ @@ -17243,7 +17236,7 @@ NMD::Pool NMD::ADDU__S__PH[2] = { }; -NMD::Pool NMD::ADDUH__R__QB[2] = { +static const Pool ADDUH__R__QB[2] = { { instruction , 0 , 0 , 32, 0xfc0007ff, 0x2000014d, &ADDUH_QB , 0, DSP_ }, /* ADDUH.QB */ @@ -17253,7 +17246,7 @@ NMD::Pool NMD::ADDUH__R__QB[2] = { }; -NMD::Pool NMD::SHRAV__R__PH[2] = { +static const Pool SHRAV__R__PH[2] = { { instruction , 0 , 0 , 32, 0xfc0007ff, 0x2000018d, &SHRAV_PH , 0, DSP_ }, /* SHRAV.PH */ @@ -17263,7 +17256,7 @@ NMD::Pool NMD::SHRAV__R__PH[2] = { }; -NMD::Pool NMD::SHRAV__R__QB[2] = { +static const Pool SHRAV__R__QB[2] = { { instruction , 0 , 0 , 32, 0xfc0007ff, 0x200001cd, &SHRAV_QB , 0, DSP_ }, /* SHRAV.QB */ @@ -17273,7 +17266,7 @@ NMD::Pool NMD::SHRAV__R__QB[2] = { }; -NMD::Pool NMD::SUBQ__S__PH[2] = { +static const Pool SUBQ__S__PH[2] = { { instruction , 0 , 0 , 32, 0xfc0007ff, 0x2000020d, &SUBQ_PH , 0, DSP_ }, /* SUBQ.PH */ @@ -17283,7 +17276,7 @@ NMD::Pool NMD::SUBQ__S__PH[2] = { }; -NMD::Pool NMD::SUBQH__R__PH[2] = { +static const Pool SUBQH__R__PH[2] = { { instruction , 0 , 0 , 32, 0xfc0007ff, 0x2000024d, &SUBQH_PH , 0, DSP_ }, /* SUBQH.PH */ @@ -17293,7 +17286,7 @@ NMD::Pool NMD::SUBQH__R__PH[2] = { }; -NMD::Pool NMD::SUBQH__R__W[2] = { +static const Pool SUBQH__R__W[2] = { { instruction , 0 , 0 , 32, 0xfc0007ff, 0x2000028d, &SUBQH_W , 0, DSP_ }, /* SUBQH.W */ @@ -17303,7 +17296,7 @@ NMD::Pool NMD::SUBQH__R__W[2] = { }; -NMD::Pool NMD::SUBU__S__QB[2] = { +static const Pool SUBU__S__QB[2] = { { instruction , 0 , 0 , 32, 0xfc0007ff, 0x200002cd, &SUBU_QB , 0, DSP_ }, /* SUBU.QB */ @@ -17313,7 +17306,7 @@ NMD::Pool NMD::SUBU__S__QB[2] = { }; -NMD::Pool NMD::SUBU__S__PH[2] = { +static const Pool SUBU__S__PH[2] = { { instruction , 0 , 0 , 32, 0xfc0007ff, 0x2000030d, &SUBU_PH , 0, DSP_ }, /* SUBU.PH */ @@ -17323,7 +17316,7 @@ NMD::Pool NMD::SUBU__S__PH[2] = { }; -NMD::Pool NMD::SHRA__R__PH[2] = { +static const Pool SHRA__R__PH[2] = { { instruction , 0 , 0 , 32, 0xfc0007ff, 0x20000335, &SHRA_PH , 0, DSP_ }, /* SHRA.PH */ @@ -17333,7 +17326,7 @@ NMD::Pool NMD::SHRA__R__PH[2] = { }; -NMD::Pool NMD::SUBUH__R__QB[2] = { +static const Pool SUBUH__R__QB[2] = { { instruction , 0 , 0 , 32, 0xfc0007ff, 0x2000034d, &SUBUH_QB , 0, DSP_ }, /* SUBUH.QB */ @@ -17343,7 +17336,7 @@ NMD::Pool NMD::SUBUH__R__QB[2] = { }; -NMD::Pool NMD::SHLLV__S__PH[2] = { +static const Pool SHLLV__S__PH[2] = { { instruction , 0 , 0 , 32, 0xfc0007ff, 0x2000038d, &SHLLV_PH , 0, DSP_ }, /* SHLLV.PH */ @@ -17353,7 +17346,7 @@ NMD::Pool NMD::SHLLV__S__PH[2] = { }; -NMD::Pool NMD::SHLL__S__PH[4] = { +static const Pool SHLL__S__PH[4] = { { instruction , 0 , 0 , 32, 0xfc000fff, 0x200003b5, &SHLL_PH , 0, DSP_ }, /* SHLL.PH */ @@ -17369,7 +17362,7 @@ NMD::Pool NMD::SHLL__S__PH[4] = { }; -NMD::Pool NMD::PRECR_SRA__R__PH_W[2] = { +static const Pool PRECR_SRA__R__PH_W[2] = { { instruction , 0 , 0 , 32, 0xfc0007ff, 0x200003cd, &PRECR_SRA_PH_W , 0, DSP_ }, /* PRECR_SRA.PH.W */ @@ -17379,7 +17372,7 @@ NMD::Pool NMD::PRECR_SRA__R__PH_W[2] = { }; -NMD::Pool NMD::_POOL32A5[128] = { +static const Pool _POOL32A5[128] = { { instruction , 0 , 0 , 32, 0xfc0003ff, 0x20000005, &CMP_EQ_PH , 0, DSP_ }, /* CMP.EQ.PH */ @@ -17767,7 +17760,7 @@ NMD::Pool NMD::_POOL32A5[128] = { }; -NMD::Pool NMD::PP_LSX[16] = { +static const Pool PP_LSX[16] = { { instruction , 0 , 0 , 32, 0xfc0007ff, 0x20000007, &LBX , 0, 0x0 }, /* LBX */ @@ -17819,7 +17812,7 @@ NMD::Pool NMD::PP_LSX[16] = { }; -NMD::Pool NMD::PP_LSXS[16] = { +static const Pool PP_LSXS[16] = { { reserved_block , 0 , 0 , 32, 0xfc0007ff, 0x20000047, 0 , 0, 0x0 }, /* PP.LSXS~*(0) */ @@ -17871,7 +17864,7 @@ NMD::Pool NMD::PP_LSXS[16] = { }; -NMD::Pool NMD::P_LSX[2] = { +static const Pool P_LSX[2] = { { pool , PP_LSX , 16 , 32, 0xfc00007f, 0x20000007, 0 , 0, 0x0 }, /* PP.LSX */ @@ -17881,7 +17874,7 @@ NMD::Pool NMD::P_LSX[2] = { }; -NMD::Pool NMD::POOL32Axf_1_0[4] = { +static const Pool POOL32Axf_1_0[4] = { { instruction , 0 , 0 , 32, 0xfc003fff, 0x2000007f, &MFHI_DSP_ , 0, DSP_ }, /* MFHI[DSP] */ @@ -17897,7 +17890,7 @@ NMD::Pool NMD::POOL32Axf_1_0[4] = { }; -NMD::Pool NMD::POOL32Axf_1_1[4] = { +static const Pool POOL32Axf_1_1[4] = { { instruction , 0 , 0 , 32, 0xfc003fff, 0x2000027f, &MTHLIP , 0, DSP_ }, /* MTHLIP */ @@ -17913,7 +17906,7 @@ NMD::Pool NMD::POOL32Axf_1_1[4] = { }; -NMD::Pool NMD::POOL32Axf_1_3[4] = { +static const Pool POOL32Axf_1_3[4] = { { instruction , 0 , 0 , 32, 0xfc003fff, 0x2000067f, &RDDSP , 0, DSP_ }, /* RDDSP */ @@ -17929,7 +17922,7 @@ NMD::Pool NMD::POOL32Axf_1_3[4] = { }; -NMD::Pool NMD::POOL32Axf_1_4[2] = { +static const Pool POOL32Axf_1_4[2] = { { instruction , 0 , 0 , 32, 0xfc001fff, 0x2000087f, &SHLL_QB , 0, DSP_ }, /* SHLL.QB */ @@ -17939,7 +17932,7 @@ NMD::Pool NMD::POOL32Axf_1_4[2] = { }; -NMD::Pool NMD::MAQ_S_A__W_PHR[2] = { +static const Pool MAQ_S_A__W_PHR[2] = { { instruction , 0 , 0 , 32, 0xfc003fff, 0x20000a7f, &MAQ_S_W_PHR , 0, DSP_ }, /* MAQ_S.W.PHR */ @@ -17949,7 +17942,7 @@ NMD::Pool NMD::MAQ_S_A__W_PHR[2] = { }; -NMD::Pool NMD::MAQ_S_A__W_PHL[2] = { +static const Pool MAQ_S_A__W_PHL[2] = { { instruction , 0 , 0 , 32, 0xfc003fff, 0x20001a7f, &MAQ_S_W_PHL , 0, DSP_ }, /* MAQ_S.W.PHL */ @@ -17959,7 +17952,7 @@ NMD::Pool NMD::MAQ_S_A__W_PHL[2] = { }; -NMD::Pool NMD::POOL32Axf_1_5[2] = { +static const Pool POOL32Axf_1_5[2] = { { pool , MAQ_S_A__W_PHR , 2 , 32, 0xfc001fff, 0x20000a7f, 0 , 0, 0x0 }, /* MAQ_S[A].W.PHR */ @@ -17969,7 +17962,7 @@ NMD::Pool NMD::POOL32Axf_1_5[2] = { }; -NMD::Pool NMD::POOL32Axf_1_7[4] = { +static const Pool POOL32Axf_1_7[4] = { { instruction , 0 , 0 , 32, 0xfc003fff, 0x20000e7f, &EXTR_W , 0, DSP_ }, /* EXTR.W */ @@ -17985,7 +17978,7 @@ NMD::Pool NMD::POOL32Axf_1_7[4] = { }; -NMD::Pool NMD::POOL32Axf_1[8] = { +static const Pool POOL32Axf_1[8] = { { pool , POOL32Axf_1_0 , 4 , 32, 0xfc000fff, 0x2000007f, 0 , 0, 0x0 }, /* POOL32Axf_1_0 */ @@ -18013,7 +18006,7 @@ NMD::Pool NMD::POOL32Axf_1[8] = { }; -NMD::Pool NMD::POOL32Axf_2_DSP__0_7[8] = { +static const Pool POOL32Axf_2_DSP__0_7[8] = { { instruction , 0 , 0 , 32, 0xfc003fff, 0x200000bf, &DPA_W_PH , 0, DSP_ }, /* DPA.W.PH */ @@ -18041,7 +18034,7 @@ NMD::Pool NMD::POOL32Axf_2_DSP__0_7[8] = { }; -NMD::Pool NMD::POOL32Axf_2_DSP__8_15[8] = { +static const Pool POOL32Axf_2_DSP__8_15[8] = { { instruction , 0 , 0 , 32, 0xfc003fff, 0x200010bf, &DPAX_W_PH , 0, DSP_ }, /* DPAX.W.PH */ @@ -18069,7 +18062,7 @@ NMD::Pool NMD::POOL32Axf_2_DSP__8_15[8] = { }; -NMD::Pool NMD::POOL32Axf_2_DSP__16_23[8] = { +static const Pool POOL32Axf_2_DSP__16_23[8] = { { instruction , 0 , 0 , 32, 0xfc003fff, 0x200020bf, &DPAU_H_QBL , 0, DSP_ }, /* DPAU.H.QBL */ @@ -18097,7 +18090,7 @@ NMD::Pool NMD::POOL32Axf_2_DSP__16_23[8] = { }; -NMD::Pool NMD::POOL32Axf_2_DSP__24_31[8] = { +static const Pool POOL32Axf_2_DSP__24_31[8] = { { instruction , 0 , 0 , 32, 0xfc003fff, 0x200030bf, &DPAU_H_QBR , 0, DSP_ }, /* DPAU.H.QBR */ @@ -18125,7 +18118,7 @@ NMD::Pool NMD::POOL32Axf_2_DSP__24_31[8] = { }; -NMD::Pool NMD::POOL32Axf_2[4] = { +static const Pool POOL32Axf_2[4] = { { pool , POOL32Axf_2_DSP__0_7, 8 , 32, 0xfc0031ff, 0x200000bf, 0 , 0, 0x0 }, /* POOL32Axf_2(DSP)_0_7 */ @@ -18141,7 +18134,7 @@ NMD::Pool NMD::POOL32Axf_2[4] = { }; -NMD::Pool NMD::POOL32Axf_4[128] = { +static const Pool POOL32Axf_4[128] = { { instruction , 0 , 0 , 32, 0xfc00ffff, 0x2000013f, &ABSQ_S_QB , 0, DSP_ }, /* ABSQ_S.QB */ @@ -18529,7 +18522,7 @@ NMD::Pool NMD::POOL32Axf_4[128] = { }; -NMD::Pool NMD::POOL32Axf_5_group0[32] = { +static const Pool POOL32Axf_5_group0[32] = { { instruction , 0 , 0 , 32, 0xfc00ffff, 0x2000017f, &TLBGP , 0, CP0_ | VZ_ | TLB_ }, /* TLBGP */ @@ -18629,7 +18622,7 @@ NMD::Pool NMD::POOL32Axf_5_group0[32] = { }; -NMD::Pool NMD::POOL32Axf_5_group1[32] = { +static const Pool POOL32Axf_5_group1[32] = { { reserved_block , 0 , 0 , 32, 0xfc00ffff, 0x2000417f, 0 , 0, 0x0 }, /* POOL32Axf_5_group1~*(0) */ @@ -18729,7 +18722,7 @@ NMD::Pool NMD::POOL32Axf_5_group1[32] = { }; -NMD::Pool NMD::ERETx[2] = { +static const Pool ERETx[2] = { { instruction , 0 , 0 , 32, 0xfc01ffff, 0x2000f37f, &ERET , 0, 0x0 }, /* ERET */ @@ -18739,7 +18732,7 @@ NMD::Pool NMD::ERETx[2] = { }; -NMD::Pool NMD::POOL32Axf_5_group3[32] = { +static const Pool POOL32Axf_5_group3[32] = { { reserved_block , 0 , 0 , 32, 0xfc00ffff, 0x2000c17f, 0 , 0, 0x0 }, /* POOL32Axf_5_group3~*(0) */ @@ -18839,7 +18832,7 @@ NMD::Pool NMD::POOL32Axf_5_group3[32] = { }; -NMD::Pool NMD::POOL32Axf_5[4] = { +static const Pool POOL32Axf_5[4] = { { pool , POOL32Axf_5_group0 , 32 , 32, 0xfc00c1ff, 0x2000017f, 0 , 0, 0x0 }, /* POOL32Axf_5_group0 */ @@ -18855,7 +18848,7 @@ NMD::Pool NMD::POOL32Axf_5[4] = { }; -NMD::Pool NMD::SHRA__R__QB[2] = { +static const Pool SHRA__R__QB[2] = { { instruction , 0 , 0 , 32, 0xfc001fff, 0x200001ff, &SHRA_QB , 0, DSP_ }, /* SHRA.QB */ @@ -18865,7 +18858,7 @@ NMD::Pool NMD::SHRA__R__QB[2] = { }; -NMD::Pool NMD::POOL32Axf_7[8] = { +static const Pool POOL32Axf_7[8] = { { pool , SHRA__R__QB , 2 , 32, 0xfc000fff, 0x200001ff, 0 , 0, 0x0 }, /* SHRA[_R].QB */ @@ -18893,7 +18886,7 @@ NMD::Pool NMD::POOL32Axf_7[8] = { }; -NMD::Pool NMD::POOL32Axf[8] = { +static const Pool POOL32Axf[8] = { { reserved_block , 0 , 0 , 32, 0xfc0001ff, 0x2000003f, 0 , 0, 0x0 }, /* POOL32Axf~*(0) */ @@ -18921,7 +18914,7 @@ NMD::Pool NMD::POOL32Axf[8] = { }; -NMD::Pool NMD::_POOL32A7[8] = { +static const Pool _POOL32A7[8] = { { pool , P_LSX , 2 , 32, 0xfc00003f, 0x20000007, 0 , 0, 0x0 }, /* P.LSX */ @@ -18949,7 +18942,7 @@ NMD::Pool NMD::_POOL32A7[8] = { }; -NMD::Pool NMD::P32A[8] = { +static const Pool P32A[8] = { { pool , _POOL32A0 , 128 , 32, 0xfc000007, 0x20000000, 0 , 0, 0x0 }, /* _POOL32A0 */ @@ -18977,7 +18970,7 @@ NMD::Pool NMD::P32A[8] = { }; -NMD::Pool NMD::P_GP_D[2] = { +static const Pool P_GP_D[2] = { { instruction , 0 , 0 , 32, 0xfc000007, 0x40000001, &LD_GP_ , 0, MIPS64_ }, /* LD[GP] */ @@ -18987,7 +18980,7 @@ NMD::Pool NMD::P_GP_D[2] = { }; -NMD::Pool NMD::P_GP_W[4] = { +static const Pool P_GP_W[4] = { { instruction , 0 , 0 , 32, 0xfc000003, 0x40000000, &ADDIU_GP_W_ , 0, 0x0 }, /* ADDIU[GP.W] */ @@ -19003,7 +18996,7 @@ NMD::Pool NMD::P_GP_W[4] = { }; -NMD::Pool NMD::POOL48I[32] = { +static const Pool POOL48I[32] = { { instruction , 0 , 0 , 48, 0xfc1f00000000ull, 0x600000000000ull, &LI_48_ , 0, XMMS_ }, /* LI[48] */ @@ -19103,7 +19096,7 @@ NMD::Pool NMD::POOL48I[32] = { }; -NMD::Pool NMD::PP_SR[4] = { +static const Pool PP_SR[4] = { { instruction , 0 , 0 , 32, 0xfc10f003, 0x80003000, &SAVE_32_ , 0, 0x0 }, /* SAVE[32] */ @@ -19119,7 +19112,7 @@ NMD::Pool NMD::PP_SR[4] = { }; -NMD::Pool NMD::P_SR_F[8] = { +static const Pool P_SR_F[8] = { { instruction , 0 , 0 , 32, 0xfc10f007, 0x80103000, &SAVEF , 0, CP1_ }, /* SAVEF */ @@ -19147,7 +19140,7 @@ NMD::Pool NMD::P_SR_F[8] = { }; -NMD::Pool NMD::P_SR[2] = { +static const Pool P_SR[2] = { { pool , PP_SR , 4 , 32, 0xfc10f000, 0x80003000, 0 , 0, 0x0 }, /* PP.SR */ @@ -19157,7 +19150,7 @@ NMD::Pool NMD::P_SR[2] = { }; -NMD::Pool NMD::P_SLL[5] = { +static const Pool P_SLL[5] = { { instruction , 0 , 0 , 32, 0xffe0f1ff, 0x8000c000, &NOP_32_ , 0, 0x0 }, /* NOP[32] */ @@ -19176,7 +19169,7 @@ NMD::Pool NMD::P_SLL[5] = { }; -NMD::Pool NMD::P_SHIFT[16] = { +static const Pool P_SHIFT[16] = { { pool , P_SLL , 5 , 32, 0xfc00f1e0, 0x8000c000, 0 , 0, 0x0 }, /* P.SLL */ @@ -19228,7 +19221,7 @@ NMD::Pool NMD::P_SHIFT[16] = { }; -NMD::Pool NMD::P_ROTX[4] = { +static const Pool P_ROTX[4] = { { instruction , 0 , 0 , 32, 0xfc00f820, 0x8000d000, &ROTX , 0, XMMS_ }, /* ROTX */ @@ -19244,7 +19237,7 @@ NMD::Pool NMD::P_ROTX[4] = { }; -NMD::Pool NMD::P_INS[4] = { +static const Pool P_INS[4] = { { instruction , 0 , 0 , 32, 0xfc00f820, 0x8000e000, &INS , 0, XMMS_ }, /* INS */ @@ -19260,7 +19253,7 @@ NMD::Pool NMD::P_INS[4] = { }; -NMD::Pool NMD::P_EXT[4] = { +static const Pool P_EXT[4] = { { instruction , 0 , 0 , 32, 0xfc00f820, 0x8000f000, &EXT , 0, XMMS_ }, /* EXT */ @@ -19276,7 +19269,7 @@ NMD::Pool NMD::P_EXT[4] = { }; -NMD::Pool NMD::P_U12[16] = { +static const Pool P_U12[16] = { { instruction , 0 , 0 , 32, 0xfc00f000, 0x80000000, &ORI , 0, 0x0 }, /* ORI */ @@ -19328,7 +19321,7 @@ NMD::Pool NMD::P_U12[16] = { }; -NMD::Pool NMD::RINT_fmt[2] = { +static const Pool RINT_fmt[2] = { { instruction , 0 , 0 , 32, 0xfc0003ff, 0xa0000020, &RINT_S , 0, CP1_ }, /* RINT.S */ @@ -19338,7 +19331,7 @@ NMD::Pool NMD::RINT_fmt[2] = { }; -NMD::Pool NMD::ADD_fmt0[2] = { +static const Pool ADD_fmt0[2] = { { instruction , 0 , 0 , 32, 0xfc0003ff, 0xa0000030, &ADD_S , 0, CP1_ }, /* ADD.S */ @@ -19348,7 +19341,7 @@ NMD::Pool NMD::ADD_fmt0[2] = { }; -NMD::Pool NMD::SELEQZ_fmt[2] = { +static const Pool SELEQZ_fmt[2] = { { instruction , 0 , 0 , 32, 0xfc0003ff, 0xa0000038, &SELEQZ_S , 0, CP1_ }, /* SELEQZ.S */ @@ -19358,7 +19351,7 @@ NMD::Pool NMD::SELEQZ_fmt[2] = { }; -NMD::Pool NMD::CLASS_fmt[2] = { +static const Pool CLASS_fmt[2] = { { instruction , 0 , 0 , 32, 0xfc0003ff, 0xa0000060, &CLASS_S , 0, CP1_ }, /* CLASS.S */ @@ -19368,7 +19361,7 @@ NMD::Pool NMD::CLASS_fmt[2] = { }; -NMD::Pool NMD::SUB_fmt0[2] = { +static const Pool SUB_fmt0[2] = { { instruction , 0 , 0 , 32, 0xfc0003ff, 0xa0000070, &SUB_S , 0, CP1_ }, /* SUB.S */ @@ -19378,7 +19371,7 @@ NMD::Pool NMD::SUB_fmt0[2] = { }; -NMD::Pool NMD::SELNEZ_fmt[2] = { +static const Pool SELNEZ_fmt[2] = { { instruction , 0 , 0 , 32, 0xfc0003ff, 0xa0000078, &SELNEZ_S , 0, CP1_ }, /* SELNEZ.S */ @@ -19388,7 +19381,7 @@ NMD::Pool NMD::SELNEZ_fmt[2] = { }; -NMD::Pool NMD::MUL_fmt0[2] = { +static const Pool MUL_fmt0[2] = { { instruction , 0 , 0 , 32, 0xfc0003ff, 0xa00000b0, &MUL_S , 0, CP1_ }, /* MUL.S */ @@ -19398,7 +19391,7 @@ NMD::Pool NMD::MUL_fmt0[2] = { }; -NMD::Pool NMD::SEL_fmt[2] = { +static const Pool SEL_fmt[2] = { { instruction , 0 , 0 , 32, 0xfc0003ff, 0xa00000b8, &SEL_S , 0, CP1_ }, /* SEL.S */ @@ -19408,7 +19401,7 @@ NMD::Pool NMD::SEL_fmt[2] = { }; -NMD::Pool NMD::DIV_fmt0[2] = { +static const Pool DIV_fmt0[2] = { { instruction , 0 , 0 , 32, 0xfc0003ff, 0xa00000f0, &DIV_S , 0, CP1_ }, /* DIV.S */ @@ -19418,7 +19411,7 @@ NMD::Pool NMD::DIV_fmt0[2] = { }; -NMD::Pool NMD::ADD_fmt1[2] = { +static const Pool ADD_fmt1[2] = { { instruction , 0 , 0 , 32, 0xfc0003ff, 0xa0000130, &ADD_D , 0, CP1_ }, /* ADD.D */ @@ -19428,7 +19421,7 @@ NMD::Pool NMD::ADD_fmt1[2] = { }; -NMD::Pool NMD::SUB_fmt1[2] = { +static const Pool SUB_fmt1[2] = { { instruction , 0 , 0 , 32, 0xfc0003ff, 0xa0000170, &SUB_D , 0, CP1_ }, /* SUB.D */ @@ -19438,7 +19431,7 @@ NMD::Pool NMD::SUB_fmt1[2] = { }; -NMD::Pool NMD::MUL_fmt1[2] = { +static const Pool MUL_fmt1[2] = { { instruction , 0 , 0 , 32, 0xfc0003ff, 0xa00001b0, &MUL_D , 0, CP1_ }, /* MUL.D */ @@ -19448,7 +19441,7 @@ NMD::Pool NMD::MUL_fmt1[2] = { }; -NMD::Pool NMD::MADDF_fmt[2] = { +static const Pool MADDF_fmt[2] = { { instruction , 0 , 0 , 32, 0xfc0003ff, 0xa00001b8, &MADDF_S , 0, CP1_ }, /* MADDF.S */ @@ -19458,7 +19451,7 @@ NMD::Pool NMD::MADDF_fmt[2] = { }; -NMD::Pool NMD::DIV_fmt1[2] = { +static const Pool DIV_fmt1[2] = { { instruction , 0 , 0 , 32, 0xfc0003ff, 0xa00001f0, &DIV_D , 0, CP1_ }, /* DIV.D */ @@ -19468,7 +19461,7 @@ NMD::Pool NMD::DIV_fmt1[2] = { }; -NMD::Pool NMD::MSUBF_fmt[2] = { +static const Pool MSUBF_fmt[2] = { { instruction , 0 , 0 , 32, 0xfc0003ff, 0xa00001f8, &MSUBF_S , 0, CP1_ }, /* MSUBF.S */ @@ -19478,7 +19471,7 @@ NMD::Pool NMD::MSUBF_fmt[2] = { }; -NMD::Pool NMD::POOL32F_0[64] = { +static const Pool POOL32F_0[64] = { { reserved_block , 0 , 0 , 32, 0xfc0001ff, 0xa0000000, 0 , 0, CP1_ }, /* POOL32F_0~*(0) */ @@ -19674,7 +19667,7 @@ NMD::Pool NMD::POOL32F_0[64] = { }; -NMD::Pool NMD::MIN_fmt[2] = { +static const Pool MIN_fmt[2] = { { instruction , 0 , 0 , 32, 0xfc00023f, 0xa0000003, &MIN_S , 0, CP1_ }, /* MIN.S */ @@ -19684,7 +19677,7 @@ NMD::Pool NMD::MIN_fmt[2] = { }; -NMD::Pool NMD::MAX_fmt[2] = { +static const Pool MAX_fmt[2] = { { instruction , 0 , 0 , 32, 0xfc00023f, 0xa000000b, &MAX_S , 0, CP1_ }, /* MAX.S */ @@ -19694,7 +19687,7 @@ NMD::Pool NMD::MAX_fmt[2] = { }; -NMD::Pool NMD::MINA_fmt[2] = { +static const Pool MINA_fmt[2] = { { instruction , 0 , 0 , 32, 0xfc00023f, 0xa0000023, &MINA_S , 0, CP1_ }, /* MINA.S */ @@ -19704,7 +19697,7 @@ NMD::Pool NMD::MINA_fmt[2] = { }; -NMD::Pool NMD::MAXA_fmt[2] = { +static const Pool MAXA_fmt[2] = { { instruction , 0 , 0 , 32, 0xfc00023f, 0xa000002b, &MAXA_S , 0, CP1_ }, /* MAXA.S */ @@ -19714,7 +19707,7 @@ NMD::Pool NMD::MAXA_fmt[2] = { }; -NMD::Pool NMD::CVT_L_fmt[2] = { +static const Pool CVT_L_fmt[2] = { { instruction , 0 , 0 , 32, 0xfc007fff, 0xa000013b, &CVT_L_S , 0, CP1_ }, /* CVT.L.S */ @@ -19724,7 +19717,7 @@ NMD::Pool NMD::CVT_L_fmt[2] = { }; -NMD::Pool NMD::RSQRT_fmt[2] = { +static const Pool RSQRT_fmt[2] = { { instruction , 0 , 0 , 32, 0xfc007fff, 0xa000023b, &RSQRT_S , 0, CP1_ }, /* RSQRT.S */ @@ -19734,7 +19727,7 @@ NMD::Pool NMD::RSQRT_fmt[2] = { }; -NMD::Pool NMD::FLOOR_L_fmt[2] = { +static const Pool FLOOR_L_fmt[2] = { { instruction , 0 , 0 , 32, 0xfc007fff, 0xa000033b, &FLOOR_L_S , 0, CP1_ }, /* FLOOR.L.S */ @@ -19744,7 +19737,7 @@ NMD::Pool NMD::FLOOR_L_fmt[2] = { }; -NMD::Pool NMD::CVT_W_fmt[2] = { +static const Pool CVT_W_fmt[2] = { { instruction , 0 , 0 , 32, 0xfc007fff, 0xa000093b, &CVT_W_S , 0, CP1_ }, /* CVT.W.S */ @@ -19754,7 +19747,7 @@ NMD::Pool NMD::CVT_W_fmt[2] = { }; -NMD::Pool NMD::SQRT_fmt[2] = { +static const Pool SQRT_fmt[2] = { { instruction , 0 , 0 , 32, 0xfc007fff, 0xa0000a3b, &SQRT_S , 0, CP1_ }, /* SQRT.S */ @@ -19764,7 +19757,7 @@ NMD::Pool NMD::SQRT_fmt[2] = { }; -NMD::Pool NMD::FLOOR_W_fmt[2] = { +static const Pool FLOOR_W_fmt[2] = { { instruction , 0 , 0 , 32, 0xfc007fff, 0xa0000b3b, &FLOOR_W_S , 0, CP1_ }, /* FLOOR.W.S */ @@ -19774,7 +19767,7 @@ NMD::Pool NMD::FLOOR_W_fmt[2] = { }; -NMD::Pool NMD::RECIP_fmt[2] = { +static const Pool RECIP_fmt[2] = { { instruction , 0 , 0 , 32, 0xfc007fff, 0xa000123b, &RECIP_S , 0, CP1_ }, /* RECIP.S */ @@ -19784,7 +19777,7 @@ NMD::Pool NMD::RECIP_fmt[2] = { }; -NMD::Pool NMD::CEIL_L_fmt[2] = { +static const Pool CEIL_L_fmt[2] = { { instruction , 0 , 0 , 32, 0xfc007fff, 0xa000133b, &CEIL_L_S , 0, CP1_ }, /* CEIL.L.S */ @@ -19794,7 +19787,7 @@ NMD::Pool NMD::CEIL_L_fmt[2] = { }; -NMD::Pool NMD::CEIL_W_fmt[2] = { +static const Pool CEIL_W_fmt[2] = { { instruction , 0 , 0 , 32, 0xfc007fff, 0xa0001b3b, &CEIL_W_S , 0, CP1_ }, /* CEIL.W.S */ @@ -19804,7 +19797,7 @@ NMD::Pool NMD::CEIL_W_fmt[2] = { }; -NMD::Pool NMD::TRUNC_L_fmt[2] = { +static const Pool TRUNC_L_fmt[2] = { { instruction , 0 , 0 , 32, 0xfc007fff, 0xa000233b, &TRUNC_L_S , 0, CP1_ }, /* TRUNC.L.S */ @@ -19814,7 +19807,7 @@ NMD::Pool NMD::TRUNC_L_fmt[2] = { }; -NMD::Pool NMD::TRUNC_W_fmt[2] = { +static const Pool TRUNC_W_fmt[2] = { { instruction , 0 , 0 , 32, 0xfc007fff, 0xa0002b3b, &TRUNC_W_S , 0, CP1_ }, /* TRUNC.W.S */ @@ -19824,7 +19817,7 @@ NMD::Pool NMD::TRUNC_W_fmt[2] = { }; -NMD::Pool NMD::ROUND_L_fmt[2] = { +static const Pool ROUND_L_fmt[2] = { { instruction , 0 , 0 , 32, 0xfc007fff, 0xa000333b, &ROUND_L_S , 0, CP1_ }, /* ROUND.L.S */ @@ -19834,7 +19827,7 @@ NMD::Pool NMD::ROUND_L_fmt[2] = { }; -NMD::Pool NMD::ROUND_W_fmt[2] = { +static const Pool ROUND_W_fmt[2] = { { instruction , 0 , 0 , 32, 0xfc007fff, 0xa0003b3b, &ROUND_W_S , 0, CP1_ }, /* ROUND.W.S */ @@ -19844,7 +19837,7 @@ NMD::Pool NMD::ROUND_W_fmt[2] = { }; -NMD::Pool NMD::POOL32Fxf_0[64] = { +static const Pool POOL32Fxf_0[64] = { { reserved_block , 0 , 0 , 32, 0xfc003fff, 0xa000003b, 0 , 0, CP1_ }, /* POOL32Fxf_0~*(0) */ @@ -20040,7 +20033,7 @@ NMD::Pool NMD::POOL32Fxf_0[64] = { }; -NMD::Pool NMD::MOV_fmt[4] = { +static const Pool MOV_fmt[4] = { { instruction , 0 , 0 , 32, 0xfc007fff, 0xa000007b, &MOV_S , 0, CP1_ }, /* MOV.S */ @@ -20056,7 +20049,7 @@ NMD::Pool NMD::MOV_fmt[4] = { }; -NMD::Pool NMD::ABS_fmt[4] = { +static const Pool ABS_fmt[4] = { { instruction , 0 , 0 , 32, 0xfc007fff, 0xa000037b, &ABS_S , 0, CP1_ }, /* ABS.S */ @@ -20072,7 +20065,7 @@ NMD::Pool NMD::ABS_fmt[4] = { }; -NMD::Pool NMD::NEG_fmt[4] = { +static const Pool NEG_fmt[4] = { { instruction , 0 , 0 , 32, 0xfc007fff, 0xa0000b7b, &NEG_S , 0, CP1_ }, /* NEG.S */ @@ -20088,7 +20081,7 @@ NMD::Pool NMD::NEG_fmt[4] = { }; -NMD::Pool NMD::CVT_D_fmt[4] = { +static const Pool CVT_D_fmt[4] = { { instruction , 0 , 0 , 32, 0xfc007fff, 0xa000137b, &CVT_D_S , 0, CP1_ }, /* CVT.D.S */ @@ -20104,7 +20097,7 @@ NMD::Pool NMD::CVT_D_fmt[4] = { }; -NMD::Pool NMD::CVT_S_fmt[4] = { +static const Pool CVT_S_fmt[4] = { { instruction , 0 , 0 , 32, 0xfc007fff, 0xa0001b7b, &CVT_S_D , 0, CP1_ }, /* CVT.S.D */ @@ -20120,7 +20113,7 @@ NMD::Pool NMD::CVT_S_fmt[4] = { }; -NMD::Pool NMD::POOL32Fxf_1[32] = { +static const Pool POOL32Fxf_1[32] = { { pool , MOV_fmt , 4 , 32, 0xfc001fff, 0xa000007b, 0 , 0, CP1_ }, /* MOV.fmt */ @@ -20220,7 +20213,7 @@ NMD::Pool NMD::POOL32Fxf_1[32] = { }; -NMD::Pool NMD::POOL32Fxf[4] = { +static const Pool POOL32Fxf[4] = { { pool , POOL32Fxf_0 , 64 , 32, 0xfc0000ff, 0xa000003b, 0 , 0, CP1_ }, /* POOL32Fxf_0 */ @@ -20236,7 +20229,7 @@ NMD::Pool NMD::POOL32Fxf[4] = { }; -NMD::Pool NMD::POOL32F_3[8] = { +static const Pool POOL32F_3[8] = { { pool , MIN_fmt , 2 , 32, 0xfc00003f, 0xa0000003, 0 , 0, CP1_ }, /* MIN.fmt */ @@ -20264,7 +20257,7 @@ NMD::Pool NMD::POOL32F_3[8] = { }; -NMD::Pool NMD::CMP_condn_S[32] = { +static const Pool CMP_condn_S[32] = { { instruction , 0 , 0 , 32, 0xfc0007ff, 0xa0000005, &CMP_AF_S , 0, CP1_ }, /* CMP.AF.S */ @@ -20364,7 +20357,7 @@ NMD::Pool NMD::CMP_condn_S[32] = { }; -NMD::Pool NMD::CMP_condn_D[32] = { +static const Pool CMP_condn_D[32] = { { instruction , 0 , 0 , 32, 0xfc0007ff, 0xa0000015, &CMP_AF_D , 0, CP1_ }, /* CMP.AF.D */ @@ -20464,7 +20457,7 @@ NMD::Pool NMD::CMP_condn_D[32] = { }; -NMD::Pool NMD::POOL32F_5[8] = { +static const Pool POOL32F_5[8] = { { pool , CMP_condn_S , 32 , 32, 0xfc00003f, 0xa0000005, 0 , 0, CP1_ }, /* CMP.condn.S */ @@ -20492,7 +20485,7 @@ NMD::Pool NMD::POOL32F_5[8] = { }; -NMD::Pool NMD::POOL32F[8] = { +static const Pool POOL32F[8] = { { pool , POOL32F_0 , 64 , 32, 0xfc000007, 0xa0000000, 0 , 0, CP1_ }, /* POOL32F_0 */ @@ -20520,7 +20513,7 @@ NMD::Pool NMD::POOL32F[8] = { }; -NMD::Pool NMD::POOL32S_0[64] = { +static const Pool POOL32S_0[64] = { { reserved_block , 0 , 0 , 32, 0xfc0001ff, 0xc0000000, 0 , 0, 0x0 }, /* POOL32S_0~*(0) */ @@ -20716,7 +20709,7 @@ NMD::Pool NMD::POOL32S_0[64] = { }; -NMD::Pool NMD::POOL32Sxf_4[128] = { +static const Pool POOL32Sxf_4[128] = { { reserved_block , 0 , 0 , 32, 0xfc00ffff, 0xc000013c, 0 , 0, 0x0 }, /* POOL32Sxf_4~*(0) */ @@ -21104,7 +21097,7 @@ NMD::Pool NMD::POOL32Sxf_4[128] = { }; -NMD::Pool NMD::POOL32Sxf[8] = { +static const Pool POOL32Sxf[8] = { { reserved_block , 0 , 0 , 32, 0xfc0001ff, 0xc000003c, 0 , 0, 0x0 }, /* POOL32Sxf~*(0) */ @@ -21132,7 +21125,7 @@ NMD::Pool NMD::POOL32Sxf[8] = { }; -NMD::Pool NMD::POOL32S_4[8] = { +static const Pool POOL32S_4[8] = { { instruction , 0 , 0 , 32, 0xfc00003f, 0xc0000004, &EXTD , 0, MIPS64_ }, /* EXTD */ @@ -21160,7 +21153,7 @@ NMD::Pool NMD::POOL32S_4[8] = { }; -NMD::Pool NMD::POOL32S[8] = { +static const Pool POOL32S[8] = { { pool , POOL32S_0 , 64 , 32, 0xfc000007, 0xc0000000, 0 , 0, 0x0 }, /* POOL32S_0 */ @@ -21188,7 +21181,7 @@ NMD::Pool NMD::POOL32S[8] = { }; -NMD::Pool NMD::P_LUI[2] = { +static const Pool P_LUI[2] = { { instruction , 0 , 0 , 32, 0xfc000002, 0xe0000000, &LUI , 0, 0x0 }, /* LUI */ @@ -21198,7 +21191,7 @@ NMD::Pool NMD::P_LUI[2] = { }; -NMD::Pool NMD::P_GP_LH[2] = { +static const Pool P_GP_LH[2] = { { instruction , 0 , 0 , 32, 0xfc1c0001, 0x44100000, &LH_GP_ , 0, 0x0 }, /* LH[GP] */ @@ -21208,7 +21201,7 @@ NMD::Pool NMD::P_GP_LH[2] = { }; -NMD::Pool NMD::P_GP_SH[2] = { +static const Pool P_GP_SH[2] = { { instruction , 0 , 0 , 32, 0xfc1c0001, 0x44140000, &SH_GP_ , 0, 0x0 }, /* SH[GP] */ @@ -21218,7 +21211,7 @@ NMD::Pool NMD::P_GP_SH[2] = { }; -NMD::Pool NMD::P_GP_CP1[4] = { +static const Pool P_GP_CP1[4] = { { instruction , 0 , 0 , 32, 0xfc1c0003, 0x44180000, &LWC1_GP_ , 0, CP1_ }, /* LWC1[GP] */ @@ -21234,7 +21227,7 @@ NMD::Pool NMD::P_GP_CP1[4] = { }; -NMD::Pool NMD::P_GP_M64[4] = { +static const Pool P_GP_M64[4] = { { instruction , 0 , 0 , 32, 0xfc1c0003, 0x441c0000, &LWU_GP_ , 0, MIPS64_ }, /* LWU[GP] */ @@ -21250,7 +21243,7 @@ NMD::Pool NMD::P_GP_M64[4] = { }; -NMD::Pool NMD::P_GP_BH[8] = { +static const Pool P_GP_BH[8] = { { instruction , 0 , 0 , 32, 0xfc1c0000, 0x44000000, &LB_GP_ , 0, 0x0 }, /* LB[GP] */ @@ -21278,7 +21271,7 @@ NMD::Pool NMD::P_GP_BH[8] = { }; -NMD::Pool NMD::P_LS_U12[16] = { +static const Pool P_LS_U12[16] = { { instruction , 0 , 0 , 32, 0xfc00f000, 0x84000000, &LB_U12_ , 0, 0x0 }, /* LB[U12] */ @@ -21330,7 +21323,7 @@ NMD::Pool NMD::P_LS_U12[16] = { }; -NMD::Pool NMD::P_PREF_S9_[2] = { +static const Pool P_PREF_S9_[2] = { { instruction , 0 , 0 , 32, 0xffe07f00, 0xa7e01800, &SYNCI , 0, 0x0 }, /* SYNCI */ @@ -21340,7 +21333,7 @@ NMD::Pool NMD::P_PREF_S9_[2] = { }; -NMD::Pool NMD::P_LS_S0[16] = { +static const Pool P_LS_S0[16] = { { instruction , 0 , 0 , 32, 0xfc007f00, 0xa4000000, &LB_S9_ , 0, 0x0 }, /* LB[S9] */ @@ -21392,7 +21385,7 @@ NMD::Pool NMD::P_LS_S0[16] = { }; -NMD::Pool NMD::ASET_ACLR[2] = { +static const Pool ASET_ACLR[2] = { { instruction , 0 , 0 , 32, 0xfe007f00, 0xa4001100, &ASET , 0, MCU_ }, /* ASET */ @@ -21402,7 +21395,7 @@ NMD::Pool NMD::ASET_ACLR[2] = { }; -NMD::Pool NMD::P_LL[4] = { +static const Pool P_LL[4] = { { instruction , 0 , 0 , 32, 0xfc007f03, 0xa4005100, &LL , 0, 0x0 }, /* LL */ @@ -21418,7 +21411,7 @@ NMD::Pool NMD::P_LL[4] = { }; -NMD::Pool NMD::P_SC[4] = { +static const Pool P_SC[4] = { { instruction , 0 , 0 , 32, 0xfc007f03, 0xa4005900, &SC , 0, 0x0 }, /* SC */ @@ -21434,7 +21427,7 @@ NMD::Pool NMD::P_SC[4] = { }; -NMD::Pool NMD::P_LLD[8] = { +static const Pool P_LLD[8] = { { instruction , 0 , 0 , 32, 0xfc007f07, 0xa4007100, &LLD , 0, MIPS64_ }, /* LLD */ @@ -21462,7 +21455,7 @@ NMD::Pool NMD::P_LLD[8] = { }; -NMD::Pool NMD::P_SCD[8] = { +static const Pool P_SCD[8] = { { instruction , 0 , 0 , 32, 0xfc007f07, 0xa4007900, &SCD , 0, MIPS64_ }, /* SCD */ @@ -21490,7 +21483,7 @@ NMD::Pool NMD::P_SCD[8] = { }; -NMD::Pool NMD::P_LS_S1[16] = { +static const Pool P_LS_S1[16] = { { reserved_block , 0 , 0 , 32, 0xfc007f00, 0xa4000100, 0 , 0, 0x0 }, /* P.LS.S1~*(0) */ @@ -21542,7 +21535,7 @@ NMD::Pool NMD::P_LS_S1[16] = { }; -NMD::Pool NMD::P_PREFE[2] = { +static const Pool P_PREFE[2] = { { instruction , 0 , 0 , 32, 0xffe07f00, 0xa7e01a00, &SYNCIE , 0, CP0_ | EVA_ }, /* SYNCIE */ @@ -21552,7 +21545,7 @@ NMD::Pool NMD::P_PREFE[2] = { }; -NMD::Pool NMD::P_LLE[4] = { +static const Pool P_LLE[4] = { { instruction , 0 , 0 , 32, 0xfc007f03, 0xa4005200, &LLE , 0, CP0_ | EVA_ }, /* LLE */ @@ -21568,7 +21561,7 @@ NMD::Pool NMD::P_LLE[4] = { }; -NMD::Pool NMD::P_SCE[4] = { +static const Pool P_SCE[4] = { { instruction , 0 , 0 , 32, 0xfc007f03, 0xa4005a00, &SCE , 0, CP0_ | EVA_ }, /* SCE */ @@ -21584,7 +21577,7 @@ NMD::Pool NMD::P_SCE[4] = { }; -NMD::Pool NMD::P_LS_E0[16] = { +static const Pool P_LS_E0[16] = { { instruction , 0 , 0 , 32, 0xfc007f00, 0xa4000200, &LBE , 0, CP0_ | EVA_ }, /* LBE */ @@ -21636,7 +21629,7 @@ NMD::Pool NMD::P_LS_E0[16] = { }; -NMD::Pool NMD::P_LS_WM[2] = { +static const Pool P_LS_WM[2] = { { instruction , 0 , 0 , 32, 0xfc000f00, 0xa4000400, &LWM , 0, XMMS_ }, /* LWM */ @@ -21646,7 +21639,7 @@ NMD::Pool NMD::P_LS_WM[2] = { }; -NMD::Pool NMD::P_LS_UAWM[2] = { +static const Pool P_LS_UAWM[2] = { { instruction , 0 , 0 , 32, 0xfc000f00, 0xa4000500, &UALWM , 0, XMMS_ }, /* UALWM */ @@ -21656,7 +21649,7 @@ NMD::Pool NMD::P_LS_UAWM[2] = { }; -NMD::Pool NMD::P_LS_DM[2] = { +static const Pool P_LS_DM[2] = { { instruction , 0 , 0 , 32, 0xfc000f00, 0xa4000600, &LDM , 0, MIPS64_ }, /* LDM */ @@ -21666,7 +21659,7 @@ NMD::Pool NMD::P_LS_DM[2] = { }; -NMD::Pool NMD::P_LS_UADM[2] = { +static const Pool P_LS_UADM[2] = { { instruction , 0 , 0 , 32, 0xfc000f00, 0xa4000700, &UALDM , 0, MIPS64_ }, /* UALDM */ @@ -21676,7 +21669,7 @@ NMD::Pool NMD::P_LS_UADM[2] = { }; -NMD::Pool NMD::P_LS_S9[8] = { +static const Pool P_LS_S9[8] = { { pool , P_LS_S0 , 16 , 32, 0xfc000700, 0xa4000000, 0 , 0, 0x0 }, /* P.LS.S0 */ @@ -21704,7 +21697,7 @@ NMD::Pool NMD::P_LS_S9[8] = { }; -NMD::Pool NMD::P_BAL[2] = { +static const Pool P_BAL[2] = { { branch_instruction , 0 , 0 , 32, 0xfe000000, 0x28000000, &BC_32_ , 0, 0x0 }, /* BC[32] */ @@ -21714,7 +21707,7 @@ NMD::Pool NMD::P_BAL[2] = { }; -NMD::Pool NMD::P_BALRSC[2] = { +static const Pool P_BALRSC[2] = { { branch_instruction , 0 , 0 , 32, 0xffe0f000, 0x48008000, &BRSC , 0, 0x0 }, /* BRSC */ @@ -21724,7 +21717,7 @@ NMD::Pool NMD::P_BALRSC[2] = { }; -NMD::Pool NMD::P_J[16] = { +static const Pool P_J[16] = { { call_instruction , 0 , 0 , 32, 0xfc00f000, 0x48000000, &JALRC_32_ , 0, 0x0 }, /* JALRC[32] */ @@ -21776,7 +21769,7 @@ NMD::Pool NMD::P_J[16] = { }; -NMD::Pool NMD::P_BR3A[32] = { +static const Pool P_BR3A[32] = { { branch_instruction , 0 , 0 , 32, 0xfc1fc000, 0x88004000, &BC1EQZC , 0, CP1_ }, /* BC1EQZC */ @@ -21876,7 +21869,7 @@ NMD::Pool NMD::P_BR3A[32] = { }; -NMD::Pool NMD::P_BR1[4] = { +static const Pool P_BR1[4] = { { branch_instruction , 0 , 0 , 32, 0xfc00c000, 0x88000000, &BEQC_32_ , 0, 0x0 }, /* BEQC[32] */ @@ -21892,7 +21885,7 @@ NMD::Pool NMD::P_BR1[4] = { }; -NMD::Pool NMD::P_BR2[4] = { +static const Pool P_BR2[4] = { { branch_instruction , 0 , 0 , 32, 0xfc00c000, 0xa8000000, &BNEC_32_ , 0, 0x0 }, /* BNEC[32] */ @@ -21908,7 +21901,7 @@ NMD::Pool NMD::P_BR2[4] = { }; -NMD::Pool NMD::P_BRI[8] = { +static const Pool P_BRI[8] = { { branch_instruction , 0 , 0 , 32, 0xfc1c0000, 0xc8000000, &BEQIC , 0, 0x0 }, /* BEQIC */ @@ -21936,7 +21929,7 @@ NMD::Pool NMD::P_BRI[8] = { }; -NMD::Pool NMD::P32[32] = { +static const Pool P32[32] = { { pool , P_ADDIU , 2 , 32, 0xfc000000, 0x00000000, 0 , 0, 0x0 }, /* P.ADDIU */ @@ -22036,7 +22029,7 @@ NMD::Pool NMD::P32[32] = { }; -NMD::Pool NMD::P16_SYSCALL[2] = { +static const Pool P16_SYSCALL[2] = { { instruction , 0 , 0 , 16, 0xfffc , 0x1008 , &SYSCALL_16_ , 0, 0x0 }, /* SYSCALL[16] */ @@ -22046,7 +22039,7 @@ NMD::Pool NMD::P16_SYSCALL[2] = { }; -NMD::Pool NMD::P16_RI[4] = { +static const Pool P16_RI[4] = { { reserved_block , 0 , 0 , 16, 0xfff8 , 0x1000 , 0 , 0, 0x0 }, /* P16.RI~*(0) */ @@ -22062,7 +22055,7 @@ NMD::Pool NMD::P16_RI[4] = { }; -NMD::Pool NMD::P16_MV[2] = { +static const Pool P16_MV[2] = { { pool , P16_RI , 4 , 16, 0xffe0 , 0x1000 , 0 , 0, 0x0 }, /* P16.RI */ @@ -22072,7 +22065,7 @@ NMD::Pool NMD::P16_MV[2] = { }; -NMD::Pool NMD::P16_SHIFT[2] = { +static const Pool P16_SHIFT[2] = { { instruction , 0 , 0 , 16, 0xfc08 , 0x3000 , &SLL_16_ , 0, 0x0 }, /* SLL[16] */ @@ -22082,7 +22075,7 @@ NMD::Pool NMD::P16_SHIFT[2] = { }; -NMD::Pool NMD::POOL16C_00[4] = { +static const Pool POOL16C_00[4] = { { instruction , 0 , 0 , 16, 0xfc0f , 0x5000 , &NOT_16_ , 0, 0x0 }, /* NOT[16] */ @@ -22098,7 +22091,7 @@ NMD::Pool NMD::POOL16C_00[4] = { }; -NMD::Pool NMD::POOL16C_0[2] = { +static const Pool POOL16C_0[2] = { { pool , POOL16C_00 , 4 , 16, 0xfc03 , 0x5000 , 0 , 0, 0x0 }, /* POOL16C_00 */ @@ -22108,7 +22101,7 @@ NMD::Pool NMD::POOL16C_0[2] = { }; -NMD::Pool NMD::P16C[2] = { +static const Pool P16C[2] = { { pool , POOL16C_0 , 2 , 16, 0xfc01 , 0x5000 , 0 , 0, 0x0 }, /* POOL16C_0 */ @@ -22118,7 +22111,7 @@ NMD::Pool NMD::P16C[2] = { }; -NMD::Pool NMD::P16_A1[2] = { +static const Pool P16_A1[2] = { { reserved_block , 0 , 0 , 16, 0xfc40 , 0x7000 , 0 , 0, 0x0 }, /* P16.A1~*(0) */ @@ -22128,7 +22121,7 @@ NMD::Pool NMD::P16_A1[2] = { }; -NMD::Pool NMD::P_ADDIU_RS5_[2] = { +static const Pool P_ADDIU_RS5_[2] = { { instruction , 0 , 0 , 16, 0xffe8 , 0x9008 , &NOP_16_ , 0, 0x0 }, /* NOP[16] */ @@ -22138,7 +22131,7 @@ NMD::Pool NMD::P_ADDIU_RS5_[2] = { }; -NMD::Pool NMD::P16_A2[2] = { +static const Pool P16_A2[2] = { { instruction , 0 , 0 , 16, 0xfc08 , 0x9000 , &ADDIU_R2_ , 0, 0x0 }, /* ADDIU[R2] */ @@ -22148,7 +22141,7 @@ NMD::Pool NMD::P16_A2[2] = { }; -NMD::Pool NMD::P16_ADDU[2] = { +static const Pool P16_ADDU[2] = { { instruction , 0 , 0 , 16, 0xfc01 , 0xb000 , &ADDU_16_ , 0, 0x0 }, /* ADDU[16] */ @@ -22158,7 +22151,7 @@ NMD::Pool NMD::P16_ADDU[2] = { }; -NMD::Pool NMD::P16_JRC[2] = { +static const Pool P16_JRC[2] = { { branch_instruction , 0 , 0 , 16, 0xfc1f , 0xd800 , &JRC , 0, 0x0 }, /* JRC */ @@ -22168,7 +22161,7 @@ NMD::Pool NMD::P16_JRC[2] = { }; -NMD::Pool NMD::P16_BR1[2] = { +static const Pool P16_BR1[2] = { { branch_instruction , 0 , 0 , 16, 0xfc00 , 0xd800 , &BEQC_16_ , &BEQC_16__cond , XMMS_ }, /* BEQC[16] */ @@ -22178,7 +22171,7 @@ NMD::Pool NMD::P16_BR1[2] = { }; -NMD::Pool NMD::P16_BR[2] = { +static const Pool P16_BR[2] = { { pool , P16_JRC , 2 , 16, 0xfc0f , 0xd800 , 0 , 0, 0x0 }, /* P16.JRC */ @@ -22188,7 +22181,7 @@ NMD::Pool NMD::P16_BR[2] = { }; -NMD::Pool NMD::P16_SR[2] = { +static const Pool P16_SR[2] = { { instruction , 0 , 0 , 16, 0xfd00 , 0x1c00 , &SAVE_16_ , 0, 0x0 }, /* SAVE[16] */ @@ -22198,7 +22191,7 @@ NMD::Pool NMD::P16_SR[2] = { }; -NMD::Pool NMD::P16_4X4[4] = { +static const Pool P16_4X4[4] = { { instruction , 0 , 0 , 16, 0xfd08 , 0x3c00 , &ADDU_4X4_ , 0, XMMS_ }, /* ADDU[4X4] */ @@ -22214,7 +22207,7 @@ NMD::Pool NMD::P16_4X4[4] = { }; -NMD::Pool NMD::P16_LB[4] = { +static const Pool P16_LB[4] = { { instruction , 0 , 0 , 16, 0xfc0c , 0x5c00 , &LB_16_ , 0, 0x0 }, /* LB[16] */ @@ -22230,7 +22223,7 @@ NMD::Pool NMD::P16_LB[4] = { }; -NMD::Pool NMD::P16_LH[4] = { +static const Pool P16_LH[4] = { { instruction , 0 , 0 , 16, 0xfc09 , 0x7c00 , &LH_16_ , 0, 0x0 }, /* LH[16] */ @@ -22246,7 +22239,7 @@ NMD::Pool NMD::P16_LH[4] = { }; -NMD::Pool NMD::P16[32] = { +static const Pool P16[32] = { { pool , P16_MV , 2 , 16, 0xfc00 , 0x1000 , 0 , 0, 0x0 }, /* P16.MV */ @@ -22346,7 +22339,7 @@ NMD::Pool NMD::P16[32] = { }; -NMD::Pool NMD::MAJOR[2] = { +static const Pool MAJOR[2] = { { pool , P32 , 32 , 32, 0x10000000, 0x00000000, 0 , 0, 0x0 }, /* P32 */ @@ -22354,3 +22347,9 @@ NMD::Pool NMD::MAJOR[2] = { 0x1000 , 0x1000 , 0 , 0, 0x0 }, /* P16 */ }; + +int NMD::Disassemble(const uint16 *data, std::string & dis, + TABLE_ENTRY_TYPE & type, Dis_info *info) +{ + return Disassemble(data, dis, type, MAJOR, 2, info); +} diff --git a/disas/nanomips.h b/disas/nanomips.h index 7036e589f4..c56fc32b1e 100644 --- a/disas/nanomips.h +++ b/disas/nanomips.h @@ -68,6 +68,18 @@ typedef bool (*conditional_function)(uint64 instruction); typedef std::string (*disassembly_function)(uint64 instruction, Dis_info *info); +typedef struct Pool { + TABLE_ENTRY_TYPE type; + const struct Pool *next_table; + int next_table_size; + int instructions_size; + uint64 mask; + uint64 value; + disassembly_function disassembly; + conditional_function condition; + uint64 attributes; +} Pool; + class NMD { public: @@ -77,199 +89,10 @@ public: private: - struct Pool { - TABLE_ENTRY_TYPE type; - struct Pool *next_table; - int next_table_size; - int instructions_size; - uint64 mask; - uint64 value; - disassembly_function disassembly; - conditional_function condition; - uint64 attributes; - }; - uint64 extract_op_code_value(const uint16 *data, int size); int Disassemble(const uint16 *data, std::string & dis, TABLE_ENTRY_TYPE & type, const Pool *table, int table_size, Dis_info *info); - - static Pool P_SYSCALL[2]; - static Pool P_RI[4]; - static Pool P_ADDIU[2]; - static Pool P_TRAP[2]; - static Pool P_CMOVE[2]; - static Pool P_D_MT_VPE[2]; - static Pool P_E_MT_VPE[2]; - static Pool _P_MT_VPE[2]; - static Pool P_MT_VPE[8]; - static Pool P_DVP[2]; - static Pool P_SLTU[2]; - static Pool _POOL32A0[128]; - static Pool ADDQ__S__PH[2]; - static Pool MUL__S__PH[2]; - static Pool ADDQH__R__PH[2]; - static Pool ADDQH__R__W[2]; - static Pool ADDU__S__QB[2]; - static Pool ADDU__S__PH[2]; - static Pool ADDUH__R__QB[2]; - static Pool SHRAV__R__PH[2]; - static Pool SHRAV__R__QB[2]; - static Pool SUBQ__S__PH[2]; - static Pool SUBQH__R__PH[2]; - static Pool SUBQH__R__W[2]; - static Pool SUBU__S__QB[2]; - static Pool SUBU__S__PH[2]; - static Pool SHRA__R__PH[2]; - static Pool SUBUH__R__QB[2]; - static Pool SHLLV__S__PH[2]; - static Pool SHLL__S__PH[4]; - static Pool PRECR_SRA__R__PH_W[2]; - static Pool _POOL32A5[128]; - static Pool PP_LSX[16]; - static Pool PP_LSXS[16]; - static Pool P_LSX[2]; - static Pool POOL32Axf_1_0[4]; - static Pool POOL32Axf_1_1[4]; - static Pool POOL32Axf_1_3[4]; - static Pool POOL32Axf_1_4[2]; - static Pool MAQ_S_A__W_PHR[2]; - static Pool MAQ_S_A__W_PHL[2]; - static Pool POOL32Axf_1_5[2]; - static Pool POOL32Axf_1_7[4]; - static Pool POOL32Axf_1[8]; - static Pool POOL32Axf_2_DSP__0_7[8]; - static Pool POOL32Axf_2_DSP__8_15[8]; - static Pool POOL32Axf_2_DSP__16_23[8]; - static Pool POOL32Axf_2_DSP__24_31[8]; - static Pool POOL32Axf_2[4]; - static Pool POOL32Axf_4[128]; - static Pool POOL32Axf_5_group0[32]; - static Pool POOL32Axf_5_group1[32]; - static Pool ERETx[2]; - static Pool POOL32Axf_5_group3[32]; - static Pool POOL32Axf_5[4]; - static Pool SHRA__R__QB[2]; - static Pool POOL32Axf_7[8]; - static Pool POOL32Axf[8]; - static Pool _POOL32A7[8]; - static Pool P32A[8]; - static Pool P_GP_D[2]; - static Pool P_GP_W[4]; - static Pool POOL48I[32]; - static Pool PP_SR[4]; - static Pool P_SR_F[8]; - static Pool P_SR[2]; - static Pool P_SLL[5]; - static Pool P_SHIFT[16]; - static Pool P_ROTX[4]; - static Pool P_INS[4]; - static Pool P_EXT[4]; - static Pool P_U12[16]; - static Pool RINT_fmt[2]; - static Pool ADD_fmt0[2]; - static Pool SELEQZ_fmt[2]; - static Pool CLASS_fmt[2]; - static Pool SUB_fmt0[2]; - static Pool SELNEZ_fmt[2]; - static Pool MUL_fmt0[2]; - static Pool SEL_fmt[2]; - static Pool DIV_fmt0[2]; - static Pool ADD_fmt1[2]; - static Pool SUB_fmt1[2]; - static Pool MUL_fmt1[2]; - static Pool MADDF_fmt[2]; - static Pool DIV_fmt1[2]; - static Pool MSUBF_fmt[2]; - static Pool POOL32F_0[64]; - static Pool MIN_fmt[2]; - static Pool MAX_fmt[2]; - static Pool MINA_fmt[2]; - static Pool MAXA_fmt[2]; - static Pool CVT_L_fmt[2]; - static Pool RSQRT_fmt[2]; - static Pool FLOOR_L_fmt[2]; - static Pool CVT_W_fmt[2]; - static Pool SQRT_fmt[2]; - static Pool FLOOR_W_fmt[2]; - static Pool RECIP_fmt[2]; - static Pool CEIL_L_fmt[2]; - static Pool CEIL_W_fmt[2]; - static Pool TRUNC_L_fmt[2]; - static Pool TRUNC_W_fmt[2]; - static Pool ROUND_L_fmt[2]; - static Pool ROUND_W_fmt[2]; - static Pool POOL32Fxf_0[64]; - static Pool MOV_fmt[4]; - static Pool ABS_fmt[4]; - static Pool NEG_fmt[4]; - static Pool CVT_D_fmt[4]; - static Pool CVT_S_fmt[4]; - static Pool POOL32Fxf_1[32]; - static Pool POOL32Fxf[4]; - static Pool POOL32F_3[8]; - static Pool CMP_condn_S[32]; - static Pool CMP_condn_D[32]; - static Pool POOL32F_5[8]; - static Pool POOL32F[8]; - static Pool POOL32S_0[64]; - static Pool POOL32Sxf_4[128]; - static Pool POOL32Sxf[8]; - static Pool POOL32S_4[8]; - static Pool POOL32S[8]; - static Pool P_LUI[2]; - static Pool P_GP_LH[2]; - static Pool P_GP_SH[2]; - static Pool P_GP_CP1[4]; - static Pool P_GP_M64[4]; - static Pool P_GP_BH[8]; - static Pool P_LS_U12[16]; - static Pool P_PREF_S9_[2]; - static Pool P_LS_S0[16]; - static Pool ASET_ACLR[2]; - static Pool P_LL[4]; - static Pool P_SC[4]; - static Pool P_LLD[8]; - static Pool P_SCD[8]; - static Pool P_LS_S1[16]; - static Pool P_PREFE[2]; - static Pool P_LLE[4]; - static Pool P_SCE[4]; - static Pool P_LS_E0[16]; - static Pool P_LS_WM[2]; - static Pool P_LS_UAWM[2]; - static Pool P_LS_DM[2]; - static Pool P_LS_UADM[2]; - static Pool P_LS_S9[8]; - static Pool P_BAL[2]; - static Pool P_BALRSC[2]; - static Pool P_J[16]; - static Pool P_BR3A[32]; - static Pool P_BR1[4]; - static Pool P_BR2[4]; - static Pool P_BRI[8]; - static Pool P32[32]; - static Pool P16_SYSCALL[2]; - static Pool P16_RI[4]; - static Pool P16_MV[2]; - static Pool P16_SHIFT[2]; - static Pool POOL16C_00[4]; - static Pool POOL16C_0[2]; - static Pool P16C[2]; - static Pool P16_A1[2]; - static Pool P_ADDIU_RS5_[2]; - static Pool P16_A2[2]; - static Pool P16_ADDU[2]; - static Pool P16_JRC[2]; - static Pool P16_BR1[2]; - static Pool P16_BR[2]; - static Pool P16_SR[2]; - static Pool P16_4X4[4]; - static Pool P16_LB[4]; - static Pool P16_LH[4]; - static Pool P16[32]; - static Pool MAJOR[2]; - }; #endif From patchwork Sun Oct 30 22:28:09 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 13025261 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 9D750FA3743 for ; Sun, 30 Oct 2022 22:34:01 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1opGpu-0006NM-O2; Sun, 30 Oct 2022 18:31:22 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1opGpt-0006KQ-VU for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:31:21 -0400 Received: from mail-wr1-x42a.google.com ([2a00:1450:4864:20::42a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1opGpr-0008BD-St for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:31:21 -0400 Received: by mail-wr1-x42a.google.com with SMTP id o4so13670761wrq.6 for ; Sun, 30 Oct 2022 15:31:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ITJ3L4PwJ5ZsTmRJYtpX31PZ6QQa3WN9qI3FxP4ohSo=; b=yqfyFZw/G/u5t1W4Q9dJIxiXyw23pQmFELyTrblG33sL5gdUBbBz5PPgmLOYLHZrDU SbxOdRIU4W05TFprolos+ylto2tKHoB2TasoVOWQCLVFFReq+GGST3nHHJ2J1TvbQysm hKYdunYj0+zMhlFTM5ZJtJhaUhOGVR6IilSdSijeAGWGGfEUm6E1jdUI4yCB77rlMvzn Jc+jHQY35WxCkKw0rzGUG5dMpg+RfVdUOfIVrb2tIjwPEqNvYoeFzs21lU0CD6/DsWDy 5xS99/FLinl4PMPUJ7dE7fXVbQtQID7grGZINU9WRFnza0siv8O40tSKW88gQT4p9qZ5 IpMA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ITJ3L4PwJ5ZsTmRJYtpX31PZ6QQa3WN9qI3FxP4ohSo=; b=0AyMrtL6XAJPtl0qYuRKZwiqjw33nUn0/MgM3Wx4k9twPT0YE7xNlKzhoYE03FNc0X VdggnV3ltd2g+3GIiHhthDLJH614xV7YsPK7FyP48v2WLptPcY3gAx4MWMT2hm7k6giK LaRuhFyFWn/R9h7bBIQUaQFvWKqaq/32PG52QNbsS9ZASLHEY7j5BAPYPAPeEvuYNS6B qDd2M+jBwMj8XBbdgHy3WyhcRl9YwcwDd7wsryncgKV5zxfyD7CmW0T3VA19WhqZw2Aa dr7xYScErKkLAy8HDRTJB3DQGrmGDuS559jvemEeedeaLXYRhJTL5yG53PKI+CQ60xRu uhqQ== X-Gm-Message-State: ACrzQf0JGAohqJJdJRqKF5KIfbVswg0MWDgS6CBGw0hzwoWx625AizcX fG8jupFKO4lRma2ptmYLYnZ0RkAQpOehgQ== X-Google-Smtp-Source: AMsMyM41eEo7B2tHom/2F8BtSdvSfT+DRcBQEywazH/rC+04T6fY8GOGuwkKq0b3YRrBCBUKtLUyIw== X-Received: by 2002:a5d:4604:0:b0:236:cfce:879d with SMTP id t4-20020a5d4604000000b00236cfce879dmr359677wrq.152.1667169078265; Sun, 30 Oct 2022 15:31:18 -0700 (PDT) Received: from localhost.localdomain ([185.126.107.38]) by smtp.gmail.com with ESMTPSA id bv5-20020a0560001f0500b0022ac38fb20asm5211947wrb.111.2022.10.30.15.31.16 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 30 Oct 2022 15:31:17 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Aleksandar Rikalo , Huacai Chen , Stefan Pejic , Jiaxun Yang , Aurelien Jarno , Paul Burton , Milica Lazarevic , Richard Henderson Subject: [PULL 23/55] disas/nanomips: Remove NMD class Date: Sun, 30 Oct 2022 23:28:09 +0100 Message-Id: <20221030222841.42377-24-philmd@linaro.org> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221030222841.42377-1-philmd@linaro.org> References: <20221030222841.42377-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42a; envelope-from=philmd@linaro.org; helo=mail-wr1-x42a.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Qemu-devel" Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Milica Lazarevic NMD class has been deleted. The following methods are now declared as static functions: - public NMD::Disassemble method - private NMD::Disassemble method - private NMD::extract_op_code_value helper method Also, the implementation of the print_insn_nanomips function and nanomips_dis function is moved to the end of the nanomips.cpp file, right after the implementation of the Disassemble function. Signed-off-by: Milica Lazarevic Reviewed-by: Richard Henderson Message-Id: <20220912122635.74032-10-milica.lazarevic@syrmia.com> Signed-off-by: Philippe Mathieu-Daudé --- disas/nanomips.cpp | 204 ++++++++++++++++++++++----------------------- disas/nanomips.h | 15 ---- 2 files changed, 101 insertions(+), 118 deletions(-) diff --git a/disas/nanomips.cpp b/disas/nanomips.cpp index a73eae5b33..0d67462e5d 100644 --- a/disas/nanomips.cpp +++ b/disas/nanomips.cpp @@ -41,105 +41,6 @@ #define IMGASSERTONCE(test) -static int nanomips_dis(char *buf, - Dis_info *info, - unsigned short one, - unsigned short two, - unsigned short three) -{ - std::string disasm; - uint16 bits[3] = {one, two, three}; - - TABLE_ENTRY_TYPE type; - NMD d; - int size = d.Disassemble(bits, disasm, type, info); - - strcpy(buf, disasm.c_str()); - return size; -} - -int print_insn_nanomips(bfd_vma memaddr, struct disassemble_info *info) -{ - int status; - bfd_byte buffer[2]; - uint16_t insn1 = 0, insn2 = 0, insn3 = 0; - char buf[200]; - - info->bytes_per_chunk = 2; - info->display_endian = info->endian; - info->insn_info_valid = 1; - info->branch_delay_insns = 0; - info->data_size = 0; - info->insn_type = dis_nonbranch; - info->target = 0; - info->target2 = 0; - - Dis_info disassm_info; - disassm_info.m_pc = memaddr; - - status = (*info->read_memory_func)(memaddr, buffer, 2, info); - if (status != 0) { - (*info->memory_error_func)(status, memaddr, info); - return -1; - } - - if (info->endian == BFD_ENDIAN_BIG) { - insn1 = bfd_getb16(buffer); - } else { - insn1 = bfd_getl16(buffer); - } - (*info->fprintf_func)(info->stream, "%04x ", insn1); - - /* Handle 32-bit opcodes. */ - if ((insn1 & 0x1000) == 0) { - status = (*info->read_memory_func)(memaddr + 2, buffer, 2, info); - if (status != 0) { - (*info->memory_error_func)(status, memaddr + 2, info); - return -1; - } - - if (info->endian == BFD_ENDIAN_BIG) { - insn2 = bfd_getb16(buffer); - } else { - insn2 = bfd_getl16(buffer); - } - (*info->fprintf_func)(info->stream, "%04x ", insn2); - } else { - (*info->fprintf_func)(info->stream, " "); - } - /* Handle 48-bit opcodes. */ - if ((insn1 >> 10) == 0x18) { - status = (*info->read_memory_func)(memaddr + 4, buffer, 2, info); - if (status != 0) { - (*info->memory_error_func)(status, memaddr + 4, info); - return -1; - } - - if (info->endian == BFD_ENDIAN_BIG) { - insn3 = bfd_getb16(buffer); - } else { - insn3 = bfd_getl16(buffer); - } - (*info->fprintf_func)(info->stream, "%04x ", insn3); - } else { - (*info->fprintf_func)(info->stream, " "); - } - - int length = nanomips_dis(buf, &disassm_info, insn1, insn2, insn3); - - /* FIXME: Should probably use a hash table on the major opcode here. */ - - (*info->fprintf_func) (info->stream, "%s", buf); - if (length > 0) { - return length / 8; - } - - info->insn_type = dis_noninsn; - - return insn3 ? 6 : insn2 ? 4 : 2; -} - - std::string img_format(const char *format, ...) { char buffer[256]; @@ -739,7 +640,7 @@ static std::string ADDRESS(uint64 value, int instruction_size, Dis_info *info) } -uint64 NMD::extract_op_code_value(const uint16 * data, int size) +static uint64 extract_op_code_value(const uint16 *data, int size) { switch (size) { case 16: @@ -765,7 +666,7 @@ uint64 NMD::extract_op_code_value(const uint16 * data, int size) * instruction size - negative is error * disassembly string - on error will constain error string */ -int NMD::Disassemble(const uint16 * data, std::string & dis, +static int Disassemble(const uint16 *data, std::string & dis, TABLE_ENTRY_TYPE & type, const Pool *table, int table_size, Dis_info *info) { @@ -22348,8 +22249,105 @@ static const Pool MAJOR[2] = { 0x0 }, /* P16 */ }; -int NMD::Disassemble(const uint16 *data, std::string & dis, - TABLE_ENTRY_TYPE & type, Dis_info *info) +static int Disassemble(const uint16 *data, std::string & dis, + TABLE_ENTRY_TYPE & type, Dis_info *info) { return Disassemble(data, dis, type, MAJOR, 2, info); } + +static int nanomips_dis(char *buf, + Dis_info *info, + unsigned short one, + unsigned short two, + unsigned short three) +{ + std::string disasm; + uint16 bits[3] = {one, two, three}; + + TABLE_ENTRY_TYPE type; + int size = Disassemble(bits, disasm, type, info); + + strcpy(buf, disasm.c_str()); + return size; +} + +int print_insn_nanomips(bfd_vma memaddr, struct disassemble_info *info) +{ + int status; + bfd_byte buffer[2]; + uint16_t insn1 = 0, insn2 = 0, insn3 = 0; + char buf[200]; + + info->bytes_per_chunk = 2; + info->display_endian = info->endian; + info->insn_info_valid = 1; + info->branch_delay_insns = 0; + info->data_size = 0; + info->insn_type = dis_nonbranch; + info->target = 0; + info->target2 = 0; + + Dis_info disassm_info; + disassm_info.m_pc = memaddr; + + status = (*info->read_memory_func)(memaddr, buffer, 2, info); + if (status != 0) { + (*info->memory_error_func)(status, memaddr, info); + return -1; + } + + if (info->endian == BFD_ENDIAN_BIG) { + insn1 = bfd_getb16(buffer); + } else { + insn1 = bfd_getl16(buffer); + } + (*info->fprintf_func)(info->stream, "%04x ", insn1); + + /* Handle 32-bit opcodes. */ + if ((insn1 & 0x1000) == 0) { + status = (*info->read_memory_func)(memaddr + 2, buffer, 2, info); + if (status != 0) { + (*info->memory_error_func)(status, memaddr + 2, info); + return -1; + } + + if (info->endian == BFD_ENDIAN_BIG) { + insn2 = bfd_getb16(buffer); + } else { + insn2 = bfd_getl16(buffer); + } + (*info->fprintf_func)(info->stream, "%04x ", insn2); + } else { + (*info->fprintf_func)(info->stream, " "); + } + /* Handle 48-bit opcodes. */ + if ((insn1 >> 10) == 0x18) { + status = (*info->read_memory_func)(memaddr + 4, buffer, 2, info); + if (status != 0) { + (*info->memory_error_func)(status, memaddr + 4, info); + return -1; + } + + if (info->endian == BFD_ENDIAN_BIG) { + insn3 = bfd_getb16(buffer); + } else { + insn3 = bfd_getl16(buffer); + } + (*info->fprintf_func)(info->stream, "%04x ", insn3); + } else { + (*info->fprintf_func)(info->stream, " "); + } + + int length = nanomips_dis(buf, &disassm_info, insn1, insn2, insn3); + + /* FIXME: Should probably use a hash table on the major opcode here. */ + + (*info->fprintf_func) (info->stream, "%s", buf); + if (length > 0) { + return length / 8; + } + + info->insn_type = dis_noninsn; + + return insn3 ? 6 : insn2 ? 4 : 2; +} diff --git a/disas/nanomips.h b/disas/nanomips.h index c56fc32b1e..47b44af751 100644 --- a/disas/nanomips.h +++ b/disas/nanomips.h @@ -80,19 +80,4 @@ typedef struct Pool { uint64 attributes; } Pool; -class NMD -{ -public: - - int Disassemble(const uint16 *data, std::string & dis, - TABLE_ENTRY_TYPE & type, Dis_info *info); - -private: - - uint64 extract_op_code_value(const uint16 *data, int size); - int Disassemble(const uint16 *data, std::string & dis, - TABLE_ENTRY_TYPE & type, const Pool *table, int table_size, - Dis_info *info); -}; - #endif From patchwork Sun Oct 30 22:28:10 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 13025258 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 53587ECAAA1 for ; Sun, 30 Oct 2022 22:33:16 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1opGq1-00075X-EZ; Sun, 30 Oct 2022 18:31:29 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1opGpz-0006qX-En for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:31:27 -0400 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1opGpx-0008Bd-L0 for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:31:27 -0400 Received: by mail-wm1-x32d.google.com with SMTP id 5so6234793wmo.1 for ; Sun, 30 Oct 2022 15:31:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=78GzyGFEMH2M2sCxvMXcou2KqVZiNLCYi4vOv1w4erk=; b=a8tjl+YqIWKQq4+Nrey+B3AtZZozXOYPyOXmT7HKBcHf92oUlYhsJHj3UK18J8pXhs PAO76hjb7wuFP8iUhlT+E9Pzn6LJEeC7mn7C7a9a0C2AHAyWQ4GWoksakeSkEenpou26 q5n8ZYdWLedML1VoFLlVgISJDFNfpGV3xPaT90wJG1pw0z5tFK5YfLpxtyxqISMXAv84 prBb503/RE3Jbw8lv1arbaVQNlsQTyqPGk3nCNsoGKL97D90Vij4CWxIOri+GHgKCTNe DivTiB6kfDjW4eQ/A3LjAaxaP/vxj2j0KlIhfCrrCA96OsV1vIO5RyWkKCMsXtAnJjeN a3Ug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=78GzyGFEMH2M2sCxvMXcou2KqVZiNLCYi4vOv1w4erk=; b=QI3cwiURD1JRbnNVHM8kQz1q0IqewfFa17+KmSWJL6lyaaFXTzIhjm/HKVBeTgAv8b tRQ6FvX5e26Y0aY1tALqKWh/buWMexDZtDvu5CIOjmi+fg0LtnYtdXOdHGse55STf4Hi WayO6eQdl2FNe3emCba1nSWPlw7U0yH+FpOpn8E61IXaJtE6XZ+6U/0UJCiqVSh+RrVF 4sX7IB5nzN5jR4gGZSwDay7h7tNn2NHPBQ31SwnpI2Fwu7th+xHGXO72/pGP57i4k1GN I1LMujq5Yh4ZdlHo5RZDMIILgNnGPKwRkSzKjv0wj30VhW7kNFZfBhZiOF9c01bBKZo0 6goA== X-Gm-Message-State: ACrzQf3Mw5SmhobBMOqjsxwhdYcSctC1XemK7WU4wwSXJUGxYCR+wukH FZ/rFq/z+ga2ukpI9xgK10ntJmFY8LSV7w== X-Google-Smtp-Source: AMsMyM5bKHiBAWC2nOoCRoQ+bkbVYSy3XuaEJGP6LA5FbbP4fGTyoXXMdlaJa8rnUdEuEyV0CP5Buw== X-Received: by 2002:a05:600c:4ed2:b0:3c6:c1ff:222 with SMTP id g18-20020a05600c4ed200b003c6c1ff0222mr5955721wmq.163.1667169084104; Sun, 30 Oct 2022 15:31:24 -0700 (PDT) Received: from localhost.localdomain ([185.126.107.38]) by smtp.gmail.com with ESMTPSA id z3-20020a05600c0a0300b003cf55844453sm5736540wmp.22.2022.10.30.15.31.22 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 30 Oct 2022 15:31:23 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Aleksandar Rikalo , Huacai Chen , Stefan Pejic , Jiaxun Yang , Aurelien Jarno , Paul Burton , Milica Lazarevic , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= , Richard Henderson Subject: [PULL 24/55] disas/nanomips: Move typedefs etc to nanomips.cpp Date: Sun, 30 Oct 2022 23:28:10 +0100 Message-Id: <20221030222841.42377-25-philmd@linaro.org> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221030222841.42377-1-philmd@linaro.org> References: <20221030222841.42377-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32d; envelope-from=philmd@linaro.org; helo=mail-wm1-x32d.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Qemu-devel" Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Milica Lazarevic The following is moved from the nanomips.h to nanomips.cpp file: - #include line - typedefs - enums - definition of the Pool struct. Header file nanomips.h will be deleted to be consistent with the rest of the disas/ code. Signed-off-by: Milica Lazarevic Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson Message-Id: <20220912122635.74032-11-milica.lazarevic@syrmia.com> Signed-off-by: Philippe Mathieu-Daudé --- disas/nanomips.cpp | 57 +++++++++++++++++++++++++++++++++++++++++++++- disas/nanomips.h | 57 ---------------------------------------------- 2 files changed, 56 insertions(+), 58 deletions(-) diff --git a/disas/nanomips.cpp b/disas/nanomips.cpp index 0d67462e5d..7d09fd1a69 100644 --- a/disas/nanomips.cpp +++ b/disas/nanomips.cpp @@ -36,7 +36,62 @@ #include #include -#include "nanomips.h" +#include + +typedef int64_t int64; +typedef uint64_t uint64; +typedef uint32_t uint32; +typedef uint16_t uint16; +typedef uint64_t img_address; + +enum TABLE_ENTRY_TYPE { + instruction, + call_instruction, + branch_instruction, + return_instruction, + reserved_block, + pool, +}; + +enum TABLE_ATTRIBUTE_TYPE { + MIPS64_ = 0x00000001, + XNP_ = 0x00000002, + XMMS_ = 0x00000004, + EVA_ = 0x00000008, + DSP_ = 0x00000010, + MT_ = 0x00000020, + EJTAG_ = 0x00000040, + TLBINV_ = 0x00000080, + CP0_ = 0x00000100, + CP1_ = 0x00000200, + CP2_ = 0x00000400, + UDI_ = 0x00000800, + MCU_ = 0x00001000, + VZ_ = 0x00002000, + TLB_ = 0x00004000, + MVH_ = 0x00008000, + ALL_ATTRIBUTES = 0xffffffffull, +}; + +typedef struct Dis_info { + img_address m_pc; +} Dis_info; + +typedef bool (*conditional_function)(uint64 instruction); +typedef std::string (*disassembly_function)(uint64 instruction, + Dis_info *info); + +typedef struct Pool { + TABLE_ENTRY_TYPE type; + const struct Pool *next_table; + int next_table_size; + int instructions_size; + uint64 mask; + uint64 value; + disassembly_function disassembly; + conditional_function condition; + uint64 attributes; +} Pool; #define IMGASSERTONCE(test) diff --git a/disas/nanomips.h b/disas/nanomips.h index 47b44af751..0fd7299900 100644 --- a/disas/nanomips.h +++ b/disas/nanomips.h @@ -23,61 +23,4 @@ #ifndef DISAS_NANOMIPS_H #define DISAS_NANOMIPS_H -#include - -typedef int64_t int64; -typedef uint64_t uint64; -typedef uint32_t uint32; -typedef uint16_t uint16; -typedef uint64_t img_address; - -enum TABLE_ENTRY_TYPE { - instruction, - call_instruction, - branch_instruction, - return_instruction, - reserved_block, - pool, -}; - -enum TABLE_ATTRIBUTE_TYPE { - MIPS64_ = 0x00000001, - XNP_ = 0x00000002, - XMMS_ = 0x00000004, - EVA_ = 0x00000008, - DSP_ = 0x00000010, - MT_ = 0x00000020, - EJTAG_ = 0x00000040, - TLBINV_ = 0x00000080, - CP0_ = 0x00000100, - CP1_ = 0x00000200, - CP2_ = 0x00000400, - UDI_ = 0x00000800, - MCU_ = 0x00001000, - VZ_ = 0x00002000, - TLB_ = 0x00004000, - MVH_ = 0x00008000, - ALL_ATTRIBUTES = 0xffffffffull, -}; - -typedef struct Dis_info { - img_address m_pc; -} Dis_info; - -typedef bool (*conditional_function)(uint64 instruction); -typedef std::string (*disassembly_function)(uint64 instruction, - Dis_info *info); - -typedef struct Pool { - TABLE_ENTRY_TYPE type; - const struct Pool *next_table; - int next_table_size; - int instructions_size; - uint64 mask; - uint64 value; - disassembly_function disassembly; - conditional_function condition; - uint64 attributes; -} Pool; - #endif From patchwork Sun Oct 30 22:28:11 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 13025277 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 79B13ECAAA1 for ; Sun, 30 Oct 2022 22:37:04 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1opGqH-0007Yt-UZ; Sun, 30 Oct 2022 18:31:46 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1opGq5-0007PR-S3 for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:31:37 -0400 Received: from mail-wr1-x434.google.com ([2a00:1450:4864:20::434]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1opGq3-0008C2-Dr for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:31:33 -0400 Received: by mail-wr1-x434.google.com with SMTP id bs21so13674595wrb.4 for ; Sun, 30 Oct 2022 15:31:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=U2DAvAxi1UoKkJ0GzuWn+f6o9F6QiQgdHldLL+8BJrA=; b=GrASW2XqPhzDe2buRxO4zhYZRq+13mHGih9n0LYeswCrRjpIV0Lzw3P1YGsvsVzZMZ 1DnM0vhWdJvd1mNRoiaEICApT9LqMgYq8vC5cxUVjXelyLhaP6F9nH+B8kZsvfeE87Pm fUCfuy1IqwdPVRX3fK350CrFCFQa+w5FSzYiqy/BDizXjcm/exYIYWMKJ3pEfy9zVP0u SgDOv4e2KNTJY0RID1/EX+CDWcqI4fGUNhSLMNHmaTab6s2Q8tvWN7gAIrBknFV7RxWb LiAGns5wmCpGQjQ3ZNXrq9aGE+tRq8vkguu9O5f8r0n8RMSWlwNfb+2c6sCMVJ9wMB0z 2Bbw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=U2DAvAxi1UoKkJ0GzuWn+f6o9F6QiQgdHldLL+8BJrA=; b=Onxme1d6+Unbchw1hgZpE1VC/QlBMLGUxmiYyj3vic4dCoKnDqNJti/1AwDS7d8vRB VjQjCcIhccgrh4PB86QOtRLcJUjv1IEp0RGztGXShxFCIrb48q0crArK5YJ7uV4H1OKN 8H6OWCfm/xE7WYgVhtYU62wK5bGH07OD0cff8o2YkVd9GznYm3JCLkIGqnXiuduDbyR/ 16gaEHAOipW7nEha/u8oGaNVON19+b9WWT3mU00TRqglOMnzbYtS5i2v8hjm88qOEyVd 9wWjXg7v8F7BYI4wZ9s614e12Hxa3TKapnuKliRK5SFneZXo0HdK5xaB8XzGfybjEYFf zjkw== X-Gm-Message-State: ACrzQf2yUA8mGdEHROaE3Tyh2IJnOwC9ABLmibyIgOd4KQDVa4JBg9t7 eBPIQikkZuYeWJq614GK9JUakiRVQ6pTTQ== X-Google-Smtp-Source: AMsMyM52C3x/W46s0mcJWIjPRAcR54LiiqE14EyKX/TcwhoDrudJxcZdyzjXK6+LG9c3ipXmRsdQtA== X-Received: by 2002:adf:ba8f:0:b0:22c:def3:1179 with SMTP id p15-20020adfba8f000000b0022cdef31179mr6090703wrg.571.1667169089791; Sun, 30 Oct 2022 15:31:29 -0700 (PDT) Received: from localhost.localdomain ([185.126.107.38]) by smtp.gmail.com with ESMTPSA id m13-20020adffe4d000000b0022afcc11f65sm5228711wrs.47.2022.10.30.15.31.28 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 30 Oct 2022 15:31:29 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Aleksandar Rikalo , Huacai Chen , Stefan Pejic , Jiaxun Yang , Aurelien Jarno , Paul Burton , Milica Lazarevic , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= , Richard Henderson Subject: [PULL 25/55] disas/nanomips: Delete nanomips.h Date: Sun, 30 Oct 2022 23:28:11 +0100 Message-Id: <20221030222841.42377-26-philmd@linaro.org> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221030222841.42377-1-philmd@linaro.org> References: <20221030222841.42377-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::434; envelope-from=philmd@linaro.org; helo=mail-wr1-x434.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Qemu-devel" Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Milica Lazarevic Header file nanomips.h has been deleted for the nanomips disassembler to stay consistent with the rest of the disassemblers which don't include extra header files. Signed-off-by: Milica Lazarevic Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson Message-Id: <20220912122635.74032-12-milica.lazarevic@syrmia.com> Signed-off-by: Philippe Mathieu-Daudé --- disas/nanomips.h | 26 -------------------------- 1 file changed, 26 deletions(-) delete mode 100644 disas/nanomips.h diff --git a/disas/nanomips.h b/disas/nanomips.h deleted file mode 100644 index 0fd7299900..0000000000 --- a/disas/nanomips.h +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Header file for nanoMIPS disassembler component of QEMU - * - * Copyright (C) 2018 Wave Computing, Inc. - * Copyright (C) 2018 Matthew Fortune - * Copyright (C) 2018 Aleksandar Markovic - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - */ - -#ifndef DISAS_NANOMIPS_H -#define DISAS_NANOMIPS_H - -#endif From patchwork Sun Oct 30 22:28:12 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 13025276 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 3BC8DECAAA1 for ; Sun, 30 Oct 2022 22:37:01 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1opGqZ-0007xP-KR; Sun, 30 Oct 2022 18:32:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1opGqD-0007VH-8d for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:31:44 -0400 Received: from mail-wr1-x432.google.com ([2a00:1450:4864:20::432]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1opGq9-0008J7-DP for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:31:39 -0400 Received: by mail-wr1-x432.google.com with SMTP id g12so13652830wrs.10 for ; Sun, 30 Oct 2022 15:31:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=TIEJOSpU/Dh3jMhqs70wGUD/EFFQYutQ0ncwTTPFOc0=; b=iZ9H8C0GUKToaq5P2PzRLE8THGHzlLiYCAi3kCmZtWHo9sQMlwlWbyraPY2vvm670o Ahsqe2iHT8xyT7HZWkjNvl6V/j5+wrS/2U8HLlIMOBaD/Pg2ande/MqbW88IdWEn7Tqw Fg3am129KRqXHVQuU+3e+6M9iUeq5w21vVN5EXNeEyen04ITGCQWj41i+7kcAxkw2KMo l57xN6KPtW/qmyRGVYt+GMesisLPczuBCNC4wZoKHDi1R+KHJvnOt4JXfJWxDIKEGiqH tAKKs3ZKWKWUav7ZnVyZIT8FLrfhsqHE4AAJRVLfHgYusdjJ6uqetsTZ+pgjmpBT6+Sc PCIw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=TIEJOSpU/Dh3jMhqs70wGUD/EFFQYutQ0ncwTTPFOc0=; b=EuOOSegBRCXlNKnKnmm1gs+6UQYS0HJzwk4lBa3eoL2qISF7130AzY/hGI7g9/HYT9 xQzKXE+aaiZPoaKRY8vpXyoF11ERRbJnhArvluqrqFps6bySPHOBD4rtKiTRH6TPSFl9 ltWOW4JltaYAf1gTOCpEDa+cP05OnczRRlxNrFUaUfu7m8JvRYJ06KWSBynfekf+Gu5X UYd7/yu2JNfFtBRxVZKbCoectwHXZgTvCmhIeozlF+f6ERDKlFOjL/xkvgyOf5KCUhnY 3dY3sAv/8x3KLoBdtYY45vJYq/jjnGu36vl+aEfa0lQk56Fw0eIx/opDXC/16hg3S043 ImZQ== X-Gm-Message-State: ACrzQf1KbseFg4/2y84XiKXxZgTsishkVSKT//rL//Q85czyev4bQllW yzJ6cvWjRtDzkTUYhC65JxL7cnpUWRp1lg== X-Google-Smtp-Source: AMsMyM6gvcfrVz87VdFJYgdq+YQo/FzgqFyPO0eAw6tJZT9SpjMaJvtecWkzJXPwb86vtl/N2my35g== X-Received: by 2002:adf:e7c8:0:b0:236:6a30:cb2e with SMTP id e8-20020adfe7c8000000b002366a30cb2emr6233199wrn.12.1667169095641; Sun, 30 Oct 2022 15:31:35 -0700 (PDT) Received: from localhost.localdomain ([185.126.107.38]) by smtp.gmail.com with ESMTPSA id q4-20020a7bce84000000b003c6cd82596esm5310940wmj.43.2022.10.30.15.31.34 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 30 Oct 2022 15:31:35 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Aleksandar Rikalo , Huacai Chen , Stefan Pejic , Jiaxun Yang , Aurelien Jarno , Paul Burton , Milica Lazarevic , Thomas Huth , Richard Henderson Subject: [PULL 26/55] disas/nanomips: Remove #include Date: Sun, 30 Oct 2022 23:28:12 +0100 Message-Id: <20221030222841.42377-27-philmd@linaro.org> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221030222841.42377-1-philmd@linaro.org> References: <20221030222841.42377-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::432; envelope-from=philmd@linaro.org; helo=mail-wr1-x432.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Qemu-devel" Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Milica Lazarevic is a C++ library and it's not used by disassembler. Signed-off-by: Milica Lazarevic Reviewed-by: Thomas Huth Reviewed-by: Richard Henderson Message-Id: <20220912122635.74032-13-milica.lazarevic@syrmia.com> Signed-off-by: Philippe Mathieu-Daudé --- disas/nanomips.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/disas/nanomips.cpp b/disas/nanomips.cpp index 7d09fd1a69..4b49630b8b 100644 --- a/disas/nanomips.cpp +++ b/disas/nanomips.cpp @@ -32,7 +32,6 @@ #include #include -#include #include #include From patchwork Sun Oct 30 22:28:13 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 13025259 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 6C87DC38A02 for ; Sun, 30 Oct 2022 22:33:49 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1opGr4-0000NS-9V; Sun, 30 Oct 2022 18:32:34 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1opGqR-0007ue-3b for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:31:59 -0400 Received: from mail-wr1-x42d.google.com ([2a00:1450:4864:20::42d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1opGqL-0008Lu-Rq for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:31:54 -0400 Received: by mail-wr1-x42d.google.com with SMTP id z14so13650869wrn.7 for ; Sun, 30 Oct 2022 15:31:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=WoSfy1sLbcW9mjgjjm8BGTuny1q7Pkf7lJRrtY28CiU=; b=PpR3ITgDBpSECFXSWo4enkKsNn82TBl5+OhIWfYN3NgE9XeRQu2yJWVGzdetRVP74a Btsa1MFnJq/JBc8As0TaEgYiCOXrnMuSMJUFhN9hgUAQn6wrRVieoQ9a2JHv3mv7Bc34 wueHkw19GoG5s2IK1v9TTJTDM86L/jxAYK5L4+k5UD2X3QG+2R7+2ORj9bN0OxWuaJv4 2nt8oDSEoV8uHcCina0UhsD1z8uP3euZzNf/jv1gb8c6obHsQedO1t56+0/zK8cmI2cE CUCHlOcdrCEcCUd3MMIEqVToHSoqjhwojxgYY1tcKEyxML2hJxxj6KbV1s4DLdLiuR02 BFcQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=WoSfy1sLbcW9mjgjjm8BGTuny1q7Pkf7lJRrtY28CiU=; b=epzt9iSCntYSfjghTBSrzFMfncJBEUkpDjPvqIA0/wYhlMVUFjFkvrZLMX/f6JzALy oqk3v1iNwicgosTvyKMk4hWmlPTFE1ANucfR/nJs0yAYac5sten6yAQxTA2pDya/KhJ2 4/tTqc8pwNkYrdQsNSIWP+TzRu1NA+jJQz0IVrWsmibF5aWHz90lkIKCbK8YqtfAyp96 iAxF/b2I4eq7r9nCyhHFDLwcVl1hWGzdBsaWZ1vFluYg4UgGbDgEBtlUoLB/fwoDmewB bz9EUXmgOVCmfezkTq4TVvjpB2R9MtIBIXZLHCF3j/dpuRzGd2E6ULcd9mOQO8/QmI61 LySA== X-Gm-Message-State: ACrzQf3a7CtCIlCk/rCbObl1tdFIvYr3d4k7bZkNkFl6mdVGwVCYYvr7 4fw4hLHHOsblv5ZTSuhmiYkW5PDQ46tE8A== X-Google-Smtp-Source: AMsMyM4zKyxO3tYdoReWGwn2oiAgCnJWbtjO0rLicZj91H9qUTJmTqPM9EnPSZC5+FOb7JSAyzaqhA== X-Received: by 2002:a5d:644d:0:b0:236:8330:a5bf with SMTP id d13-20020a5d644d000000b002368330a5bfmr5814059wrw.125.1667169101748; Sun, 30 Oct 2022 15:31:41 -0700 (PDT) Received: from localhost.localdomain ([185.126.107.38]) by smtp.gmail.com with ESMTPSA id h17-20020a5d6e11000000b002356c051b9csm5141427wrz.66.2022.10.30.15.31.39 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 30 Oct 2022 15:31:41 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Aleksandar Rikalo , Huacai Chen , Stefan Pejic , Jiaxun Yang , Aurelien Jarno , Paul Burton , Milica Lazarevic , Richard Henderson Subject: [PULL 27/55] disas/nanomips: Delete copy functions Date: Sun, 30 Oct 2022 23:28:13 +0100 Message-Id: <20221030222841.42377-28-philmd@linaro.org> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221030222841.42377-1-philmd@linaro.org> References: <20221030222841.42377-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42d; envelope-from=philmd@linaro.org; helo=mail-wr1-x42d.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Qemu-devel" Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Milica Lazarevic Functions that have just one parameter and simply return it have been deleted. Calls to these functions have been replaced with the argument itself. We're deleting following functions: - both versions of copy() - encode_s_from_address() - encode_u_from_address() - encode_lsb_from_pos_and_size() Signed-off-by: Milica Lazarevic Reviewed-by: Richard Henderson Message-Id: <20220912122635.74032-14-milica.lazarevic@syrmia.com> Signed-off-by: Philippe Mathieu-Daudé --- disas/nanomips.cpp | 3151 ++++++++++++++++++++++---------------------- 1 file changed, 1559 insertions(+), 1592 deletions(-) diff --git a/disas/nanomips.cpp b/disas/nanomips.cpp index 4b49630b8b..b90be5744e 100644 --- a/disas/nanomips.cpp +++ b/disas/nanomips.cpp @@ -499,18 +499,6 @@ static uint64 decode_gpr_gpr1(uint64 d) } -static uint64 copy(uint64 d) -{ - return d; -} - - -static int64 copy(int64 d) -{ - return d; -} - - static int64 neg_copy(uint64 d) { return 0ll - d; @@ -531,20 +519,6 @@ static uint64 encode_rs3_and_check_rs3_lt_rt3(uint64 d) } -/* nop - done by extraction function */ -static uint64 encode_s_from_address(uint64 d) -{ - return d; -} - - -/* nop - done by extraction function */ -static uint64 encode_u_from_address(uint64 d) -{ - return d; -} - - static uint64 encode_count3_from_count(uint64 d) { IMGASSERTONCE(d < 8); @@ -594,13 +568,6 @@ static uint64 encode_rt1_from_rt(uint64 d) } -/* ? */ -static uint64 encode_lsb_from_pos_and_size(uint64 d) -{ - return d; -} - - static std::string GPR(uint64 reg) { static const char *gpr_reg[32] = { @@ -1710,8 +1677,8 @@ static std::string ABS_D(uint64 instruction, Dis_info *info) uint64 fd_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string fs = FPR(copy(fs_value)); - std::string fd = FPR(copy(fd_value)); + std::string fs = FPR(fs_value); + std::string fd = FPR(fd_value); return img_format("ABS.D %s, %s", fd, fs); } @@ -1732,8 +1699,8 @@ static std::string ABS_S(uint64 instruction, Dis_info *info) uint64 fd_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string fs = FPR(copy(fs_value)); - std::string fd = FPR(copy(fd_value)); + std::string fs = FPR(fs_value); + std::string fd = FPR(fd_value); return img_format("ABS.S %s, %s", fd, fs); } @@ -1754,8 +1721,8 @@ static std::string ABSQ_S_PH(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); return img_format("ABSQ_S.PH %s, %s", rt, rs); } @@ -1776,8 +1743,8 @@ static std::string ABSQ_S_QB(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); return img_format("ABSQ_S.QB %s, %s", rt, rs); } @@ -1798,8 +1765,8 @@ static std::string ABSQ_S_W(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); return img_format("ABSQ_S.W %s, %s", rt, rs); } @@ -1820,9 +1787,9 @@ static std::string ACLR(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string bit = IMMEDIATE(copy(bit_value)); - std::string s = IMMEDIATE(copy(s_value)); - std::string rs = GPR(copy(rs_value)); + std::string bit = IMMEDIATE(bit_value); + std::string s = IMMEDIATE(s_value); + std::string rs = GPR(rs_value); return img_format("ACLR %s, %s(%s)", bit, s, rs); } @@ -1843,9 +1810,9 @@ static std::string ADD(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("ADD %s, %s, %s", rd, rs, rt); } @@ -1868,9 +1835,9 @@ static std::string ADD_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string ft = FPR(copy(ft_value)); - std::string fs = FPR(copy(fs_value)); - std::string fd = FPR(copy(fd_value)); + std::string ft = FPR(ft_value); + std::string fs = FPR(fs_value); + std::string fd = FPR(fd_value); return img_format("ADD.D %s, %s, %s", fd, fs, ft); } @@ -1893,9 +1860,9 @@ static std::string ADD_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string ft = FPR(copy(ft_value)); - std::string fs = FPR(copy(fs_value)); - std::string fd = FPR(copy(fd_value)); + std::string ft = FPR(ft_value); + std::string fs = FPR(fs_value); + std::string fd = FPR(fd_value); return img_format("ADD.S %s, %s, %s", fd, fs, ft); } @@ -1916,9 +1883,9 @@ static std::string ADDIU_32_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_15_to_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); - std::string u = IMMEDIATE(copy(u_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); + std::string u = IMMEDIATE(u_value); return img_format("ADDIU %s, %s, %s", rt, rs, u); } @@ -1938,8 +1905,8 @@ static std::string ADDIU_48_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_41_40_39_38_37(instruction); int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction); - std::string rt = GPR(copy(rt_value)); - std::string s = IMMEDIATE(copy(s_value)); + std::string rt = GPR(rt_value); + std::string s = IMMEDIATE(s_value); return img_format("ADDIU %s, %s", rt, s); } @@ -1959,8 +1926,8 @@ static std::string ADDIU_GP48_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_41_40_39_38_37(instruction); int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction); - std::string rt = GPR(copy(rt_value)); - std::string s = IMMEDIATE(copy(s_value)); + std::string rt = GPR(rt_value); + std::string s = IMMEDIATE(s_value); return img_format("ADDIU %s, $%d, %s", rt, 28, s); } @@ -1980,8 +1947,8 @@ static std::string ADDIU_GP_B_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string u = IMMEDIATE(copy(u_value)); + std::string rt = GPR(rt_value); + std::string u = IMMEDIATE(u_value); return img_format("ADDIU %s, $%d, %s", rt, 28, u); } @@ -2001,8 +1968,8 @@ static std::string ADDIU_GP_W_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_20_to_2__s2(instruction); - std::string rt = GPR(copy(rt_value)); - std::string u = IMMEDIATE(copy(u_value)); + std::string rt = GPR(rt_value); + std::string u = IMMEDIATE(u_value); return img_format("ADDIU %s, $%d, %s", rt, 28, u); } @@ -2023,8 +1990,8 @@ static std::string ADDIU_NEG_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); std::string u = IMMEDIATE(neg_copy(u_value)); return img_format("ADDIU %s, %s, %s", rt, rs, u); @@ -2046,7 +2013,7 @@ static std::string ADDIU_R1_SP_(uint64 instruction, Dis_info *info) uint64 rt3_value = extract_rt3_9_8_7(instruction); std::string rt3 = GPR(decode_gpr_gpr3(rt3_value)); - std::string u = IMMEDIATE(copy(u_value)); + std::string u = IMMEDIATE(u_value); return img_format("ADDIU %s, $%d, %s", rt3, 29, u); } @@ -2069,7 +2036,7 @@ static std::string ADDIU_R2_(uint64 instruction, Dis_info *info) std::string rt3 = GPR(decode_gpr_gpr3(rt3_value)); std::string rs3 = GPR(decode_gpr_gpr3(rs3_value)); - std::string u = IMMEDIATE(copy(u_value)); + std::string u = IMMEDIATE(u_value); return img_format("ADDIU %s, %s, %s", rt3, rs3, u); } @@ -2088,8 +2055,8 @@ static std::string ADDIU_RS5_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_9_8_7_6_5(instruction); int64 s_value = extract_s__se3_4_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string s = IMMEDIATE(copy(s_value)); + std::string rt = GPR(rt_value); + std::string s = IMMEDIATE(s_value); return img_format("ADDIU %s, %s", rt, s); } @@ -2110,8 +2077,8 @@ static std::string ADDIUPC_32_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); int64 s_value = extract_s__se21_0_20_to_1_s1(instruction); - std::string rt = GPR(copy(rt_value)); - std::string s = ADDRESS(encode_s_from_address(s_value), 4, info); + std::string rt = GPR(rt_value); + std::string s = ADDRESS(s_value, 4, info); return img_format("ADDIUPC %s, %s", rt, s); } @@ -2132,8 +2099,8 @@ static std::string ADDIUPC_48_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_41_40_39_38_37(instruction); int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction); - std::string rt = GPR(copy(rt_value)); - std::string s = ADDRESS(encode_s_from_address(s_value), 6, info); + std::string rt = GPR(rt_value); + std::string s = ADDRESS(s_value, 6, info); return img_format("ADDIUPC %s, %s", rt, s); } @@ -2155,9 +2122,9 @@ static std::string ADDQ_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("ADDQ.PH %s, %s, %s", rd, rs, rt); } @@ -2180,9 +2147,9 @@ static std::string ADDQ_S_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("ADDQ_S.PH %s, %s, %s", rd, rs, rt); } @@ -2204,9 +2171,9 @@ static std::string ADDQ_S_W(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("ADDQ_S.W %s, %s, %s", rd, rs, rt); } @@ -2229,9 +2196,9 @@ static std::string ADDQH_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("ADDQH.PH %s, %s, %s", rd, rs, rt); } @@ -2254,9 +2221,9 @@ static std::string ADDQH_R_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("ADDQH_R.PH %s, %s, %s", rd, rs, rt); } @@ -2279,9 +2246,9 @@ static std::string ADDQH_R_W(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("ADDQH_R.W %s, %s, %s", rd, rs, rt); } @@ -2304,9 +2271,9 @@ static std::string ADDQH_W(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("ADDQH.W %s, %s, %s", rd, rs, rt); } @@ -2328,9 +2295,9 @@ static std::string ADDSC(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("ADDSC %s, %s, %s", rd, rs, rt); } @@ -2375,9 +2342,9 @@ static std::string ADDU_32_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("ADDU %s, %s, %s", rd, rs, rt); } @@ -2421,9 +2388,9 @@ static std::string ADDU_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("ADDU.PH %s, %s, %s", rd, rs, rt); } @@ -2445,9 +2412,9 @@ static std::string ADDU_QB(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("ADDU.QB %s, %s, %s", rd, rs, rt); } @@ -2470,9 +2437,9 @@ static std::string ADDU_S_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("ADDU_S.PH %s, %s, %s", rd, rs, rt); } @@ -2494,9 +2461,9 @@ static std::string ADDU_S_QB(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("ADDU_S.QB %s, %s, %s", rd, rs, rt); } @@ -2519,9 +2486,9 @@ static std::string ADDUH_QB(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("ADDUH.QB %s, %s, %s", rd, rs, rt); } @@ -2544,9 +2511,9 @@ static std::string ADDUH_R_QB(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("ADDUH_R.QB %s, %s, %s", rd, rs, rt); } @@ -2567,9 +2534,9 @@ static std::string ADDWC(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("ADDWC %s, %s, %s", rd, rs, rt); } @@ -2590,8 +2557,8 @@ static std::string ALUIPC(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); int64 s_value = extract_s__se31_0_11_to_2_20_to_12_s12(instruction); - std::string rt = GPR(copy(rt_value)); - std::string s = ADDRESS(encode_s_from_address(s_value), 4, info); + std::string rt = GPR(rt_value); + std::string s = ADDRESS(s_value, 4, info); return img_format("ALUIPC %s, %%pcrel_hi(%s)", rt, s); } @@ -2634,9 +2601,9 @@ static std::string AND_32_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("AND %s, %s, %s", rd, rs, rt); } @@ -2681,9 +2648,9 @@ static std::string ANDI_32_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); - std::string u = IMMEDIATE(copy(u_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); + std::string u = IMMEDIATE(u_value); return img_format("ANDI %s, %s, %s", rt, rs, u); } @@ -2705,9 +2672,9 @@ static std::string APPEND(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 sa_value = extract_sa_15_14_13_12_11(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); - std::string sa = IMMEDIATE(copy(sa_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); + std::string sa = IMMEDIATE(sa_value); return img_format("APPEND %s, %s, %s", rt, rs, sa); } @@ -2729,9 +2696,9 @@ static std::string ASET(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string bit = IMMEDIATE(copy(bit_value)); - std::string s = IMMEDIATE(copy(s_value)); - std::string rs = GPR(copy(rs_value)); + std::string bit = IMMEDIATE(bit_value); + std::string s = IMMEDIATE(s_value); + std::string rs = GPR(rs_value); return img_format("ASET %s, %s(%s)", bit, s, rs); } @@ -2751,7 +2718,7 @@ static std::string BALC_16_(uint64 instruction, Dis_info *info) { int64 s_value = extract_s__se10_0_9_8_7_6_5_4_3_2_1_s1(instruction); - std::string s = ADDRESS(encode_s_from_address(s_value), 2, info); + std::string s = ADDRESS(s_value, 2, info); return img_format("BALC %s", s); } @@ -2771,7 +2738,7 @@ static std::string BALC_32_(uint64 instruction, Dis_info *info) { int64 s_value = extract_s__se25_0_24_to_1_s1(instruction); - std::string s = ADDRESS(encode_s_from_address(s_value), 4, info); + std::string s = ADDRESS(s_value, 4, info); return img_format("BALC %s", s); } @@ -2792,8 +2759,8 @@ static std::string BALRSC(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); return img_format("BALRSC %s, %s", rt, rs); } @@ -2815,9 +2782,9 @@ static std::string BBEQZC(uint64 instruction, Dis_info *info) uint64 bit_value = extract_bit_16_15_14_13_12_11(instruction); int64 s_value = extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(instruction); - std::string rt = GPR(copy(rt_value)); - std::string bit = IMMEDIATE(copy(bit_value)); - std::string s = ADDRESS(encode_s_from_address(s_value), 4, info); + std::string rt = GPR(rt_value); + std::string bit = IMMEDIATE(bit_value); + std::string s = ADDRESS(s_value, 4, info); return img_format("BBEQZC %s, %s, %s", rt, bit, s); } @@ -2839,9 +2806,9 @@ static std::string BBNEZC(uint64 instruction, Dis_info *info) uint64 bit_value = extract_bit_16_15_14_13_12_11(instruction); int64 s_value = extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(instruction); - std::string rt = GPR(copy(rt_value)); - std::string bit = IMMEDIATE(copy(bit_value)); - std::string s = ADDRESS(encode_s_from_address(s_value), 4, info); + std::string rt = GPR(rt_value); + std::string bit = IMMEDIATE(bit_value); + std::string s = ADDRESS(s_value, 4, info); return img_format("BBNEZC %s, %s, %s", rt, bit, s); } @@ -2861,7 +2828,7 @@ static std::string BC_16_(uint64 instruction, Dis_info *info) { int64 s_value = extract_s__se10_0_9_8_7_6_5_4_3_2_1_s1(instruction); - std::string s = ADDRESS(encode_s_from_address(s_value), 2, info); + std::string s = ADDRESS(s_value, 2, info); return img_format("BC %s", s); } @@ -2881,7 +2848,7 @@ static std::string BC_32_(uint64 instruction, Dis_info *info) { int64 s_value = extract_s__se25_0_24_to_1_s1(instruction); - std::string s = ADDRESS(encode_s_from_address(s_value), 4, info); + std::string s = ADDRESS(s_value, 4, info); return img_format("BC %s", s); } @@ -2902,8 +2869,8 @@ static std::string BC1EQZC(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); int64 s_value = extract_s__se14_0_13_to_1_s1(instruction); - std::string ft = FPR(copy(ft_value)); - std::string s = ADDRESS(encode_s_from_address(s_value), 4, info); + std::string ft = FPR(ft_value); + std::string s = ADDRESS(s_value, 4, info); return img_format("BC1EQZC %s, %s", ft, s); } @@ -2924,8 +2891,8 @@ static std::string BC1NEZC(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); int64 s_value = extract_s__se14_0_13_to_1_s1(instruction); - std::string ft = FPR(copy(ft_value)); - std::string s = ADDRESS(encode_s_from_address(s_value), 4, info); + std::string ft = FPR(ft_value); + std::string s = ADDRESS(s_value, 4, info); return img_format("BC1NEZC %s, %s", ft, s); } @@ -2946,8 +2913,8 @@ static std::string BC2EQZC(uint64 instruction, Dis_info *info) uint64 ct_value = extract_ct_25_24_23_22_21(instruction); int64 s_value = extract_s__se14_0_13_to_1_s1(instruction); - std::string ct = CPR(copy(ct_value)); - std::string s = ADDRESS(encode_s_from_address(s_value), 4, info); + std::string ct = CPR(ct_value); + std::string s = ADDRESS(s_value, 4, info); return img_format("BC2EQZC %s, %s", ct, s); } @@ -2968,8 +2935,8 @@ static std::string BC2NEZC(uint64 instruction, Dis_info *info) uint64 ct_value = extract_ct_25_24_23_22_21(instruction); int64 s_value = extract_s__se14_0_13_to_1_s1(instruction); - std::string ct = CPR(copy(ct_value)); - std::string s = ADDRESS(encode_s_from_address(s_value), 4, info); + std::string ct = CPR(ct_value); + std::string s = ADDRESS(s_value, 4, info); return img_format("BC2NEZC %s, %s", ct, s); } @@ -2993,7 +2960,7 @@ static std::string BEQC_16_(uint64 instruction, Dis_info *info) std::string rs3 = GPR(encode_rs3_and_check_rs3_lt_rt3(rs3_value)); std::string rt3 = GPR(decode_gpr_gpr3(rt3_value)); - std::string u = ADDRESS(encode_u_from_address(u_value), 2, info); + std::string u = ADDRESS(u_value, 2, info); return img_format("BEQC %s, %s, %s", rs3, rt3, u); } @@ -3015,9 +2982,9 @@ static std::string BEQC_32_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se14_0_13_to_1_s1(instruction); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); - std::string s = ADDRESS(encode_s_from_address(s_value), 4, info); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); + std::string s = ADDRESS(s_value, 4, info); return img_format("BEQC %s, %s, %s", rs, rt, s); } @@ -3039,9 +3006,9 @@ static std::string BEQIC(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_17_16_15_14_13_12_11(instruction); int64 s_value = extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(instruction); - std::string rt = GPR(copy(rt_value)); - std::string u = IMMEDIATE(copy(u_value)); - std::string s = ADDRESS(encode_s_from_address(s_value), 4, info); + std::string rt = GPR(rt_value); + std::string u = IMMEDIATE(u_value); + std::string s = ADDRESS(s_value, 4, info); return img_format("BEQIC %s, %s, %s", rt, u, s); } @@ -3063,7 +3030,7 @@ static std::string BEQZC_16_(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se7_0_6_5_4_3_2_1_s1(instruction); std::string rt3 = GPR(decode_gpr_gpr3(rt3_value)); - std::string s = ADDRESS(encode_s_from_address(s_value), 2, info); + std::string s = ADDRESS(s_value, 2, info); return img_format("BEQZC %s, %s", rt3, s); } @@ -3085,9 +3052,9 @@ static std::string BGEC(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se14_0_13_to_1_s1(instruction); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); - std::string s = ADDRESS(encode_s_from_address(s_value), 4, info); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); + std::string s = ADDRESS(s_value, 4, info); return img_format("BGEC %s, %s, %s", rs, rt, s); } @@ -3109,9 +3076,9 @@ static std::string BGEIC(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_17_16_15_14_13_12_11(instruction); int64 s_value = extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(instruction); - std::string rt = GPR(copy(rt_value)); - std::string u = IMMEDIATE(copy(u_value)); - std::string s = ADDRESS(encode_s_from_address(s_value), 4, info); + std::string rt = GPR(rt_value); + std::string u = IMMEDIATE(u_value); + std::string s = ADDRESS(s_value, 4, info); return img_format("BGEIC %s, %s, %s", rt, u, s); } @@ -3133,9 +3100,9 @@ static std::string BGEIUC(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_17_16_15_14_13_12_11(instruction); int64 s_value = extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(instruction); - std::string rt = GPR(copy(rt_value)); - std::string u = IMMEDIATE(copy(u_value)); - std::string s = ADDRESS(encode_s_from_address(s_value), 4, info); + std::string rt = GPR(rt_value); + std::string u = IMMEDIATE(u_value); + std::string s = ADDRESS(s_value, 4, info); return img_format("BGEIUC %s, %s, %s", rt, u, s); } @@ -3157,9 +3124,9 @@ static std::string BGEUC(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se14_0_13_to_1_s1(instruction); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); - std::string s = ADDRESS(encode_s_from_address(s_value), 4, info); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); + std::string s = ADDRESS(s_value, 4, info); return img_format("BGEUC %s, %s, %s", rs, rt, s); } @@ -3181,9 +3148,9 @@ static std::string BLTC(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se14_0_13_to_1_s1(instruction); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); - std::string s = ADDRESS(encode_s_from_address(s_value), 4, info); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); + std::string s = ADDRESS(s_value, 4, info); return img_format("BLTC %s, %s, %s", rs, rt, s); } @@ -3205,9 +3172,9 @@ static std::string BLTIC(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_17_16_15_14_13_12_11(instruction); int64 s_value = extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(instruction); - std::string rt = GPR(copy(rt_value)); - std::string u = IMMEDIATE(copy(u_value)); - std::string s = ADDRESS(encode_s_from_address(s_value), 4, info); + std::string rt = GPR(rt_value); + std::string u = IMMEDIATE(u_value); + std::string s = ADDRESS(s_value, 4, info); return img_format("BLTIC %s, %s, %s", rt, u, s); } @@ -3229,9 +3196,9 @@ static std::string BLTIUC(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_17_16_15_14_13_12_11(instruction); int64 s_value = extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(instruction); - std::string rt = GPR(copy(rt_value)); - std::string u = IMMEDIATE(copy(u_value)); - std::string s = ADDRESS(encode_s_from_address(s_value), 4, info); + std::string rt = GPR(rt_value); + std::string u = IMMEDIATE(u_value); + std::string s = ADDRESS(s_value, 4, info); return img_format("BLTIUC %s, %s, %s", rt, u, s); } @@ -3253,9 +3220,9 @@ static std::string BLTUC(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se14_0_13_to_1_s1(instruction); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); - std::string s = ADDRESS(encode_s_from_address(s_value), 4, info); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); + std::string s = ADDRESS(s_value, 4, info); return img_format("BLTUC %s, %s, %s", rs, rt, s); } @@ -3279,7 +3246,7 @@ static std::string BNEC_16_(uint64 instruction, Dis_info *info) std::string rs3 = GPR(encode_rs3_and_check_rs3_ge_rt3(rs3_value)); std::string rt3 = GPR(decode_gpr_gpr3(rt3_value)); - std::string u = ADDRESS(encode_u_from_address(u_value), 2, info); + std::string u = ADDRESS(u_value, 2, info); return img_format("BNEC %s, %s, %s", rs3, rt3, u); } @@ -3301,9 +3268,9 @@ static std::string BNEC_32_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se14_0_13_to_1_s1(instruction); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); - std::string s = ADDRESS(encode_s_from_address(s_value), 4, info); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); + std::string s = ADDRESS(s_value, 4, info); return img_format("BNEC %s, %s, %s", rs, rt, s); } @@ -3325,9 +3292,9 @@ static std::string BNEIC(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_17_16_15_14_13_12_11(instruction); int64 s_value = extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(instruction); - std::string rt = GPR(copy(rt_value)); - std::string u = IMMEDIATE(copy(u_value)); - std::string s = ADDRESS(encode_s_from_address(s_value), 4, info); + std::string rt = GPR(rt_value); + std::string u = IMMEDIATE(u_value); + std::string s = ADDRESS(s_value, 4, info); return img_format("BNEIC %s, %s, %s", rt, u, s); } @@ -3349,7 +3316,7 @@ static std::string BNEZC_16_(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se7_0_6_5_4_3_2_1_s1(instruction); std::string rt3 = GPR(decode_gpr_gpr3(rt3_value)); - std::string s = ADDRESS(encode_s_from_address(s_value), 2, info); + std::string s = ADDRESS(s_value, 2, info); return img_format("BNEZC %s, %s", rt3, s); } @@ -3369,7 +3336,7 @@ static std::string BPOSGE32C(uint64 instruction, Dis_info *info) { int64 s_value = extract_s__se14_0_13_to_1_s1(instruction); - std::string s = ADDRESS(encode_s_from_address(s_value), 4, info); + std::string s = ADDRESS(s_value, 4, info); return img_format("BPOSGE32C %s", s); } @@ -3389,7 +3356,7 @@ static std::string BREAK_16_(uint64 instruction, Dis_info *info) { uint64 code_value = extract_code_2_1_0(instruction); - std::string code = IMMEDIATE(copy(code_value)); + std::string code = IMMEDIATE(code_value); return img_format("BREAK %s", code); } @@ -3409,7 +3376,7 @@ static std::string BREAK_32_(uint64 instruction, Dis_info *info) { uint64 code_value = extract_code_18_to_0(instruction); - std::string code = IMMEDIATE(copy(code_value)); + std::string code = IMMEDIATE(code_value); return img_format("BREAK %s", code); } @@ -3429,7 +3396,7 @@ static std::string BRSC(uint64 instruction, Dis_info *info) { uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rs = GPR(copy(rs_value)); + std::string rs = GPR(rs_value); return img_format("BRSC %s", rs); } @@ -3451,9 +3418,9 @@ static std::string CACHE(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string op = IMMEDIATE(copy(op_value)); - std::string s = IMMEDIATE(copy(s_value)); - std::string rs = GPR(copy(rs_value)); + std::string op = IMMEDIATE(op_value); + std::string s = IMMEDIATE(s_value); + std::string rs = GPR(rs_value); return img_format("CACHE %s, %s(%s)", op, s, rs); } @@ -3475,9 +3442,9 @@ static std::string CACHEE(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string op = IMMEDIATE(copy(op_value)); - std::string s = IMMEDIATE(copy(s_value)); - std::string rs = GPR(copy(rs_value)); + std::string op = IMMEDIATE(op_value); + std::string s = IMMEDIATE(s_value); + std::string rs = GPR(rs_value); return img_format("CACHEE %s, %s(%s)", op, s, rs); } @@ -3498,8 +3465,8 @@ static std::string CEIL_L_D(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(copy(ft_value)); - std::string fs = FPR(copy(fs_value)); + std::string ft = FPR(ft_value); + std::string fs = FPR(fs_value); return img_format("CEIL.L.D %s, %s", ft, fs); } @@ -3520,8 +3487,8 @@ static std::string CEIL_L_S(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(copy(ft_value)); - std::string fs = FPR(copy(fs_value)); + std::string ft = FPR(ft_value); + std::string fs = FPR(fs_value); return img_format("CEIL.L.S %s, %s", ft, fs); } @@ -3542,8 +3509,8 @@ static std::string CEIL_W_D(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(copy(ft_value)); - std::string fs = FPR(copy(fs_value)); + std::string ft = FPR(ft_value); + std::string fs = FPR(fs_value); return img_format("CEIL.W.D %s, %s", ft, fs); } @@ -3564,8 +3531,8 @@ static std::string CEIL_W_S(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(copy(ft_value)); - std::string fs = FPR(copy(fs_value)); + std::string ft = FPR(ft_value); + std::string fs = FPR(fs_value); return img_format("CEIL.W.S %s, %s", ft, fs); } @@ -3586,8 +3553,8 @@ static std::string CFC1(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 cs_value = extract_cs_20_19_18_17_16(instruction); - std::string rt = GPR(copy(rt_value)); - std::string cs = CPR(copy(cs_value)); + std::string rt = GPR(rt_value); + std::string cs = CPR(cs_value); return img_format("CFC1 %s, %s", rt, cs); } @@ -3608,8 +3575,8 @@ static std::string CFC2(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 cs_value = extract_cs_20_19_18_17_16(instruction); - std::string rt = GPR(copy(rt_value)); - std::string cs = CPR(copy(cs_value)); + std::string rt = GPR(rt_value); + std::string cs = CPR(cs_value); return img_format("CFC2 %s, %s", rt, cs); } @@ -3630,8 +3597,8 @@ static std::string CLASS_D(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(copy(ft_value)); - std::string fs = FPR(copy(fs_value)); + std::string ft = FPR(ft_value); + std::string fs = FPR(fs_value); return img_format("CLASS.D %s, %s", ft, fs); } @@ -3652,8 +3619,8 @@ static std::string CLASS_S(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(copy(ft_value)); - std::string fs = FPR(copy(fs_value)); + std::string ft = FPR(ft_value); + std::string fs = FPR(fs_value); return img_format("CLASS.S %s, %s", ft, fs); } @@ -3674,8 +3641,8 @@ static std::string CLO(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); return img_format("CLO %s, %s", rt, rs); } @@ -3696,8 +3663,8 @@ static std::string CLZ(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); return img_format("CLZ %s, %s", rt, rs); } @@ -3719,9 +3686,9 @@ static std::string CMP_AF_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("CMP.AF.D %s, %s, %s", fd, fs, ft); } @@ -3743,9 +3710,9 @@ static std::string CMP_AF_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("CMP.AF.S %s, %s, %s", fd, fs, ft); } @@ -3767,9 +3734,9 @@ static std::string CMP_EQ_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("CMP.EQ.D %s, %s, %s", fd, fs, ft); } @@ -3789,8 +3756,8 @@ static std::string CMP_EQ_PH(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("CMP.EQ.PH %s, %s", rs, rt); } @@ -3812,9 +3779,9 @@ static std::string CMP_EQ_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("CMP.EQ.S %s, %s, %s", fd, fs, ft); } @@ -3836,9 +3803,9 @@ static std::string CMP_LE_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("CMP.LE.D %s, %s, %s", fd, fs, ft); } @@ -3858,8 +3825,8 @@ static std::string CMP_LE_PH(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("CMP.LE.PH %s, %s", rs, rt); } @@ -3881,9 +3848,9 @@ static std::string CMP_LE_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("CMP.LE.S %s, %s, %s", fd, fs, ft); } @@ -3905,9 +3872,9 @@ static std::string CMP_LT_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("CMP.LT.D %s, %s, %s", fd, fs, ft); } @@ -3927,8 +3894,8 @@ static std::string CMP_LT_PH(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("CMP.LT.PH %s, %s", rs, rt); } @@ -3950,9 +3917,9 @@ static std::string CMP_LT_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("CMP.LT.S %s, %s, %s", fd, fs, ft); } @@ -3974,9 +3941,9 @@ static std::string CMP_NE_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("CMP.NE.D %s, %s, %s", fd, fs, ft); } @@ -3998,9 +3965,9 @@ static std::string CMP_NE_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("CMP.NE.S %s, %s, %s", fd, fs, ft); } @@ -4022,9 +3989,9 @@ static std::string CMP_OR_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("CMP.OR.D %s, %s, %s", fd, fs, ft); } @@ -4046,9 +4013,9 @@ static std::string CMP_OR_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("CMP.OR.S %s, %s, %s", fd, fs, ft); } @@ -4070,9 +4037,9 @@ static std::string CMP_SAF_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("CMP.SAF.D %s, %s, %s", fd, fs, ft); } @@ -4094,9 +4061,9 @@ static std::string CMP_SAF_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("CMP.SAF.S %s, %s, %s", fd, fs, ft); } @@ -4118,9 +4085,9 @@ static std::string CMP_SEQ_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("CMP.SEQ.D %s, %s, %s", fd, fs, ft); } @@ -4142,9 +4109,9 @@ static std::string CMP_SEQ_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("CMP.SEQ.S %s, %s, %s", fd, fs, ft); } @@ -4166,9 +4133,9 @@ static std::string CMP_SLE_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("CMP.SLE.D %s, %s, %s", fd, fs, ft); } @@ -4190,9 +4157,9 @@ static std::string CMP_SLE_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("CMP.SLE.S %s, %s, %s", fd, fs, ft); } @@ -4214,9 +4181,9 @@ static std::string CMP_SLT_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("CMP.SLT.D %s, %s, %s", fd, fs, ft); } @@ -4238,9 +4205,9 @@ static std::string CMP_SLT_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("CMP.SLT.S %s, %s, %s", fd, fs, ft); } @@ -4262,9 +4229,9 @@ static std::string CMP_SNE_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("CMP.SNE.D %s, %s, %s", fd, fs, ft); } @@ -4286,9 +4253,9 @@ static std::string CMP_SNE_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("CMP.SNE.S %s, %s, %s", fd, fs, ft); } @@ -4310,9 +4277,9 @@ static std::string CMP_SOR_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("CMP.SOR.D %s, %s, %s", fd, fs, ft); } @@ -4334,9 +4301,9 @@ static std::string CMP_SOR_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("CMP.SOR.S %s, %s, %s", fd, fs, ft); } @@ -4358,9 +4325,9 @@ static std::string CMP_SUEQ_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("CMP.SUEQ.D %s, %s, %s", fd, fs, ft); } @@ -4382,9 +4349,9 @@ static std::string CMP_SUEQ_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("CMP.SUEQ.S %s, %s, %s", fd, fs, ft); } @@ -4406,9 +4373,9 @@ static std::string CMP_SULE_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("CMP.SULE.D %s, %s, %s", fd, fs, ft); } @@ -4430,9 +4397,9 @@ static std::string CMP_SULE_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("CMP.SULE.S %s, %s, %s", fd, fs, ft); } @@ -4454,9 +4421,9 @@ static std::string CMP_SULT_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("CMP.SULT.D %s, %s, %s", fd, fs, ft); } @@ -4478,9 +4445,9 @@ static std::string CMP_SULT_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("CMP.SULT.S %s, %s, %s", fd, fs, ft); } @@ -4502,9 +4469,9 @@ static std::string CMP_SUN_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("CMP.SUN.D %s, %s, %s", fd, fs, ft); } @@ -4526,9 +4493,9 @@ static std::string CMP_SUNE_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("CMP.SUNE.D %s, %s, %s", fd, fs, ft); } @@ -4550,9 +4517,9 @@ static std::string CMP_SUNE_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("CMP.SUNE.S %s, %s, %s", fd, fs, ft); } @@ -4574,9 +4541,9 @@ static std::string CMP_SUN_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("CMP.SUN.S %s, %s, %s", fd, fs, ft); } @@ -4598,9 +4565,9 @@ static std::string CMP_UEQ_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("CMP.UEQ.D %s, %s, %s", fd, fs, ft); } @@ -4622,9 +4589,9 @@ static std::string CMP_UEQ_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("CMP.UEQ.S %s, %s, %s", fd, fs, ft); } @@ -4646,9 +4613,9 @@ static std::string CMP_ULE_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("CMP.ULE.D %s, %s, %s", fd, fs, ft); } @@ -4670,9 +4637,9 @@ static std::string CMP_ULE_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("CMP.ULE.S %s, %s, %s", fd, fs, ft); } @@ -4694,9 +4661,9 @@ static std::string CMP_ULT_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("CMP.ULT.D %s, %s, %s", fd, fs, ft); } @@ -4718,9 +4685,9 @@ static std::string CMP_ULT_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("CMP.ULT.S %s, %s, %s", fd, fs, ft); } @@ -4742,9 +4709,9 @@ static std::string CMP_UN_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("CMP.UN.D %s, %s, %s", fd, fs, ft); } @@ -4766,9 +4733,9 @@ static std::string CMP_UNE_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("CMP.UNE.D %s, %s, %s", fd, fs, ft); } @@ -4790,9 +4757,9 @@ static std::string CMP_UNE_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("CMP.UNE.S %s, %s, %s", fd, fs, ft); } @@ -4814,9 +4781,9 @@ static std::string CMP_UN_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("CMP.UN.S %s, %s, %s", fd, fs, ft); } @@ -4839,9 +4806,9 @@ static std::string CMPGDU_EQ_QB(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("CMPGDU.EQ.QB %s, %s, %s", rd, rs, rt); } @@ -4864,9 +4831,9 @@ static std::string CMPGDU_LE_QB(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("CMPGDU.LE.QB %s, %s, %s", rd, rs, rt); } @@ -4889,9 +4856,9 @@ static std::string CMPGDU_LT_QB(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("CMPGDU.LT.QB %s, %s, %s", rd, rs, rt); } @@ -4914,9 +4881,9 @@ static std::string CMPGU_EQ_QB(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("CMPGU.EQ.QB %s, %s, %s", rd, rs, rt); } @@ -4939,9 +4906,9 @@ static std::string CMPGU_LE_QB(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("CMPGU.LE.QB %s, %s, %s", rd, rs, rt); } @@ -4964,9 +4931,9 @@ static std::string CMPGU_LT_QB(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("CMPGU.LT.QB %s, %s, %s", rd, rs, rt); } @@ -4987,8 +4954,8 @@ static std::string CMPU_EQ_QB(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("CMPU.EQ.QB %s, %s", rs, rt); } @@ -5009,8 +4976,8 @@ static std::string CMPU_LE_QB(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("CMPU.LE.QB %s, %s", rs, rt); } @@ -5031,8 +4998,8 @@ static std::string CMPU_LT_QB(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("CMPU.LT.QB %s, %s", rs, rt); } @@ -5052,7 +5019,7 @@ static std::string COP2_1(uint64 instruction, Dis_info *info) { uint64 cofun_value = extract_cofun_25_24_23(instruction); - std::string cofun = IMMEDIATE(copy(cofun_value)); + std::string cofun = IMMEDIATE(cofun_value); return img_format("COP2_1 %s", cofun); } @@ -5073,8 +5040,8 @@ static std::string CTC1(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 cs_value = extract_cs_20_19_18_17_16(instruction); - std::string rt = GPR(copy(rt_value)); - std::string cs = CPR(copy(cs_value)); + std::string rt = GPR(rt_value); + std::string cs = CPR(cs_value); return img_format("CTC1 %s, %s", rt, cs); } @@ -5095,8 +5062,8 @@ static std::string CTC2(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 cs_value = extract_cs_20_19_18_17_16(instruction); - std::string rt = GPR(copy(rt_value)); - std::string cs = CPR(copy(cs_value)); + std::string rt = GPR(rt_value); + std::string cs = CPR(cs_value); return img_format("CTC2 %s, %s", rt, cs); } @@ -5117,8 +5084,8 @@ static std::string CVT_D_L(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(copy(ft_value)); - std::string fs = FPR(copy(fs_value)); + std::string ft = FPR(ft_value); + std::string fs = FPR(fs_value); return img_format("CVT.D.L %s, %s", ft, fs); } @@ -5139,8 +5106,8 @@ static std::string CVT_D_S(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(copy(ft_value)); - std::string fs = FPR(copy(fs_value)); + std::string ft = FPR(ft_value); + std::string fs = FPR(fs_value); return img_format("CVT.D.S %s, %s", ft, fs); } @@ -5161,8 +5128,8 @@ static std::string CVT_D_W(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(copy(ft_value)); - std::string fs = FPR(copy(fs_value)); + std::string ft = FPR(ft_value); + std::string fs = FPR(fs_value); return img_format("CVT.D.W %s, %s", ft, fs); } @@ -5183,8 +5150,8 @@ static std::string CVT_L_D(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(copy(ft_value)); - std::string fs = FPR(copy(fs_value)); + std::string ft = FPR(ft_value); + std::string fs = FPR(fs_value); return img_format("CVT.L.D %s, %s", ft, fs); } @@ -5205,8 +5172,8 @@ static std::string CVT_L_S(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(copy(ft_value)); - std::string fs = FPR(copy(fs_value)); + std::string ft = FPR(ft_value); + std::string fs = FPR(fs_value); return img_format("CVT.L.S %s, %s", ft, fs); } @@ -5227,8 +5194,8 @@ static std::string CVT_S_D(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(copy(ft_value)); - std::string fs = FPR(copy(fs_value)); + std::string ft = FPR(ft_value); + std::string fs = FPR(fs_value); return img_format("CVT.S.D %s, %s", ft, fs); } @@ -5249,8 +5216,8 @@ static std::string CVT_S_L(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(copy(ft_value)); - std::string fs = FPR(copy(fs_value)); + std::string ft = FPR(ft_value); + std::string fs = FPR(fs_value); return img_format("CVT.S.L %s, %s", ft, fs); } @@ -5271,8 +5238,8 @@ static std::string CVT_S_PL(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(copy(ft_value)); - std::string fs = FPR(copy(fs_value)); + std::string ft = FPR(ft_value); + std::string fs = FPR(fs_value); return img_format("CVT.S.PL %s, %s", ft, fs); } @@ -5293,8 +5260,8 @@ static std::string CVT_S_PU(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(copy(ft_value)); - std::string fs = FPR(copy(fs_value)); + std::string ft = FPR(ft_value); + std::string fs = FPR(fs_value); return img_format("CVT.S.PU %s, %s", ft, fs); } @@ -5315,8 +5282,8 @@ static std::string CVT_S_W(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(copy(ft_value)); - std::string fs = FPR(copy(fs_value)); + std::string ft = FPR(ft_value); + std::string fs = FPR(fs_value); return img_format("CVT.S.W %s, %s", ft, fs); } @@ -5337,8 +5304,8 @@ static std::string CVT_W_D(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(copy(ft_value)); - std::string fs = FPR(copy(fs_value)); + std::string ft = FPR(ft_value); + std::string fs = FPR(fs_value); return img_format("CVT.W.D %s, %s", ft, fs); } @@ -5359,8 +5326,8 @@ static std::string CVT_W_S(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(copy(ft_value)); - std::string fs = FPR(copy(fs_value)); + std::string ft = FPR(ft_value); + std::string fs = FPR(fs_value); return img_format("CVT.W.S %s, %s", ft, fs); } @@ -5381,8 +5348,8 @@ static std::string DADDIU_48_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_41_40_39_38_37(instruction); int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction); - std::string rt = GPR(copy(rt_value)); - std::string s = IMMEDIATE(copy(s_value)); + std::string rt = GPR(rt_value); + std::string s = IMMEDIATE(s_value); return img_format("DADDIU %s, %s", rt, s); } @@ -5404,8 +5371,8 @@ static std::string DADDIU_NEG_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); std::string u = IMMEDIATE(neg_copy(u_value)); return img_format("DADDIU %s, %s, %s", rt, rs, u); @@ -5428,9 +5395,9 @@ static std::string DADDIU_U12_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); - std::string u = IMMEDIATE(copy(u_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); + std::string u = IMMEDIATE(u_value); return img_format("DADDIU %s, %s, %s", rt, rs, u); } @@ -5452,9 +5419,9 @@ static std::string DADD(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("DADD %s, %s, %s", rd, rs, rt); } @@ -5476,9 +5443,9 @@ static std::string DADDU(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("DADDU %s, %s, %s", rd, rs, rt); } @@ -5499,8 +5466,8 @@ static std::string DCLO(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); return img_format("DCLO %s, %s", rt, rs); } @@ -5521,8 +5488,8 @@ static std::string DCLZ(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); return img_format("DCLZ %s, %s", rt, rs); } @@ -5544,9 +5511,9 @@ static std::string DDIV(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("DDIV %s, %s, %s", rd, rs, rt); } @@ -5568,9 +5535,9 @@ static std::string DDIVU(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("DDIVU %s, %s, %s", rd, rs, rt); } @@ -5611,9 +5578,9 @@ static std::string DEXTM(uint64 instruction, Dis_info *info) uint64 msbd_value = extract_msbt_10_9_8_7_6(instruction); uint64 lsb_value = extract_lsb_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); - std::string lsb = IMMEDIATE(copy(lsb_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); + std::string lsb = IMMEDIATE(lsb_value); std::string msbd = IMMEDIATE(encode_msbd_from_size(msbd_value)); return img_format("DEXTM %s, %s, %s, %s", rt, rs, lsb, msbd); @@ -5637,9 +5604,9 @@ static std::string DEXT(uint64 instruction, Dis_info *info) uint64 msbd_value = extract_msbt_10_9_8_7_6(instruction); uint64 lsb_value = extract_lsb_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); - std::string lsb = IMMEDIATE(copy(lsb_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); + std::string lsb = IMMEDIATE(lsb_value); std::string msbd = IMMEDIATE(encode_msbd_from_size(msbd_value)); return img_format("DEXT %s, %s, %s, %s", rt, rs, lsb, msbd); @@ -5663,9 +5630,9 @@ static std::string DEXTU(uint64 instruction, Dis_info *info) uint64 msbd_value = extract_msbt_10_9_8_7_6(instruction); uint64 lsb_value = extract_lsb_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); - std::string lsb = IMMEDIATE(copy(lsb_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); + std::string lsb = IMMEDIATE(lsb_value); std::string msbd = IMMEDIATE(encode_msbd_from_size(msbd_value)); return img_format("DEXTU %s, %s, %s, %s", rt, rs, lsb, msbd); @@ -5689,10 +5656,10 @@ static std::string DINSM(uint64 instruction, Dis_info *info) uint64 msbd_value = extract_msbt_10_9_8_7_6(instruction); uint64 lsb_value = extract_lsb_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); - std::string pos = IMMEDIATE(encode_lsb_from_pos_and_size(lsb_value)); - std::string size = IMMEDIATE(encode_lsb_from_pos_and_size(msbd_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); + std::string pos = IMMEDIATE(lsb_value); + std::string size = IMMEDIATE(msbd_value); /* !!!!!!!!!! - no conversion function */ return img_format("DINSM %s, %s, %s, %s", rt, rs, pos, size); @@ -5717,10 +5684,10 @@ static std::string DINS(uint64 instruction, Dis_info *info) uint64 msbd_value = extract_msbt_10_9_8_7_6(instruction); uint64 lsb_value = extract_lsb_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); - std::string pos = IMMEDIATE(encode_lsb_from_pos_and_size(lsb_value)); - std::string size = IMMEDIATE(encode_lsb_from_pos_and_size(msbd_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); + std::string pos = IMMEDIATE(lsb_value); + std::string size = IMMEDIATE(msbd_value); /* !!!!!!!!!! - no conversion function */ return img_format("DINS %s, %s, %s, %s", rt, rs, pos, size); @@ -5745,10 +5712,10 @@ static std::string DINSU(uint64 instruction, Dis_info *info) uint64 msbd_value = extract_msbt_10_9_8_7_6(instruction); uint64 lsb_value = extract_lsb_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); - std::string pos = IMMEDIATE(encode_lsb_from_pos_and_size(lsb_value)); - std::string size = IMMEDIATE(encode_lsb_from_pos_and_size(msbd_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); + std::string pos = IMMEDIATE(lsb_value); + std::string size = IMMEDIATE(msbd_value); /* !!!!!!!!!! - no conversion function */ return img_format("DINSU %s, %s, %s, %s", rt, rs, pos, size); @@ -5770,7 +5737,7 @@ static std::string DI(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); - std::string rt = GPR(copy(rt_value)); + std::string rt = GPR(rt_value); return img_format("DI %s", rt); } @@ -5792,9 +5759,9 @@ static std::string DIV(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("DIV %s, %s, %s", rd, rs, rt); } @@ -5816,9 +5783,9 @@ static std::string DIV_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("DIV.D %s, %s, %s", fd, fs, ft); } @@ -5840,9 +5807,9 @@ static std::string DIV_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("DIV.S %s, %s, %s", fd, fs, ft); } @@ -5864,9 +5831,9 @@ static std::string DIVU(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("DIVU %s, %s, %s", rd, rs, rt); } @@ -5889,10 +5856,10 @@ static std::string DLSA(uint64 instruction, Dis_info *info) uint64 rd_value = extract_rd_15_14_13_12_11(instruction); uint64 u2_value = extract_u2_10_9(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); - std::string u2 = IMMEDIATE(copy(u2_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); + std::string u2 = IMMEDIATE(u2_value); return img_format("DLSA %s, %s, %s, %s", rd, rs, rt, u2); } @@ -5913,8 +5880,8 @@ static std::string DLUI_48_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_41_40_39_38_37(instruction); uint64 u_value = extract_u_31_to_0__s32(instruction); - std::string rt = GPR(copy(rt_value)); - std::string u = IMMEDIATE(copy(u_value)); + std::string rt = GPR(rt_value); + std::string u = IMMEDIATE(u_value); return img_format("DLUI %s, %s", rt, u); } @@ -5936,9 +5903,9 @@ static std::string DMFC0(uint64 instruction, Dis_info *info) uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); uint64 sel_value = extract_sel_15_14_13_12_11(instruction); - std::string rt = GPR(copy(rt_value)); - std::string c0s = CPR(copy(c0s_value)); - std::string sel = IMMEDIATE(copy(sel_value)); + std::string rt = GPR(rt_value); + std::string c0s = CPR(c0s_value); + std::string sel = IMMEDIATE(sel_value); return img_format("DMFC0 %s, %s, %s", rt, c0s, sel); } @@ -5959,8 +5926,8 @@ static std::string DMFC1(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string rt = GPR(copy(rt_value)); - std::string fs = FPR(copy(fs_value)); + std::string rt = GPR(rt_value); + std::string fs = FPR(fs_value); return img_format("DMFC1 %s, %s", rt, fs); } @@ -5981,8 +5948,8 @@ static std::string DMFC2(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 cs_value = extract_cs_20_19_18_17_16(instruction); - std::string rt = GPR(copy(rt_value)); - std::string cs = CPR(copy(cs_value)); + std::string rt = GPR(rt_value); + std::string cs = CPR(cs_value); return img_format("DMFC2 %s, %s", rt, cs); } @@ -6004,9 +5971,9 @@ static std::string DMFGC0(uint64 instruction, Dis_info *info) uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); uint64 sel_value = extract_sel_15_14_13_12_11(instruction); - std::string rt = GPR(copy(rt_value)); - std::string c0s = CPR(copy(c0s_value)); - std::string sel = IMMEDIATE(copy(sel_value)); + std::string rt = GPR(rt_value); + std::string c0s = CPR(c0s_value); + std::string sel = IMMEDIATE(sel_value); return img_format("DMFGC0 %s, %s, %s", rt, c0s, sel); } @@ -6028,9 +5995,9 @@ static std::string DMOD(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("DMOD %s, %s, %s", rd, rs, rt); } @@ -6052,9 +6019,9 @@ static std::string DMODU(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("DMODU %s, %s, %s", rd, rs, rt); } @@ -6076,9 +6043,9 @@ static std::string DMTC0(uint64 instruction, Dis_info *info) uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); uint64 sel_value = extract_sel_15_14_13_12_11(instruction); - std::string rt = GPR(copy(rt_value)); - std::string c0s = CPR(copy(c0s_value)); - std::string sel = IMMEDIATE(copy(sel_value)); + std::string rt = GPR(rt_value); + std::string c0s = CPR(c0s_value); + std::string sel = IMMEDIATE(sel_value); return img_format("DMTC0 %s, %s, %s", rt, c0s, sel); } @@ -6099,8 +6066,8 @@ static std::string DMTC1(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string rt = GPR(copy(rt_value)); - std::string fs = FPR(copy(fs_value)); + std::string rt = GPR(rt_value); + std::string fs = FPR(fs_value); return img_format("DMTC1 %s, %s", rt, fs); } @@ -6121,8 +6088,8 @@ static std::string DMTC2(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 cs_value = extract_cs_20_19_18_17_16(instruction); - std::string rt = GPR(copy(rt_value)); - std::string cs = CPR(copy(cs_value)); + std::string rt = GPR(rt_value); + std::string cs = CPR(cs_value); return img_format("DMTC2 %s, %s", rt, cs); } @@ -6144,9 +6111,9 @@ static std::string DMTGC0(uint64 instruction, Dis_info *info) uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); uint64 sel_value = extract_sel_15_14_13_12_11(instruction); - std::string rt = GPR(copy(rt_value)); - std::string c0s = CPR(copy(c0s_value)); - std::string sel = IMMEDIATE(copy(sel_value)); + std::string rt = GPR(rt_value); + std::string c0s = CPR(c0s_value); + std::string sel = IMMEDIATE(sel_value); return img_format("DMTGC0 %s, %s, %s", rt, c0s, sel); } @@ -6166,7 +6133,7 @@ static std::string DMT(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); - std::string rt = GPR(copy(rt_value)); + std::string rt = GPR(rt_value); return img_format("DMT %s", rt); } @@ -6188,9 +6155,9 @@ static std::string DMUH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("DMUH %s, %s, %s", rd, rs, rt); } @@ -6212,9 +6179,9 @@ static std::string DMUHU(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("DMUHU %s, %s, %s", rd, rs, rt); } @@ -6236,9 +6203,9 @@ static std::string DMUL(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("DMUL %s, %s, %s", rd, rs, rt); } @@ -6260,9 +6227,9 @@ static std::string DMULU(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("DMULU %s, %s, %s", rd, rs, rt); } @@ -6285,9 +6252,9 @@ static std::string DPA_W_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string ac = AC(copy(ac_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string ac = AC(ac_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("DPA.W.PH %s, %s, %s", ac, rs, rt); } @@ -6309,9 +6276,9 @@ static std::string DPAQ_SA_L_W(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string ac = AC(copy(ac_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string ac = AC(ac_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("DPAQ_SA.L.W %s, %s, %s", ac, rs, rt); } @@ -6333,9 +6300,9 @@ static std::string DPAQ_S_W_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string ac = AC(copy(ac_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string ac = AC(ac_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("DPAQ_S.W.PH %s, %s, %s", ac, rs, rt); } @@ -6357,9 +6324,9 @@ static std::string DPAQX_SA_W_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string ac = AC(copy(ac_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string ac = AC(ac_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("DPAQX_SA.W.PH %s, %s, %s", ac, rs, rt); } @@ -6381,9 +6348,9 @@ static std::string DPAQX_S_W_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string ac = AC(copy(ac_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string ac = AC(ac_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("DPAQX_S.W.PH %s, %s, %s", ac, rs, rt); } @@ -6405,9 +6372,9 @@ static std::string DPAU_H_QBL(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string ac = AC(copy(ac_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string ac = AC(ac_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("DPAU.H.QBL %s, %s, %s", ac, rs, rt); } @@ -6429,9 +6396,9 @@ static std::string DPAU_H_QBR(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string ac = AC(copy(ac_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string ac = AC(ac_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("DPAU.H.QBR %s, %s, %s", ac, rs, rt); } @@ -6453,9 +6420,9 @@ static std::string DPAX_W_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string ac = AC(copy(ac_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string ac = AC(ac_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("DPAX.W.PH %s, %s, %s", ac, rs, rt); } @@ -6477,9 +6444,9 @@ static std::string DPS_W_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string ac = AC(copy(ac_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string ac = AC(ac_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("DPS.W.PH %s, %s, %s", ac, rs, rt); } @@ -6501,9 +6468,9 @@ static std::string DPSQ_SA_L_W(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string ac = AC(copy(ac_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string ac = AC(ac_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("DPSQ_SA.L.W %s, %s, %s", ac, rs, rt); } @@ -6525,9 +6492,9 @@ static std::string DPSQ_S_W_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string ac = AC(copy(ac_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string ac = AC(ac_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("DPSQ_S.W.PH %s, %s, %s", ac, rs, rt); } @@ -6549,9 +6516,9 @@ static std::string DPSQX_SA_W_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string ac = AC(copy(ac_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string ac = AC(ac_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("DPSQX_SA.W.PH %s, %s, %s", ac, rs, rt); } @@ -6573,9 +6540,9 @@ static std::string DPSQX_S_W_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string ac = AC(copy(ac_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string ac = AC(ac_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("DPSQX_S.W.PH %s, %s, %s", ac, rs, rt); } @@ -6597,9 +6564,9 @@ static std::string DPSU_H_QBL(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string ac = AC(copy(ac_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string ac = AC(ac_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("DPSU.H.QBL %s, %s, %s", ac, rs, rt); } @@ -6621,9 +6588,9 @@ static std::string DPSU_H_QBR(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string ac = AC(copy(ac_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string ac = AC(ac_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("DPSU.H.QBR %s, %s, %s", ac, rs, rt); } @@ -6645,9 +6612,9 @@ static std::string DPSX_W_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string ac = AC(copy(ac_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string ac = AC(ac_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("DPSX.W.PH %s, %s, %s", ac, rs, rt); } @@ -6669,9 +6636,9 @@ static std::string DROTR(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 shift_value = extract_shift_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); - std::string shift = IMMEDIATE(copy(shift_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); + std::string shift = IMMEDIATE(shift_value); return img_format("DROTR %s, %s, %s", rt, rs, shift); } @@ -6693,9 +6660,9 @@ static std::string DROTR32(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 shift_value = extract_shift_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); - std::string shift = IMMEDIATE(copy(shift_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); + std::string shift = IMMEDIATE(shift_value); return img_format("DROTR32 %s, %s, %s", rt, rs, shift); } @@ -6717,9 +6684,9 @@ static std::string DROTRV(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("DROTRV %s, %s, %s", rd, rs, rt); } @@ -6742,10 +6709,10 @@ static std::string DROTX(uint64 instruction, Dis_info *info) uint64 shiftx_value = extract_shiftx_11_10_9_8_7_6(instruction); uint64 shift_value = extract_shift_5_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); - std::string shift = IMMEDIATE(copy(shift_value)); - std::string shiftx = IMMEDIATE(copy(shiftx_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); + std::string shift = IMMEDIATE(shift_value); + std::string shiftx = IMMEDIATE(shiftx_value); return img_format("DROTX %s, %s, %s, %s", rt, rs, shift, shiftx); } @@ -6767,9 +6734,9 @@ static std::string DSLL(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 shift_value = extract_shift_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); - std::string shift = IMMEDIATE(copy(shift_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); + std::string shift = IMMEDIATE(shift_value); return img_format("DSLL %s, %s, %s", rt, rs, shift); } @@ -6791,9 +6758,9 @@ static std::string DSLL32(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 shift_value = extract_shift_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); - std::string shift = IMMEDIATE(copy(shift_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); + std::string shift = IMMEDIATE(shift_value); return img_format("DSLL32 %s, %s, %s", rt, rs, shift); } @@ -6815,9 +6782,9 @@ static std::string DSLLV(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("DSLLV %s, %s, %s", rd, rs, rt); } @@ -6839,9 +6806,9 @@ static std::string DSRA(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 shift_value = extract_shift_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); - std::string shift = IMMEDIATE(copy(shift_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); + std::string shift = IMMEDIATE(shift_value); return img_format("DSRA %s, %s, %s", rt, rs, shift); } @@ -6863,9 +6830,9 @@ static std::string DSRA32(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 shift_value = extract_shift_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); - std::string shift = IMMEDIATE(copy(shift_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); + std::string shift = IMMEDIATE(shift_value); return img_format("DSRA32 %s, %s, %s", rt, rs, shift); } @@ -6887,9 +6854,9 @@ static std::string DSRAV(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("DSRAV %s, %s, %s", rd, rs, rt); } @@ -6911,9 +6878,9 @@ static std::string DSRL(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 shift_value = extract_shift_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); - std::string shift = IMMEDIATE(copy(shift_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); + std::string shift = IMMEDIATE(shift_value); return img_format("DSRL %s, %s, %s", rt, rs, shift); } @@ -6935,9 +6902,9 @@ static std::string DSRL32(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 shift_value = extract_shift_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); - std::string shift = IMMEDIATE(copy(shift_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); + std::string shift = IMMEDIATE(shift_value); return img_format("DSRL32 %s, %s, %s", rt, rs, shift); } @@ -6959,9 +6926,9 @@ static std::string DSRLV(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("DSRLV %s, %s, %s", rd, rs, rt); } @@ -6983,9 +6950,9 @@ static std::string DSUB(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("DSUB %s, %s, %s", rd, rs, rt); } @@ -7007,9 +6974,9 @@ static std::string DSUBU(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("DSUBU %s, %s, %s", rd, rs, rt); } @@ -7029,7 +6996,7 @@ static std::string DVPE(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); - std::string rt = GPR(copy(rt_value)); + std::string rt = GPR(rt_value); return img_format("DVPE %s", rt); } @@ -7049,7 +7016,7 @@ static std::string DVP(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); - std::string rt = GPR(copy(rt_value)); + std::string rt = GPR(rt_value); return img_format("DVP %s", rt); } @@ -7087,7 +7054,7 @@ static std::string EI(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); - std::string rt = GPR(copy(rt_value)); + std::string rt = GPR(rt_value); return img_format("EI %s", rt); } @@ -7107,7 +7074,7 @@ static std::string EMT(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); - std::string rt = GPR(copy(rt_value)); + std::string rt = GPR(rt_value); return img_format("EMT %s", rt); } @@ -7163,7 +7130,7 @@ static std::string EVP(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); - std::string rt = GPR(copy(rt_value)); + std::string rt = GPR(rt_value); return img_format("EVP %s", rt); } @@ -7183,7 +7150,7 @@ static std::string EVPE(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); - std::string rt = GPR(copy(rt_value)); + std::string rt = GPR(rt_value); return img_format("EVPE %s", rt); } @@ -7206,9 +7173,9 @@ static std::string EXT(uint64 instruction, Dis_info *info) uint64 msbd_value = extract_msbt_10_9_8_7_6(instruction); uint64 lsb_value = extract_lsb_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); - std::string lsb = IMMEDIATE(copy(lsb_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); + std::string lsb = IMMEDIATE(lsb_value); std::string msbd = IMMEDIATE(encode_msbd_from_size(msbd_value)); return img_format("EXT %s, %s, %s, %s", rt, rs, lsb, msbd); @@ -7232,10 +7199,10 @@ static std::string EXTD(uint64 instruction, Dis_info *info) uint64 rd_value = extract_rd_15_14_13_12_11(instruction); uint64 shift_value = extract_shift_10_9_8_7_6(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); - std::string shift = IMMEDIATE(copy(shift_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); + std::string shift = IMMEDIATE(shift_value); return img_format("EXTD %s, %s, %s, %s", rd, rs, rt, shift); } @@ -7258,10 +7225,10 @@ static std::string EXTD32(uint64 instruction, Dis_info *info) uint64 rd_value = extract_rd_15_14_13_12_11(instruction); uint64 shift_value = extract_shift_10_9_8_7_6(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); - std::string shift = IMMEDIATE(copy(shift_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); + std::string shift = IMMEDIATE(shift_value); return img_format("EXTD32 %s, %s, %s, %s", rd, rs, rt, shift); } @@ -7283,9 +7250,9 @@ static std::string EXTPDP(uint64 instruction, Dis_info *info) uint64 size_value = extract_size_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string rt = GPR(copy(rt_value)); - std::string ac = AC(copy(ac_value)); - std::string size = IMMEDIATE(copy(size_value)); + std::string rt = GPR(rt_value); + std::string ac = AC(ac_value); + std::string size = IMMEDIATE(size_value); return img_format("EXTPDP %s, %s, %s", rt, ac, size); } @@ -7307,9 +7274,9 @@ static std::string EXTPDPV(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string rt = GPR(copy(rt_value)); - std::string ac = AC(copy(ac_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string ac = AC(ac_value); + std::string rs = GPR(rs_value); return img_format("EXTPDPV %s, %s, %s", rt, ac, rs); } @@ -7331,9 +7298,9 @@ static std::string EXTP(uint64 instruction, Dis_info *info) uint64 size_value = extract_size_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string rt = GPR(copy(rt_value)); - std::string ac = AC(copy(ac_value)); - std::string size = IMMEDIATE(copy(size_value)); + std::string rt = GPR(rt_value); + std::string ac = AC(ac_value); + std::string size = IMMEDIATE(size_value); return img_format("EXTP %s, %s, %s", rt, ac, size); } @@ -7355,9 +7322,9 @@ static std::string EXTPV(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string rt = GPR(copy(rt_value)); - std::string ac = AC(copy(ac_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string ac = AC(ac_value); + std::string rs = GPR(rs_value); return img_format("EXTPV %s, %s, %s", rt, ac, rs); } @@ -7380,9 +7347,9 @@ static std::string EXTR_RS_W(uint64 instruction, Dis_info *info) uint64 shift_value = extract_shift_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string rt = GPR(copy(rt_value)); - std::string ac = AC(copy(ac_value)); - std::string shift = IMMEDIATE(copy(shift_value)); + std::string rt = GPR(rt_value); + std::string ac = AC(ac_value); + std::string shift = IMMEDIATE(shift_value); return img_format("EXTR_RS.W %s, %s, %s", rt, ac, shift); } @@ -7405,9 +7372,9 @@ static std::string EXTR_R_W(uint64 instruction, Dis_info *info) uint64 shift_value = extract_shift_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string rt = GPR(copy(rt_value)); - std::string ac = AC(copy(ac_value)); - std::string shift = IMMEDIATE(copy(shift_value)); + std::string rt = GPR(rt_value); + std::string ac = AC(ac_value); + std::string shift = IMMEDIATE(shift_value); return img_format("EXTR_R.W %s, %s, %s", rt, ac, shift); } @@ -7430,9 +7397,9 @@ static std::string EXTR_S_H(uint64 instruction, Dis_info *info) uint64 shift_value = extract_shift_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string rt = GPR(copy(rt_value)); - std::string ac = AC(copy(ac_value)); - std::string shift = IMMEDIATE(copy(shift_value)); + std::string rt = GPR(rt_value); + std::string ac = AC(ac_value); + std::string shift = IMMEDIATE(shift_value); return img_format("EXTR_S.H %s, %s, %s", rt, ac, shift); } @@ -7455,9 +7422,9 @@ static std::string EXTR_W(uint64 instruction, Dis_info *info) uint64 shift_value = extract_shift_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string rt = GPR(copy(rt_value)); - std::string ac = AC(copy(ac_value)); - std::string shift = IMMEDIATE(copy(shift_value)); + std::string rt = GPR(rt_value); + std::string ac = AC(ac_value); + std::string shift = IMMEDIATE(shift_value); return img_format("EXTR.W %s, %s, %s", rt, ac, shift); } @@ -7480,9 +7447,9 @@ static std::string EXTRV_RS_W(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string rt = GPR(copy(rt_value)); - std::string ac = AC(copy(ac_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string ac = AC(ac_value); + std::string rs = GPR(rs_value); return img_format("EXTRV_RS.W %s, %s, %s", rt, ac, rs); } @@ -7505,9 +7472,9 @@ static std::string EXTRV_R_W(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string rt = GPR(copy(rt_value)); - std::string ac = AC(copy(ac_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string ac = AC(ac_value); + std::string rs = GPR(rs_value); return img_format("EXTRV_R.W %s, %s, %s", rt, ac, rs); } @@ -7530,9 +7497,9 @@ static std::string EXTRV_S_H(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string rt = GPR(copy(rt_value)); - std::string ac = AC(copy(ac_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string ac = AC(ac_value); + std::string rs = GPR(rs_value); return img_format("EXTRV_S.H %s, %s, %s", rt, ac, rs); } @@ -7555,9 +7522,9 @@ static std::string EXTRV_W(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string rt = GPR(copy(rt_value)); - std::string ac = AC(copy(ac_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string ac = AC(ac_value); + std::string rs = GPR(rs_value); return img_format("EXTRV.W %s, %s, %s", rt, ac, rs); } @@ -7581,10 +7548,10 @@ static std::string EXTW(uint64 instruction, Dis_info *info) uint64 rd_value = extract_rd_15_14_13_12_11(instruction); uint64 shift_value = extract_shift_10_9_8_7_6(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); - std::string shift = IMMEDIATE(copy(shift_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); + std::string shift = IMMEDIATE(shift_value); return img_format("EXTW %s, %s, %s, %s", rd, rs, rt, shift); } @@ -7605,8 +7572,8 @@ static std::string FLOOR_L_D(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(copy(ft_value)); - std::string fs = FPR(copy(fs_value)); + std::string ft = FPR(ft_value); + std::string fs = FPR(fs_value); return img_format("FLOOR.L.D %s, %s", ft, fs); } @@ -7627,8 +7594,8 @@ static std::string FLOOR_L_S(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(copy(ft_value)); - std::string fs = FPR(copy(fs_value)); + std::string ft = FPR(ft_value); + std::string fs = FPR(fs_value); return img_format("FLOOR.L.S %s, %s", ft, fs); } @@ -7649,8 +7616,8 @@ static std::string FLOOR_W_D(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(copy(ft_value)); - std::string fs = FPR(copy(fs_value)); + std::string ft = FPR(ft_value); + std::string fs = FPR(fs_value); return img_format("FLOOR.W.D %s, %s", ft, fs); } @@ -7671,8 +7638,8 @@ static std::string FLOOR_W_S(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(copy(ft_value)); - std::string fs = FPR(copy(fs_value)); + std::string ft = FPR(ft_value); + std::string fs = FPR(fs_value); return img_format("FLOOR.W.S %s, %s", ft, fs); } @@ -7694,9 +7661,9 @@ static std::string FORK(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("FORK %s, %s, %s", rd, rs, rt); } @@ -7716,7 +7683,7 @@ static std::string HYPCALL(uint64 instruction, Dis_info *info) { uint64 code_value = extract_code_17_to_0(instruction); - std::string code = IMMEDIATE(copy(code_value)); + std::string code = IMMEDIATE(code_value); return img_format("HYPCALL %s", code); } @@ -7736,7 +7703,7 @@ static std::string HYPCALL_16_(uint64 instruction, Dis_info *info) { uint64 code_value = extract_code_1_0(instruction); - std::string code = IMMEDIATE(copy(code_value)); + std::string code = IMMEDIATE(code_value); return img_format("HYPCALL %s", code); } @@ -7759,10 +7726,10 @@ static std::string INS(uint64 instruction, Dis_info *info) uint64 msbd_value = extract_msbt_10_9_8_7_6(instruction); uint64 lsb_value = extract_lsb_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); - std::string pos = IMMEDIATE(encode_lsb_from_pos_and_size(lsb_value)); - std::string size = IMMEDIATE(encode_lsb_from_pos_and_size(msbd_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); + std::string pos = IMMEDIATE(lsb_value); + std::string size = IMMEDIATE(msbd_value); /* !!!!!!!!!! - no conversion function */ return img_format("INS %s, %s, %s, %s", rt, rs, pos, size); @@ -7784,8 +7751,8 @@ static std::string INSV(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); return img_format("INSV %s, %s", rt, rs); } @@ -7823,7 +7790,7 @@ static std::string JALRC_16_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_9_8_7_6_5(instruction); - std::string rt = GPR(copy(rt_value)); + std::string rt = GPR(rt_value); return img_format("JALRC $%d, %s", 31, rt); } @@ -7844,8 +7811,8 @@ static std::string JALRC_32_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); return img_format("JALRC %s, %s", rt, rs); } @@ -7866,8 +7833,8 @@ static std::string JALRC_HB(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); return img_format("JALRC.HB %s, %s", rt, rs); } @@ -7887,7 +7854,7 @@ static std::string JRC(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_9_8_7_6_5(instruction); - std::string rt = GPR(copy(rt_value)); + std::string rt = GPR(rt_value); return img_format("JRC %s", rt); } @@ -7910,7 +7877,7 @@ static std::string LB_16_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_1_0(instruction); std::string rt3 = GPR(decode_gpr_gpr3(rt3_value)); - std::string u = IMMEDIATE(copy(u_value)); + std::string u = IMMEDIATE(u_value); std::string rs3 = GPR(decode_gpr_gpr3(rs3_value)); return img_format("LB %s, %s(%s)", rt3, u, rs3); @@ -7932,8 +7899,8 @@ static std::string LB_GP_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string u = IMMEDIATE(copy(u_value)); + std::string rt = GPR(rt_value); + std::string u = IMMEDIATE(u_value); return img_format("LB %s, %s($%d)", rt, u, 28); } @@ -7955,9 +7922,9 @@ static std::string LB_S9_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string s = IMMEDIATE(copy(s_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string s = IMMEDIATE(s_value); + std::string rs = GPR(rs_value); return img_format("LB %s, %s(%s)", rt, s, rs); } @@ -7979,9 +7946,9 @@ static std::string LB_U12_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string u = IMMEDIATE(copy(u_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string u = IMMEDIATE(u_value); + std::string rs = GPR(rs_value); return img_format("LB %s, %s(%s)", rt, u, rs); } @@ -8003,9 +7970,9 @@ static std::string LBE(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string s = IMMEDIATE(copy(s_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string s = IMMEDIATE(s_value); + std::string rs = GPR(rs_value); return img_format("LBE %s, %s(%s)", rt, s, rs); } @@ -8028,7 +7995,7 @@ static std::string LBU_16_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_1_0(instruction); std::string rt3 = GPR(decode_gpr_gpr3(rt3_value)); - std::string u = IMMEDIATE(copy(u_value)); + std::string u = IMMEDIATE(u_value); std::string rs3 = GPR(decode_gpr_gpr3(rs3_value)); return img_format("LBU %s, %s(%s)", rt3, u, rs3); @@ -8050,8 +8017,8 @@ static std::string LBU_GP_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string u = IMMEDIATE(copy(u_value)); + std::string rt = GPR(rt_value); + std::string u = IMMEDIATE(u_value); return img_format("LBU %s, %s($%d)", rt, u, 28); } @@ -8073,9 +8040,9 @@ static std::string LBU_S9_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string s = IMMEDIATE(copy(s_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string s = IMMEDIATE(s_value); + std::string rs = GPR(rs_value); return img_format("LBU %s, %s(%s)", rt, s, rs); } @@ -8097,9 +8064,9 @@ static std::string LBU_U12_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string u = IMMEDIATE(copy(u_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string u = IMMEDIATE(u_value); + std::string rs = GPR(rs_value); return img_format("LBU %s, %s(%s)", rt, u, rs); } @@ -8121,9 +8088,9 @@ static std::string LBUE(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string s = IMMEDIATE(copy(s_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string s = IMMEDIATE(s_value); + std::string rs = GPR(rs_value); return img_format("LBUE %s, %s(%s)", rt, s, rs); } @@ -8145,9 +8112,9 @@ static std::string LBUX(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("LBUX %s, %s(%s)", rd, rs, rt); } @@ -8169,9 +8136,9 @@ static std::string LBX(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("LBX %s, %s(%s)", rd, rs, rt); } @@ -8192,8 +8159,8 @@ static std::string LD_GP_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_20_to_3__s3(instruction); - std::string rt = GPR(copy(rt_value)); - std::string u = IMMEDIATE(copy(u_value)); + std::string rt = GPR(rt_value); + std::string u = IMMEDIATE(u_value); return img_format("LD %s, %s($%d)", rt, u, 28); } @@ -8215,9 +8182,9 @@ static std::string LD_S9_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string s = IMMEDIATE(copy(s_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string s = IMMEDIATE(s_value); + std::string rs = GPR(rs_value); return img_format("LD %s, %s(%s)", rt, s, rs); } @@ -8239,9 +8206,9 @@ static std::string LD_U12_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string u = IMMEDIATE(copy(u_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string u = IMMEDIATE(u_value); + std::string rs = GPR(rs_value); return img_format("LD %s, %s(%s)", rt, u, rs); } @@ -8262,8 +8229,8 @@ static std::string LDC1_GP_(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_2__s2(instruction); - std::string ft = FPR(copy(ft_value)); - std::string u = IMMEDIATE(copy(u_value)); + std::string ft = FPR(ft_value); + std::string u = IMMEDIATE(u_value); return img_format("LDC1 %s, %s($%d)", ft, u, 28); } @@ -8285,9 +8252,9 @@ static std::string LDC1_S9_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string ft = FPR(copy(ft_value)); - std::string s = IMMEDIATE(copy(s_value)); - std::string rs = GPR(copy(rs_value)); + std::string ft = FPR(ft_value); + std::string s = IMMEDIATE(s_value); + std::string rs = GPR(rs_value); return img_format("LDC1 %s, %s(%s)", ft, s, rs); } @@ -8309,9 +8276,9 @@ static std::string LDC1_U12_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - std::string ft = FPR(copy(ft_value)); - std::string u = IMMEDIATE(copy(u_value)); - std::string rs = GPR(copy(rs_value)); + std::string ft = FPR(ft_value); + std::string u = IMMEDIATE(u_value); + std::string rs = GPR(rs_value); return img_format("LDC1 %s, %s(%s)", ft, u, rs); } @@ -8333,9 +8300,9 @@ static std::string LDC1XS(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ft_value = extract_ft_15_14_13_12_11(instruction); - std::string ft = FPR(copy(ft_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string ft = FPR(ft_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("LDC1XS %s, %s(%s)", ft, rs, rt); } @@ -8357,9 +8324,9 @@ static std::string LDC1X(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ft_value = extract_ft_15_14_13_12_11(instruction); - std::string ft = FPR(copy(ft_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string ft = FPR(ft_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("LDC1X %s, %s(%s)", ft, rs, rt); } @@ -8381,9 +8348,9 @@ static std::string LDC2(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string ct = CPR(copy(ct_value)); - std::string s = IMMEDIATE(copy(s_value)); - std::string rs = GPR(copy(rs_value)); + std::string ct = CPR(ct_value); + std::string s = IMMEDIATE(s_value); + std::string rs = GPR(rs_value); return img_format("LDC2 %s, %s(%s)", ct, s, rs); } @@ -8406,9 +8373,9 @@ static std::string LDM(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); uint64 count3_value = extract_count3_14_13_12(instruction); - std::string rt = GPR(copy(rt_value)); - std::string s = IMMEDIATE(copy(s_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string s = IMMEDIATE(s_value); + std::string rs = GPR(rs_value); std::string count3 = IMMEDIATE(encode_count3_from_count(count3_value)); return img_format("LDM %s, %s(%s), %s", rt, s, rs, count3); @@ -8430,8 +8397,8 @@ static std::string LDPC_48_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_41_40_39_38_37(instruction); int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction); - std::string rt = GPR(copy(rt_value)); - std::string s = ADDRESS(encode_s_from_address(s_value), 6, info); + std::string rt = GPR(rt_value); + std::string s = ADDRESS(s_value, 6, info); return img_format("LDPC %s, %s", rt, s); } @@ -8453,9 +8420,9 @@ static std::string LDX(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("LDX %s, %s(%s)", rd, rs, rt); } @@ -8477,9 +8444,9 @@ static std::string LDXS(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("LDXS %s, %s(%s)", rd, rs, rt); } @@ -8502,7 +8469,7 @@ static std::string LH_16_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_2_1__s1(instruction); std::string rt3 = GPR(decode_gpr_gpr3(rt3_value)); - std::string u = IMMEDIATE(copy(u_value)); + std::string u = IMMEDIATE(u_value); std::string rs3 = GPR(decode_gpr_gpr3(rs3_value)); return img_format("LH %s, %s(%s)", rt3, u, rs3); @@ -8524,8 +8491,8 @@ static std::string LH_GP_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_1__s1(instruction); - std::string rt = GPR(copy(rt_value)); - std::string u = IMMEDIATE(copy(u_value)); + std::string rt = GPR(rt_value); + std::string u = IMMEDIATE(u_value); return img_format("LH %s, %s($%d)", rt, u, 28); } @@ -8547,9 +8514,9 @@ static std::string LH_S9_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string s = IMMEDIATE(copy(s_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string s = IMMEDIATE(s_value); + std::string rs = GPR(rs_value); return img_format("LH %s, %s(%s)", rt, s, rs); } @@ -8571,9 +8538,9 @@ static std::string LH_U12_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string u = IMMEDIATE(copy(u_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string u = IMMEDIATE(u_value); + std::string rs = GPR(rs_value); return img_format("LH %s, %s(%s)", rt, u, rs); } @@ -8595,9 +8562,9 @@ static std::string LHE(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string s = IMMEDIATE(copy(s_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string s = IMMEDIATE(s_value); + std::string rs = GPR(rs_value); return img_format("LHE %s, %s(%s)", rt, s, rs); } @@ -8620,7 +8587,7 @@ static std::string LHU_16_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_2_1__s1(instruction); std::string rt3 = GPR(decode_gpr_gpr3(rt3_value)); - std::string u = IMMEDIATE(copy(u_value)); + std::string u = IMMEDIATE(u_value); std::string rs3 = GPR(decode_gpr_gpr3(rs3_value)); return img_format("LHU %s, %s(%s)", rt3, u, rs3); @@ -8642,8 +8609,8 @@ static std::string LHU_GP_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_1__s1(instruction); - std::string rt = GPR(copy(rt_value)); - std::string u = IMMEDIATE(copy(u_value)); + std::string rt = GPR(rt_value); + std::string u = IMMEDIATE(u_value); return img_format("LHU %s, %s($%d)", rt, u, 28); } @@ -8665,9 +8632,9 @@ static std::string LHU_S9_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string s = IMMEDIATE(copy(s_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string s = IMMEDIATE(s_value); + std::string rs = GPR(rs_value); return img_format("LHU %s, %s(%s)", rt, s, rs); } @@ -8689,9 +8656,9 @@ static std::string LHU_U12_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string u = IMMEDIATE(copy(u_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string u = IMMEDIATE(u_value); + std::string rs = GPR(rs_value); return img_format("LHU %s, %s(%s)", rt, u, rs); } @@ -8713,9 +8680,9 @@ static std::string LHUE(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string s = IMMEDIATE(copy(s_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string s = IMMEDIATE(s_value); + std::string rs = GPR(rs_value); return img_format("LHUE %s, %s(%s)", rt, s, rs); } @@ -8737,9 +8704,9 @@ static std::string LHUX(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("LHUX %s, %s(%s)", rd, rs, rt); } @@ -8761,9 +8728,9 @@ static std::string LHUXS(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("LHUXS %s, %s(%s)", rd, rs, rt); } @@ -8785,9 +8752,9 @@ static std::string LHXS(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("LHXS %s, %s(%s)", rd, rs, rt); } @@ -8809,9 +8776,9 @@ static std::string LHX(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("LHX %s, %s(%s)", rd, rs, rt); } @@ -8854,8 +8821,8 @@ static std::string LI_48_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_41_40_39_38_37(instruction); int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction); - std::string rt = GPR(copy(rt_value)); - std::string s = IMMEDIATE(copy(s_value)); + std::string rt = GPR(rt_value); + std::string s = IMMEDIATE(s_value); return img_format("LI %s, %s", rt, s); } @@ -8877,9 +8844,9 @@ static std::string LL(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_s2(instruction); - std::string rt = GPR(copy(rt_value)); - std::string s = IMMEDIATE(copy(s_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string s = IMMEDIATE(s_value); + std::string rs = GPR(rs_value); return img_format("LL %s, %s(%s)", rt, s, rs); } @@ -8901,9 +8868,9 @@ static std::string LLD(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_s3(instruction); - std::string rt = GPR(copy(rt_value)); - std::string s = IMMEDIATE(copy(s_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string s = IMMEDIATE(s_value); + std::string rs = GPR(rs_value); return img_format("LLD %s, %s(%s)", rt, s, rs); } @@ -8925,9 +8892,9 @@ static std::string LLDP(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ru_value = extract_ru_7_6_5_4_3(instruction); - std::string rt = GPR(copy(rt_value)); - std::string ru = GPR(copy(ru_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string ru = GPR(ru_value); + std::string rs = GPR(rs_value); return img_format("LLDP %s, %s, (%s)", rt, ru, rs); } @@ -8949,9 +8916,9 @@ static std::string LLE(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_s2(instruction); - std::string rt = GPR(copy(rt_value)); - std::string s = IMMEDIATE(copy(s_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string s = IMMEDIATE(s_value); + std::string rs = GPR(rs_value); return img_format("LLE %s, %s(%s)", rt, s, rs); } @@ -8973,9 +8940,9 @@ static std::string LLWP(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ru_value = extract_ru_7_6_5_4_3(instruction); - std::string rt = GPR(copy(rt_value)); - std::string ru = GPR(copy(ru_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string ru = GPR(ru_value); + std::string rs = GPR(rs_value); return img_format("LLWP %s, %s, (%s)", rt, ru, rs); } @@ -8997,9 +8964,9 @@ static std::string LLWPE(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ru_value = extract_ru_7_6_5_4_3(instruction); - std::string rt = GPR(copy(rt_value)); - std::string ru = GPR(copy(ru_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string ru = GPR(ru_value); + std::string rs = GPR(rs_value); return img_format("LLWPE %s, %s, (%s)", rt, ru, rs); } @@ -9022,10 +8989,10 @@ static std::string LSA(uint64 instruction, Dis_info *info) uint64 rd_value = extract_rd_15_14_13_12_11(instruction); uint64 u2_value = extract_u2_10_9(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); - std::string u2 = IMMEDIATE(copy(u2_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); + std::string u2 = IMMEDIATE(u2_value); return img_format("LSA %s, %s, %s, %s", rd, rs, rt, u2); } @@ -9046,8 +9013,8 @@ static std::string LUI(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); int64 s_value = extract_s__se31_0_11_to_2_20_to_12_s12(instruction); - std::string rt = GPR(copy(rt_value)); - std::string s = IMMEDIATE(copy(s_value)); + std::string rt = GPR(rt_value); + std::string s = IMMEDIATE(s_value); return img_format("LUI %s, %%hi(%s)", rt, s); } @@ -9070,7 +9037,7 @@ static std::string LW_16_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_3_2_1_0__s2(instruction); std::string rt3 = GPR(decode_gpr_gpr3(rt3_value)); - std::string u = IMMEDIATE(copy(u_value)); + std::string u = IMMEDIATE(u_value); std::string rs3 = GPR(decode_gpr_gpr3(rs3_value)); return img_format("LW %s, %s(%s)", rt3, u, rs3); @@ -9094,7 +9061,7 @@ static std::string LW_4X4_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_3_8__s2(instruction); std::string rt4 = GPR(decode_gpr_gpr4(rt4_value)); - std::string u = IMMEDIATE(copy(u_value)); + std::string u = IMMEDIATE(u_value); std::string rs4 = GPR(decode_gpr_gpr4(rs4_value)); return img_format("LW %s, %s(%s)", rt4, u, rs4); @@ -9116,8 +9083,8 @@ static std::string LW_GP_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_20_to_2__s2(instruction); - std::string rt = GPR(copy(rt_value)); - std::string u = IMMEDIATE(copy(u_value)); + std::string rt = GPR(rt_value); + std::string u = IMMEDIATE(u_value); return img_format("LW %s, %s($%d)", rt, u, 28); } @@ -9139,7 +9106,7 @@ static std::string LW_GP16_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_6_5_4_3_2_1_0__s2(instruction); std::string rt3 = GPR(decode_gpr_gpr3(rt3_value)); - std::string u = IMMEDIATE(copy(u_value)); + std::string u = IMMEDIATE(u_value); return img_format("LW %s, %s($%d)", rt3, u, 28); } @@ -9161,9 +9128,9 @@ static std::string LW_S9_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string s = IMMEDIATE(copy(s_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string s = IMMEDIATE(s_value); + std::string rs = GPR(rs_value); return img_format("LW %s, %s(%s)", rt, s, rs); } @@ -9184,8 +9151,8 @@ static std::string LW_SP_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_9_8_7_6_5(instruction); uint64 u_value = extract_u_4_3_2_1_0__s2(instruction); - std::string rt = GPR(copy(rt_value)); - std::string u = IMMEDIATE(copy(u_value)); + std::string rt = GPR(rt_value); + std::string u = IMMEDIATE(u_value); return img_format("LW %s, %s($%d)", rt, u, 29); } @@ -9207,9 +9174,9 @@ static std::string LW_U12_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string u = IMMEDIATE(copy(u_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string u = IMMEDIATE(u_value); + std::string rs = GPR(rs_value); return img_format("LW %s, %s(%s)", rt, u, rs); } @@ -9230,8 +9197,8 @@ static std::string LWC1_GP_(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_2__s2(instruction); - std::string ft = FPR(copy(ft_value)); - std::string u = IMMEDIATE(copy(u_value)); + std::string ft = FPR(ft_value); + std::string u = IMMEDIATE(u_value); return img_format("LWC1 %s, %s($%d)", ft, u, 28); } @@ -9253,9 +9220,9 @@ static std::string LWC1_S9_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string ft = FPR(copy(ft_value)); - std::string s = IMMEDIATE(copy(s_value)); - std::string rs = GPR(copy(rs_value)); + std::string ft = FPR(ft_value); + std::string s = IMMEDIATE(s_value); + std::string rs = GPR(rs_value); return img_format("LWC1 %s, %s(%s)", ft, s, rs); } @@ -9277,9 +9244,9 @@ static std::string LWC1_U12_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - std::string ft = FPR(copy(ft_value)); - std::string u = IMMEDIATE(copy(u_value)); - std::string rs = GPR(copy(rs_value)); + std::string ft = FPR(ft_value); + std::string u = IMMEDIATE(u_value); + std::string rs = GPR(rs_value); return img_format("LWC1 %s, %s(%s)", ft, u, rs); } @@ -9301,9 +9268,9 @@ static std::string LWC1X(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ft_value = extract_ft_15_14_13_12_11(instruction); - std::string ft = FPR(copy(ft_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string ft = FPR(ft_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("LWC1X %s, %s(%s)", ft, rs, rt); } @@ -9325,9 +9292,9 @@ static std::string LWC1XS(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ft_value = extract_ft_15_14_13_12_11(instruction); - std::string ft = FPR(copy(ft_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string ft = FPR(ft_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("LWC1XS %s, %s(%s)", ft, rs, rt); } @@ -9349,9 +9316,9 @@ static std::string LWC2(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string ct = CPR(copy(ct_value)); - std::string s = IMMEDIATE(copy(s_value)); - std::string rs = GPR(copy(rs_value)); + std::string ct = CPR(ct_value); + std::string s = IMMEDIATE(s_value); + std::string rs = GPR(rs_value); return img_format("LWC2 %s, %s(%s)", ct, s, rs); } @@ -9373,9 +9340,9 @@ static std::string LWE(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string s = IMMEDIATE(copy(s_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string s = IMMEDIATE(s_value); + std::string rs = GPR(rs_value); return img_format("LWE %s, %s(%s)", rt, s, rs); } @@ -9398,9 +9365,9 @@ static std::string LWM(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); uint64 count3_value = extract_count3_14_13_12(instruction); - std::string rt = GPR(copy(rt_value)); - std::string s = IMMEDIATE(copy(s_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string s = IMMEDIATE(s_value); + std::string rs = GPR(rs_value); std::string count3 = IMMEDIATE(encode_count3_from_count(count3_value)); return img_format("LWM %s, %s(%s), %s", rt, s, rs, count3); @@ -9422,8 +9389,8 @@ static std::string LWPC_48_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_41_40_39_38_37(instruction); int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction); - std::string rt = GPR(copy(rt_value)); - std::string s = ADDRESS(encode_s_from_address(s_value), 6, info); + std::string rt = GPR(rt_value); + std::string s = ADDRESS(s_value, 6, info); return img_format("LWPC %s, %s", rt, s); } @@ -9444,8 +9411,8 @@ static std::string LWU_GP_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_2__s2(instruction); - std::string rt = GPR(copy(rt_value)); - std::string u = IMMEDIATE(copy(u_value)); + std::string rt = GPR(rt_value); + std::string u = IMMEDIATE(u_value); return img_format("LWU %s, %s($%d)", rt, u, 28); } @@ -9467,9 +9434,9 @@ static std::string LWU_S9_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string s = IMMEDIATE(copy(s_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string s = IMMEDIATE(s_value); + std::string rs = GPR(rs_value); return img_format("LWU %s, %s(%s)", rt, s, rs); } @@ -9491,9 +9458,9 @@ static std::string LWU_U12_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string u = IMMEDIATE(copy(u_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string u = IMMEDIATE(u_value); + std::string rs = GPR(rs_value); return img_format("LWU %s, %s(%s)", rt, u, rs); } @@ -9515,9 +9482,9 @@ static std::string LWUX(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("LWUX %s, %s(%s)", rd, rs, rt); } @@ -9539,9 +9506,9 @@ static std::string LWUXS(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("LWUXS %s, %s(%s)", rd, rs, rt); } @@ -9563,9 +9530,9 @@ static std::string LWX(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("LWX %s, %s(%s)", rd, rs, rt); } @@ -9611,9 +9578,9 @@ static std::string LWXS_32_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("LWXS %s, %s(%s)", rd, rs, rt); } @@ -9636,9 +9603,9 @@ static std::string MADD_DSP_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string ac = AC(copy(ac_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string ac = AC(ac_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("MADD %s, %s, %s", ac, rs, rt); } @@ -9660,9 +9627,9 @@ static std::string MADDF_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("MADDF.D %s, %s, %s", fd, fs, ft); } @@ -9684,9 +9651,9 @@ static std::string MADDF_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("MADDF.S %s, %s, %s", fd, fs, ft); } @@ -9709,9 +9676,9 @@ static std::string MADDU_DSP_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string ac = AC(copy(ac_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string ac = AC(ac_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("MADDU %s, %s, %s", ac, rs, rt); } @@ -9734,9 +9701,9 @@ static std::string MAQ_S_W_PHL(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string ac = AC(copy(ac_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string ac = AC(ac_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("MAQ_S.W.PHL %s, %s, %s", ac, rs, rt); } @@ -9759,9 +9726,9 @@ static std::string MAQ_S_W_PHR(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string ac = AC(copy(ac_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string ac = AC(ac_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("MAQ_S.W.PHR %s, %s, %s", ac, rs, rt); } @@ -9784,9 +9751,9 @@ static std::string MAQ_SA_W_PHL(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string ac = AC(copy(ac_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string ac = AC(ac_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("MAQ_SA.W.PHL %s, %s, %s", ac, rs, rt); } @@ -9809,9 +9776,9 @@ static std::string MAQ_SA_W_PHR(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string ac = AC(copy(ac_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string ac = AC(ac_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("MAQ_SA.W.PHR %s, %s, %s", ac, rs, rt); } @@ -9833,9 +9800,9 @@ static std::string MAX_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("MAX.D %s, %s, %s", fd, fs, ft); } @@ -9857,9 +9824,9 @@ static std::string MAX_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("MAX.S %s, %s, %s", fd, fs, ft); } @@ -9881,9 +9848,9 @@ static std::string MAXA_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("MAXA.D %s, %s, %s", fd, fs, ft); } @@ -9905,9 +9872,9 @@ static std::string MAXA_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("MAXA.S %s, %s, %s", fd, fs, ft); } @@ -9929,9 +9896,9 @@ static std::string MFC0(uint64 instruction, Dis_info *info) uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); uint64 sel_value = extract_sel_15_14_13_12_11(instruction); - std::string rt = GPR(copy(rt_value)); - std::string c0s = CPR(copy(c0s_value)); - std::string sel = IMMEDIATE(copy(sel_value)); + std::string rt = GPR(rt_value); + std::string c0s = CPR(c0s_value); + std::string sel = IMMEDIATE(sel_value); return img_format("MFC0 %s, %s, %s", rt, c0s, sel); } @@ -9952,8 +9919,8 @@ static std::string MFC1(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string rt = GPR(copy(rt_value)); - std::string fs = FPR(copy(fs_value)); + std::string rt = GPR(rt_value); + std::string fs = FPR(fs_value); return img_format("MFC1 %s, %s", rt, fs); } @@ -9974,8 +9941,8 @@ static std::string MFC2(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 cs_value = extract_cs_20_19_18_17_16(instruction); - std::string rt = GPR(copy(rt_value)); - std::string cs = CPR(copy(cs_value)); + std::string rt = GPR(rt_value); + std::string cs = CPR(cs_value); return img_format("MFC2 %s, %s", rt, cs); } @@ -9997,9 +9964,9 @@ static std::string MFGC0(uint64 instruction, Dis_info *info) uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); uint64 sel_value = extract_sel_15_14_13_12_11(instruction); - std::string rt = GPR(copy(rt_value)); - std::string c0s = CPR(copy(c0s_value)); - std::string sel = IMMEDIATE(copy(sel_value)); + std::string rt = GPR(rt_value); + std::string c0s = CPR(c0s_value); + std::string sel = IMMEDIATE(sel_value); return img_format("MFGC0 %s, %s, %s", rt, c0s, sel); } @@ -10021,9 +9988,9 @@ static std::string MFHC0(uint64 instruction, Dis_info *info) uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); uint64 sel_value = extract_sel_15_14_13_12_11(instruction); - std::string rt = GPR(copy(rt_value)); - std::string c0s = CPR(copy(c0s_value)); - std::string sel = IMMEDIATE(copy(sel_value)); + std::string rt = GPR(rt_value); + std::string c0s = CPR(c0s_value); + std::string sel = IMMEDIATE(sel_value); return img_format("MFHC0 %s, %s, %s", rt, c0s, sel); } @@ -10044,8 +10011,8 @@ static std::string MFHC1(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string rt = GPR(copy(rt_value)); - std::string fs = FPR(copy(fs_value)); + std::string rt = GPR(rt_value); + std::string fs = FPR(fs_value); return img_format("MFHC1 %s, %s", rt, fs); } @@ -10066,8 +10033,8 @@ static std::string MFHC2(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 cs_value = extract_cs_20_19_18_17_16(instruction); - std::string rt = GPR(copy(rt_value)); - std::string cs = CPR(copy(cs_value)); + std::string rt = GPR(rt_value); + std::string cs = CPR(cs_value); return img_format("MFHC2 %s, %s", rt, cs); } @@ -10089,9 +10056,9 @@ static std::string MFHGC0(uint64 instruction, Dis_info *info) uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); uint64 sel_value = extract_sel_15_14_13_12_11(instruction); - std::string rt = GPR(copy(rt_value)); - std::string c0s = CPR(copy(c0s_value)); - std::string sel = IMMEDIATE(copy(sel_value)); + std::string rt = GPR(rt_value); + std::string c0s = CPR(c0s_value); + std::string sel = IMMEDIATE(sel_value); return img_format("MFHGC0 %s, %s, %s", rt, c0s, sel); } @@ -10111,8 +10078,8 @@ static std::string MFHI_DSP_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string rt = GPR(copy(rt_value)); - std::string ac = AC(copy(ac_value)); + std::string rt = GPR(rt_value); + std::string ac = AC(ac_value); return img_format("MFHI %s, %s", rt, ac); } @@ -10135,10 +10102,10 @@ static std::string MFHTR(uint64 instruction, Dis_info *info) uint64 sel_value = extract_sel_15_14_13_12_11(instruction); uint64 u_value = extract_u_10(instruction); - std::string rt = GPR(copy(rt_value)); - std::string c0s = IMMEDIATE(copy(c0s_value)); - std::string u = IMMEDIATE(copy(u_value)); - std::string sel = IMMEDIATE(copy(sel_value)); + std::string rt = GPR(rt_value); + std::string c0s = IMMEDIATE(c0s_value); + std::string u = IMMEDIATE(u_value); + std::string sel = IMMEDIATE(sel_value); return img_format("MFHTR %s, %s, %s, %s", rt, c0s, u, sel); } @@ -10158,8 +10125,8 @@ static std::string MFLO_DSP_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string rt = GPR(copy(rt_value)); - std::string ac = AC(copy(ac_value)); + std::string rt = GPR(rt_value); + std::string ac = AC(ac_value); return img_format("MFLO %s, %s", rt, ac); } @@ -10182,10 +10149,10 @@ static std::string MFTR(uint64 instruction, Dis_info *info) uint64 sel_value = extract_sel_15_14_13_12_11(instruction); uint64 u_value = extract_u_10(instruction); - std::string rt = GPR(copy(rt_value)); - std::string c0s = IMMEDIATE(copy(c0s_value)); - std::string u = IMMEDIATE(copy(u_value)); - std::string sel = IMMEDIATE(copy(sel_value)); + std::string rt = GPR(rt_value); + std::string c0s = IMMEDIATE(c0s_value); + std::string u = IMMEDIATE(u_value); + std::string sel = IMMEDIATE(sel_value); return img_format("MFTR %s, %s, %s, %s", rt, c0s, u, sel); } @@ -10207,9 +10174,9 @@ static std::string MIN_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("MIN.D %s, %s, %s", fd, fs, ft); } @@ -10231,9 +10198,9 @@ static std::string MIN_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("MIN.S %s, %s, %s", fd, fs, ft); } @@ -10255,9 +10222,9 @@ static std::string MINA_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("MINA.D %s, %s, %s", fd, fs, ft); } @@ -10279,9 +10246,9 @@ static std::string MINA_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("MINA.S %s, %s, %s", fd, fs, ft); } @@ -10303,9 +10270,9 @@ static std::string MOD(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("MOD %s, %s, %s", rd, rs, rt); } @@ -10327,9 +10294,9 @@ static std::string MODSUB(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("MODSUB %s, %s, %s", rd, rs, rt); } @@ -10351,9 +10318,9 @@ static std::string MODU(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("MODU %s, %s, %s", rd, rs, rt); } @@ -10374,8 +10341,8 @@ static std::string MOV_D(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(copy(ft_value)); - std::string fs = FPR(copy(fs_value)); + std::string ft = FPR(ft_value); + std::string fs = FPR(fs_value); return img_format("MOV.D %s, %s", ft, fs); } @@ -10396,8 +10363,8 @@ static std::string MOV_S(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(copy(ft_value)); - std::string fs = FPR(copy(fs_value)); + std::string ft = FPR(ft_value); + std::string fs = FPR(fs_value); return img_format("MOV.S %s, %s", ft, fs); } @@ -10421,7 +10388,7 @@ static std::string MOVE_BALC(uint64 instruction, Dis_info *info) std::string rd1 = GPR(decode_gpr_gpr1(rd1_value)); std::string rtz4 = GPR(decode_gpr_gpr4_zero(rtz4_value)); - std::string s = ADDRESS(encode_s_from_address(s_value), 4, info); + std::string s = ADDRESS(s_value, 4, info); return img_format("MOVE.BALC %s, %s, %s", rd1, rtz4, s); } @@ -10496,8 +10463,8 @@ static std::string MOVE(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_9_8_7_6_5(instruction); uint64 rs_value = extract_rs_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); return img_format("MOVE %s, %s", rt, rs); } @@ -10519,9 +10486,9 @@ static std::string MOVN(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("MOVN %s, %s, %s", rd, rs, rt); } @@ -10543,9 +10510,9 @@ static std::string MOVZ(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("MOVZ %s, %s, %s", rd, rs, rt); } @@ -10567,9 +10534,9 @@ static std::string MSUB_DSP_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string ac = AC(copy(ac_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string ac = AC(ac_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("MSUB %s, %s, %s", ac, rs, rt); } @@ -10591,9 +10558,9 @@ static std::string MSUBF_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("MSUBF.D %s, %s, %s", fd, fs, ft); } @@ -10615,9 +10582,9 @@ static std::string MSUBF_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("MSUBF.S %s, %s, %s", fd, fs, ft); } @@ -10639,9 +10606,9 @@ static std::string MSUBU_DSP_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string ac = AC(copy(ac_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string ac = AC(ac_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("MSUBU %s, %s, %s", ac, rs, rt); } @@ -10663,9 +10630,9 @@ static std::string MTC0(uint64 instruction, Dis_info *info) uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); uint64 sel_value = extract_sel_15_14_13_12_11(instruction); - std::string rt = GPR(copy(rt_value)); - std::string c0s = CPR(copy(c0s_value)); - std::string sel = IMMEDIATE(copy(sel_value)); + std::string rt = GPR(rt_value); + std::string c0s = CPR(c0s_value); + std::string sel = IMMEDIATE(sel_value); return img_format("MTC0 %s, %s, %s", rt, c0s, sel); } @@ -10686,8 +10653,8 @@ static std::string MTC1(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string rt = GPR(copy(rt_value)); - std::string fs = FPR(copy(fs_value)); + std::string rt = GPR(rt_value); + std::string fs = FPR(fs_value); return img_format("MTC1 %s, %s", rt, fs); } @@ -10708,8 +10675,8 @@ static std::string MTC2(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 cs_value = extract_cs_20_19_18_17_16(instruction); - std::string rt = GPR(copy(rt_value)); - std::string cs = CPR(copy(cs_value)); + std::string rt = GPR(rt_value); + std::string cs = CPR(cs_value); return img_format("MTC2 %s, %s", rt, cs); } @@ -10731,9 +10698,9 @@ static std::string MTGC0(uint64 instruction, Dis_info *info) uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); uint64 sel_value = extract_sel_15_14_13_12_11(instruction); - std::string rt = GPR(copy(rt_value)); - std::string c0s = CPR(copy(c0s_value)); - std::string sel = IMMEDIATE(copy(sel_value)); + std::string rt = GPR(rt_value); + std::string c0s = CPR(c0s_value); + std::string sel = IMMEDIATE(sel_value); return img_format("MTGC0 %s, %s, %s", rt, c0s, sel); } @@ -10755,9 +10722,9 @@ static std::string MTHC0(uint64 instruction, Dis_info *info) uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); uint64 sel_value = extract_sel_15_14_13_12_11(instruction); - std::string rt = GPR(copy(rt_value)); - std::string c0s = CPR(copy(c0s_value)); - std::string sel = IMMEDIATE(copy(sel_value)); + std::string rt = GPR(rt_value); + std::string c0s = CPR(c0s_value); + std::string sel = IMMEDIATE(sel_value); return img_format("MTHC0 %s, %s, %s", rt, c0s, sel); } @@ -10778,8 +10745,8 @@ static std::string MTHC1(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string rt = GPR(copy(rt_value)); - std::string fs = FPR(copy(fs_value)); + std::string rt = GPR(rt_value); + std::string fs = FPR(fs_value); return img_format("MTHC1 %s, %s", rt, fs); } @@ -10800,8 +10767,8 @@ static std::string MTHC2(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 cs_value = extract_cs_20_19_18_17_16(instruction); - std::string rt = GPR(copy(rt_value)); - std::string cs = CPR(copy(cs_value)); + std::string rt = GPR(rt_value); + std::string cs = CPR(cs_value); return img_format("MTHC2 %s, %s", rt, cs); } @@ -10823,9 +10790,9 @@ static std::string MTHGC0(uint64 instruction, Dis_info *info) uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); uint64 sel_value = extract_sel_15_14_13_12_11(instruction); - std::string rt = GPR(copy(rt_value)); - std::string c0s = CPR(copy(c0s_value)); - std::string sel = IMMEDIATE(copy(sel_value)); + std::string rt = GPR(rt_value); + std::string c0s = CPR(c0s_value); + std::string sel = IMMEDIATE(sel_value); return img_format("MTHGC0 %s, %s, %s", rt, c0s, sel); } @@ -10845,8 +10812,8 @@ static std::string MTHI_DSP_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string rs = GPR(copy(rs_value)); - std::string ac = AC(copy(ac_value)); + std::string rs = GPR(rs_value); + std::string ac = AC(ac_value); return img_format("MTHI %s, %s", rs, ac); } @@ -10866,8 +10833,8 @@ static std::string MTHLIP(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string rs = GPR(copy(rs_value)); - std::string ac = AC(copy(ac_value)); + std::string rs = GPR(rs_value); + std::string ac = AC(ac_value); return img_format("MTHLIP %s, %s", rs, ac); } @@ -10890,10 +10857,10 @@ static std::string MTHTR(uint64 instruction, Dis_info *info) uint64 sel_value = extract_sel_15_14_13_12_11(instruction); uint64 u_value = extract_u_10(instruction); - std::string rt = GPR(copy(rt_value)); - std::string c0s = IMMEDIATE(copy(c0s_value)); - std::string u = IMMEDIATE(copy(u_value)); - std::string sel = IMMEDIATE(copy(sel_value)); + std::string rt = GPR(rt_value); + std::string c0s = IMMEDIATE(c0s_value); + std::string u = IMMEDIATE(u_value); + std::string sel = IMMEDIATE(sel_value); return img_format("MTHTR %s, %s, %s, %s", rt, c0s, u, sel); } @@ -10913,8 +10880,8 @@ static std::string MTLO_DSP_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string rs = GPR(copy(rs_value)); - std::string ac = AC(copy(ac_value)); + std::string rs = GPR(rs_value); + std::string ac = AC(ac_value); return img_format("MTLO %s, %s", rs, ac); } @@ -10937,10 +10904,10 @@ static std::string MTTR(uint64 instruction, Dis_info *info) uint64 sel_value = extract_sel_15_14_13_12_11(instruction); uint64 u_value = extract_u_10(instruction); - std::string rt = GPR(copy(rt_value)); - std::string c0s = IMMEDIATE(copy(c0s_value)); - std::string u = IMMEDIATE(copy(u_value)); - std::string sel = IMMEDIATE(copy(sel_value)); + std::string rt = GPR(rt_value); + std::string c0s = IMMEDIATE(c0s_value); + std::string u = IMMEDIATE(u_value); + std::string sel = IMMEDIATE(sel_value); return img_format("MTTR %s, %s, %s, %s", rt, c0s, u, sel); } @@ -10962,9 +10929,9 @@ static std::string MUH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("MUH %s, %s, %s", rd, rs, rt); } @@ -10986,9 +10953,9 @@ static std::string MUHU(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("MUHU %s, %s, %s", rd, rs, rt); } @@ -11010,9 +10977,9 @@ static std::string MUL_32_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("MUL %s, %s, %s", rd, rs, rt); } @@ -11056,9 +11023,9 @@ static std::string MUL_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("MUL.D %s, %s, %s", fd, fs, ft); } @@ -11081,9 +11048,9 @@ static std::string MUL_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("MUL.PH %s, %s, %s", rd, rs, rt); } @@ -11106,9 +11073,9 @@ static std::string MUL_S_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("MUL_S.PH %s, %s, %s", rd, rs, rt); } @@ -11130,9 +11097,9 @@ static std::string MUL_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("MUL.S %s, %s, %s", fd, fs, ft); } @@ -11155,9 +11122,9 @@ static std::string MULEQ_S_W_PHL(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("MULEQ_S.W.PHL %s, %s, %s", rd, rs, rt); } @@ -11180,9 +11147,9 @@ static std::string MULEQ_S_W_PHR(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("MULEQ_S.W.PHR %s, %s, %s", rd, rs, rt); } @@ -11205,9 +11172,9 @@ static std::string MULEU_S_PH_QBL(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("MULEU_S.PH.QBL %s, %s, %s", rd, rs, rt); } @@ -11230,9 +11197,9 @@ static std::string MULEU_S_PH_QBR(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("MULEU_S.PH.QBR %s, %s, %s", rd, rs, rt); } @@ -11255,9 +11222,9 @@ static std::string MULQ_RS_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("MULQ_RS.PH %s, %s, %s", rd, rs, rt); } @@ -11280,9 +11247,9 @@ static std::string MULQ_RS_W(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("MULQ_RS.W %s, %s, %s", rd, rs, rt); } @@ -11305,9 +11272,9 @@ static std::string MULQ_S_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("MULQ_S.PH %s, %s, %s", rd, rs, rt); } @@ -11330,9 +11297,9 @@ static std::string MULQ_S_W(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("MULQ_S.W %s, %s, %s", rd, rs, rt); } @@ -11355,9 +11322,9 @@ static std::string MULSA_W_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string ac = AC(copy(ac_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string ac = AC(ac_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("MULSA.W.PH %s, %s, %s", ac, rs, rt); } @@ -11380,9 +11347,9 @@ static std::string MULSAQ_S_W_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string ac = AC(copy(ac_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string ac = AC(ac_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("MULSAQ_S.W.PH %s, %s, %s", ac, rs, rt); } @@ -11404,9 +11371,9 @@ static std::string MULT_DSP_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string ac = AC(copy(ac_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string ac = AC(ac_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("MULT %s, %s, %s", ac, rs, rt); } @@ -11428,9 +11395,9 @@ static std::string MULTU_DSP_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string ac = AC(copy(ac_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string ac = AC(ac_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("MULTU %s, %s, %s", ac, rs, rt); } @@ -11452,9 +11419,9 @@ static std::string MULU(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("MULU %s, %s, %s", rd, rs, rt); } @@ -11475,8 +11442,8 @@ static std::string NEG_D(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(copy(ft_value)); - std::string fs = FPR(copy(fs_value)); + std::string ft = FPR(ft_value); + std::string fs = FPR(fs_value); return img_format("NEG.D %s, %s", ft, fs); } @@ -11497,8 +11464,8 @@ static std::string NEG_S(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(copy(ft_value)); - std::string fs = FPR(copy(fs_value)); + std::string ft = FPR(ft_value); + std::string fs = FPR(fs_value); return img_format("NEG.S %s, %s", ft, fs); } @@ -11556,9 +11523,9 @@ static std::string NOR(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("NOR %s, %s, %s", rd, rs, rt); } @@ -11624,9 +11591,9 @@ static std::string OR_32_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("OR %s, %s, %s", rd, rs, rt); } @@ -11648,9 +11615,9 @@ static std::string ORI(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); - std::string u = IMMEDIATE(copy(u_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); + std::string u = IMMEDIATE(u_value); return img_format("ORI %s, %s, %s", rt, rs, u); } @@ -11673,9 +11640,9 @@ static std::string PACKRL_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("PACKRL.PH %s, %s, %s", rd, rs, rt); } @@ -11716,9 +11683,9 @@ static std::string PICK_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("PICK.PH %s, %s, %s", rd, rs, rt); } @@ -11741,9 +11708,9 @@ static std::string PICK_QB(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("PICK.QB %s, %s, %s", rd, rs, rt); } @@ -11765,8 +11732,8 @@ static std::string PRECEQ_W_PHL(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); return img_format("PRECEQ.W.PHL %s, %s", rt, rs); } @@ -11788,8 +11755,8 @@ static std::string PRECEQ_W_PHR(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); return img_format("PRECEQ.W.PHR %s, %s", rt, rs); } @@ -11811,8 +11778,8 @@ static std::string PRECEQU_PH_QBLA(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); return img_format("PRECEQU.PH.QBLA %s, %s", rt, rs); } @@ -11834,8 +11801,8 @@ static std::string PRECEQU_PH_QBL(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); return img_format("PRECEQU.PH.QBL %s, %s", rt, rs); } @@ -11857,8 +11824,8 @@ static std::string PRECEQU_PH_QBRA(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); return img_format("PRECEQU.PH.QBRA %s, %s", rt, rs); } @@ -11880,8 +11847,8 @@ static std::string PRECEQU_PH_QBR(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); return img_format("PRECEQU.PH.QBR %s, %s", rt, rs); } @@ -11904,8 +11871,8 @@ static std::string PRECEU_PH_QBLA(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); return img_format("PRECEU.PH.QBLA %s, %s", rt, rs); } @@ -11927,8 +11894,8 @@ static std::string PRECEU_PH_QBL(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); return img_format("PRECEU.PH.QBL %s, %s", rt, rs); } @@ -11951,8 +11918,8 @@ static std::string PRECEU_PH_QBRA(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); return img_format("PRECEU.PH.QBRA %s, %s", rt, rs); } @@ -11974,8 +11941,8 @@ static std::string PRECEU_PH_QBR(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); return img_format("PRECEU.PH.QBR %s, %s", rt, rs); } @@ -11998,9 +11965,9 @@ static std::string PRECR_QB_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("PRECR.QB.PH %s, %s, %s", rd, rs, rt); } @@ -12023,9 +11990,9 @@ static std::string PRECR_SRA_PH_W(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 sa_value = extract_sa_15_14_13_12_11(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); - std::string sa = IMMEDIATE(copy(sa_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); + std::string sa = IMMEDIATE(sa_value); return img_format("PRECR_SRA.PH.W %s, %s, %s", rt, rs, sa); } @@ -12048,9 +12015,9 @@ static std::string PRECR_SRA_R_PH_W(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 sa_value = extract_sa_15_14_13_12_11(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); - std::string sa = IMMEDIATE(copy(sa_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); + std::string sa = IMMEDIATE(sa_value); return img_format("PRECR_SRA_R.PH.W %s, %s, %s", rt, rs, sa); } @@ -12073,9 +12040,9 @@ static std::string PRECRQ_PH_W(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("PRECRQ.PH.W %s, %s, %s", rd, rs, rt); } @@ -12098,9 +12065,9 @@ static std::string PRECRQ_QB_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("PRECRQ.QB.PH %s, %s, %s", rd, rs, rt); } @@ -12123,9 +12090,9 @@ static std::string PRECRQ_RS_PH_W(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("PRECRQ_RS.PH.W %s, %s, %s", rd, rs, rt); } @@ -12148,9 +12115,9 @@ static std::string PRECRQU_S_QB_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("PRECRQU_S.QB.PH %s, %s, %s", rd, rs, rt); } @@ -12172,9 +12139,9 @@ static std::string PREF_S9_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string hint = IMMEDIATE(copy(hint_value)); - std::string s = IMMEDIATE(copy(s_value)); - std::string rs = GPR(copy(rs_value)); + std::string hint = IMMEDIATE(hint_value); + std::string s = IMMEDIATE(s_value); + std::string rs = GPR(rs_value); return img_format("PREF %s, %s(%s)", hint, s, rs); } @@ -12196,9 +12163,9 @@ static std::string PREF_U12_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - std::string hint = IMMEDIATE(copy(hint_value)); - std::string u = IMMEDIATE(copy(u_value)); - std::string rs = GPR(copy(rs_value)); + std::string hint = IMMEDIATE(hint_value); + std::string u = IMMEDIATE(u_value); + std::string rs = GPR(rs_value); return img_format("PREF %s, %s(%s)", hint, u, rs); } @@ -12220,9 +12187,9 @@ static std::string PREFE(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string hint = IMMEDIATE(copy(hint_value)); - std::string s = IMMEDIATE(copy(s_value)); - std::string rs = GPR(copy(rs_value)); + std::string hint = IMMEDIATE(hint_value); + std::string s = IMMEDIATE(s_value); + std::string rs = GPR(rs_value); return img_format("PREFE %s, %s(%s)", hint, s, rs); } @@ -12244,9 +12211,9 @@ static std::string PREPEND(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 sa_value = extract_sa_15_14_13_12_11(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); - std::string sa = IMMEDIATE(copy(sa_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); + std::string sa = IMMEDIATE(sa_value); return img_format("PREPEND %s, %s, %s", rt, rs, sa); } @@ -12266,8 +12233,8 @@ static std::string RADDU_W_QB(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); return img_format("RADDU.W.QB %s, %s", rt, rs); } @@ -12287,8 +12254,8 @@ static std::string RDDSP(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 mask_value = extract_mask_20_19_18_17_16_15_14(instruction); - std::string rt = GPR(copy(rt_value)); - std::string mask = IMMEDIATE(copy(mask_value)); + std::string rt = GPR(rt_value); + std::string mask = IMMEDIATE(mask_value); return img_format("RDDSP %s, %s", rt, mask); } @@ -12310,9 +12277,9 @@ static std::string RDHWR(uint64 instruction, Dis_info *info) uint64 hs_value = extract_hs_20_19_18_17_16(instruction); uint64 sel_value = extract_sel_13_12_11(instruction); - std::string rt = GPR(copy(rt_value)); - std::string hs = CPR(copy(hs_value)); - std::string sel = IMMEDIATE(copy(sel_value)); + std::string rt = GPR(rt_value); + std::string hs = CPR(hs_value); + std::string sel = IMMEDIATE(sel_value); return img_format("RDHWR %s, %s, %s", rt, hs, sel); } @@ -12333,8 +12300,8 @@ static std::string RDPGPR(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); return img_format("RDPGPR %s, %s", rt, rs); } @@ -12355,8 +12322,8 @@ static std::string RECIP_D(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(copy(ft_value)); - std::string fs = FPR(copy(fs_value)); + std::string ft = FPR(ft_value); + std::string fs = FPR(fs_value); return img_format("RECIP.D %s, %s", ft, fs); } @@ -12377,8 +12344,8 @@ static std::string RECIP_S(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(copy(ft_value)); - std::string fs = FPR(copy(fs_value)); + std::string ft = FPR(ft_value); + std::string fs = FPR(fs_value); return img_format("RECIP.S %s, %s", ft, fs); } @@ -12399,8 +12366,8 @@ static std::string REPL_PH(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); int64 s_value = extract_s__se9_20_19_18_17_16_15_14_13_12_11(instruction); - std::string rt = GPR(copy(rt_value)); - std::string s = IMMEDIATE(copy(s_value)); + std::string rt = GPR(rt_value); + std::string s = IMMEDIATE(s_value); return img_format("REPL.PH %s, %s", rt, s); } @@ -12421,8 +12388,8 @@ static std::string REPL_QB(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_20_19_18_17_16_15_14_13(instruction); - std::string rt = GPR(copy(rt_value)); - std::string u = IMMEDIATE(copy(u_value)); + std::string rt = GPR(rt_value); + std::string u = IMMEDIATE(u_value); return img_format("REPL.QB %s, %s", rt, u); } @@ -12443,8 +12410,8 @@ static std::string REPLV_PH(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); return img_format("REPLV.PH %s, %s", rt, rs); } @@ -12464,8 +12431,8 @@ static std::string REPLV_QB(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); return img_format("REPLV.QB %s, %s", rt, rs); } @@ -12488,7 +12455,7 @@ static std::string RESTORE_32_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3__s3(instruction); uint64 gp_value = extract_gp_2(instruction); - std::string u = IMMEDIATE(copy(u_value)); + std::string u = IMMEDIATE(u_value); return img_format("RESTORE %s%s", u, save_restore_list(rt_value, count_value, gp_value)); } @@ -12510,7 +12477,7 @@ static std::string RESTORE_JRC_16_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_7_6_5_4__s4(instruction); uint64 count_value = extract_count_3_2_1_0(instruction); - std::string u = IMMEDIATE(copy(u_value)); + std::string u = IMMEDIATE(u_value); return img_format("RESTORE.JRC %s%s", u, save_restore_list(encode_rt1_from_rt(rt1_value), count_value, 0)); } @@ -12533,7 +12500,7 @@ static std::string RESTORE_JRC_32_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3__s3(instruction); uint64 gp_value = extract_gp_2(instruction); - std::string u = IMMEDIATE(copy(u_value)); + std::string u = IMMEDIATE(u_value); return img_format("RESTORE.JRC %s%s", u, save_restore_list(rt_value, count_value, gp_value)); } @@ -12554,8 +12521,8 @@ static std::string RESTOREF(uint64 instruction, Dis_info *info) uint64 count_value = extract_count_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3__s3(instruction); - std::string u = IMMEDIATE(copy(u_value)); - std::string count = IMMEDIATE(copy(count_value)); + std::string u = IMMEDIATE(u_value); + std::string count = IMMEDIATE(count_value); return img_format("RESTOREF %s, %s", u, count); } @@ -12576,8 +12543,8 @@ static std::string RINT_D(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(copy(ft_value)); - std::string fs = FPR(copy(fs_value)); + std::string ft = FPR(ft_value); + std::string fs = FPR(fs_value); return img_format("RINT.D %s, %s", ft, fs); } @@ -12598,8 +12565,8 @@ static std::string RINT_S(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(copy(ft_value)); - std::string fs = FPR(copy(fs_value)); + std::string ft = FPR(ft_value); + std::string fs = FPR(fs_value); return img_format("RINT.S %s, %s", ft, fs); } @@ -12621,9 +12588,9 @@ static std::string ROTR(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 shift_value = extract_shift_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); - std::string shift = IMMEDIATE(copy(shift_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); + std::string shift = IMMEDIATE(shift_value); return img_format("ROTR %s, %s, %s", rt, rs, shift); } @@ -12645,9 +12612,9 @@ static std::string ROTRV(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("ROTRV %s, %s, %s", rd, rs, rt); } @@ -12671,11 +12638,11 @@ static std::string ROTX(uint64 instruction, Dis_info *info) uint64 stripe_value = extract_stripe_6(instruction); uint64 shift_value = extract_shift_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); - std::string shift = IMMEDIATE(copy(shift_value)); - std::string shiftx = IMMEDIATE(copy(shiftx_value)); - std::string stripe = IMMEDIATE(copy(stripe_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); + std::string shift = IMMEDIATE(shift_value); + std::string shiftx = IMMEDIATE(shiftx_value); + std::string stripe = IMMEDIATE(stripe_value); return img_format("ROTX %s, %s, %s, %s, %s", rt, rs, shift, shiftx, stripe); @@ -12697,8 +12664,8 @@ static std::string ROUND_L_D(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(copy(ft_value)); - std::string fs = FPR(copy(fs_value)); + std::string ft = FPR(ft_value); + std::string fs = FPR(fs_value); return img_format("ROUND.L.D %s, %s", ft, fs); } @@ -12719,8 +12686,8 @@ static std::string ROUND_L_S(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(copy(ft_value)); - std::string fs = FPR(copy(fs_value)); + std::string ft = FPR(ft_value); + std::string fs = FPR(fs_value); return img_format("ROUND.L.S %s, %s", ft, fs); } @@ -12741,8 +12708,8 @@ static std::string ROUND_W_D(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(copy(ft_value)); - std::string fs = FPR(copy(fs_value)); + std::string ft = FPR(ft_value); + std::string fs = FPR(fs_value); return img_format("ROUND.W.D %s, %s", ft, fs); } @@ -12763,8 +12730,8 @@ static std::string ROUND_W_S(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(copy(ft_value)); - std::string fs = FPR(copy(fs_value)); + std::string ft = FPR(ft_value); + std::string fs = FPR(fs_value); return img_format("ROUND.W.S %s, %s", ft, fs); } @@ -12785,8 +12752,8 @@ static std::string RSQRT_D(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(copy(ft_value)); - std::string fs = FPR(copy(fs_value)); + std::string ft = FPR(ft_value); + std::string fs = FPR(fs_value); return img_format("RSQRT.D %s, %s", ft, fs); } @@ -12807,8 +12774,8 @@ static std::string RSQRT_S(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(copy(ft_value)); - std::string fs = FPR(copy(fs_value)); + std::string ft = FPR(ft_value); + std::string fs = FPR(fs_value); return img_format("RSQRT.S %s, %s", ft, fs); } @@ -12830,7 +12797,7 @@ static std::string SAVE_16_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_7_6_5_4__s4(instruction); uint64 count_value = extract_count_3_2_1_0(instruction); - std::string u = IMMEDIATE(copy(u_value)); + std::string u = IMMEDIATE(u_value); return img_format("SAVE %s%s", u, save_restore_list(encode_rt1_from_rt(rt1_value), count_value, 0)); } @@ -12853,7 +12820,7 @@ static std::string SAVE_32_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3__s3(instruction); uint64 gp_value = extract_gp_2(instruction); - std::string u = IMMEDIATE(copy(u_value)); + std::string u = IMMEDIATE(u_value); return img_format("SAVE %s%s", u, save_restore_list(rt_value, count_value, gp_value)); } @@ -12874,8 +12841,8 @@ static std::string SAVEF(uint64 instruction, Dis_info *info) uint64 count_value = extract_count_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3__s3(instruction); - std::string u = IMMEDIATE(copy(u_value)); - std::string count = IMMEDIATE(copy(count_value)); + std::string u = IMMEDIATE(u_value); + std::string count = IMMEDIATE(count_value); return img_format("SAVEF %s, %s", u, count); } @@ -12898,7 +12865,7 @@ static std::string SB_16_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_1_0(instruction); std::string rtz3 = GPR(decode_gpr_gpr3_src_store(rtz3_value)); - std::string u = IMMEDIATE(copy(u_value)); + std::string u = IMMEDIATE(u_value); std::string rs3 = GPR(decode_gpr_gpr3(rs3_value)); return img_format("SB %s, %s(%s)", rtz3, u, rs3); @@ -12920,8 +12887,8 @@ static std::string SB_GP_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string u = IMMEDIATE(copy(u_value)); + std::string rt = GPR(rt_value); + std::string u = IMMEDIATE(u_value); return img_format("SB %s, %s($%d)", rt, u, 28); } @@ -12943,9 +12910,9 @@ static std::string SB_S9_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string s = IMMEDIATE(copy(s_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string s = IMMEDIATE(s_value); + std::string rs = GPR(rs_value); return img_format("SB %s, %s(%s)", rt, s, rs); } @@ -12967,9 +12934,9 @@ static std::string SB_U12_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string u = IMMEDIATE(copy(u_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string u = IMMEDIATE(u_value); + std::string rs = GPR(rs_value); return img_format("SB %s, %s(%s)", rt, u, rs); } @@ -12991,9 +12958,9 @@ static std::string SBE(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string s = IMMEDIATE(copy(s_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string s = IMMEDIATE(s_value); + std::string rs = GPR(rs_value); return img_format("SBE %s, %s(%s)", rt, s, rs); } @@ -13015,9 +12982,9 @@ static std::string SBX(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("SBX %s, %s(%s)", rd, rs, rt); } @@ -13039,9 +13006,9 @@ static std::string SC(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_s2(instruction); - std::string rt = GPR(copy(rt_value)); - std::string s = IMMEDIATE(copy(s_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string s = IMMEDIATE(s_value); + std::string rs = GPR(rs_value); return img_format("SC %s, %s(%s)", rt, s, rs); } @@ -13063,9 +13030,9 @@ static std::string SCD(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_s3(instruction); - std::string rt = GPR(copy(rt_value)); - std::string s = IMMEDIATE(copy(s_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string s = IMMEDIATE(s_value); + std::string rs = GPR(rs_value); return img_format("SCD %s, %s(%s)", rt, s, rs); } @@ -13087,9 +13054,9 @@ static std::string SCDP(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ru_value = extract_ru_7_6_5_4_3(instruction); - std::string rt = GPR(copy(rt_value)); - std::string ru = GPR(copy(ru_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string ru = GPR(ru_value); + std::string rs = GPR(rs_value); return img_format("SCDP %s, %s, (%s)", rt, ru, rs); } @@ -13111,9 +13078,9 @@ static std::string SCE(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_s2(instruction); - std::string rt = GPR(copy(rt_value)); - std::string s = IMMEDIATE(copy(s_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string s = IMMEDIATE(s_value); + std::string rs = GPR(rs_value); return img_format("SCE %s, %s(%s)", rt, s, rs); } @@ -13135,9 +13102,9 @@ static std::string SCWP(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ru_value = extract_ru_7_6_5_4_3(instruction); - std::string rt = GPR(copy(rt_value)); - std::string ru = GPR(copy(ru_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string ru = GPR(ru_value); + std::string rs = GPR(rs_value); return img_format("SCWP %s, %s, (%s)", rt, ru, rs); } @@ -13159,9 +13126,9 @@ static std::string SCWPE(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ru_value = extract_ru_7_6_5_4_3(instruction); - std::string rt = GPR(copy(rt_value)); - std::string ru = GPR(copy(ru_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string ru = GPR(ru_value); + std::string rs = GPR(rs_value); return img_format("SCWPE %s, %s, (%s)", rt, ru, rs); } @@ -13182,8 +13149,8 @@ static std::string SD_GP_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_20_to_3__s3(instruction); - std::string rt = GPR(copy(rt_value)); - std::string u = IMMEDIATE(copy(u_value)); + std::string rt = GPR(rt_value); + std::string u = IMMEDIATE(u_value); return img_format("SD %s, %s($%d)", rt, u, 28); } @@ -13205,9 +13172,9 @@ static std::string SD_S9_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string s = IMMEDIATE(copy(s_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string s = IMMEDIATE(s_value); + std::string rs = GPR(rs_value); return img_format("SD %s, %s(%s)", rt, s, rs); } @@ -13229,9 +13196,9 @@ static std::string SD_U12_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string u = IMMEDIATE(copy(u_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string u = IMMEDIATE(u_value); + std::string rs = GPR(rs_value); return img_format("SD %s, %s(%s)", rt, u, rs); } @@ -13251,7 +13218,7 @@ static std::string SDBBP_16_(uint64 instruction, Dis_info *info) { uint64 code_value = extract_code_2_1_0(instruction); - std::string code = IMMEDIATE(copy(code_value)); + std::string code = IMMEDIATE(code_value); return img_format("SDBBP %s", code); } @@ -13271,7 +13238,7 @@ static std::string SDBBP_32_(uint64 instruction, Dis_info *info) { uint64 code_value = extract_code_18_to_0(instruction); - std::string code = IMMEDIATE(copy(code_value)); + std::string code = IMMEDIATE(code_value); return img_format("SDBBP %s", code); } @@ -13292,8 +13259,8 @@ static std::string SDC1_GP_(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_2__s2(instruction); - std::string ft = FPR(copy(ft_value)); - std::string u = IMMEDIATE(copy(u_value)); + std::string ft = FPR(ft_value); + std::string u = IMMEDIATE(u_value); return img_format("SDC1 %s, %s($%d)", ft, u, 28); } @@ -13315,9 +13282,9 @@ static std::string SDC1_S9_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string ft = FPR(copy(ft_value)); - std::string s = IMMEDIATE(copy(s_value)); - std::string rs = GPR(copy(rs_value)); + std::string ft = FPR(ft_value); + std::string s = IMMEDIATE(s_value); + std::string rs = GPR(rs_value); return img_format("SDC1 %s, %s(%s)", ft, s, rs); } @@ -13339,9 +13306,9 @@ static std::string SDC1_U12_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - std::string ft = FPR(copy(ft_value)); - std::string u = IMMEDIATE(copy(u_value)); - std::string rs = GPR(copy(rs_value)); + std::string ft = FPR(ft_value); + std::string u = IMMEDIATE(u_value); + std::string rs = GPR(rs_value); return img_format("SDC1 %s, %s(%s)", ft, u, rs); } @@ -13363,9 +13330,9 @@ static std::string SDC1X(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ft_value = extract_ft_15_14_13_12_11(instruction); - std::string ft = FPR(copy(ft_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string ft = FPR(ft_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("SDC1X %s, %s(%s)", ft, rs, rt); } @@ -13387,9 +13354,9 @@ static std::string SDC1XS(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ft_value = extract_ft_15_14_13_12_11(instruction); - std::string ft = FPR(copy(ft_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string ft = FPR(ft_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("SDC1XS %s, %s(%s)", ft, rs, rt); } @@ -13411,9 +13378,9 @@ static std::string SDC2(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string cs = CPR(copy(cs_value)); - std::string s = IMMEDIATE(copy(s_value)); - std::string rs = GPR(copy(rs_value)); + std::string cs = CPR(cs_value); + std::string s = IMMEDIATE(s_value); + std::string rs = GPR(rs_value); return img_format("SDC2 %s, %s(%s)", cs, s, rs); } @@ -13436,9 +13403,9 @@ static std::string SDM(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); uint64 count3_value = extract_count3_14_13_12(instruction); - std::string rt = GPR(copy(rt_value)); - std::string s = IMMEDIATE(copy(s_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string s = IMMEDIATE(s_value); + std::string rs = GPR(rs_value); std::string count3 = IMMEDIATE(encode_count3_from_count(count3_value)); return img_format("SDM %s, %s(%s), %s", rt, s, rs, count3); @@ -13460,8 +13427,8 @@ static std::string SDPC_48_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_41_40_39_38_37(instruction); int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction); - std::string rt = GPR(copy(rt_value)); - std::string s = ADDRESS(encode_s_from_address(s_value), 6, info); + std::string rt = GPR(rt_value); + std::string s = ADDRESS(s_value, 6, info); return img_format("SDPC %s, %s", rt, s); } @@ -13483,9 +13450,9 @@ static std::string SDXS(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("SDXS %s, %s(%s)", rd, rs, rt); } @@ -13507,9 +13474,9 @@ static std::string SDX(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("SDX %s, %s(%s)", rd, rs, rt); } @@ -13530,8 +13497,8 @@ static std::string SEB(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); return img_format("SEB %s, %s", rt, rs); } @@ -13552,8 +13519,8 @@ static std::string SEH(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); return img_format("SEH %s, %s", rt, rs); } @@ -13575,9 +13542,9 @@ static std::string SEL_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("SEL.D %s, %s, %s", fd, fs, ft); } @@ -13599,9 +13566,9 @@ static std::string SEL_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("SEL.S %s, %s, %s", fd, fs, ft); } @@ -13623,9 +13590,9 @@ static std::string SELEQZ_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("SELEQZ.D %s, %s, %s", fd, fs, ft); } @@ -13647,9 +13614,9 @@ static std::string SELEQZ_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("SELEQZ.S %s, %s, %s", fd, fs, ft); } @@ -13671,9 +13638,9 @@ static std::string SELNEZ_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("SELNEZ.D %s, %s, %s", fd, fs, ft); } @@ -13695,9 +13662,9 @@ static std::string SELNEZ_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("SELNEZ.S %s, %s, %s", fd, fs, ft); } @@ -13719,9 +13686,9 @@ static std::string SEQI(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); - std::string u = IMMEDIATE(copy(u_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); + std::string u = IMMEDIATE(u_value); return img_format("SEQI %s, %s, %s", rt, rs, u); } @@ -13744,7 +13711,7 @@ static std::string SH_16_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_2_1__s1(instruction); std::string rtz3 = GPR(decode_gpr_gpr3_src_store(rtz3_value)); - std::string u = IMMEDIATE(copy(u_value)); + std::string u = IMMEDIATE(u_value); std::string rs3 = GPR(decode_gpr_gpr3(rs3_value)); return img_format("SH %s, %s(%s)", rtz3, u, rs3); @@ -13766,8 +13733,8 @@ static std::string SH_GP_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_1__s1(instruction); - std::string rt = GPR(copy(rt_value)); - std::string u = IMMEDIATE(copy(u_value)); + std::string rt = GPR(rt_value); + std::string u = IMMEDIATE(u_value); return img_format("SH %s, %s($%d)", rt, u, 28); } @@ -13789,9 +13756,9 @@ static std::string SH_S9_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string s = IMMEDIATE(copy(s_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string s = IMMEDIATE(s_value); + std::string rs = GPR(rs_value); return img_format("SH %s, %s(%s)", rt, s, rs); } @@ -13813,9 +13780,9 @@ static std::string SH_U12_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string u = IMMEDIATE(copy(u_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string u = IMMEDIATE(u_value); + std::string rs = GPR(rs_value); return img_format("SH %s, %s(%s)", rt, u, rs); } @@ -13837,9 +13804,9 @@ static std::string SHE(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string s = IMMEDIATE(copy(s_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string s = IMMEDIATE(s_value); + std::string rs = GPR(rs_value); return img_format("SHE %s, %s(%s)", rt, s, rs); } @@ -13860,8 +13827,8 @@ static std::string SHILO(uint64 instruction, Dis_info *info) int64 shift_value = extract_shift__se5_21_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string shift = IMMEDIATE(copy(shift_value)); - std::string ac = AC(copy(ac_value)); + std::string shift = IMMEDIATE(shift_value); + std::string ac = AC(ac_value); return img_format("SHILO %s, %s", ac, shift); } @@ -13882,8 +13849,8 @@ static std::string SHILOV(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string rs = GPR(copy(rs_value)); - std::string ac = AC(copy(ac_value)); + std::string rs = GPR(rs_value); + std::string ac = AC(ac_value); return img_format("SHILOV %s, %s", ac, rs); } @@ -13905,9 +13872,9 @@ static std::string SHLL_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 sa_value = extract_sa_15_14_13_12(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); - std::string sa = IMMEDIATE(copy(sa_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); + std::string sa = IMMEDIATE(sa_value); return img_format("SHLL.PH %s, %s, %s", rt, rs, sa); } @@ -13929,9 +13896,9 @@ static std::string SHLL_QB(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 sa_value = extract_sa_15_14_13(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); - std::string sa = IMMEDIATE(copy(sa_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); + std::string sa = IMMEDIATE(sa_value); return img_format("SHLL.QB %s, %s, %s", rt, rs, sa); } @@ -13954,9 +13921,9 @@ static std::string SHLL_S_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 sa_value = extract_sa_15_14_13_12(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); - std::string sa = IMMEDIATE(copy(sa_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); + std::string sa = IMMEDIATE(sa_value); return img_format("SHLL_S.PH %s, %s, %s", rt, rs, sa); } @@ -13978,9 +13945,9 @@ static std::string SHLL_S_W(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 sa_value = extract_sa_15_14_13_12_11(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); - std::string sa = IMMEDIATE(copy(sa_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); + std::string sa = IMMEDIATE(sa_value); return img_format("SHLL_S.W %s, %s, %s", rt, rs, sa); } @@ -14003,9 +13970,9 @@ static std::string SHLLV_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); + std::string rd = GPR(rd_value); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); return img_format("SHLLV.PH %s, %s, %s", rd, rt, rs); } @@ -14027,9 +13994,9 @@ static std::string SHLLV_QB(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); + std::string rd = GPR(rd_value); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); return img_format("SHLLV.QB %s, %s, %s", rd, rt, rs); } @@ -14052,9 +14019,9 @@ static std::string SHLLV_S_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); + std::string rd = GPR(rd_value); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); return img_format("SHLLV_S.PH %s, %s, %s", rd, rt, rs); } @@ -14076,9 +14043,9 @@ static std::string SHLLV_S_W(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); + std::string rd = GPR(rd_value); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); return img_format("SHLLV_S.W %s, %s, %s", rd, rt, rs); } @@ -14100,9 +14067,9 @@ static std::string SHRA_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 sa_value = extract_sa_15_14_13_12(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); - std::string sa = IMMEDIATE(copy(sa_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); + std::string sa = IMMEDIATE(sa_value); return img_format("SHRA.PH %s, %s, %s", rt, rs, sa); } @@ -14124,9 +14091,9 @@ static std::string SHRA_QB(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 sa_value = extract_sa_15_14_13(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); - std::string sa = IMMEDIATE(copy(sa_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); + std::string sa = IMMEDIATE(sa_value); return img_format("SHRA.QB %s, %s, %s", rt, rs, sa); } @@ -14148,9 +14115,9 @@ static std::string SHRA_R_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 sa_value = extract_sa_15_14_13_12(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); - std::string sa = IMMEDIATE(copy(sa_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); + std::string sa = IMMEDIATE(sa_value); return img_format("SHRA_R.PH %s, %s, %s", rt, rs, sa); } @@ -14172,9 +14139,9 @@ static std::string SHRA_R_QB(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 sa_value = extract_sa_15_14_13(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); - std::string sa = IMMEDIATE(copy(sa_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); + std::string sa = IMMEDIATE(sa_value); return img_format("SHRA_R.QB %s, %s, %s", rt, rs, sa); } @@ -14196,9 +14163,9 @@ static std::string SHRA_R_W(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 sa_value = extract_sa_15_14_13_12_11(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); - std::string sa = IMMEDIATE(copy(sa_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); + std::string sa = IMMEDIATE(sa_value); return img_format("SHRA_R.W %s, %s, %s", rt, rs, sa); } @@ -14220,9 +14187,9 @@ static std::string SHRAV_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); + std::string rd = GPR(rd_value); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); return img_format("SHRAV.PH %s, %s, %s", rd, rt, rs); } @@ -14244,9 +14211,9 @@ static std::string SHRAV_QB(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); + std::string rd = GPR(rd_value); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); return img_format("SHRAV.QB %s, %s, %s", rd, rt, rs); } @@ -14268,9 +14235,9 @@ static std::string SHRAV_R_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); + std::string rd = GPR(rd_value); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); return img_format("SHRAV_R.PH %s, %s, %s", rd, rt, rs); } @@ -14292,9 +14259,9 @@ static std::string SHRAV_R_QB(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); + std::string rd = GPR(rd_value); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); return img_format("SHRAV_R.QB %s, %s, %s", rd, rt, rs); } @@ -14316,9 +14283,9 @@ static std::string SHRAV_R_W(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); + std::string rd = GPR(rd_value); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); return img_format("SHRAV_R.W %s, %s, %s", rd, rt, rs); } @@ -14340,9 +14307,9 @@ static std::string SHRL_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 sa_value = extract_sa_15_14_13_12(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); - std::string sa = IMMEDIATE(copy(sa_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); + std::string sa = IMMEDIATE(sa_value); return img_format("SHRL.PH %s, %s, %s", rt, rs, sa); } @@ -14364,9 +14331,9 @@ static std::string SHRL_QB(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 sa_value = extract_sa_15_14_13(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); - std::string sa = IMMEDIATE(copy(sa_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); + std::string sa = IMMEDIATE(sa_value); return img_format("SHRL.QB %s, %s, %s", rt, rs, sa); } @@ -14389,9 +14356,9 @@ static std::string SHRLV_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); + std::string rd = GPR(rd_value); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); return img_format("SHRLV.PH %s, %s, %s", rd, rt, rs); } @@ -14413,9 +14380,9 @@ static std::string SHRLV_QB(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); + std::string rd = GPR(rd_value); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); return img_format("SHRLV.QB %s, %s, %s", rd, rt, rs); } @@ -14437,9 +14404,9 @@ static std::string SHX(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("SHX %s, %s(%s)", rd, rs, rt); } @@ -14461,9 +14428,9 @@ static std::string SHXS(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("SHXS %s, %s(%s)", rd, rs, rt); } @@ -14483,7 +14450,7 @@ static std::string SIGRIE(uint64 instruction, Dis_info *info) { uint64 code_value = extract_code_18_to_0(instruction); - std::string code = IMMEDIATE(copy(code_value)); + std::string code = IMMEDIATE(code_value); return img_format("SIGRIE %s", code); } @@ -14529,9 +14496,9 @@ static std::string SLL_32_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 shift_value = extract_shift_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); - std::string shift = IMMEDIATE(copy(shift_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); + std::string shift = IMMEDIATE(shift_value); return img_format("SLL %s, %s, %s", rt, rs, shift); } @@ -14553,9 +14520,9 @@ static std::string SLLV(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("SLLV %s, %s, %s", rd, rs, rt); } @@ -14577,9 +14544,9 @@ static std::string SLT(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("SLT %s, %s, %s", rd, rs, rt); } @@ -14601,9 +14568,9 @@ static std::string SLTI(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); - std::string u = IMMEDIATE(copy(u_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); + std::string u = IMMEDIATE(u_value); return img_format("SLTI %s, %s, %s", rt, rs, u); } @@ -14625,9 +14592,9 @@ static std::string SLTIU(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); - std::string u = IMMEDIATE(copy(u_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); + std::string u = IMMEDIATE(u_value); return img_format("SLTIU %s, %s, %s", rt, rs, u); } @@ -14649,9 +14616,9 @@ static std::string SLTU(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("SLTU %s, %s, %s", rd, rs, rt); } @@ -14673,9 +14640,9 @@ static std::string SOV(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("SOV %s, %s, %s", rd, rs, rt); } @@ -14695,7 +14662,7 @@ static std::string SPECIAL2(uint64 instruction, Dis_info *info) { uint64 op_value = extract_op_25_to_3(instruction); - std::string op = IMMEDIATE(copy(op_value)); + std::string op = IMMEDIATE(op_value); return img_format("SPECIAL2 %s", op); } @@ -14716,8 +14683,8 @@ static std::string SQRT_D(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(copy(ft_value)); - std::string fs = FPR(copy(fs_value)); + std::string ft = FPR(ft_value); + std::string fs = FPR(fs_value); return img_format("SQRT.D %s, %s", ft, fs); } @@ -14738,8 +14705,8 @@ static std::string SQRT_S(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(copy(ft_value)); - std::string fs = FPR(copy(fs_value)); + std::string ft = FPR(ft_value); + std::string fs = FPR(fs_value); return img_format("SQRT.S %s, %s", ft, fs); } @@ -14761,9 +14728,9 @@ static std::string SRA(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 shift_value = extract_shift_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); - std::string shift = IMMEDIATE(copy(shift_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); + std::string shift = IMMEDIATE(shift_value); return img_format("SRA %s, %s, %s", rt, rs, shift); } @@ -14785,9 +14752,9 @@ static std::string SRAV(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("SRAV %s, %s, %s", rd, rs, rt); } @@ -14833,9 +14800,9 @@ static std::string SRL_32_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 shift_value = extract_shift_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); - std::string shift = IMMEDIATE(copy(shift_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); + std::string shift = IMMEDIATE(shift_value); return img_format("SRL %s, %s, %s", rt, rs, shift); } @@ -14857,9 +14824,9 @@ static std::string SRLV(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("SRLV %s, %s, %s", rd, rs, rt); } @@ -14881,9 +14848,9 @@ static std::string SUB(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("SUB %s, %s, %s", rd, rs, rt); } @@ -14905,9 +14872,9 @@ static std::string SUB_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("SUB.D %s, %s, %s", fd, fs, ft); } @@ -14929,9 +14896,9 @@ static std::string SUB_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(copy(fd_value)); - std::string fs = FPR(copy(fs_value)); - std::string ft = FPR(copy(ft_value)); + std::string fd = FPR(fd_value); + std::string fs = FPR(fs_value); + std::string ft = FPR(ft_value); return img_format("SUB.S %s, %s, %s", fd, fs, ft); } @@ -14953,9 +14920,9 @@ static std::string SUBQ_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("SUBQ.PH %s, %s, %s", rd, rs, rt); } @@ -14978,9 +14945,9 @@ static std::string SUBQ_S_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("SUBQ_S.PH %s, %s, %s", rd, rs, rt); } @@ -15003,9 +14970,9 @@ static std::string SUBQ_S_W(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("SUBQ_S.W %s, %s, %s", rd, rs, rt); } @@ -15028,9 +14995,9 @@ static std::string SUBQH_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("SUBQH.PH %s, %s, %s", rd, rs, rt); } @@ -15053,9 +15020,9 @@ static std::string SUBQH_R_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("SUBQH_R.PH %s, %s, %s", rd, rs, rt); } @@ -15078,9 +15045,9 @@ static std::string SUBQH_R_W(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("SUBQH_R.W %s, %s, %s", rd, rs, rt); } @@ -15103,9 +15070,9 @@ static std::string SUBQH_W(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("SUBQH.W %s, %s, %s", rd, rs, rt); } @@ -15151,9 +15118,9 @@ static std::string SUBU_32_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("SUBU %s, %s, %s", rd, rs, rt); } @@ -15175,9 +15142,9 @@ static std::string SUBU_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("SUBU.PH %s, %s, %s", rd, rs, rt); } @@ -15199,9 +15166,9 @@ static std::string SUBU_QB(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("SUBU.QB %s, %s, %s", rd, rs, rt); } @@ -15224,9 +15191,9 @@ static std::string SUBU_S_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("SUBU_S.PH %s, %s, %s", rd, rs, rt); } @@ -15249,9 +15216,9 @@ static std::string SUBU_S_QB(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("SUBU_S.QB %s, %s, %s", rd, rs, rt); } @@ -15274,9 +15241,9 @@ static std::string SUBUH_QB(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("SUBUH.QB %s, %s, %s", rd, rs, rt); } @@ -15299,9 +15266,9 @@ static std::string SUBUH_R_QB(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("SUBUH_R.QB %s, %s, %s", rd, rs, rt); } @@ -15324,7 +15291,7 @@ static std::string SW_16_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_3_2_1_0__s2(instruction); std::string rtz3 = GPR(decode_gpr_gpr3_src_store(rtz3_value)); - std::string u = IMMEDIATE(copy(u_value)); + std::string u = IMMEDIATE(u_value); std::string rs3 = GPR(decode_gpr_gpr3(rs3_value)); return img_format("SW %s, %s(%s)", rtz3, u, rs3); @@ -15348,7 +15315,7 @@ static std::string SW_4X4_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_3_8__s2(instruction); std::string rtz4 = GPR(decode_gpr_gpr4_zero(rtz4_value)); - std::string u = IMMEDIATE(copy(u_value)); + std::string u = IMMEDIATE(u_value); std::string rs4 = GPR(decode_gpr_gpr4(rs4_value)); return img_format("SW %s, %s(%s)", rtz4, u, rs4); @@ -15371,7 +15338,7 @@ static std::string SW_GP16_(uint64 instruction, Dis_info *info) uint64 rtz3_value = extract_rtz3_9_8_7(instruction); std::string rtz3 = GPR(decode_gpr_gpr3_src_store(rtz3_value)); - std::string u = IMMEDIATE(copy(u_value)); + std::string u = IMMEDIATE(u_value); return img_format("SW %s, %s($%d)", rtz3, u, 28); } @@ -15392,8 +15359,8 @@ static std::string SW_GP_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_20_to_2__s2(instruction); - std::string rt = GPR(copy(rt_value)); - std::string u = IMMEDIATE(copy(u_value)); + std::string rt = GPR(rt_value); + std::string u = IMMEDIATE(u_value); return img_format("SW %s, %s($%d)", rt, u, 28); } @@ -15415,9 +15382,9 @@ static std::string SW_S9_(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(copy(rt_value)); - std::string s = IMMEDIATE(copy(s_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string s = IMMEDIATE(s_value); + std::string rs = GPR(rs_value); return img_format("SW %s, %s(%s)", rt, s, rs); } @@ -15438,8 +15405,8 @@ static std::string SW_SP_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_9_8_7_6_5(instruction); uint64 u_value = extract_u_4_3_2_1_0__s2(instruction); - std::string rt = GPR(copy(rt_value)); - std::string u = IMMEDIATE(copy(u_value)); + std::string rt = GPR(rt_value); + std::string u = IMMEDIATE(u_value); return img_format("SW %s, %s($%d)", rt, u, 29); } @@ -15461,9 +15428,9 @@ static std::string SW_U12_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string u = IMMEDIATE(copy(u_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string u = IMMEDIATE(u_value); + std::string rs = GPR(rs_value); return img_format("SW %s, %s(%s)", rt, u, rs); } @@ -15484,8 +15451,8 @@ static std::string SWC1_GP_(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_2__s2(instruction); - std::string ft = FPR(copy(ft_value)); - std::string u = IMMEDIATE(copy(u_value)); + std::string ft = FPR(ft_value); + std::string u = IMMEDIATE(u_value); return img_format("SWC1 %s, %s($%d)", ft, u, 28); } @@ -15507,9 +15474,9 @@ static std::string SWC1_S9_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string ft = FPR(copy(ft_value)); - std::string s = IMMEDIATE(copy(s_value)); - std::string rs = GPR(copy(rs_value)); + std::string ft = FPR(ft_value); + std::string s = IMMEDIATE(s_value); + std::string rs = GPR(rs_value); return img_format("SWC1 %s, %s(%s)", ft, s, rs); } @@ -15531,9 +15498,9 @@ static std::string SWC1_U12_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - std::string ft = FPR(copy(ft_value)); - std::string u = IMMEDIATE(copy(u_value)); - std::string rs = GPR(copy(rs_value)); + std::string ft = FPR(ft_value); + std::string u = IMMEDIATE(u_value); + std::string rs = GPR(rs_value); return img_format("SWC1 %s, %s(%s)", ft, u, rs); } @@ -15555,9 +15522,9 @@ static std::string SWC1X(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ft_value = extract_ft_15_14_13_12_11(instruction); - std::string ft = FPR(copy(ft_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string ft = FPR(ft_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("SWC1X %s, %s(%s)", ft, rs, rt); } @@ -15579,9 +15546,9 @@ static std::string SWC1XS(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ft_value = extract_ft_15_14_13_12_11(instruction); - std::string ft = FPR(copy(ft_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string ft = FPR(ft_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("SWC1XS %s, %s(%s)", ft, rs, rt); } @@ -15603,9 +15570,9 @@ static std::string SWC2(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string cs = CPR(copy(cs_value)); - std::string s = IMMEDIATE(copy(s_value)); - std::string rs = GPR(copy(rs_value)); + std::string cs = CPR(cs_value); + std::string s = IMMEDIATE(s_value); + std::string rs = GPR(rs_value); return img_format("SWC2 %s, %s(%s)", cs, s, rs); } @@ -15627,9 +15594,9 @@ static std::string SWE(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string s = IMMEDIATE(copy(s_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string s = IMMEDIATE(s_value); + std::string rs = GPR(rs_value); return img_format("SWE %s, %s(%s)", rt, s, rs); } @@ -15652,9 +15619,9 @@ static std::string SWM(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); uint64 count3_value = extract_count3_14_13_12(instruction); - std::string rt = GPR(copy(rt_value)); - std::string s = IMMEDIATE(copy(s_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string s = IMMEDIATE(s_value); + std::string rs = GPR(rs_value); std::string count3 = IMMEDIATE(encode_count3_from_count(count3_value)); return img_format("SWM %s, %s(%s), %s", rt, s, rs, count3); @@ -15676,8 +15643,8 @@ static std::string SWPC_48_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_41_40_39_38_37(instruction); int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction); - std::string rt = GPR(copy(rt_value)); - std::string s = ADDRESS(encode_s_from_address(s_value), 6, info); + std::string rt = GPR(rt_value); + std::string s = ADDRESS(s_value, 6, info); return img_format("SWPC %s, %s", rt, s); } @@ -15699,9 +15666,9 @@ static std::string SWX(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("SWX %s, %s(%s)", rd, rs, rt); } @@ -15723,9 +15690,9 @@ static std::string SWXS(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("SWXS %s, %s(%s)", rd, rs, rt); } @@ -15745,7 +15712,7 @@ static std::string SYNC(uint64 instruction, Dis_info *info) { uint64 stype_value = extract_stype_20_19_18_17_16(instruction); - std::string stype = IMMEDIATE(copy(stype_value)); + std::string stype = IMMEDIATE(stype_value); return img_format("SYNC %s", stype); } @@ -15766,8 +15733,8 @@ static std::string SYNCI(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string s = IMMEDIATE(copy(s_value)); - std::string rs = GPR(copy(rs_value)); + std::string s = IMMEDIATE(s_value); + std::string rs = GPR(rs_value); return img_format("SYNCI %s(%s)", s, rs); } @@ -15788,8 +15755,8 @@ static std::string SYNCIE(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string s = IMMEDIATE(copy(s_value)); - std::string rs = GPR(copy(rs_value)); + std::string s = IMMEDIATE(s_value); + std::string rs = GPR(rs_value); return img_format("SYNCIE %s(%s)", s, rs); } @@ -15809,7 +15776,7 @@ static std::string SYSCALL_16_(uint64 instruction, Dis_info *info) { uint64 code_value = extract_code_1_0(instruction); - std::string code = IMMEDIATE(copy(code_value)); + std::string code = IMMEDIATE(code_value); return img_format("SYSCALL %s", code); } @@ -15827,7 +15794,7 @@ static std::string SYSCALL_32_(uint64 instruction, Dis_info *info) { uint64 code_value = extract_code_17_to_0(instruction); - std::string code = IMMEDIATE(copy(code_value)); + std::string code = IMMEDIATE(code_value); return img_format("SYSCALL %s", code); } @@ -15848,8 +15815,8 @@ static std::string TEQ(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("TEQ %s, %s", rs, rt); } @@ -16086,8 +16053,8 @@ static std::string TNE(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("TNE %s, %s", rs, rt); } @@ -16108,8 +16075,8 @@ static std::string TRUNC_L_D(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(copy(ft_value)); - std::string fs = FPR(copy(fs_value)); + std::string ft = FPR(ft_value); + std::string fs = FPR(fs_value); return img_format("TRUNC.L.D %s, %s", ft, fs); } @@ -16130,8 +16097,8 @@ static std::string TRUNC_L_S(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(copy(ft_value)); - std::string fs = FPR(copy(fs_value)); + std::string ft = FPR(ft_value); + std::string fs = FPR(fs_value); return img_format("TRUNC.L.S %s, %s", ft, fs); } @@ -16152,8 +16119,8 @@ static std::string TRUNC_W_D(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(copy(ft_value)); - std::string fs = FPR(copy(fs_value)); + std::string ft = FPR(ft_value); + std::string fs = FPR(fs_value); return img_format("TRUNC.W.D %s, %s", ft, fs); } @@ -16174,8 +16141,8 @@ static std::string TRUNC_W_S(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(copy(ft_value)); - std::string fs = FPR(copy(fs_value)); + std::string ft = FPR(ft_value); + std::string fs = FPR(fs_value); return img_format("TRUNC.W.S %s, %s", ft, fs); } @@ -16198,9 +16165,9 @@ static std::string UALDM(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); uint64 count3_value = extract_count3_14_13_12(instruction); - std::string rt = GPR(copy(rt_value)); - std::string s = IMMEDIATE(copy(s_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string s = IMMEDIATE(s_value); + std::string rs = GPR(rs_value); std::string count3 = IMMEDIATE(encode_count3_from_count(count3_value)); return img_format("UALDM %s, %s(%s), %s", rt, s, rs, count3); @@ -16223,9 +16190,9 @@ static std::string UALH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string s = IMMEDIATE(copy(s_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string s = IMMEDIATE(s_value); + std::string rs = GPR(rs_value); return img_format("UALH %s, %s(%s)", rt, s, rs); } @@ -16248,9 +16215,9 @@ static std::string UALWM(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); uint64 count3_value = extract_count3_14_13_12(instruction); - std::string rt = GPR(copy(rt_value)); - std::string s = IMMEDIATE(copy(s_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string s = IMMEDIATE(s_value); + std::string rs = GPR(rs_value); std::string count3 = IMMEDIATE(encode_count3_from_count(count3_value)); return img_format("UALWM %s, %s(%s), %s", rt, s, rs, count3); @@ -16274,9 +16241,9 @@ static std::string UASDM(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); uint64 count3_value = extract_count3_14_13_12(instruction); - std::string rt = GPR(copy(rt_value)); - std::string s = IMMEDIATE(copy(s_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string s = IMMEDIATE(s_value); + std::string rs = GPR(rs_value); std::string count3 = IMMEDIATE(encode_count3_from_count(count3_value)); return img_format("UASDM %s, %s(%s), %s", rt, s, rs, count3); @@ -16299,9 +16266,9 @@ static std::string UASH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string s = IMMEDIATE(copy(s_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string s = IMMEDIATE(s_value); + std::string rs = GPR(rs_value); return img_format("UASH %s, %s(%s)", rt, s, rs); } @@ -16324,9 +16291,9 @@ static std::string UASWM(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); uint64 count3_value = extract_count3_14_13_12(instruction); - std::string rt = GPR(copy(rt_value)); - std::string s = IMMEDIATE(copy(s_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string s = IMMEDIATE(s_value); + std::string rs = GPR(rs_value); std::string count3 = IMMEDIATE(encode_count3_from_count(count3_value)); return img_format("UASWM %s, %s(%s), %s", rt, s, rs, count3); @@ -16347,7 +16314,7 @@ static std::string UDI(uint64 instruction, Dis_info *info) { uint64 op_value = extract_op_25_to_3(instruction); - std::string op = IMMEDIATE(copy(op_value)); + std::string op = IMMEDIATE(op_value); return img_format("UDI %s", op); } @@ -16365,7 +16332,7 @@ static std::string WAIT(uint64 instruction, Dis_info *info) { uint64 code_value = extract_code_25_24_23_22_21_20_19_18_17_16(instruction); - std::string code = IMMEDIATE(copy(code_value)); + std::string code = IMMEDIATE(code_value); return img_format("WAIT %s", code); } @@ -16386,8 +16353,8 @@ static std::string WRDSP(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 mask_value = extract_mask_20_19_18_17_16_15_14(instruction); - std::string rt = GPR(copy(rt_value)); - std::string mask = IMMEDIATE(copy(mask_value)); + std::string rt = GPR(rt_value); + std::string mask = IMMEDIATE(mask_value); return img_format("WRDSP %s, %s", rt, mask); } @@ -16408,8 +16375,8 @@ static std::string WRPGPR(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); return img_format("WRPGPR %s, %s", rt, rs); } @@ -16453,9 +16420,9 @@ static std::string XOR_32_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(copy(rd_value)); - std::string rs = GPR(copy(rs_value)); - std::string rt = GPR(copy(rt_value)); + std::string rd = GPR(rd_value); + std::string rs = GPR(rs_value); + std::string rt = GPR(rt_value); return img_format("XOR %s, %s, %s", rd, rs, rt); } @@ -16477,9 +16444,9 @@ static std::string XORI(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); - std::string u = IMMEDIATE(copy(u_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); + std::string u = IMMEDIATE(u_value); return img_format("XORI %s, %s, %s", rt, rs, u); } @@ -16499,8 +16466,8 @@ static std::string YIELD(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(copy(rt_value)); - std::string rs = GPR(copy(rs_value)); + std::string rt = GPR(rt_value); + std::string rs = GPR(rs_value); return img_format("YIELD %s, %s", rt, rs); } From patchwork Sun Oct 30 22:28:14 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 13025271 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 81CD5C38A02 for ; Sun, 30 Oct 2022 22:36:26 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1opGqg-0008Hs-F0; Sun, 30 Oct 2022 18:32:10 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1opGqN-0007qp-EQ for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:31:52 -0400 Received: from mail-wr1-x42a.google.com ([2a00:1450:4864:20::42a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1opGqL-0008BD-S2 for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:31:51 -0400 Received: by mail-wr1-x42a.google.com with SMTP id o4so13671649wrq.6 for ; Sun, 30 Oct 2022 15:31:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=orPCsNrTP/gLYMurzkm8ANHpZ5tyfCimePBIzWAMz6Y=; b=l1eRlcKqkp2Ib+x/GPepxu3k/vJa4uDIadBX6maw+GLl0UlPcinWTRw1bFqm7cNL8A +Pp7TDybvZ9Kk0Oulo986m+UFAATajkGamymqBm142wCJYCwh4k7ZjS5WEbgpbjCWCuw HXQab5E5cOQAfP/Nj1SkJEsnyUzAizeEok08eOkTNyqgEOmjG2NrQVI/WyzSC/olYXfi b4Pffr3JslUR+gKsdwkFJoJTXowmXIPcGoPKtfjDmHPrDamOnSEyswMBUen4bOzU66bc lGnbjEhpQUBAoI4I9hKkJcpxbDO6x7SisvsOl9BA71orl5DxtI7j3EAFKJkvbFsr97w4 SKAw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=orPCsNrTP/gLYMurzkm8ANHpZ5tyfCimePBIzWAMz6Y=; b=Xmwcb1uA8s/tRPR9fMKzJBaP4bYZtAMjJ6sL6SbJoRzmK6LVvcsM7QIlkuQUMVkafU PK8h2NNRSjkR6srqYkDLD/yQaVbf4m5C6orWqujK/9guqFwMT4LjjUfTUnUxLYz+7zMJ vgJ+MMfY/8c6u59waW+eCmBj45XrG3jmqsuO36lNwi+RWSjDdtpUSuQwlWI9iqwxYs0N OgqAWPYWve2oC6ldVGC/sroUPAUsTjFw2wPvoJEGTtFLlFT78KF4xsXtylk1qPfJPtmc EWAiT68ziqpytBD1FcHF/TSpglGQzq1q5Vu3T33omVcTXKSculCnc1pIeiHVGDb4IIxt higQ== X-Gm-Message-State: ACrzQf3F02Gmc6ITUCGdmdG6LNCYFVtZLWTeFVoGunGcWPmCYe3yhN7n cixiztN5YUMM5Zaw+GcZr+4rqQVGsoq8cg== X-Google-Smtp-Source: AMsMyM5eA8NGVEYvxWIg+YmFJ6q193AuVerJcP7TW1Z2+2thvTDUsEzRi8ziRxUnlyZCg70a9e0TUQ== X-Received: by 2002:a5d:6c6b:0:b0:225:dde:ab40 with SMTP id r11-20020a5d6c6b000000b002250ddeab40mr6062380wrz.690.1667169107570; Sun, 30 Oct 2022 15:31:47 -0700 (PDT) Received: from localhost.localdomain ([185.126.107.38]) by smtp.gmail.com with ESMTPSA id m24-20020a7bca58000000b003cf47fdead5sm5370356wml.30.2022.10.30.15.31.46 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 30 Oct 2022 15:31:47 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Aleksandar Rikalo , Huacai Chen , Stefan Pejic , Jiaxun Yang , Aurelien Jarno , Paul Burton , Milica Lazarevic , Richard Henderson Subject: [PULL 28/55] disas/nanomips: Delete wrapper functions Date: Sun, 30 Oct 2022 23:28:14 +0100 Message-Id: <20221030222841.42377-29-philmd@linaro.org> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221030222841.42377-1-philmd@linaro.org> References: <20221030222841.42377-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42a; envelope-from=philmd@linaro.org; helo=mail-wr1-x42a.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Qemu-devel" Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Milica Lazarevic Following functions just wrap the decode_gpr_gpr3() function: - encode_rs3_and_check_rs3_ge_rt3() - encode_rs3_and_check_rs3_lt_rt3() Therefore those have been deleted. Calls to these two functions have been replaced with calls to decode_gpr_gpr3. Signed-off-by: Milica Lazarevic Reviewed-by: Richard Henderson Message-Id: <20220912122635.74032-15-milica.lazarevic@syrmia.com> Signed-off-by: Philippe Mathieu-Daudé --- disas/nanomips.cpp | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/disas/nanomips.cpp b/disas/nanomips.cpp index b90be5744e..170f5c5c17 100644 --- a/disas/nanomips.cpp +++ b/disas/nanomips.cpp @@ -505,20 +505,6 @@ static int64 neg_copy(uint64 d) } -/* strange wrapper around gpr3 */ -static uint64 encode_rs3_and_check_rs3_ge_rt3(uint64 d) -{ -return decode_gpr_gpr3(d); -} - - -/* strange wrapper around gpr3 */ -static uint64 encode_rs3_and_check_rs3_lt_rt3(uint64 d) -{ - return decode_gpr_gpr3(d); -} - - static uint64 encode_count3_from_count(uint64 d) { IMGASSERTONCE(d < 8); @@ -2958,7 +2944,7 @@ static std::string BEQC_16_(uint64 instruction, Dis_info *info) uint64 rs3_value = extract_rs3_6_5_4(instruction); uint64 u_value = extract_u_3_2_1_0__s1(instruction); - std::string rs3 = GPR(encode_rs3_and_check_rs3_lt_rt3(rs3_value)); + std::string rs3 = GPR(decode_gpr_gpr3(rs3_value)); std::string rt3 = GPR(decode_gpr_gpr3(rt3_value)); std::string u = ADDRESS(u_value, 2, info); @@ -3244,7 +3230,7 @@ static std::string BNEC_16_(uint64 instruction, Dis_info *info) uint64 rs3_value = extract_rs3_6_5_4(instruction); uint64 u_value = extract_u_3_2_1_0__s1(instruction); - std::string rs3 = GPR(encode_rs3_and_check_rs3_ge_rt3(rs3_value)); + std::string rs3 = GPR(decode_gpr_gpr3(rs3_value)); std::string rt3 = GPR(decode_gpr_gpr3(rt3_value)); std::string u = ADDRESS(u_value, 2, info); From patchwork Sun Oct 30 22:28:15 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 13025283 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 0EAC2ECAAA1 for ; Sun, 30 Oct 2022 22:37:29 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1opGr5-0000ZI-AS; Sun, 30 Oct 2022 18:32:35 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1opGqa-00086X-G9 for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:32:05 -0400 Received: from mail-wr1-x435.google.com ([2a00:1450:4864:20::435]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1opGqU-0008NZ-IC for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:32:04 -0400 Received: by mail-wr1-x435.google.com with SMTP id j15so13680001wrq.3 for ; Sun, 30 Oct 2022 15:31:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=hLMrMF9JUG9JRw5xeMgsiyRkmV+wD0Dv9qV524c2ZG0=; b=H9P7pDfM6oOv8A/k9KcvUdwwvv2KpcsEaaM0fr1Ckj+jE00+J9yPQEVabZfmtq0mxp R591KWFvpUylZg+mdv0aZ+TQDpP6tvJoGzuxTAEsXUWz/iD50NRt64C7N9YWhjj850BK LsphJ4qDXBhHSjn2Ycc1gNx6XLcGTfsuCSOFDrTAvqdkaTNMYCmam5ki8jl4UrTRyoxS Qf86xPziuKt/MxkNoyHtLfdVt5gSR3akxEe4YG5gZZ8+hFTdoBNU656YYG9sOGMIU+sE 0Ij9yc34Hd8pIus8VjOqRYLPvq1zZby6kiIxMNoI9uBQVMm01/ythkhvZceWXInxP2w+ Br+g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=hLMrMF9JUG9JRw5xeMgsiyRkmV+wD0Dv9qV524c2ZG0=; b=4mlX9yVqZ5dvlt6bdtxGnox1Nwr7R+XpdwzMWwaEGiO+B27HT6pSit73hfrdRivYDf 9HzFbl8tBBFC/rYNAT8I/l8j+WCMCrHxZsFnfacqqVpQhQhGzgIjOSbyxxA5LMZjH+v7 oN1GyUKJXjjnuE0MC03KqcCEnMXmAmOufTkiF4L0kz3JIu/ZhLOBBpbIjOBT1w+aoFxq jtQuL5EXl8UxvdT7dxYquXFWPyv9/dGPqL6Hzpc5xIfPUifSs1a8G3SwJjeKZEdf6Rht 4niauXd2MvgnuBCTs2EmIcM5+AJUkpPAFFpPyOrA7uSrb+pjrZTZdJK2K6u2QBkfI0Aq JMaQ== X-Gm-Message-State: ACrzQf3T6NZoA5H1YJzIYZ6LAcK1psLJdItp6zRBE1qkrHmujFVTs6sg HIGdOgTXVms4K2pSsz14TPvqjj5vg4MqAw== X-Google-Smtp-Source: AMsMyM7FhRYaL9hiyXPmXlJnZJrym2V+vnUXuHvaceRQEbmHo8R4HwicbioAM9uoeIzxuG/Jy6L1Lg== X-Received: by 2002:adf:ee46:0:b0:236:57e4:60d9 with SMTP id w6-20020adfee46000000b0023657e460d9mr5966296wro.208.1667169114835; Sun, 30 Oct 2022 15:31:54 -0700 (PDT) Received: from localhost.localdomain ([185.126.107.38]) by smtp.gmail.com with ESMTPSA id d2-20020a05600c34c200b003b3365b38f9sm5440099wmq.10.2022.10.30.15.31.52 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 30 Oct 2022 15:31:54 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Aleksandar Rikalo , Huacai Chen , Stefan Pejic , Jiaxun Yang , Aurelien Jarno , Paul Burton , Milica Lazarevic , Richard Henderson Subject: [PULL 29/55] disas/nanomips: Replace std::string type Date: Sun, 30 Oct 2022 23:28:15 +0100 Message-Id: <20221030222841.42377-30-philmd@linaro.org> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221030222841.42377-1-philmd@linaro.org> References: <20221030222841.42377-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::435; envelope-from=philmd@linaro.org; helo=mail-wr1-x435.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Qemu-devel" Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Milica Lazarevic The return type of typedef disassembly_function is changed to char * instead of std::string. Therefore, for every particular disassembly_function function signature is changed. For example: - static std::string ABS_D(uint64 instruction, img_address m_pc) {...} is replaced with - static char *ABS_D(uint64 instruction, img_address m_pc) {...} Every helper function used to return std::string is changed to return const char * or char *. Where the return value points to a static string that the caller must not free, the return type is const char *. If a function allocates memory and the caller is required to free it, the return type is a char *. This applies to the following functions: img_format, to_string, GPR, save_restore_list, FPR, etc. Now that we replaced every std::string for const char * or char *, it is possible to delete multiple versions of the img_format function. The general version: - static char *img_format(const char *format, ...) {...} can handle all string formatting, so others have been deleted. Where necessary, strings are dynamically allocated with g_strjoinv, g_strdup, g_strdup_vprintf, and g_strdup_printf. Memory leaking will be prevented later. String concatenation in the save_restore_list() function is handled using g_strjoinv() function instead of += operator. The type of the "dis" parameter in the Disassemble function is changed - from std::string & - to char ** Without applying all of these changes, the nanomips disassembler may be buildable but can't produce the appropriate output, so all of them are made together. Signed-off-by: Milica Lazarevic Reviewed-by: Richard Henderson Message-Id: <20220912122635.74032-16-milica.lazarevic@syrmia.com> Signed-off-by: Philippe Mathieu-Daudé --- disas/nanomips.cpp | 4778 ++++++++++++++++++++++---------------------- 1 file changed, 2338 insertions(+), 2440 deletions(-) diff --git a/disas/nanomips.cpp b/disas/nanomips.cpp index 170f5c5c17..e4e122f3cf 100644 --- a/disas/nanomips.cpp +++ b/disas/nanomips.cpp @@ -30,13 +30,11 @@ #include "qemu/osdep.h" #include "disas/dis-asm.h" -#include +#include #include #include #include -#include - typedef int64_t int64; typedef uint64_t uint64; typedef uint32_t uint32; @@ -77,7 +75,7 @@ typedef struct Dis_info { } Dis_info; typedef bool (*conditional_function)(uint64 instruction); -typedef std::string (*disassembly_function)(uint64 instruction, +typedef char * (*disassembly_function)(uint64 instruction, Dis_info *info); typedef struct Pool { @@ -95,122 +93,20 @@ typedef struct Pool { #define IMGASSERTONCE(test) -std::string img_format(const char *format, ...) +static char *img_format(const char *format, ...) { - char buffer[256]; + char *buffer; va_list args; va_start(args, format); - int err = vsprintf(buffer, format, args); - if (err < 0) { - perror(buffer); - } + buffer = g_strdup_vprintf(format, args); va_end(args); return buffer; } -std::string img_format(const char *format, - std::string s) + +static char *to_string(img_address a) { - char buffer[256]; - - sprintf(buffer, format, s.c_str()); - - return buffer; -} - -std::string img_format(const char *format, - std::string s1, - std::string s2) -{ - char buffer[256]; - - sprintf(buffer, format, s1.c_str(), s2.c_str()); - - return buffer; -} - -std::string img_format(const char *format, - std::string s1, - std::string s2, - std::string s3) -{ - char buffer[256]; - - sprintf(buffer, format, s1.c_str(), s2.c_str(), s3.c_str()); - - return buffer; -} - -std::string img_format(const char *format, - std::string s1, - std::string s2, - std::string s3, - std::string s4) -{ - char buffer[256]; - - sprintf(buffer, format, s1.c_str(), s2.c_str(), s3.c_str(), - s4.c_str()); - - return buffer; -} - -std::string img_format(const char *format, - std::string s1, - std::string s2, - std::string s3, - std::string s4, - std::string s5) -{ - char buffer[256]; - - sprintf(buffer, format, s1.c_str(), s2.c_str(), s3.c_str(), - s4.c_str(), s5.c_str()); - - return buffer; -} - -std::string img_format(const char *format, - uint64 d, - std::string s2) -{ - char buffer[256]; - - sprintf(buffer, format, d, s2.c_str()); - - return buffer; -} - -std::string img_format(const char *format, - std::string s1, - uint64 d, - std::string s2) -{ - char buffer[256]; - - sprintf(buffer, format, s1.c_str(), d, s2.c_str()); - - return buffer; -} - -std::string img_format(const char *format, - std::string s1, - std::string s2, - uint64 d) -{ - char buffer[256]; - - sprintf(buffer, format, s1.c_str(), s2.c_str(), d); - - return buffer; -} - - -std::string to_string(img_address a) -{ - char buffer[256]; - sprintf(buffer, "0x%" PRIx64, a); - return buffer; + return g_strdup_printf("0x%" PRIx64, a); } @@ -554,7 +450,7 @@ static uint64 encode_rt1_from_rt(uint64 d) } -static std::string GPR(uint64 reg) +static const char *GPR(uint64 reg) { static const char *gpr_reg[32] = { "zero", "at", "v0", "v1", "a0", "a1", "a2", "a3", @@ -572,21 +468,25 @@ static std::string GPR(uint64 reg) } -static std::string save_restore_list(uint64 rt, uint64 count, uint64 gp) +static char *save_restore_list(uint64 rt, uint64 count, uint64 gp) { - std::string str; + char *reg_list[34]; + reg_list[0] = (char *)""; + assert(count <= 32); for (uint64 counter = 0; counter != count; counter++) { bool use_gp = gp && (counter == count - 1); uint64 this_rt = use_gp ? 28 : ((rt & 0x10) | (rt + counter)) & 0x1f; - str += img_format(",%s", GPR(this_rt)); + /* glib usage below requires casting away const */ + reg_list[counter + 1] = (char *)GPR(this_rt); } + reg_list[count + 1] = NULL; - return str; + return g_strjoinv(",", reg_list); } -static std::string FPR(uint64 reg) +static const char *FPR(uint64 reg) { static const char *fpr_reg[32] = { "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", @@ -604,7 +504,7 @@ static std::string FPR(uint64 reg) } -static std::string AC(uint64 reg) +static const char *AC(uint64 reg) { static const char *ac_reg[4] = { "ac0", "ac1", "ac2", "ac3" @@ -619,26 +519,26 @@ static std::string AC(uint64 reg) } -static std::string IMMEDIATE(uint64 value) +static char *IMMEDIATE(uint64 value) { return img_format("0x%" PRIx64, value); } -static std::string IMMEDIATE(int64 value) +static char *IMMEDIATE(int64 value) { return img_format("%" PRId64, value); } -static std::string CPR(uint64 reg) +static char *CPR(uint64 reg) { /* needs more work */ return img_format("CP%" PRIu64, reg); } -static std::string ADDRESS(uint64 value, int instruction_size, Dis_info *info) +static char *ADDRESS(uint64 value, int instruction_size, Dis_info *info) { /* token for string replace */ img_address address = info->m_pc + value + instruction_size; @@ -673,7 +573,7 @@ static uint64 extract_op_code_value(const uint16 *data, int size) * instruction size - negative is error * disassembly string - on error will constain error string */ -static int Disassemble(const uint16 *data, std::string & dis, +static int Disassemble(const uint16 *data, char **dis, TABLE_ENTRY_TYPE & type, const Pool *table, int table_size, Dis_info *info) { @@ -699,20 +599,21 @@ static int Disassemble(const uint16 *data, std::string & dis, (table[i].type == return_instruction)) { disassembly_function dis_fn = table[i].disassembly; if (dis_fn == 0) { - dis = "disassembler failure - bad table entry"; + *dis = g_strdup( + "disassembler failure - bad table entry"); return -6; } type = table[i].type; - dis = dis_fn(op_code, info); + *dis = dis_fn(op_code, info); return table[i].instructions_size; } else { - dis = "reserved instruction"; + *dis = g_strdup("reserved instruction"); return -2; } } catch (std::runtime_error & e) { - dis = e.what(); + *dis = g_strdup(e.what()); return -3; /* runtime error */ } } @@ -721,11 +622,11 @@ static int Disassemble(const uint16 *data, std::string & dis, } catch (std::exception & e) { - dis = e.what(); + *dis = g_strdup(e.what()); return -4; /* runtime error */ } - dis = "failed to disassemble"; + *dis = g_strdup("failed to disassemble"); return -1; /* failed to disassemble */ } @@ -1658,13 +1559,13 @@ static bool SLTU_cond(uint64 instruction) * fs ----- * fd ----- */ -static std::string ABS_D(uint64 instruction, Dis_info *info) +static char *ABS_D(uint64 instruction, Dis_info *info) { uint64 fd_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string fs = FPR(fs_value); - std::string fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *fd = FPR(fd_value); return img_format("ABS.D %s, %s", fd, fs); } @@ -1680,13 +1581,13 @@ static std::string ABS_D(uint64 instruction, Dis_info *info) * fd ----- * fs ----- */ -static std::string ABS_S(uint64 instruction, Dis_info *info) +static char *ABS_S(uint64 instruction, Dis_info *info) { uint64 fd_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string fs = FPR(fs_value); - std::string fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *fd = FPR(fd_value); return img_format("ABS.S %s, %s", fd, fs); } @@ -1702,13 +1603,13 @@ static std::string ABS_S(uint64 instruction, Dis_info *info) * rt ----- * rs ----- */ -static std::string ABSQ_S_PH(uint64 instruction, Dis_info *info) +static char *ABSQ_S_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); return img_format("ABSQ_S.PH %s, %s", rt, rs); } @@ -1724,13 +1625,13 @@ static std::string ABSQ_S_PH(uint64 instruction, Dis_info *info) * rt ----- * rs ----- */ -static std::string ABSQ_S_QB(uint64 instruction, Dis_info *info) +static char *ABSQ_S_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); return img_format("ABSQ_S.QB %s, %s", rt, rs); } @@ -1746,13 +1647,13 @@ static std::string ABSQ_S_QB(uint64 instruction, Dis_info *info) * rt ----- * rs ----- */ -static std::string ABSQ_S_W(uint64 instruction, Dis_info *info) +static char *ABSQ_S_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); return img_format("ABSQ_S.W %s, %s", rt, rs); } @@ -1767,15 +1668,15 @@ static std::string ABSQ_S_W(uint64 instruction, Dis_info *info) * rt ----- * rs ----- */ -static std::string ACLR(uint64 instruction, Dis_info *info) +static char *ACLR(uint64 instruction, Dis_info *info) { uint64 bit_value = extract_bit_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string bit = IMMEDIATE(bit_value); - std::string s = IMMEDIATE(s_value); - std::string rs = GPR(rs_value); + char *bit = IMMEDIATE(bit_value); + char *s = IMMEDIATE(s_value); + const char *rs = GPR(rs_value); return img_format("ACLR %s, %s(%s)", bit, s, rs); } @@ -1790,15 +1691,15 @@ static std::string ACLR(uint64 instruction, Dis_info *info) * rt ----- * rs ----- */ -static std::string ADD(uint64 instruction, Dis_info *info) +static char *ADD(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("ADD %s, %s, %s", rd, rs, rt); } @@ -1815,15 +1716,15 @@ static std::string ADD(uint64 instruction, Dis_info *info) * fs ----- * fd ----- */ -static std::string ADD_D(uint64 instruction, Dis_info *info) +static char *ADD_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string ft = FPR(ft_value); - std::string fs = FPR(fs_value); - std::string fd = FPR(fd_value); + const char *ft = FPR(ft_value); + const char *fs = FPR(fs_value); + const char *fd = FPR(fd_value); return img_format("ADD.D %s, %s, %s", fd, fs, ft); } @@ -1840,15 +1741,15 @@ static std::string ADD_D(uint64 instruction, Dis_info *info) * fs ----- * fd ----- */ -static std::string ADD_S(uint64 instruction, Dis_info *info) +static char *ADD_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string ft = FPR(ft_value); - std::string fs = FPR(fs_value); - std::string fd = FPR(fd_value); + const char *ft = FPR(ft_value); + const char *fs = FPR(fs_value); + const char *fd = FPR(fd_value); return img_format("ADD.S %s, %s, %s", fd, fs, ft); } @@ -1863,15 +1764,15 @@ static std::string ADD_S(uint64 instruction, Dis_info *info) * rt ----- * rs ----- */ -static std::string ADDIU_32_(uint64 instruction, Dis_info *info) +static char *ADDIU_32_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_15_to_0(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); - std::string u = IMMEDIATE(u_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); + char *u = IMMEDIATE(u_value); return img_format("ADDIU %s, %s, %s", rt, rs, u); } @@ -1886,13 +1787,13 @@ static std::string ADDIU_32_(uint64 instruction, Dis_info *info) * rt ----- * rs ----- */ -static std::string ADDIU_48_(uint64 instruction, Dis_info *info) +static char *ADDIU_48_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_41_40_39_38_37(instruction); int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction); - std::string rt = GPR(rt_value); - std::string s = IMMEDIATE(s_value); + const char *rt = GPR(rt_value); + char *s = IMMEDIATE(s_value); return img_format("ADDIU %s, %s", rt, s); } @@ -1907,13 +1808,13 @@ static std::string ADDIU_48_(uint64 instruction, Dis_info *info) * rt ----- * rs ----- */ -static std::string ADDIU_GP48_(uint64 instruction, Dis_info *info) +static char *ADDIU_GP48_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_41_40_39_38_37(instruction); int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction); - std::string rt = GPR(rt_value); - std::string s = IMMEDIATE(s_value); + const char *rt = GPR(rt_value); + char *s = IMMEDIATE(s_value); return img_format("ADDIU %s, $%d, %s", rt, 28, s); } @@ -1928,13 +1829,13 @@ static std::string ADDIU_GP48_(uint64 instruction, Dis_info *info) * rt ----- * rs ----- */ -static std::string ADDIU_GP_B_(uint64 instruction, Dis_info *info) +static char *ADDIU_GP_B_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_0(instruction); - std::string rt = GPR(rt_value); - std::string u = IMMEDIATE(u_value); + const char *rt = GPR(rt_value); + char *u = IMMEDIATE(u_value); return img_format("ADDIU %s, $%d, %s", rt, 28, u); } @@ -1949,13 +1850,13 @@ static std::string ADDIU_GP_B_(uint64 instruction, Dis_info *info) * rt ----- * rs ----- */ -static std::string ADDIU_GP_W_(uint64 instruction, Dis_info *info) +static char *ADDIU_GP_W_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_20_to_2__s2(instruction); - std::string rt = GPR(rt_value); - std::string u = IMMEDIATE(u_value); + const char *rt = GPR(rt_value); + char *u = IMMEDIATE(u_value); return img_format("ADDIU %s, $%d, %s", rt, 28, u); } @@ -1970,15 +1871,15 @@ static std::string ADDIU_GP_W_(uint64 instruction, Dis_info *info) * rt ----- * rs ----- */ -static std::string ADDIU_NEG_(uint64 instruction, Dis_info *info) +static char *ADDIU_NEG_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); - std::string u = IMMEDIATE(neg_copy(u_value)); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); + char *u = IMMEDIATE(neg_copy(u_value)); return img_format("ADDIU %s, %s, %s", rt, rs, u); } @@ -1993,13 +1894,13 @@ static std::string ADDIU_NEG_(uint64 instruction, Dis_info *info) * rt ----- * rs ----- */ -static std::string ADDIU_R1_SP_(uint64 instruction, Dis_info *info) +static char *ADDIU_R1_SP_(uint64 instruction, Dis_info *info) { uint64 u_value = extract_u_5_4_3_2_1_0__s2(instruction); uint64 rt3_value = extract_rt3_9_8_7(instruction); - std::string rt3 = GPR(decode_gpr_gpr3(rt3_value)); - std::string u = IMMEDIATE(u_value); + const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); + char *u = IMMEDIATE(u_value); return img_format("ADDIU %s, $%d, %s", rt3, 29, u); } @@ -2014,15 +1915,15 @@ static std::string ADDIU_R1_SP_(uint64 instruction, Dis_info *info) * rt ----- * rs ----- */ -static std::string ADDIU_R2_(uint64 instruction, Dis_info *info) +static char *ADDIU_R2_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); uint64 u_value = extract_u_2_1_0__s2(instruction); - std::string rt3 = GPR(decode_gpr_gpr3(rt3_value)); - std::string rs3 = GPR(decode_gpr_gpr3(rs3_value)); - std::string u = IMMEDIATE(u_value); + const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); + const char *rs3 = GPR(decode_gpr_gpr3(rs3_value)); + char *u = IMMEDIATE(u_value); return img_format("ADDIU %s, %s, %s", rt3, rs3, u); } @@ -2036,13 +1937,13 @@ static std::string ADDIU_R2_(uint64 instruction, Dis_info *info) * rt ----- * s - --- */ -static std::string ADDIU_RS5_(uint64 instruction, Dis_info *info) +static char *ADDIU_RS5_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_9_8_7_6_5(instruction); int64 s_value = extract_s__se3_4_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string s = IMMEDIATE(s_value); + const char *rt = GPR(rt_value); + char *s = IMMEDIATE(s_value); return img_format("ADDIU %s, %s", rt, s); } @@ -2058,13 +1959,13 @@ static std::string ADDIU_RS5_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string ADDIUPC_32_(uint64 instruction, Dis_info *info) +static char *ADDIUPC_32_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); int64 s_value = extract_s__se21_0_20_to_1_s1(instruction); - std::string rt = GPR(rt_value); - std::string s = ADDRESS(s_value, 4, info); + const char *rt = GPR(rt_value); + char *s = ADDRESS(s_value, 4, info); return img_format("ADDIUPC %s, %s", rt, s); } @@ -2080,13 +1981,13 @@ static std::string ADDIUPC_32_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string ADDIUPC_48_(uint64 instruction, Dis_info *info) +static char *ADDIUPC_48_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_41_40_39_38_37(instruction); int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction); - std::string rt = GPR(rt_value); - std::string s = ADDRESS(s_value, 6, info); + const char *rt = GPR(rt_value); + char *s = ADDRESS(s_value, 6, info); return img_format("ADDIUPC %s, %s", rt, s); } @@ -2102,15 +2003,15 @@ static std::string ADDIUPC_48_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string ADDQ_PH(uint64 instruction, Dis_info *info) +static char *ADDQ_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("ADDQ.PH %s, %s, %s", rd, rs, rt); } @@ -2127,15 +2028,15 @@ static std::string ADDQ_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string ADDQ_S_PH(uint64 instruction, Dis_info *info) +static char *ADDQ_S_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("ADDQ_S.PH %s, %s, %s", rd, rs, rt); } @@ -2151,15 +2052,15 @@ static std::string ADDQ_S_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string ADDQ_S_W(uint64 instruction, Dis_info *info) +static char *ADDQ_S_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("ADDQ_S.W %s, %s, %s", rd, rs, rt); } @@ -2176,15 +2077,15 @@ static std::string ADDQ_S_W(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string ADDQH_PH(uint64 instruction, Dis_info *info) +static char *ADDQH_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("ADDQH.PH %s, %s, %s", rd, rs, rt); } @@ -2201,15 +2102,15 @@ static std::string ADDQH_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string ADDQH_R_PH(uint64 instruction, Dis_info *info) +static char *ADDQH_R_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("ADDQH_R.PH %s, %s, %s", rd, rs, rt); } @@ -2226,15 +2127,15 @@ static std::string ADDQH_R_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string ADDQH_R_W(uint64 instruction, Dis_info *info) +static char *ADDQH_R_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("ADDQH_R.W %s, %s, %s", rd, rs, rt); } @@ -2251,15 +2152,15 @@ static std::string ADDQH_R_W(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string ADDQH_W(uint64 instruction, Dis_info *info) +static char *ADDQH_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("ADDQH.W %s, %s, %s", rd, rs, rt); } @@ -2275,15 +2176,15 @@ static std::string ADDQH_W(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string ADDSC(uint64 instruction, Dis_info *info) +static char *ADDSC(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("ADDSC %s, %s, %s", rd, rs, rt); } @@ -2298,15 +2199,15 @@ static std::string ADDSC(uint64 instruction, Dis_info *info) * rs3 --- * rd3 --- */ -static std::string ADDU_16_(uint64 instruction, Dis_info *info) +static char *ADDU_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); uint64 rd3_value = extract_rd3_3_2_1(instruction); - std::string rt3 = GPR(decode_gpr_gpr3(rt3_value)); - std::string rs3 = GPR(decode_gpr_gpr3(rs3_value)); - std::string rd3 = GPR(decode_gpr_gpr3(rd3_value)); + const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); + const char *rs3 = GPR(decode_gpr_gpr3(rs3_value)); + const char *rd3 = GPR(decode_gpr_gpr3(rd3_value)); return img_format("ADDU %s, %s, %s", rd3, rs3, rt3); } @@ -2322,15 +2223,15 @@ static std::string ADDU_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string ADDU_32_(uint64 instruction, Dis_info *info) +static char *ADDU_32_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("ADDU %s, %s, %s", rd, rs, rt); } @@ -2346,13 +2247,13 @@ static std::string ADDU_32_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string ADDU_4X4_(uint64 instruction, Dis_info *info) +static char *ADDU_4X4_(uint64 instruction, Dis_info *info) { uint64 rt4_value = extract_rt4_9_7_6_5(instruction); uint64 rs4_value = extract_rs4_4_2_1_0(instruction); - std::string rs4 = GPR(decode_gpr_gpr4(rs4_value)); - std::string rt4 = GPR(decode_gpr_gpr4(rt4_value)); + const char *rs4 = GPR(decode_gpr_gpr4(rs4_value)); + const char *rt4 = GPR(decode_gpr_gpr4(rt4_value)); return img_format("ADDU %s, %s", rs4, rt4); } @@ -2368,15 +2269,15 @@ static std::string ADDU_4X4_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string ADDU_PH(uint64 instruction, Dis_info *info) +static char *ADDU_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("ADDU.PH %s, %s, %s", rd, rs, rt); } @@ -2392,15 +2293,15 @@ static std::string ADDU_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string ADDU_QB(uint64 instruction, Dis_info *info) +static char *ADDU_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("ADDU.QB %s, %s, %s", rd, rs, rt); } @@ -2417,15 +2318,15 @@ static std::string ADDU_QB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string ADDU_S_PH(uint64 instruction, Dis_info *info) +static char *ADDU_S_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("ADDU_S.PH %s, %s, %s", rd, rs, rt); } @@ -2441,15 +2342,15 @@ static std::string ADDU_S_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string ADDU_S_QB(uint64 instruction, Dis_info *info) +static char *ADDU_S_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("ADDU_S.QB %s, %s, %s", rd, rs, rt); } @@ -2466,15 +2367,15 @@ static std::string ADDU_S_QB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string ADDUH_QB(uint64 instruction, Dis_info *info) +static char *ADDUH_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("ADDUH.QB %s, %s, %s", rd, rs, rt); } @@ -2491,15 +2392,15 @@ static std::string ADDUH_QB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string ADDUH_R_QB(uint64 instruction, Dis_info *info) +static char *ADDUH_R_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("ADDUH_R.QB %s, %s, %s", rd, rs, rt); } @@ -2514,15 +2415,15 @@ static std::string ADDUH_R_QB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string ADDWC(uint64 instruction, Dis_info *info) +static char *ADDWC(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("ADDWC %s, %s, %s", rd, rs, rt); } @@ -2538,13 +2439,13 @@ static std::string ADDWC(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string ALUIPC(uint64 instruction, Dis_info *info) +static char *ALUIPC(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); int64 s_value = extract_s__se31_0_11_to_2_20_to_12_s12(instruction); - std::string rt = GPR(rt_value); - std::string s = ADDRESS(s_value, 4, info); + const char *rt = GPR(rt_value); + char *s = ADDRESS(s_value, 4, info); return img_format("ALUIPC %s, %%pcrel_hi(%s)", rt, s); } @@ -2559,13 +2460,13 @@ static std::string ALUIPC(uint64 instruction, Dis_info *info) * rs3 --- * eu ---- */ -static std::string AND_16_(uint64 instruction, Dis_info *info) +static char *AND_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); - std::string rt3 = GPR(decode_gpr_gpr3(rt3_value)); - std::string rs3 = GPR(decode_gpr_gpr3(rs3_value)); + const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); + const char *rs3 = GPR(decode_gpr_gpr3(rs3_value)); return img_format("AND %s, %s", rs3, rt3); } @@ -2581,15 +2482,15 @@ static std::string AND_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string AND_32_(uint64 instruction, Dis_info *info) +static char *AND_32_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("AND %s, %s, %s", rd, rs, rt); } @@ -2604,15 +2505,15 @@ static std::string AND_32_(uint64 instruction, Dis_info *info) * rs3 --- * eu ---- */ -static std::string ANDI_16_(uint64 instruction, Dis_info *info) +static char *ANDI_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); uint64 eu_value = extract_eu_3_2_1_0(instruction); - std::string rt3 = GPR(decode_gpr_gpr3(rt3_value)); - std::string rs3 = GPR(decode_gpr_gpr3(rs3_value)); - std::string eu = IMMEDIATE(encode_eu_from_u_andi16(eu_value)); + const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); + const char *rs3 = GPR(decode_gpr_gpr3(rs3_value)); + char *eu = IMMEDIATE(encode_eu_from_u_andi16(eu_value)); return img_format("ANDI %s, %s, %s", rt3, rs3, eu); } @@ -2628,15 +2529,15 @@ static std::string ANDI_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string ANDI_32_(uint64 instruction, Dis_info *info) +static char *ANDI_32_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); - std::string u = IMMEDIATE(u_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); + char *u = IMMEDIATE(u_value); return img_format("ANDI %s, %s, %s", rt, rs, u); } @@ -2652,15 +2553,15 @@ static std::string ANDI_32_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string APPEND(uint64 instruction, Dis_info *info) +static char *APPEND(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 sa_value = extract_sa_15_14_13_12_11(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); - std::string sa = IMMEDIATE(sa_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); + char *sa = IMMEDIATE(sa_value); return img_format("APPEND %s, %s, %s", rt, rs, sa); } @@ -2676,15 +2577,15 @@ static std::string APPEND(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string ASET(uint64 instruction, Dis_info *info) +static char *ASET(uint64 instruction, Dis_info *info) { uint64 bit_value = extract_bit_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string bit = IMMEDIATE(bit_value); - std::string s = IMMEDIATE(s_value); - std::string rs = GPR(rs_value); + char *bit = IMMEDIATE(bit_value); + char *s = IMMEDIATE(s_value); + const char *rs = GPR(rs_value); return img_format("ASET %s, %s(%s)", bit, s, rs); } @@ -2700,11 +2601,11 @@ static std::string ASET(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string BALC_16_(uint64 instruction, Dis_info *info) +static char *BALC_16_(uint64 instruction, Dis_info *info) { int64 s_value = extract_s__se10_0_9_8_7_6_5_4_3_2_1_s1(instruction); - std::string s = ADDRESS(s_value, 2, info); + char *s = ADDRESS(s_value, 2, info); return img_format("BALC %s", s); } @@ -2720,11 +2621,11 @@ static std::string BALC_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string BALC_32_(uint64 instruction, Dis_info *info) +static char *BALC_32_(uint64 instruction, Dis_info *info) { int64 s_value = extract_s__se25_0_24_to_1_s1(instruction); - std::string s = ADDRESS(s_value, 4, info); + char *s = ADDRESS(s_value, 4, info); return img_format("BALC %s", s); } @@ -2740,13 +2641,13 @@ static std::string BALC_32_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string BALRSC(uint64 instruction, Dis_info *info) +static char *BALRSC(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); return img_format("BALRSC %s, %s", rt, rs); } @@ -2762,15 +2663,15 @@ static std::string BALRSC(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string BBEQZC(uint64 instruction, Dis_info *info) +static char *BBEQZC(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 bit_value = extract_bit_16_15_14_13_12_11(instruction); int64 s_value = extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(instruction); - std::string rt = GPR(rt_value); - std::string bit = IMMEDIATE(bit_value); - std::string s = ADDRESS(s_value, 4, info); + const char *rt = GPR(rt_value); + char *bit = IMMEDIATE(bit_value); + char *s = ADDRESS(s_value, 4, info); return img_format("BBEQZC %s, %s, %s", rt, bit, s); } @@ -2786,15 +2687,15 @@ static std::string BBEQZC(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string BBNEZC(uint64 instruction, Dis_info *info) +static char *BBNEZC(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 bit_value = extract_bit_16_15_14_13_12_11(instruction); int64 s_value = extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(instruction); - std::string rt = GPR(rt_value); - std::string bit = IMMEDIATE(bit_value); - std::string s = ADDRESS(s_value, 4, info); + const char *rt = GPR(rt_value); + char *bit = IMMEDIATE(bit_value); + char *s = ADDRESS(s_value, 4, info); return img_format("BBNEZC %s, %s, %s", rt, bit, s); } @@ -2810,11 +2711,11 @@ static std::string BBNEZC(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string BC_16_(uint64 instruction, Dis_info *info) +static char *BC_16_(uint64 instruction, Dis_info *info) { int64 s_value = extract_s__se10_0_9_8_7_6_5_4_3_2_1_s1(instruction); - std::string s = ADDRESS(s_value, 2, info); + char *s = ADDRESS(s_value, 2, info); return img_format("BC %s", s); } @@ -2830,11 +2731,11 @@ static std::string BC_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string BC_32_(uint64 instruction, Dis_info *info) +static char *BC_32_(uint64 instruction, Dis_info *info) { int64 s_value = extract_s__se25_0_24_to_1_s1(instruction); - std::string s = ADDRESS(s_value, 4, info); + char *s = ADDRESS(s_value, 4, info); return img_format("BC %s", s); } @@ -2850,13 +2751,13 @@ static std::string BC_32_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string BC1EQZC(uint64 instruction, Dis_info *info) +static char *BC1EQZC(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); int64 s_value = extract_s__se14_0_13_to_1_s1(instruction); - std::string ft = FPR(ft_value); - std::string s = ADDRESS(s_value, 4, info); + const char *ft = FPR(ft_value); + char *s = ADDRESS(s_value, 4, info); return img_format("BC1EQZC %s, %s", ft, s); } @@ -2872,13 +2773,13 @@ static std::string BC1EQZC(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string BC1NEZC(uint64 instruction, Dis_info *info) +static char *BC1NEZC(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); int64 s_value = extract_s__se14_0_13_to_1_s1(instruction); - std::string ft = FPR(ft_value); - std::string s = ADDRESS(s_value, 4, info); + const char *ft = FPR(ft_value); + char *s = ADDRESS(s_value, 4, info); return img_format("BC1NEZC %s, %s", ft, s); } @@ -2894,13 +2795,13 @@ static std::string BC1NEZC(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string BC2EQZC(uint64 instruction, Dis_info *info) +static char *BC2EQZC(uint64 instruction, Dis_info *info) { uint64 ct_value = extract_ct_25_24_23_22_21(instruction); int64 s_value = extract_s__se14_0_13_to_1_s1(instruction); - std::string ct = CPR(ct_value); - std::string s = ADDRESS(s_value, 4, info); + char *ct = CPR(ct_value); + char *s = ADDRESS(s_value, 4, info); return img_format("BC2EQZC %s, %s", ct, s); } @@ -2916,13 +2817,13 @@ static std::string BC2EQZC(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string BC2NEZC(uint64 instruction, Dis_info *info) +static char *BC2NEZC(uint64 instruction, Dis_info *info) { uint64 ct_value = extract_ct_25_24_23_22_21(instruction); int64 s_value = extract_s__se14_0_13_to_1_s1(instruction); - std::string ct = CPR(ct_value); - std::string s = ADDRESS(s_value, 4, info); + char *ct = CPR(ct_value); + char *s = ADDRESS(s_value, 4, info); return img_format("BC2NEZC %s, %s", ct, s); } @@ -2938,15 +2839,15 @@ static std::string BC2NEZC(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string BEQC_16_(uint64 instruction, Dis_info *info) +static char *BEQC_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); uint64 u_value = extract_u_3_2_1_0__s1(instruction); - std::string rs3 = GPR(decode_gpr_gpr3(rs3_value)); - std::string rt3 = GPR(decode_gpr_gpr3(rt3_value)); - std::string u = ADDRESS(u_value, 2, info); + const char *rs3 = GPR(decode_gpr_gpr3(rs3_value)); + const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); + char *u = ADDRESS(u_value, 2, info); return img_format("BEQC %s, %s, %s", rs3, rt3, u); } @@ -2962,15 +2863,15 @@ static std::string BEQC_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string BEQC_32_(uint64 instruction, Dis_info *info) +static char *BEQC_32_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se14_0_13_to_1_s1(instruction); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); - std::string s = ADDRESS(s_value, 4, info); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); + char *s = ADDRESS(s_value, 4, info); return img_format("BEQC %s, %s, %s", rs, rt, s); } @@ -2986,15 +2887,15 @@ static std::string BEQC_32_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string BEQIC(uint64 instruction, Dis_info *info) +static char *BEQIC(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_16_15_14_13_12_11(instruction); int64 s_value = extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(instruction); - std::string rt = GPR(rt_value); - std::string u = IMMEDIATE(u_value); - std::string s = ADDRESS(s_value, 4, info); + const char *rt = GPR(rt_value); + char *u = IMMEDIATE(u_value); + char *s = ADDRESS(s_value, 4, info); return img_format("BEQIC %s, %s, %s", rt, u, s); } @@ -3010,13 +2911,13 @@ static std::string BEQIC(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string BEQZC_16_(uint64 instruction, Dis_info *info) +static char *BEQZC_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); int64 s_value = extract_s__se7_0_6_5_4_3_2_1_s1(instruction); - std::string rt3 = GPR(decode_gpr_gpr3(rt3_value)); - std::string s = ADDRESS(s_value, 2, info); + const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); + char *s = ADDRESS(s_value, 2, info); return img_format("BEQZC %s, %s", rt3, s); } @@ -3032,15 +2933,15 @@ static std::string BEQZC_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string BGEC(uint64 instruction, Dis_info *info) +static char *BGEC(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se14_0_13_to_1_s1(instruction); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); - std::string s = ADDRESS(s_value, 4, info); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); + char *s = ADDRESS(s_value, 4, info); return img_format("BGEC %s, %s, %s", rs, rt, s); } @@ -3056,15 +2957,15 @@ static std::string BGEC(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string BGEIC(uint64 instruction, Dis_info *info) +static char *BGEIC(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_16_15_14_13_12_11(instruction); int64 s_value = extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(instruction); - std::string rt = GPR(rt_value); - std::string u = IMMEDIATE(u_value); - std::string s = ADDRESS(s_value, 4, info); + const char *rt = GPR(rt_value); + char *u = IMMEDIATE(u_value); + char *s = ADDRESS(s_value, 4, info); return img_format("BGEIC %s, %s, %s", rt, u, s); } @@ -3080,15 +2981,15 @@ static std::string BGEIC(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string BGEIUC(uint64 instruction, Dis_info *info) +static char *BGEIUC(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_16_15_14_13_12_11(instruction); int64 s_value = extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(instruction); - std::string rt = GPR(rt_value); - std::string u = IMMEDIATE(u_value); - std::string s = ADDRESS(s_value, 4, info); + const char *rt = GPR(rt_value); + char *u = IMMEDIATE(u_value); + char *s = ADDRESS(s_value, 4, info); return img_format("BGEIUC %s, %s, %s", rt, u, s); } @@ -3104,15 +3005,15 @@ static std::string BGEIUC(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string BGEUC(uint64 instruction, Dis_info *info) +static char *BGEUC(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se14_0_13_to_1_s1(instruction); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); - std::string s = ADDRESS(s_value, 4, info); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); + char *s = ADDRESS(s_value, 4, info); return img_format("BGEUC %s, %s, %s", rs, rt, s); } @@ -3128,15 +3029,15 @@ static std::string BGEUC(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string BLTC(uint64 instruction, Dis_info *info) +static char *BLTC(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se14_0_13_to_1_s1(instruction); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); - std::string s = ADDRESS(s_value, 4, info); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); + char *s = ADDRESS(s_value, 4, info); return img_format("BLTC %s, %s, %s", rs, rt, s); } @@ -3152,15 +3053,15 @@ static std::string BLTC(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string BLTIC(uint64 instruction, Dis_info *info) +static char *BLTIC(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_16_15_14_13_12_11(instruction); int64 s_value = extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(instruction); - std::string rt = GPR(rt_value); - std::string u = IMMEDIATE(u_value); - std::string s = ADDRESS(s_value, 4, info); + const char *rt = GPR(rt_value); + char *u = IMMEDIATE(u_value); + char *s = ADDRESS(s_value, 4, info); return img_format("BLTIC %s, %s, %s", rt, u, s); } @@ -3176,15 +3077,15 @@ static std::string BLTIC(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string BLTIUC(uint64 instruction, Dis_info *info) +static char *BLTIUC(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_16_15_14_13_12_11(instruction); int64 s_value = extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(instruction); - std::string rt = GPR(rt_value); - std::string u = IMMEDIATE(u_value); - std::string s = ADDRESS(s_value, 4, info); + const char *rt = GPR(rt_value); + char *u = IMMEDIATE(u_value); + char *s = ADDRESS(s_value, 4, info); return img_format("BLTIUC %s, %s, %s", rt, u, s); } @@ -3200,15 +3101,15 @@ static std::string BLTIUC(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string BLTUC(uint64 instruction, Dis_info *info) +static char *BLTUC(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se14_0_13_to_1_s1(instruction); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); - std::string s = ADDRESS(s_value, 4, info); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); + char *s = ADDRESS(s_value, 4, info); return img_format("BLTUC %s, %s, %s", rs, rt, s); } @@ -3224,15 +3125,15 @@ static std::string BLTUC(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string BNEC_16_(uint64 instruction, Dis_info *info) +static char *BNEC_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); uint64 u_value = extract_u_3_2_1_0__s1(instruction); - std::string rs3 = GPR(decode_gpr_gpr3(rs3_value)); - std::string rt3 = GPR(decode_gpr_gpr3(rt3_value)); - std::string u = ADDRESS(u_value, 2, info); + const char *rs3 = GPR(decode_gpr_gpr3(rs3_value)); + const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); + char *u = ADDRESS(u_value, 2, info); return img_format("BNEC %s, %s, %s", rs3, rt3, u); } @@ -3248,15 +3149,15 @@ static std::string BNEC_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string BNEC_32_(uint64 instruction, Dis_info *info) +static char *BNEC_32_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se14_0_13_to_1_s1(instruction); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); - std::string s = ADDRESS(s_value, 4, info); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); + char *s = ADDRESS(s_value, 4, info); return img_format("BNEC %s, %s, %s", rs, rt, s); } @@ -3272,15 +3173,15 @@ static std::string BNEC_32_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string BNEIC(uint64 instruction, Dis_info *info) +static char *BNEIC(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_16_15_14_13_12_11(instruction); int64 s_value = extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(instruction); - std::string rt = GPR(rt_value); - std::string u = IMMEDIATE(u_value); - std::string s = ADDRESS(s_value, 4, info); + const char *rt = GPR(rt_value); + char *u = IMMEDIATE(u_value); + char *s = ADDRESS(s_value, 4, info); return img_format("BNEIC %s, %s, %s", rt, u, s); } @@ -3296,13 +3197,13 @@ static std::string BNEIC(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string BNEZC_16_(uint64 instruction, Dis_info *info) +static char *BNEZC_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); int64 s_value = extract_s__se7_0_6_5_4_3_2_1_s1(instruction); - std::string rt3 = GPR(decode_gpr_gpr3(rt3_value)); - std::string s = ADDRESS(s_value, 2, info); + const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); + char *s = ADDRESS(s_value, 2, info); return img_format("BNEZC %s, %s", rt3, s); } @@ -3318,11 +3219,11 @@ static std::string BNEZC_16_(uint64 instruction, Dis_info *info) * s[13:1] ------------- * s[14] - */ -static std::string BPOSGE32C(uint64 instruction, Dis_info *info) +static char *BPOSGE32C(uint64 instruction, Dis_info *info) { int64 s_value = extract_s__se14_0_13_to_1_s1(instruction); - std::string s = ADDRESS(s_value, 4, info); + char *s = ADDRESS(s_value, 4, info); return img_format("BPOSGE32C %s", s); } @@ -3338,11 +3239,11 @@ static std::string BPOSGE32C(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string BREAK_16_(uint64 instruction, Dis_info *info) +static char *BREAK_16_(uint64 instruction, Dis_info *info) { uint64 code_value = extract_code_2_1_0(instruction); - std::string code = IMMEDIATE(code_value); + char *code = IMMEDIATE(code_value); return img_format("BREAK %s", code); } @@ -3358,11 +3259,11 @@ static std::string BREAK_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string BREAK_32_(uint64 instruction, Dis_info *info) +static char *BREAK_32_(uint64 instruction, Dis_info *info) { uint64 code_value = extract_code_18_to_0(instruction); - std::string code = IMMEDIATE(code_value); + char *code = IMMEDIATE(code_value); return img_format("BREAK %s", code); } @@ -3378,11 +3279,11 @@ static std::string BREAK_32_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string BRSC(uint64 instruction, Dis_info *info) +static char *BRSC(uint64 instruction, Dis_info *info) { uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rs = GPR(rs_value); + const char *rs = GPR(rs_value); return img_format("BRSC %s", rs); } @@ -3398,15 +3299,15 @@ static std::string BRSC(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CACHE(uint64 instruction, Dis_info *info) +static char *CACHE(uint64 instruction, Dis_info *info) { uint64 op_value = extract_op_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string op = IMMEDIATE(op_value); - std::string s = IMMEDIATE(s_value); - std::string rs = GPR(rs_value); + char *op = IMMEDIATE(op_value); + char *s = IMMEDIATE(s_value); + const char *rs = GPR(rs_value); return img_format("CACHE %s, %s(%s)", op, s, rs); } @@ -3422,15 +3323,15 @@ static std::string CACHE(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CACHEE(uint64 instruction, Dis_info *info) +static char *CACHEE(uint64 instruction, Dis_info *info) { uint64 op_value = extract_op_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string op = IMMEDIATE(op_value); - std::string s = IMMEDIATE(s_value); - std::string rs = GPR(rs_value); + char *op = IMMEDIATE(op_value); + char *s = IMMEDIATE(s_value); + const char *rs = GPR(rs_value); return img_format("CACHEE %s, %s(%s)", op, s, rs); } @@ -3446,13 +3347,13 @@ static std::string CACHEE(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CEIL_L_D(uint64 instruction, Dis_info *info) +static char *CEIL_L_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(ft_value); - std::string fs = FPR(fs_value); + const char *ft = FPR(ft_value); + const char *fs = FPR(fs_value); return img_format("CEIL.L.D %s, %s", ft, fs); } @@ -3468,13 +3369,13 @@ static std::string CEIL_L_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CEIL_L_S(uint64 instruction, Dis_info *info) +static char *CEIL_L_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(ft_value); - std::string fs = FPR(fs_value); + const char *ft = FPR(ft_value); + const char *fs = FPR(fs_value); return img_format("CEIL.L.S %s, %s", ft, fs); } @@ -3490,13 +3391,13 @@ static std::string CEIL_L_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CEIL_W_D(uint64 instruction, Dis_info *info) +static char *CEIL_W_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(ft_value); - std::string fs = FPR(fs_value); + const char *ft = FPR(ft_value); + const char *fs = FPR(fs_value); return img_format("CEIL.W.D %s, %s", ft, fs); } @@ -3512,13 +3413,13 @@ static std::string CEIL_W_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CEIL_W_S(uint64 instruction, Dis_info *info) +static char *CEIL_W_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(ft_value); - std::string fs = FPR(fs_value); + const char *ft = FPR(ft_value); + const char *fs = FPR(fs_value); return img_format("CEIL.W.S %s, %s", ft, fs); } @@ -3534,13 +3435,13 @@ static std::string CEIL_W_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CFC1(uint64 instruction, Dis_info *info) +static char *CFC1(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 cs_value = extract_cs_20_19_18_17_16(instruction); - std::string rt = GPR(rt_value); - std::string cs = CPR(cs_value); + const char *rt = GPR(rt_value); + char *cs = CPR(cs_value); return img_format("CFC1 %s, %s", rt, cs); } @@ -3556,13 +3457,13 @@ static std::string CFC1(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CFC2(uint64 instruction, Dis_info *info) +static char *CFC2(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 cs_value = extract_cs_20_19_18_17_16(instruction); - std::string rt = GPR(rt_value); - std::string cs = CPR(cs_value); + const char *rt = GPR(rt_value); + char *cs = CPR(cs_value); return img_format("CFC2 %s, %s", rt, cs); } @@ -3578,13 +3479,13 @@ static std::string CFC2(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CLASS_D(uint64 instruction, Dis_info *info) +static char *CLASS_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(ft_value); - std::string fs = FPR(fs_value); + const char *ft = FPR(ft_value); + const char *fs = FPR(fs_value); return img_format("CLASS.D %s, %s", ft, fs); } @@ -3600,13 +3501,13 @@ static std::string CLASS_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CLASS_S(uint64 instruction, Dis_info *info) +static char *CLASS_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(ft_value); - std::string fs = FPR(fs_value); + const char *ft = FPR(ft_value); + const char *fs = FPR(fs_value); return img_format("CLASS.S %s, %s", ft, fs); } @@ -3622,13 +3523,13 @@ static std::string CLASS_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CLO(uint64 instruction, Dis_info *info) +static char *CLO(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); return img_format("CLO %s, %s", rt, rs); } @@ -3644,13 +3545,13 @@ static std::string CLO(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CLZ(uint64 instruction, Dis_info *info) +static char *CLZ(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); return img_format("CLZ %s, %s", rt, rs); } @@ -3666,15 +3567,15 @@ static std::string CLZ(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CMP_AF_D(uint64 instruction, Dis_info *info) +static char *CMP_AF_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("CMP.AF.D %s, %s, %s", fd, fs, ft); } @@ -3690,15 +3591,15 @@ static std::string CMP_AF_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CMP_AF_S(uint64 instruction, Dis_info *info) +static char *CMP_AF_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("CMP.AF.S %s, %s, %s", fd, fs, ft); } @@ -3714,15 +3615,15 @@ static std::string CMP_AF_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CMP_EQ_D(uint64 instruction, Dis_info *info) +static char *CMP_EQ_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("CMP.EQ.D %s, %s, %s", fd, fs, ft); } @@ -3737,13 +3638,13 @@ static std::string CMP_EQ_D(uint64 instruction, Dis_info *info) * rt ----- * rs ----- */ -static std::string CMP_EQ_PH(uint64 instruction, Dis_info *info) +static char *CMP_EQ_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("CMP.EQ.PH %s, %s", rs, rt); } @@ -3759,15 +3660,15 @@ static std::string CMP_EQ_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CMP_EQ_S(uint64 instruction, Dis_info *info) +static char *CMP_EQ_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("CMP.EQ.S %s, %s, %s", fd, fs, ft); } @@ -3783,15 +3684,15 @@ static std::string CMP_EQ_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CMP_LE_D(uint64 instruction, Dis_info *info) +static char *CMP_LE_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("CMP.LE.D %s, %s, %s", fd, fs, ft); } @@ -3806,13 +3707,13 @@ static std::string CMP_LE_D(uint64 instruction, Dis_info *info) * rt ----- * rs ----- */ -static std::string CMP_LE_PH(uint64 instruction, Dis_info *info) +static char *CMP_LE_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("CMP.LE.PH %s, %s", rs, rt); } @@ -3828,15 +3729,15 @@ static std::string CMP_LE_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CMP_LE_S(uint64 instruction, Dis_info *info) +static char *CMP_LE_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("CMP.LE.S %s, %s, %s", fd, fs, ft); } @@ -3852,15 +3753,15 @@ static std::string CMP_LE_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CMP_LT_D(uint64 instruction, Dis_info *info) +static char *CMP_LT_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("CMP.LT.D %s, %s, %s", fd, fs, ft); } @@ -3875,13 +3776,13 @@ static std::string CMP_LT_D(uint64 instruction, Dis_info *info) * rt ----- * rs ----- */ -static std::string CMP_LT_PH(uint64 instruction, Dis_info *info) +static char *CMP_LT_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("CMP.LT.PH %s, %s", rs, rt); } @@ -3897,15 +3798,15 @@ static std::string CMP_LT_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CMP_LT_S(uint64 instruction, Dis_info *info) +static char *CMP_LT_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("CMP.LT.S %s, %s, %s", fd, fs, ft); } @@ -3921,15 +3822,15 @@ static std::string CMP_LT_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CMP_NE_D(uint64 instruction, Dis_info *info) +static char *CMP_NE_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("CMP.NE.D %s, %s, %s", fd, fs, ft); } @@ -3945,15 +3846,15 @@ static std::string CMP_NE_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CMP_NE_S(uint64 instruction, Dis_info *info) +static char *CMP_NE_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("CMP.NE.S %s, %s, %s", fd, fs, ft); } @@ -3969,15 +3870,15 @@ static std::string CMP_NE_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CMP_OR_D(uint64 instruction, Dis_info *info) +static char *CMP_OR_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("CMP.OR.D %s, %s, %s", fd, fs, ft); } @@ -3993,15 +3894,15 @@ static std::string CMP_OR_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CMP_OR_S(uint64 instruction, Dis_info *info) +static char *CMP_OR_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("CMP.OR.S %s, %s, %s", fd, fs, ft); } @@ -4017,15 +3918,15 @@ static std::string CMP_OR_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CMP_SAF_D(uint64 instruction, Dis_info *info) +static char *CMP_SAF_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("CMP.SAF.D %s, %s, %s", fd, fs, ft); } @@ -4041,15 +3942,15 @@ static std::string CMP_SAF_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CMP_SAF_S(uint64 instruction, Dis_info *info) +static char *CMP_SAF_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("CMP.SAF.S %s, %s, %s", fd, fs, ft); } @@ -4065,15 +3966,15 @@ static std::string CMP_SAF_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CMP_SEQ_D(uint64 instruction, Dis_info *info) +static char *CMP_SEQ_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("CMP.SEQ.D %s, %s, %s", fd, fs, ft); } @@ -4089,15 +3990,15 @@ static std::string CMP_SEQ_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CMP_SEQ_S(uint64 instruction, Dis_info *info) +static char *CMP_SEQ_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("CMP.SEQ.S %s, %s, %s", fd, fs, ft); } @@ -4113,15 +4014,15 @@ static std::string CMP_SEQ_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CMP_SLE_D(uint64 instruction, Dis_info *info) +static char *CMP_SLE_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("CMP.SLE.D %s, %s, %s", fd, fs, ft); } @@ -4137,15 +4038,15 @@ static std::string CMP_SLE_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CMP_SLE_S(uint64 instruction, Dis_info *info) +static char *CMP_SLE_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("CMP.SLE.S %s, %s, %s", fd, fs, ft); } @@ -4161,15 +4062,15 @@ static std::string CMP_SLE_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CMP_SLT_D(uint64 instruction, Dis_info *info) +static char *CMP_SLT_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("CMP.SLT.D %s, %s, %s", fd, fs, ft); } @@ -4185,15 +4086,15 @@ static std::string CMP_SLT_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CMP_SLT_S(uint64 instruction, Dis_info *info) +static char *CMP_SLT_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("CMP.SLT.S %s, %s, %s", fd, fs, ft); } @@ -4209,15 +4110,15 @@ static std::string CMP_SLT_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CMP_SNE_D(uint64 instruction, Dis_info *info) +static char *CMP_SNE_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("CMP.SNE.D %s, %s, %s", fd, fs, ft); } @@ -4233,15 +4134,15 @@ static std::string CMP_SNE_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CMP_SNE_S(uint64 instruction, Dis_info *info) +static char *CMP_SNE_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("CMP.SNE.S %s, %s, %s", fd, fs, ft); } @@ -4257,15 +4158,15 @@ static std::string CMP_SNE_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CMP_SOR_D(uint64 instruction, Dis_info *info) +static char *CMP_SOR_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("CMP.SOR.D %s, %s, %s", fd, fs, ft); } @@ -4281,15 +4182,15 @@ static std::string CMP_SOR_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CMP_SOR_S(uint64 instruction, Dis_info *info) +static char *CMP_SOR_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("CMP.SOR.S %s, %s, %s", fd, fs, ft); } @@ -4305,15 +4206,15 @@ static std::string CMP_SOR_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CMP_SUEQ_D(uint64 instruction, Dis_info *info) +static char *CMP_SUEQ_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("CMP.SUEQ.D %s, %s, %s", fd, fs, ft); } @@ -4329,15 +4230,15 @@ static std::string CMP_SUEQ_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CMP_SUEQ_S(uint64 instruction, Dis_info *info) +static char *CMP_SUEQ_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("CMP.SUEQ.S %s, %s, %s", fd, fs, ft); } @@ -4353,15 +4254,15 @@ static std::string CMP_SUEQ_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CMP_SULE_D(uint64 instruction, Dis_info *info) +static char *CMP_SULE_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("CMP.SULE.D %s, %s, %s", fd, fs, ft); } @@ -4377,15 +4278,15 @@ static std::string CMP_SULE_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CMP_SULE_S(uint64 instruction, Dis_info *info) +static char *CMP_SULE_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("CMP.SULE.S %s, %s, %s", fd, fs, ft); } @@ -4401,15 +4302,15 @@ static std::string CMP_SULE_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CMP_SULT_D(uint64 instruction, Dis_info *info) +static char *CMP_SULT_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("CMP.SULT.D %s, %s, %s", fd, fs, ft); } @@ -4425,15 +4326,15 @@ static std::string CMP_SULT_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CMP_SULT_S(uint64 instruction, Dis_info *info) +static char *CMP_SULT_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("CMP.SULT.S %s, %s, %s", fd, fs, ft); } @@ -4449,15 +4350,15 @@ static std::string CMP_SULT_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CMP_SUN_D(uint64 instruction, Dis_info *info) +static char *CMP_SUN_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("CMP.SUN.D %s, %s, %s", fd, fs, ft); } @@ -4473,15 +4374,15 @@ static std::string CMP_SUN_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CMP_SUNE_D(uint64 instruction, Dis_info *info) +static char *CMP_SUNE_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("CMP.SUNE.D %s, %s, %s", fd, fs, ft); } @@ -4497,15 +4398,15 @@ static std::string CMP_SUNE_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CMP_SUNE_S(uint64 instruction, Dis_info *info) +static char *CMP_SUNE_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("CMP.SUNE.S %s, %s, %s", fd, fs, ft); } @@ -4521,15 +4422,15 @@ static std::string CMP_SUNE_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CMP_SUN_S(uint64 instruction, Dis_info *info) +static char *CMP_SUN_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("CMP.SUN.S %s, %s, %s", fd, fs, ft); } @@ -4545,15 +4446,15 @@ static std::string CMP_SUN_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CMP_UEQ_D(uint64 instruction, Dis_info *info) +static char *CMP_UEQ_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("CMP.UEQ.D %s, %s, %s", fd, fs, ft); } @@ -4569,15 +4470,15 @@ static std::string CMP_UEQ_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CMP_UEQ_S(uint64 instruction, Dis_info *info) +static char *CMP_UEQ_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("CMP.UEQ.S %s, %s, %s", fd, fs, ft); } @@ -4593,15 +4494,15 @@ static std::string CMP_UEQ_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CMP_ULE_D(uint64 instruction, Dis_info *info) +static char *CMP_ULE_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("CMP.ULE.D %s, %s, %s", fd, fs, ft); } @@ -4617,15 +4518,15 @@ static std::string CMP_ULE_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CMP_ULE_S(uint64 instruction, Dis_info *info) +static char *CMP_ULE_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("CMP.ULE.S %s, %s, %s", fd, fs, ft); } @@ -4641,15 +4542,15 @@ static std::string CMP_ULE_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CMP_ULT_D(uint64 instruction, Dis_info *info) +static char *CMP_ULT_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("CMP.ULT.D %s, %s, %s", fd, fs, ft); } @@ -4665,15 +4566,15 @@ static std::string CMP_ULT_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CMP_ULT_S(uint64 instruction, Dis_info *info) +static char *CMP_ULT_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("CMP.ULT.S %s, %s, %s", fd, fs, ft); } @@ -4689,15 +4590,15 @@ static std::string CMP_ULT_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CMP_UN_D(uint64 instruction, Dis_info *info) +static char *CMP_UN_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("CMP.UN.D %s, %s, %s", fd, fs, ft); } @@ -4713,15 +4614,15 @@ static std::string CMP_UN_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CMP_UNE_D(uint64 instruction, Dis_info *info) +static char *CMP_UNE_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("CMP.UNE.D %s, %s, %s", fd, fs, ft); } @@ -4737,15 +4638,15 @@ static std::string CMP_UNE_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CMP_UNE_S(uint64 instruction, Dis_info *info) +static char *CMP_UNE_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("CMP.UNE.S %s, %s, %s", fd, fs, ft); } @@ -4761,15 +4662,15 @@ static std::string CMP_UNE_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CMP_UN_S(uint64 instruction, Dis_info *info) +static char *CMP_UN_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("CMP.UN.S %s, %s, %s", fd, fs, ft); } @@ -4786,15 +4687,15 @@ static std::string CMP_UN_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CMPGDU_EQ_QB(uint64 instruction, Dis_info *info) +static char *CMPGDU_EQ_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("CMPGDU.EQ.QB %s, %s, %s", rd, rs, rt); } @@ -4811,15 +4712,15 @@ static std::string CMPGDU_EQ_QB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CMPGDU_LE_QB(uint64 instruction, Dis_info *info) +static char *CMPGDU_LE_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("CMPGDU.LE.QB %s, %s, %s", rd, rs, rt); } @@ -4836,15 +4737,15 @@ static std::string CMPGDU_LE_QB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CMPGDU_LT_QB(uint64 instruction, Dis_info *info) +static char *CMPGDU_LT_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("CMPGDU.LT.QB %s, %s, %s", rd, rs, rt); } @@ -4861,15 +4762,15 @@ static std::string CMPGDU_LT_QB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CMPGU_EQ_QB(uint64 instruction, Dis_info *info) +static char *CMPGU_EQ_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("CMPGU.EQ.QB %s, %s, %s", rd, rs, rt); } @@ -4886,15 +4787,15 @@ static std::string CMPGU_EQ_QB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CMPGU_LE_QB(uint64 instruction, Dis_info *info) +static char *CMPGU_LE_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("CMPGU.LE.QB %s, %s, %s", rd, rs, rt); } @@ -4911,15 +4812,15 @@ static std::string CMPGU_LE_QB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CMPGU_LT_QB(uint64 instruction, Dis_info *info) +static char *CMPGU_LT_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("CMPGU.LT.QB %s, %s, %s", rd, rs, rt); } @@ -4935,13 +4836,13 @@ static std::string CMPGU_LT_QB(uint64 instruction, Dis_info *info) * rt ----- * rs ----- */ -static std::string CMPU_EQ_QB(uint64 instruction, Dis_info *info) +static char *CMPU_EQ_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("CMPU.EQ.QB %s, %s", rs, rt); } @@ -4957,13 +4858,13 @@ static std::string CMPU_EQ_QB(uint64 instruction, Dis_info *info) * rt ----- * rs ----- */ -static std::string CMPU_LE_QB(uint64 instruction, Dis_info *info) +static char *CMPU_LE_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("CMPU.LE.QB %s, %s", rs, rt); } @@ -4979,13 +4880,13 @@ static std::string CMPU_LE_QB(uint64 instruction, Dis_info *info) * rt ----- * rs ----- */ -static std::string CMPU_LT_QB(uint64 instruction, Dis_info *info) +static char *CMPU_LT_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("CMPU.LT.QB %s, %s", rs, rt); } @@ -5001,11 +4902,11 @@ static std::string CMPU_LT_QB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string COP2_1(uint64 instruction, Dis_info *info) +static char *COP2_1(uint64 instruction, Dis_info *info) { uint64 cofun_value = extract_cofun_25_24_23(instruction); - std::string cofun = IMMEDIATE(cofun_value); + char *cofun = IMMEDIATE(cofun_value); return img_format("COP2_1 %s", cofun); } @@ -5021,13 +4922,13 @@ static std::string COP2_1(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CTC1(uint64 instruction, Dis_info *info) +static char *CTC1(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 cs_value = extract_cs_20_19_18_17_16(instruction); - std::string rt = GPR(rt_value); - std::string cs = CPR(cs_value); + const char *rt = GPR(rt_value); + char *cs = CPR(cs_value); return img_format("CTC1 %s, %s", rt, cs); } @@ -5043,13 +4944,13 @@ static std::string CTC1(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CTC2(uint64 instruction, Dis_info *info) +static char *CTC2(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 cs_value = extract_cs_20_19_18_17_16(instruction); - std::string rt = GPR(rt_value); - std::string cs = CPR(cs_value); + const char *rt = GPR(rt_value); + char *cs = CPR(cs_value); return img_format("CTC2 %s, %s", rt, cs); } @@ -5065,13 +4966,13 @@ static std::string CTC2(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CVT_D_L(uint64 instruction, Dis_info *info) +static char *CVT_D_L(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(ft_value); - std::string fs = FPR(fs_value); + const char *ft = FPR(ft_value); + const char *fs = FPR(fs_value); return img_format("CVT.D.L %s, %s", ft, fs); } @@ -5087,13 +4988,13 @@ static std::string CVT_D_L(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CVT_D_S(uint64 instruction, Dis_info *info) +static char *CVT_D_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(ft_value); - std::string fs = FPR(fs_value); + const char *ft = FPR(ft_value); + const char *fs = FPR(fs_value); return img_format("CVT.D.S %s, %s", ft, fs); } @@ -5109,13 +5010,13 @@ static std::string CVT_D_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CVT_D_W(uint64 instruction, Dis_info *info) +static char *CVT_D_W(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(ft_value); - std::string fs = FPR(fs_value); + const char *ft = FPR(ft_value); + const char *fs = FPR(fs_value); return img_format("CVT.D.W %s, %s", ft, fs); } @@ -5131,13 +5032,13 @@ static std::string CVT_D_W(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CVT_L_D(uint64 instruction, Dis_info *info) +static char *CVT_L_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(ft_value); - std::string fs = FPR(fs_value); + const char *ft = FPR(ft_value); + const char *fs = FPR(fs_value); return img_format("CVT.L.D %s, %s", ft, fs); } @@ -5153,13 +5054,13 @@ static std::string CVT_L_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CVT_L_S(uint64 instruction, Dis_info *info) +static char *CVT_L_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(ft_value); - std::string fs = FPR(fs_value); + const char *ft = FPR(ft_value); + const char *fs = FPR(fs_value); return img_format("CVT.L.S %s, %s", ft, fs); } @@ -5175,13 +5076,13 @@ static std::string CVT_L_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CVT_S_D(uint64 instruction, Dis_info *info) +static char *CVT_S_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(ft_value); - std::string fs = FPR(fs_value); + const char *ft = FPR(ft_value); + const char *fs = FPR(fs_value); return img_format("CVT.S.D %s, %s", ft, fs); } @@ -5197,13 +5098,13 @@ static std::string CVT_S_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CVT_S_L(uint64 instruction, Dis_info *info) +static char *CVT_S_L(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(ft_value); - std::string fs = FPR(fs_value); + const char *ft = FPR(ft_value); + const char *fs = FPR(fs_value); return img_format("CVT.S.L %s, %s", ft, fs); } @@ -5219,13 +5120,13 @@ static std::string CVT_S_L(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CVT_S_PL(uint64 instruction, Dis_info *info) +static char *CVT_S_PL(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(ft_value); - std::string fs = FPR(fs_value); + const char *ft = FPR(ft_value); + const char *fs = FPR(fs_value); return img_format("CVT.S.PL %s, %s", ft, fs); } @@ -5241,13 +5142,13 @@ static std::string CVT_S_PL(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CVT_S_PU(uint64 instruction, Dis_info *info) +static char *CVT_S_PU(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(ft_value); - std::string fs = FPR(fs_value); + const char *ft = FPR(ft_value); + const char *fs = FPR(fs_value); return img_format("CVT.S.PU %s, %s", ft, fs); } @@ -5263,13 +5164,13 @@ static std::string CVT_S_PU(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CVT_S_W(uint64 instruction, Dis_info *info) +static char *CVT_S_W(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(ft_value); - std::string fs = FPR(fs_value); + const char *ft = FPR(ft_value); + const char *fs = FPR(fs_value); return img_format("CVT.S.W %s, %s", ft, fs); } @@ -5285,13 +5186,13 @@ static std::string CVT_S_W(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CVT_W_D(uint64 instruction, Dis_info *info) +static char *CVT_W_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(ft_value); - std::string fs = FPR(fs_value); + const char *ft = FPR(ft_value); + const char *fs = FPR(fs_value); return img_format("CVT.W.D %s, %s", ft, fs); } @@ -5307,13 +5208,13 @@ static std::string CVT_W_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string CVT_W_S(uint64 instruction, Dis_info *info) +static char *CVT_W_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(ft_value); - std::string fs = FPR(fs_value); + const char *ft = FPR(ft_value); + const char *fs = FPR(fs_value); return img_format("CVT.W.S %s, %s", ft, fs); } @@ -5329,13 +5230,13 @@ static std::string CVT_W_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DADDIU_48_(uint64 instruction, Dis_info *info) +static char *DADDIU_48_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_41_40_39_38_37(instruction); int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction); - std::string rt = GPR(rt_value); - std::string s = IMMEDIATE(s_value); + const char *rt = GPR(rt_value); + char *s = IMMEDIATE(s_value); return img_format("DADDIU %s, %s", rt, s); } @@ -5351,15 +5252,15 @@ static std::string DADDIU_48_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DADDIU_NEG_(uint64 instruction, Dis_info *info) +static char *DADDIU_NEG_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); - std::string u = IMMEDIATE(neg_copy(u_value)); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); + char *u = IMMEDIATE(neg_copy(u_value)); return img_format("DADDIU %s, %s, %s", rt, rs, u); } @@ -5375,15 +5276,15 @@ static std::string DADDIU_NEG_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DADDIU_U12_(uint64 instruction, Dis_info *info) +static char *DADDIU_U12_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); - std::string u = IMMEDIATE(u_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); + char *u = IMMEDIATE(u_value); return img_format("DADDIU %s, %s, %s", rt, rs, u); } @@ -5399,15 +5300,15 @@ static std::string DADDIU_U12_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DADD(uint64 instruction, Dis_info *info) +static char *DADD(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("DADD %s, %s, %s", rd, rs, rt); } @@ -5423,15 +5324,15 @@ static std::string DADD(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DADDU(uint64 instruction, Dis_info *info) +static char *DADDU(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("DADDU %s, %s, %s", rd, rs, rt); } @@ -5447,13 +5348,13 @@ static std::string DADDU(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DCLO(uint64 instruction, Dis_info *info) +static char *DCLO(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); return img_format("DCLO %s, %s", rt, rs); } @@ -5469,13 +5370,13 @@ static std::string DCLO(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DCLZ(uint64 instruction, Dis_info *info) +static char *DCLZ(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); return img_format("DCLZ %s, %s", rt, rs); } @@ -5491,15 +5392,15 @@ static std::string DCLZ(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DDIV(uint64 instruction, Dis_info *info) +static char *DDIV(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("DDIV %s, %s, %s", rd, rs, rt); } @@ -5515,15 +5416,15 @@ static std::string DDIV(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DDIVU(uint64 instruction, Dis_info *info) +static char *DDIVU(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("DDIVU %s, %s, %s", rd, rs, rt); } @@ -5539,11 +5440,11 @@ static std::string DDIVU(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DERET(uint64 instruction, Dis_info *info) +static char *DERET(uint64 instruction, Dis_info *info) { (void)instruction; - return "DERET "; + return g_strdup("DERET "); } @@ -5557,17 +5458,17 @@ static std::string DERET(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DEXTM(uint64 instruction, Dis_info *info) +static char *DEXTM(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 msbd_value = extract_msbt_10_9_8_7_6(instruction); uint64 lsb_value = extract_lsb_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); - std::string lsb = IMMEDIATE(lsb_value); - std::string msbd = IMMEDIATE(encode_msbd_from_size(msbd_value)); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); + char *lsb = IMMEDIATE(lsb_value); + char *msbd = IMMEDIATE(encode_msbd_from_size(msbd_value)); return img_format("DEXTM %s, %s, %s, %s", rt, rs, lsb, msbd); } @@ -5583,17 +5484,17 @@ static std::string DEXTM(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DEXT(uint64 instruction, Dis_info *info) +static char *DEXT(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 msbd_value = extract_msbt_10_9_8_7_6(instruction); uint64 lsb_value = extract_lsb_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); - std::string lsb = IMMEDIATE(lsb_value); - std::string msbd = IMMEDIATE(encode_msbd_from_size(msbd_value)); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); + char *lsb = IMMEDIATE(lsb_value); + char *msbd = IMMEDIATE(encode_msbd_from_size(msbd_value)); return img_format("DEXT %s, %s, %s, %s", rt, rs, lsb, msbd); } @@ -5609,17 +5510,17 @@ static std::string DEXT(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DEXTU(uint64 instruction, Dis_info *info) +static char *DEXTU(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 msbd_value = extract_msbt_10_9_8_7_6(instruction); uint64 lsb_value = extract_lsb_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); - std::string lsb = IMMEDIATE(lsb_value); - std::string msbd = IMMEDIATE(encode_msbd_from_size(msbd_value)); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); + char *lsb = IMMEDIATE(lsb_value); + char *msbd = IMMEDIATE(encode_msbd_from_size(msbd_value)); return img_format("DEXTU %s, %s, %s, %s", rt, rs, lsb, msbd); } @@ -5635,17 +5536,17 @@ static std::string DEXTU(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DINSM(uint64 instruction, Dis_info *info) +static char *DINSM(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 msbd_value = extract_msbt_10_9_8_7_6(instruction); uint64 lsb_value = extract_lsb_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); - std::string pos = IMMEDIATE(lsb_value); - std::string size = IMMEDIATE(msbd_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); + char *pos = IMMEDIATE(lsb_value); + char *size = IMMEDIATE(msbd_value); /* !!!!!!!!!! - no conversion function */ return img_format("DINSM %s, %s, %s, %s", rt, rs, pos, size); @@ -5663,17 +5564,17 @@ static std::string DINSM(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DINS(uint64 instruction, Dis_info *info) +static char *DINS(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 msbd_value = extract_msbt_10_9_8_7_6(instruction); uint64 lsb_value = extract_lsb_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); - std::string pos = IMMEDIATE(lsb_value); - std::string size = IMMEDIATE(msbd_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); + char *pos = IMMEDIATE(lsb_value); + char *size = IMMEDIATE(msbd_value); /* !!!!!!!!!! - no conversion function */ return img_format("DINS %s, %s, %s, %s", rt, rs, pos, size); @@ -5691,17 +5592,17 @@ static std::string DINS(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DINSU(uint64 instruction, Dis_info *info) +static char *DINSU(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 msbd_value = extract_msbt_10_9_8_7_6(instruction); uint64 lsb_value = extract_lsb_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); - std::string pos = IMMEDIATE(lsb_value); - std::string size = IMMEDIATE(msbd_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); + char *pos = IMMEDIATE(lsb_value); + char *size = IMMEDIATE(msbd_value); /* !!!!!!!!!! - no conversion function */ return img_format("DINSU %s, %s, %s, %s", rt, rs, pos, size); @@ -5719,11 +5620,11 @@ static std::string DINSU(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DI(uint64 instruction, Dis_info *info) +static char *DI(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); - std::string rt = GPR(rt_value); + const char *rt = GPR(rt_value); return img_format("DI %s", rt); } @@ -5739,15 +5640,15 @@ static std::string DI(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DIV(uint64 instruction, Dis_info *info) +static char *DIV(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("DIV %s, %s, %s", rd, rs, rt); } @@ -5763,15 +5664,15 @@ static std::string DIV(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DIV_D(uint64 instruction, Dis_info *info) +static char *DIV_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("DIV.D %s, %s, %s", fd, fs, ft); } @@ -5787,15 +5688,15 @@ static std::string DIV_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DIV_S(uint64 instruction, Dis_info *info) +static char *DIV_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("DIV.S %s, %s, %s", fd, fs, ft); } @@ -5811,15 +5712,15 @@ static std::string DIV_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DIVU(uint64 instruction, Dis_info *info) +static char *DIVU(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("DIVU %s, %s, %s", rd, rs, rt); } @@ -5835,17 +5736,17 @@ static std::string DIVU(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DLSA(uint64 instruction, Dis_info *info) +static char *DLSA(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); uint64 u2_value = extract_u2_10_9(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); - std::string u2 = IMMEDIATE(u2_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); + char *u2 = IMMEDIATE(u2_value); return img_format("DLSA %s, %s, %s, %s", rd, rs, rt, u2); } @@ -5861,13 +5762,13 @@ static std::string DLSA(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DLUI_48_(uint64 instruction, Dis_info *info) +static char *DLUI_48_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_41_40_39_38_37(instruction); uint64 u_value = extract_u_31_to_0__s32(instruction); - std::string rt = GPR(rt_value); - std::string u = IMMEDIATE(u_value); + const char *rt = GPR(rt_value); + char *u = IMMEDIATE(u_value); return img_format("DLUI %s, %s", rt, u); } @@ -5883,15 +5784,15 @@ static std::string DLUI_48_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DMFC0(uint64 instruction, Dis_info *info) +static char *DMFC0(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); uint64 sel_value = extract_sel_15_14_13_12_11(instruction); - std::string rt = GPR(rt_value); - std::string c0s = CPR(c0s_value); - std::string sel = IMMEDIATE(sel_value); + const char *rt = GPR(rt_value); + char *c0s = CPR(c0s_value); + char *sel = IMMEDIATE(sel_value); return img_format("DMFC0 %s, %s, %s", rt, c0s, sel); } @@ -5907,13 +5808,13 @@ static std::string DMFC0(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DMFC1(uint64 instruction, Dis_info *info) +static char *DMFC1(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string rt = GPR(rt_value); - std::string fs = FPR(fs_value); + const char *rt = GPR(rt_value); + const char *fs = FPR(fs_value); return img_format("DMFC1 %s, %s", rt, fs); } @@ -5929,13 +5830,13 @@ static std::string DMFC1(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DMFC2(uint64 instruction, Dis_info *info) +static char *DMFC2(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 cs_value = extract_cs_20_19_18_17_16(instruction); - std::string rt = GPR(rt_value); - std::string cs = CPR(cs_value); + const char *rt = GPR(rt_value); + char *cs = CPR(cs_value); return img_format("DMFC2 %s, %s", rt, cs); } @@ -5951,15 +5852,15 @@ static std::string DMFC2(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DMFGC0(uint64 instruction, Dis_info *info) +static char *DMFGC0(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); uint64 sel_value = extract_sel_15_14_13_12_11(instruction); - std::string rt = GPR(rt_value); - std::string c0s = CPR(c0s_value); - std::string sel = IMMEDIATE(sel_value); + const char *rt = GPR(rt_value); + char *c0s = CPR(c0s_value); + char *sel = IMMEDIATE(sel_value); return img_format("DMFGC0 %s, %s, %s", rt, c0s, sel); } @@ -5975,15 +5876,15 @@ static std::string DMFGC0(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DMOD(uint64 instruction, Dis_info *info) +static char *DMOD(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("DMOD %s, %s, %s", rd, rs, rt); } @@ -5999,15 +5900,15 @@ static std::string DMOD(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DMODU(uint64 instruction, Dis_info *info) +static char *DMODU(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("DMODU %s, %s, %s", rd, rs, rt); } @@ -6023,15 +5924,15 @@ static std::string DMODU(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DMTC0(uint64 instruction, Dis_info *info) +static char *DMTC0(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); uint64 sel_value = extract_sel_15_14_13_12_11(instruction); - std::string rt = GPR(rt_value); - std::string c0s = CPR(c0s_value); - std::string sel = IMMEDIATE(sel_value); + const char *rt = GPR(rt_value); + char *c0s = CPR(c0s_value); + char *sel = IMMEDIATE(sel_value); return img_format("DMTC0 %s, %s, %s", rt, c0s, sel); } @@ -6047,13 +5948,13 @@ static std::string DMTC0(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DMTC1(uint64 instruction, Dis_info *info) +static char *DMTC1(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string rt = GPR(rt_value); - std::string fs = FPR(fs_value); + const char *rt = GPR(rt_value); + const char *fs = FPR(fs_value); return img_format("DMTC1 %s, %s", rt, fs); } @@ -6069,13 +5970,13 @@ static std::string DMTC1(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DMTC2(uint64 instruction, Dis_info *info) +static char *DMTC2(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 cs_value = extract_cs_20_19_18_17_16(instruction); - std::string rt = GPR(rt_value); - std::string cs = CPR(cs_value); + const char *rt = GPR(rt_value); + char *cs = CPR(cs_value); return img_format("DMTC2 %s, %s", rt, cs); } @@ -6091,15 +5992,15 @@ static std::string DMTC2(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DMTGC0(uint64 instruction, Dis_info *info) +static char *DMTGC0(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); uint64 sel_value = extract_sel_15_14_13_12_11(instruction); - std::string rt = GPR(rt_value); - std::string c0s = CPR(c0s_value); - std::string sel = IMMEDIATE(sel_value); + const char *rt = GPR(rt_value); + char *c0s = CPR(c0s_value); + char *sel = IMMEDIATE(sel_value); return img_format("DMTGC0 %s, %s, %s", rt, c0s, sel); } @@ -6115,11 +6016,11 @@ static std::string DMTGC0(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DMT(uint64 instruction, Dis_info *info) +static char *DMT(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); - std::string rt = GPR(rt_value); + const char *rt = GPR(rt_value); return img_format("DMT %s", rt); } @@ -6135,15 +6036,15 @@ static std::string DMT(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DMUH(uint64 instruction, Dis_info *info) +static char *DMUH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("DMUH %s, %s, %s", rd, rs, rt); } @@ -6159,15 +6060,15 @@ static std::string DMUH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DMUHU(uint64 instruction, Dis_info *info) +static char *DMUHU(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("DMUHU %s, %s, %s", rd, rs, rt); } @@ -6183,15 +6084,15 @@ static std::string DMUHU(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DMUL(uint64 instruction, Dis_info *info) +static char *DMUL(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("DMUL %s, %s, %s", rd, rs, rt); } @@ -6207,15 +6108,15 @@ static std::string DMUL(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DMULU(uint64 instruction, Dis_info *info) +static char *DMULU(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("DMULU %s, %s, %s", rd, rs, rt); } @@ -6232,15 +6133,15 @@ static std::string DMULU(uint64 instruction, Dis_info *info) * rs ----- * ac -- */ -static std::string DPA_W_PH(uint64 instruction, Dis_info *info) +static char *DPA_W_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string ac = AC(ac_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *ac = AC(ac_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("DPA.W.PH %s, %s, %s", ac, rs, rt); } @@ -6256,15 +6157,15 @@ static std::string DPA_W_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DPAQ_SA_L_W(uint64 instruction, Dis_info *info) +static char *DPAQ_SA_L_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string ac = AC(ac_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *ac = AC(ac_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("DPAQ_SA.L.W %s, %s, %s", ac, rs, rt); } @@ -6280,15 +6181,15 @@ static std::string DPAQ_SA_L_W(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DPAQ_S_W_PH(uint64 instruction, Dis_info *info) +static char *DPAQ_S_W_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string ac = AC(ac_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *ac = AC(ac_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("DPAQ_S.W.PH %s, %s, %s", ac, rs, rt); } @@ -6304,15 +6205,15 @@ static std::string DPAQ_S_W_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DPAQX_SA_W_PH(uint64 instruction, Dis_info *info) +static char *DPAQX_SA_W_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string ac = AC(ac_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *ac = AC(ac_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("DPAQX_SA.W.PH %s, %s, %s", ac, rs, rt); } @@ -6328,15 +6229,15 @@ static std::string DPAQX_SA_W_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DPAQX_S_W_PH(uint64 instruction, Dis_info *info) +static char *DPAQX_S_W_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string ac = AC(ac_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *ac = AC(ac_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("DPAQX_S.W.PH %s, %s, %s", ac, rs, rt); } @@ -6352,15 +6253,15 @@ static std::string DPAQX_S_W_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DPAU_H_QBL(uint64 instruction, Dis_info *info) +static char *DPAU_H_QBL(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string ac = AC(ac_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *ac = AC(ac_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("DPAU.H.QBL %s, %s, %s", ac, rs, rt); } @@ -6376,15 +6277,15 @@ static std::string DPAU_H_QBL(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DPAU_H_QBR(uint64 instruction, Dis_info *info) +static char *DPAU_H_QBR(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string ac = AC(ac_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *ac = AC(ac_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("DPAU.H.QBR %s, %s, %s", ac, rs, rt); } @@ -6400,15 +6301,15 @@ static std::string DPAU_H_QBR(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DPAX_W_PH(uint64 instruction, Dis_info *info) +static char *DPAX_W_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string ac = AC(ac_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *ac = AC(ac_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("DPAX.W.PH %s, %s, %s", ac, rs, rt); } @@ -6424,15 +6325,15 @@ static std::string DPAX_W_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DPS_W_PH(uint64 instruction, Dis_info *info) +static char *DPS_W_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string ac = AC(ac_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *ac = AC(ac_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("DPS.W.PH %s, %s, %s", ac, rs, rt); } @@ -6448,15 +6349,15 @@ static std::string DPS_W_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DPSQ_SA_L_W(uint64 instruction, Dis_info *info) +static char *DPSQ_SA_L_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string ac = AC(ac_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *ac = AC(ac_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("DPSQ_SA.L.W %s, %s, %s", ac, rs, rt); } @@ -6472,15 +6373,15 @@ static std::string DPSQ_SA_L_W(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DPSQ_S_W_PH(uint64 instruction, Dis_info *info) +static char *DPSQ_S_W_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string ac = AC(ac_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *ac = AC(ac_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("DPSQ_S.W.PH %s, %s, %s", ac, rs, rt); } @@ -6496,15 +6397,15 @@ static std::string DPSQ_S_W_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DPSQX_SA_W_PH(uint64 instruction, Dis_info *info) +static char *DPSQX_SA_W_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string ac = AC(ac_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *ac = AC(ac_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("DPSQX_SA.W.PH %s, %s, %s", ac, rs, rt); } @@ -6520,15 +6421,15 @@ static std::string DPSQX_SA_W_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DPSQX_S_W_PH(uint64 instruction, Dis_info *info) +static char *DPSQX_S_W_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string ac = AC(ac_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *ac = AC(ac_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("DPSQX_S.W.PH %s, %s, %s", ac, rs, rt); } @@ -6544,15 +6445,15 @@ static std::string DPSQX_S_W_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DPSU_H_QBL(uint64 instruction, Dis_info *info) +static char *DPSU_H_QBL(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string ac = AC(ac_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *ac = AC(ac_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("DPSU.H.QBL %s, %s, %s", ac, rs, rt); } @@ -6568,15 +6469,15 @@ static std::string DPSU_H_QBL(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DPSU_H_QBR(uint64 instruction, Dis_info *info) +static char *DPSU_H_QBR(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string ac = AC(ac_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *ac = AC(ac_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("DPSU.H.QBR %s, %s, %s", ac, rs, rt); } @@ -6592,15 +6493,15 @@ static std::string DPSU_H_QBR(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DPSX_W_PH(uint64 instruction, Dis_info *info) +static char *DPSX_W_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string ac = AC(ac_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *ac = AC(ac_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("DPSX.W.PH %s, %s, %s", ac, rs, rt); } @@ -6616,15 +6517,15 @@ static std::string DPSX_W_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DROTR(uint64 instruction, Dis_info *info) +static char *DROTR(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 shift_value = extract_shift_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); - std::string shift = IMMEDIATE(shift_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); + char *shift = IMMEDIATE(shift_value); return img_format("DROTR %s, %s, %s", rt, rs, shift); } @@ -6640,15 +6541,15 @@ static std::string DROTR(uint64 instruction, Dis_info *info) * rs ----- * shift ----- */ -static std::string DROTR32(uint64 instruction, Dis_info *info) +static char *DROTR32(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 shift_value = extract_shift_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); - std::string shift = IMMEDIATE(shift_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); + char *shift = IMMEDIATE(shift_value); return img_format("DROTR32 %s, %s, %s", rt, rs, shift); } @@ -6664,15 +6565,15 @@ static std::string DROTR32(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DROTRV(uint64 instruction, Dis_info *info) +static char *DROTRV(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("DROTRV %s, %s, %s", rd, rs, rt); } @@ -6688,17 +6589,17 @@ static std::string DROTRV(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DROTX(uint64 instruction, Dis_info *info) +static char *DROTX(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 shiftx_value = extract_shiftx_11_10_9_8_7_6(instruction); uint64 shift_value = extract_shift_5_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); - std::string shift = IMMEDIATE(shift_value); - std::string shiftx = IMMEDIATE(shiftx_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); + char *shift = IMMEDIATE(shift_value); + char *shiftx = IMMEDIATE(shiftx_value); return img_format("DROTX %s, %s, %s, %s", rt, rs, shift, shiftx); } @@ -6714,15 +6615,15 @@ static std::string DROTX(uint64 instruction, Dis_info *info) * rs ----- * shift ----- */ -static std::string DSLL(uint64 instruction, Dis_info *info) +static char *DSLL(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 shift_value = extract_shift_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); - std::string shift = IMMEDIATE(shift_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); + char *shift = IMMEDIATE(shift_value); return img_format("DSLL %s, %s, %s", rt, rs, shift); } @@ -6738,15 +6639,15 @@ static std::string DSLL(uint64 instruction, Dis_info *info) * rs ----- * shift ----- */ -static std::string DSLL32(uint64 instruction, Dis_info *info) +static char *DSLL32(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 shift_value = extract_shift_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); - std::string shift = IMMEDIATE(shift_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); + char *shift = IMMEDIATE(shift_value); return img_format("DSLL32 %s, %s, %s", rt, rs, shift); } @@ -6762,15 +6663,15 @@ static std::string DSLL32(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DSLLV(uint64 instruction, Dis_info *info) +static char *DSLLV(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("DSLLV %s, %s, %s", rd, rs, rt); } @@ -6786,15 +6687,15 @@ static std::string DSLLV(uint64 instruction, Dis_info *info) * rs ----- * shift ----- */ -static std::string DSRA(uint64 instruction, Dis_info *info) +static char *DSRA(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 shift_value = extract_shift_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); - std::string shift = IMMEDIATE(shift_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); + char *shift = IMMEDIATE(shift_value); return img_format("DSRA %s, %s, %s", rt, rs, shift); } @@ -6810,15 +6711,15 @@ static std::string DSRA(uint64 instruction, Dis_info *info) * rs ----- * shift ----- */ -static std::string DSRA32(uint64 instruction, Dis_info *info) +static char *DSRA32(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 shift_value = extract_shift_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); - std::string shift = IMMEDIATE(shift_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); + char *shift = IMMEDIATE(shift_value); return img_format("DSRA32 %s, %s, %s", rt, rs, shift); } @@ -6834,15 +6735,15 @@ static std::string DSRA32(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DSRAV(uint64 instruction, Dis_info *info) +static char *DSRAV(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("DSRAV %s, %s, %s", rd, rs, rt); } @@ -6858,15 +6759,15 @@ static std::string DSRAV(uint64 instruction, Dis_info *info) * rs ----- * shift ----- */ -static std::string DSRL(uint64 instruction, Dis_info *info) +static char *DSRL(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 shift_value = extract_shift_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); - std::string shift = IMMEDIATE(shift_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); + char *shift = IMMEDIATE(shift_value); return img_format("DSRL %s, %s, %s", rt, rs, shift); } @@ -6882,15 +6783,15 @@ static std::string DSRL(uint64 instruction, Dis_info *info) * rs ----- * shift ----- */ -static std::string DSRL32(uint64 instruction, Dis_info *info) +static char *DSRL32(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 shift_value = extract_shift_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); - std::string shift = IMMEDIATE(shift_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); + char *shift = IMMEDIATE(shift_value); return img_format("DSRL32 %s, %s, %s", rt, rs, shift); } @@ -6906,15 +6807,15 @@ static std::string DSRL32(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DSRLV(uint64 instruction, Dis_info *info) +static char *DSRLV(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("DSRLV %s, %s, %s", rd, rs, rt); } @@ -6930,15 +6831,15 @@ static std::string DSRLV(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DSUB(uint64 instruction, Dis_info *info) +static char *DSUB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("DSUB %s, %s, %s", rd, rs, rt); } @@ -6954,15 +6855,15 @@ static std::string DSUB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DSUBU(uint64 instruction, Dis_info *info) +static char *DSUBU(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("DSUBU %s, %s, %s", rd, rs, rt); } @@ -6978,11 +6879,11 @@ static std::string DSUBU(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DVPE(uint64 instruction, Dis_info *info) +static char *DVPE(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); - std::string rt = GPR(rt_value); + const char *rt = GPR(rt_value); return img_format("DVPE %s", rt); } @@ -6998,11 +6899,11 @@ static std::string DVPE(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string DVP(uint64 instruction, Dis_info *info) +static char *DVP(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); - std::string rt = GPR(rt_value); + const char *rt = GPR(rt_value); return img_format("DVP %s", rt); } @@ -7018,11 +6919,11 @@ static std::string DVP(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string EHB(uint64 instruction, Dis_info *info) +static char *EHB(uint64 instruction, Dis_info *info) { (void)instruction; - return "EHB "; + return g_strdup("EHB "); } @@ -7036,11 +6937,11 @@ static std::string EHB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string EI(uint64 instruction, Dis_info *info) +static char *EI(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); - std::string rt = GPR(rt_value); + const char *rt = GPR(rt_value); return img_format("EI %s", rt); } @@ -7056,11 +6957,11 @@ static std::string EI(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string EMT(uint64 instruction, Dis_info *info) +static char *EMT(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); - std::string rt = GPR(rt_value); + const char *rt = GPR(rt_value); return img_format("EMT %s", rt); } @@ -7076,11 +6977,11 @@ static std::string EMT(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string ERET(uint64 instruction, Dis_info *info) +static char *ERET(uint64 instruction, Dis_info *info) { (void)instruction; - return "ERET "; + return g_strdup("ERET "); } @@ -7094,11 +6995,11 @@ static std::string ERET(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string ERETNC(uint64 instruction, Dis_info *info) +static char *ERETNC(uint64 instruction, Dis_info *info) { (void)instruction; - return "ERETNC "; + return g_strdup("ERETNC "); } @@ -7112,11 +7013,11 @@ static std::string ERETNC(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string EVP(uint64 instruction, Dis_info *info) +static char *EVP(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); - std::string rt = GPR(rt_value); + const char *rt = GPR(rt_value); return img_format("EVP %s", rt); } @@ -7132,11 +7033,11 @@ static std::string EVP(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string EVPE(uint64 instruction, Dis_info *info) +static char *EVPE(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); - std::string rt = GPR(rt_value); + const char *rt = GPR(rt_value); return img_format("EVPE %s", rt); } @@ -7152,17 +7053,17 @@ static std::string EVPE(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string EXT(uint64 instruction, Dis_info *info) +static char *EXT(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 msbd_value = extract_msbt_10_9_8_7_6(instruction); uint64 lsb_value = extract_lsb_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); - std::string lsb = IMMEDIATE(lsb_value); - std::string msbd = IMMEDIATE(encode_msbd_from_size(msbd_value)); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); + char *lsb = IMMEDIATE(lsb_value); + char *msbd = IMMEDIATE(encode_msbd_from_size(msbd_value)); return img_format("EXT %s, %s, %s, %s", rt, rs, lsb, msbd); } @@ -7178,17 +7079,17 @@ static std::string EXT(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string EXTD(uint64 instruction, Dis_info *info) +static char *EXTD(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); uint64 shift_value = extract_shift_10_9_8_7_6(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); - std::string shift = IMMEDIATE(shift_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); + char *shift = IMMEDIATE(shift_value); return img_format("EXTD %s, %s, %s, %s", rd, rs, rt, shift); } @@ -7204,17 +7105,17 @@ static std::string EXTD(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string EXTD32(uint64 instruction, Dis_info *info) +static char *EXTD32(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); uint64 shift_value = extract_shift_10_9_8_7_6(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); - std::string shift = IMMEDIATE(shift_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); + char *shift = IMMEDIATE(shift_value); return img_format("EXTD32 %s, %s, %s, %s", rd, rs, rt, shift); } @@ -7230,15 +7131,15 @@ static std::string EXTD32(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string EXTPDP(uint64 instruction, Dis_info *info) +static char *EXTPDP(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 size_value = extract_size_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string rt = GPR(rt_value); - std::string ac = AC(ac_value); - std::string size = IMMEDIATE(size_value); + const char *rt = GPR(rt_value); + const char *ac = AC(ac_value); + char *size = IMMEDIATE(size_value); return img_format("EXTPDP %s, %s, %s", rt, ac, size); } @@ -7254,15 +7155,15 @@ static std::string EXTPDP(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string EXTPDPV(uint64 instruction, Dis_info *info) +static char *EXTPDPV(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string rt = GPR(rt_value); - std::string ac = AC(ac_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + const char *ac = AC(ac_value); + const char *rs = GPR(rs_value); return img_format("EXTPDPV %s, %s, %s", rt, ac, rs); } @@ -7278,15 +7179,15 @@ static std::string EXTPDPV(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string EXTP(uint64 instruction, Dis_info *info) +static char *EXTP(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 size_value = extract_size_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string rt = GPR(rt_value); - std::string ac = AC(ac_value); - std::string size = IMMEDIATE(size_value); + const char *rt = GPR(rt_value); + const char *ac = AC(ac_value); + char *size = IMMEDIATE(size_value); return img_format("EXTP %s, %s, %s", rt, ac, size); } @@ -7302,15 +7203,15 @@ static std::string EXTP(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string EXTPV(uint64 instruction, Dis_info *info) +static char *EXTPV(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string rt = GPR(rt_value); - std::string ac = AC(ac_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + const char *ac = AC(ac_value); + const char *rs = GPR(rs_value); return img_format("EXTPV %s, %s, %s", rt, ac, rs); } @@ -7327,15 +7228,15 @@ static std::string EXTPV(uint64 instruction, Dis_info *info) * shift ----- * ac -- */ -static std::string EXTR_RS_W(uint64 instruction, Dis_info *info) +static char *EXTR_RS_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 shift_value = extract_shift_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string rt = GPR(rt_value); - std::string ac = AC(ac_value); - std::string shift = IMMEDIATE(shift_value); + const char *rt = GPR(rt_value); + const char *ac = AC(ac_value); + char *shift = IMMEDIATE(shift_value); return img_format("EXTR_RS.W %s, %s, %s", rt, ac, shift); } @@ -7352,15 +7253,15 @@ static std::string EXTR_RS_W(uint64 instruction, Dis_info *info) * shift ----- * ac -- */ -static std::string EXTR_R_W(uint64 instruction, Dis_info *info) +static char *EXTR_R_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 shift_value = extract_shift_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string rt = GPR(rt_value); - std::string ac = AC(ac_value); - std::string shift = IMMEDIATE(shift_value); + const char *rt = GPR(rt_value); + const char *ac = AC(ac_value); + char *shift = IMMEDIATE(shift_value); return img_format("EXTR_R.W %s, %s, %s", rt, ac, shift); } @@ -7377,15 +7278,15 @@ static std::string EXTR_R_W(uint64 instruction, Dis_info *info) * shift ----- * ac -- */ -static std::string EXTR_S_H(uint64 instruction, Dis_info *info) +static char *EXTR_S_H(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 shift_value = extract_shift_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string rt = GPR(rt_value); - std::string ac = AC(ac_value); - std::string shift = IMMEDIATE(shift_value); + const char *rt = GPR(rt_value); + const char *ac = AC(ac_value); + char *shift = IMMEDIATE(shift_value); return img_format("EXTR_S.H %s, %s, %s", rt, ac, shift); } @@ -7402,15 +7303,15 @@ static std::string EXTR_S_H(uint64 instruction, Dis_info *info) * shift ----- * ac -- */ -static std::string EXTR_W(uint64 instruction, Dis_info *info) +static char *EXTR_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 shift_value = extract_shift_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string rt = GPR(rt_value); - std::string ac = AC(ac_value); - std::string shift = IMMEDIATE(shift_value); + const char *rt = GPR(rt_value); + const char *ac = AC(ac_value); + char *shift = IMMEDIATE(shift_value); return img_format("EXTR.W %s, %s, %s", rt, ac, shift); } @@ -7427,15 +7328,15 @@ static std::string EXTR_W(uint64 instruction, Dis_info *info) * rs ----- * ac -- */ -static std::string EXTRV_RS_W(uint64 instruction, Dis_info *info) +static char *EXTRV_RS_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string rt = GPR(rt_value); - std::string ac = AC(ac_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + const char *ac = AC(ac_value); + const char *rs = GPR(rs_value); return img_format("EXTRV_RS.W %s, %s, %s", rt, ac, rs); } @@ -7452,15 +7353,15 @@ static std::string EXTRV_RS_W(uint64 instruction, Dis_info *info) * rs ----- * ac -- */ -static std::string EXTRV_R_W(uint64 instruction, Dis_info *info) +static char *EXTRV_R_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string rt = GPR(rt_value); - std::string ac = AC(ac_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + const char *ac = AC(ac_value); + const char *rs = GPR(rs_value); return img_format("EXTRV_R.W %s, %s, %s", rt, ac, rs); } @@ -7477,15 +7378,15 @@ static std::string EXTRV_R_W(uint64 instruction, Dis_info *info) * rs ----- * ac -- */ -static std::string EXTRV_S_H(uint64 instruction, Dis_info *info) +static char *EXTRV_S_H(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string rt = GPR(rt_value); - std::string ac = AC(ac_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + const char *ac = AC(ac_value); + const char *rs = GPR(rs_value); return img_format("EXTRV_S.H %s, %s, %s", rt, ac, rs); } @@ -7502,15 +7403,15 @@ static std::string EXTRV_S_H(uint64 instruction, Dis_info *info) * rs ----- * ac -- */ -static std::string EXTRV_W(uint64 instruction, Dis_info *info) +static char *EXTRV_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string rt = GPR(rt_value); - std::string ac = AC(ac_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + const char *ac = AC(ac_value); + const char *rs = GPR(rs_value); return img_format("EXTRV.W %s, %s, %s", rt, ac, rs); } @@ -7527,17 +7428,17 @@ static std::string EXTRV_W(uint64 instruction, Dis_info *info) * rd ----- * shift ----- */ -static std::string EXTW(uint64 instruction, Dis_info *info) +static char *EXTW(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); uint64 shift_value = extract_shift_10_9_8_7_6(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); - std::string shift = IMMEDIATE(shift_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); + char *shift = IMMEDIATE(shift_value); return img_format("EXTW %s, %s, %s, %s", rd, rs, rt, shift); } @@ -7553,13 +7454,13 @@ static std::string EXTW(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string FLOOR_L_D(uint64 instruction, Dis_info *info) +static char *FLOOR_L_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(ft_value); - std::string fs = FPR(fs_value); + const char *ft = FPR(ft_value); + const char *fs = FPR(fs_value); return img_format("FLOOR.L.D %s, %s", ft, fs); } @@ -7575,13 +7476,13 @@ static std::string FLOOR_L_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string FLOOR_L_S(uint64 instruction, Dis_info *info) +static char *FLOOR_L_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(ft_value); - std::string fs = FPR(fs_value); + const char *ft = FPR(ft_value); + const char *fs = FPR(fs_value); return img_format("FLOOR.L.S %s, %s", ft, fs); } @@ -7597,13 +7498,13 @@ static std::string FLOOR_L_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string FLOOR_W_D(uint64 instruction, Dis_info *info) +static char *FLOOR_W_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(ft_value); - std::string fs = FPR(fs_value); + const char *ft = FPR(ft_value); + const char *fs = FPR(fs_value); return img_format("FLOOR.W.D %s, %s", ft, fs); } @@ -7619,13 +7520,13 @@ static std::string FLOOR_W_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string FLOOR_W_S(uint64 instruction, Dis_info *info) +static char *FLOOR_W_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(ft_value); - std::string fs = FPR(fs_value); + const char *ft = FPR(ft_value); + const char *fs = FPR(fs_value); return img_format("FLOOR.W.S %s, %s", ft, fs); } @@ -7641,15 +7542,15 @@ static std::string FLOOR_W_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string FORK(uint64 instruction, Dis_info *info) +static char *FORK(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("FORK %s, %s, %s", rd, rs, rt); } @@ -7665,11 +7566,11 @@ static std::string FORK(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string HYPCALL(uint64 instruction, Dis_info *info) +static char *HYPCALL(uint64 instruction, Dis_info *info) { uint64 code_value = extract_code_17_to_0(instruction); - std::string code = IMMEDIATE(code_value); + char *code = IMMEDIATE(code_value); return img_format("HYPCALL %s", code); } @@ -7685,11 +7586,11 @@ static std::string HYPCALL(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string HYPCALL_16_(uint64 instruction, Dis_info *info) +static char *HYPCALL_16_(uint64 instruction, Dis_info *info) { uint64 code_value = extract_code_1_0(instruction); - std::string code = IMMEDIATE(code_value); + char *code = IMMEDIATE(code_value); return img_format("HYPCALL %s", code); } @@ -7705,17 +7606,17 @@ static std::string HYPCALL_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string INS(uint64 instruction, Dis_info *info) +static char *INS(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 msbd_value = extract_msbt_10_9_8_7_6(instruction); uint64 lsb_value = extract_lsb_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); - std::string pos = IMMEDIATE(lsb_value); - std::string size = IMMEDIATE(msbd_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); + char *pos = IMMEDIATE(lsb_value); + char *size = IMMEDIATE(msbd_value); /* !!!!!!!!!! - no conversion function */ return img_format("INS %s, %s, %s, %s", rt, rs, pos, size); @@ -7732,13 +7633,13 @@ static std::string INS(uint64 instruction, Dis_info *info) * rt ----- * rs ----- */ -static std::string INSV(uint64 instruction, Dis_info *info) +static char *INSV(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); return img_format("INSV %s, %s", rt, rs); } @@ -7754,11 +7655,11 @@ static std::string INSV(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string IRET(uint64 instruction, Dis_info *info) +static char *IRET(uint64 instruction, Dis_info *info) { (void)instruction; - return "IRET "; + return g_strdup("IRET "); } @@ -7772,11 +7673,11 @@ static std::string IRET(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string JALRC_16_(uint64 instruction, Dis_info *info) +static char *JALRC_16_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_9_8_7_6_5(instruction); - std::string rt = GPR(rt_value); + const char *rt = GPR(rt_value); return img_format("JALRC $%d, %s", 31, rt); } @@ -7792,13 +7693,13 @@ static std::string JALRC_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string JALRC_32_(uint64 instruction, Dis_info *info) +static char *JALRC_32_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); return img_format("JALRC %s, %s", rt, rs); } @@ -7814,13 +7715,13 @@ static std::string JALRC_32_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string JALRC_HB(uint64 instruction, Dis_info *info) +static char *JALRC_HB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); return img_format("JALRC.HB %s, %s", rt, rs); } @@ -7836,11 +7737,11 @@ static std::string JALRC_HB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string JRC(uint64 instruction, Dis_info *info) +static char *JRC(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_9_8_7_6_5(instruction); - std::string rt = GPR(rt_value); + const char *rt = GPR(rt_value); return img_format("JRC %s", rt); } @@ -7856,15 +7757,15 @@ static std::string JRC(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LB_16_(uint64 instruction, Dis_info *info) +static char *LB_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); uint64 u_value = extract_u_1_0(instruction); - std::string rt3 = GPR(decode_gpr_gpr3(rt3_value)); - std::string u = IMMEDIATE(u_value); - std::string rs3 = GPR(decode_gpr_gpr3(rs3_value)); + const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); + char *u = IMMEDIATE(u_value); + const char *rs3 = GPR(decode_gpr_gpr3(rs3_value)); return img_format("LB %s, %s(%s)", rt3, u, rs3); } @@ -7880,13 +7781,13 @@ static std::string LB_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LB_GP_(uint64 instruction, Dis_info *info) +static char *LB_GP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_0(instruction); - std::string rt = GPR(rt_value); - std::string u = IMMEDIATE(u_value); + const char *rt = GPR(rt_value); + char *u = IMMEDIATE(u_value); return img_format("LB %s, %s($%d)", rt, u, 28); } @@ -7902,15 +7803,15 @@ static std::string LB_GP_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LB_S9_(uint64 instruction, Dis_info *info) +static char *LB_S9_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string s = IMMEDIATE(s_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + char *s = IMMEDIATE(s_value); + const char *rs = GPR(rs_value); return img_format("LB %s, %s(%s)", rt, s, rs); } @@ -7926,15 +7827,15 @@ static std::string LB_S9_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LB_U12_(uint64 instruction, Dis_info *info) +static char *LB_U12_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string u = IMMEDIATE(u_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + char *u = IMMEDIATE(u_value); + const char *rs = GPR(rs_value); return img_format("LB %s, %s(%s)", rt, u, rs); } @@ -7950,15 +7851,15 @@ static std::string LB_U12_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LBE(uint64 instruction, Dis_info *info) +static char *LBE(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string s = IMMEDIATE(s_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + char *s = IMMEDIATE(s_value); + const char *rs = GPR(rs_value); return img_format("LBE %s, %s(%s)", rt, s, rs); } @@ -7974,15 +7875,15 @@ static std::string LBE(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LBU_16_(uint64 instruction, Dis_info *info) +static char *LBU_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); uint64 u_value = extract_u_1_0(instruction); - std::string rt3 = GPR(decode_gpr_gpr3(rt3_value)); - std::string u = IMMEDIATE(u_value); - std::string rs3 = GPR(decode_gpr_gpr3(rs3_value)); + const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); + char *u = IMMEDIATE(u_value); + const char *rs3 = GPR(decode_gpr_gpr3(rs3_value)); return img_format("LBU %s, %s(%s)", rt3, u, rs3); } @@ -7998,13 +7899,13 @@ static std::string LBU_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LBU_GP_(uint64 instruction, Dis_info *info) +static char *LBU_GP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_0(instruction); - std::string rt = GPR(rt_value); - std::string u = IMMEDIATE(u_value); + const char *rt = GPR(rt_value); + char *u = IMMEDIATE(u_value); return img_format("LBU %s, %s($%d)", rt, u, 28); } @@ -8020,15 +7921,15 @@ static std::string LBU_GP_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LBU_S9_(uint64 instruction, Dis_info *info) +static char *LBU_S9_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string s = IMMEDIATE(s_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + char *s = IMMEDIATE(s_value); + const char *rs = GPR(rs_value); return img_format("LBU %s, %s(%s)", rt, s, rs); } @@ -8044,15 +7945,15 @@ static std::string LBU_S9_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LBU_U12_(uint64 instruction, Dis_info *info) +static char *LBU_U12_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string u = IMMEDIATE(u_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + char *u = IMMEDIATE(u_value); + const char *rs = GPR(rs_value); return img_format("LBU %s, %s(%s)", rt, u, rs); } @@ -8068,15 +7969,15 @@ static std::string LBU_U12_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LBUE(uint64 instruction, Dis_info *info) +static char *LBUE(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string s = IMMEDIATE(s_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + char *s = IMMEDIATE(s_value); + const char *rs = GPR(rs_value); return img_format("LBUE %s, %s(%s)", rt, s, rs); } @@ -8092,15 +7993,15 @@ static std::string LBUE(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LBUX(uint64 instruction, Dis_info *info) +static char *LBUX(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("LBUX %s, %s(%s)", rd, rs, rt); } @@ -8116,15 +8017,15 @@ static std::string LBUX(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LBX(uint64 instruction, Dis_info *info) +static char *LBX(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("LBX %s, %s(%s)", rd, rs, rt); } @@ -8140,13 +8041,13 @@ static std::string LBX(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LD_GP_(uint64 instruction, Dis_info *info) +static char *LD_GP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_20_to_3__s3(instruction); - std::string rt = GPR(rt_value); - std::string u = IMMEDIATE(u_value); + const char *rt = GPR(rt_value); + char *u = IMMEDIATE(u_value); return img_format("LD %s, %s($%d)", rt, u, 28); } @@ -8162,15 +8063,15 @@ static std::string LD_GP_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LD_S9_(uint64 instruction, Dis_info *info) +static char *LD_S9_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string s = IMMEDIATE(s_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + char *s = IMMEDIATE(s_value); + const char *rs = GPR(rs_value); return img_format("LD %s, %s(%s)", rt, s, rs); } @@ -8186,15 +8087,15 @@ static std::string LD_S9_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LD_U12_(uint64 instruction, Dis_info *info) +static char *LD_U12_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string u = IMMEDIATE(u_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + char *u = IMMEDIATE(u_value); + const char *rs = GPR(rs_value); return img_format("LD %s, %s(%s)", rt, u, rs); } @@ -8210,13 +8111,13 @@ static std::string LD_U12_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LDC1_GP_(uint64 instruction, Dis_info *info) +static char *LDC1_GP_(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_2__s2(instruction); - std::string ft = FPR(ft_value); - std::string u = IMMEDIATE(u_value); + const char *ft = FPR(ft_value); + char *u = IMMEDIATE(u_value); return img_format("LDC1 %s, %s($%d)", ft, u, 28); } @@ -8232,15 +8133,15 @@ static std::string LDC1_GP_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LDC1_S9_(uint64 instruction, Dis_info *info) +static char *LDC1_S9_(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string ft = FPR(ft_value); - std::string s = IMMEDIATE(s_value); - std::string rs = GPR(rs_value); + const char *ft = FPR(ft_value); + char *s = IMMEDIATE(s_value); + const char *rs = GPR(rs_value); return img_format("LDC1 %s, %s(%s)", ft, s, rs); } @@ -8256,15 +8157,15 @@ static std::string LDC1_S9_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LDC1_U12_(uint64 instruction, Dis_info *info) +static char *LDC1_U12_(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - std::string ft = FPR(ft_value); - std::string u = IMMEDIATE(u_value); - std::string rs = GPR(rs_value); + const char *ft = FPR(ft_value); + char *u = IMMEDIATE(u_value); + const char *rs = GPR(rs_value); return img_format("LDC1 %s, %s(%s)", ft, u, rs); } @@ -8280,15 +8181,15 @@ static std::string LDC1_U12_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LDC1XS(uint64 instruction, Dis_info *info) +static char *LDC1XS(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ft_value = extract_ft_15_14_13_12_11(instruction); - std::string ft = FPR(ft_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *ft = FPR(ft_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("LDC1XS %s, %s(%s)", ft, rs, rt); } @@ -8304,15 +8205,15 @@ static std::string LDC1XS(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LDC1X(uint64 instruction, Dis_info *info) +static char *LDC1X(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ft_value = extract_ft_15_14_13_12_11(instruction); - std::string ft = FPR(ft_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *ft = FPR(ft_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("LDC1X %s, %s(%s)", ft, rs, rt); } @@ -8328,15 +8229,15 @@ static std::string LDC1X(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LDC2(uint64 instruction, Dis_info *info) +static char *LDC2(uint64 instruction, Dis_info *info) { uint64 ct_value = extract_ct_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string ct = CPR(ct_value); - std::string s = IMMEDIATE(s_value); - std::string rs = GPR(rs_value); + char *ct = CPR(ct_value); + char *s = IMMEDIATE(s_value); + const char *rs = GPR(rs_value); return img_format("LDC2 %s, %s(%s)", ct, s, rs); } @@ -8352,17 +8253,17 @@ static std::string LDC2(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LDM(uint64 instruction, Dis_info *info) +static char *LDM(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); uint64 count3_value = extract_count3_14_13_12(instruction); - std::string rt = GPR(rt_value); - std::string s = IMMEDIATE(s_value); - std::string rs = GPR(rs_value); - std::string count3 = IMMEDIATE(encode_count3_from_count(count3_value)); + const char *rt = GPR(rt_value); + char *s = IMMEDIATE(s_value); + const char *rs = GPR(rs_value); + char *count3 = IMMEDIATE(encode_count3_from_count(count3_value)); return img_format("LDM %s, %s(%s), %s", rt, s, rs, count3); } @@ -8378,13 +8279,13 @@ static std::string LDM(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LDPC_48_(uint64 instruction, Dis_info *info) +static char *LDPC_48_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_41_40_39_38_37(instruction); int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction); - std::string rt = GPR(rt_value); - std::string s = ADDRESS(s_value, 6, info); + const char *rt = GPR(rt_value); + char *s = ADDRESS(s_value, 6, info); return img_format("LDPC %s, %s", rt, s); } @@ -8400,15 +8301,15 @@ static std::string LDPC_48_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LDX(uint64 instruction, Dis_info *info) +static char *LDX(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("LDX %s, %s(%s)", rd, rs, rt); } @@ -8424,15 +8325,15 @@ static std::string LDX(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LDXS(uint64 instruction, Dis_info *info) +static char *LDXS(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("LDXS %s, %s(%s)", rd, rs, rt); } @@ -8448,15 +8349,15 @@ static std::string LDXS(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LH_16_(uint64 instruction, Dis_info *info) +static char *LH_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); uint64 u_value = extract_u_2_1__s1(instruction); - std::string rt3 = GPR(decode_gpr_gpr3(rt3_value)); - std::string u = IMMEDIATE(u_value); - std::string rs3 = GPR(decode_gpr_gpr3(rs3_value)); + const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); + char *u = IMMEDIATE(u_value); + const char *rs3 = GPR(decode_gpr_gpr3(rs3_value)); return img_format("LH %s, %s(%s)", rt3, u, rs3); } @@ -8472,13 +8373,13 @@ static std::string LH_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LH_GP_(uint64 instruction, Dis_info *info) +static char *LH_GP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_1__s1(instruction); - std::string rt = GPR(rt_value); - std::string u = IMMEDIATE(u_value); + const char *rt = GPR(rt_value); + char *u = IMMEDIATE(u_value); return img_format("LH %s, %s($%d)", rt, u, 28); } @@ -8494,15 +8395,15 @@ static std::string LH_GP_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LH_S9_(uint64 instruction, Dis_info *info) +static char *LH_S9_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string s = IMMEDIATE(s_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + char *s = IMMEDIATE(s_value); + const char *rs = GPR(rs_value); return img_format("LH %s, %s(%s)", rt, s, rs); } @@ -8518,15 +8419,15 @@ static std::string LH_S9_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LH_U12_(uint64 instruction, Dis_info *info) +static char *LH_U12_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string u = IMMEDIATE(u_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + char *u = IMMEDIATE(u_value); + const char *rs = GPR(rs_value); return img_format("LH %s, %s(%s)", rt, u, rs); } @@ -8542,15 +8443,15 @@ static std::string LH_U12_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LHE(uint64 instruction, Dis_info *info) +static char *LHE(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string s = IMMEDIATE(s_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + char *s = IMMEDIATE(s_value); + const char *rs = GPR(rs_value); return img_format("LHE %s, %s(%s)", rt, s, rs); } @@ -8566,15 +8467,15 @@ static std::string LHE(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LHU_16_(uint64 instruction, Dis_info *info) +static char *LHU_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); uint64 u_value = extract_u_2_1__s1(instruction); - std::string rt3 = GPR(decode_gpr_gpr3(rt3_value)); - std::string u = IMMEDIATE(u_value); - std::string rs3 = GPR(decode_gpr_gpr3(rs3_value)); + const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); + char *u = IMMEDIATE(u_value); + const char *rs3 = GPR(decode_gpr_gpr3(rs3_value)); return img_format("LHU %s, %s(%s)", rt3, u, rs3); } @@ -8590,13 +8491,13 @@ static std::string LHU_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LHU_GP_(uint64 instruction, Dis_info *info) +static char *LHU_GP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_1__s1(instruction); - std::string rt = GPR(rt_value); - std::string u = IMMEDIATE(u_value); + const char *rt = GPR(rt_value); + char *u = IMMEDIATE(u_value); return img_format("LHU %s, %s($%d)", rt, u, 28); } @@ -8612,15 +8513,15 @@ static std::string LHU_GP_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LHU_S9_(uint64 instruction, Dis_info *info) +static char *LHU_S9_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string s = IMMEDIATE(s_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + char *s = IMMEDIATE(s_value); + const char *rs = GPR(rs_value); return img_format("LHU %s, %s(%s)", rt, s, rs); } @@ -8636,15 +8537,15 @@ static std::string LHU_S9_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LHU_U12_(uint64 instruction, Dis_info *info) +static char *LHU_U12_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string u = IMMEDIATE(u_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + char *u = IMMEDIATE(u_value); + const char *rs = GPR(rs_value); return img_format("LHU %s, %s(%s)", rt, u, rs); } @@ -8660,15 +8561,15 @@ static std::string LHU_U12_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LHUE(uint64 instruction, Dis_info *info) +static char *LHUE(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string s = IMMEDIATE(s_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + char *s = IMMEDIATE(s_value); + const char *rs = GPR(rs_value); return img_format("LHUE %s, %s(%s)", rt, s, rs); } @@ -8684,15 +8585,15 @@ static std::string LHUE(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LHUX(uint64 instruction, Dis_info *info) +static char *LHUX(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("LHUX %s, %s(%s)", rd, rs, rt); } @@ -8708,15 +8609,15 @@ static std::string LHUX(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LHUXS(uint64 instruction, Dis_info *info) +static char *LHUXS(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("LHUXS %s, %s(%s)", rd, rs, rt); } @@ -8732,15 +8633,15 @@ static std::string LHUXS(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LHXS(uint64 instruction, Dis_info *info) +static char *LHXS(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("LHXS %s, %s(%s)", rd, rs, rt); } @@ -8756,15 +8657,15 @@ static std::string LHXS(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LHX(uint64 instruction, Dis_info *info) +static char *LHX(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("LHX %s, %s(%s)", rd, rs, rt); } @@ -8780,13 +8681,13 @@ static std::string LHX(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LI_16_(uint64 instruction, Dis_info *info) +static char *LI_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 eu_value = extract_eu_6_5_4_3_2_1_0(instruction); - std::string rt3 = GPR(decode_gpr_gpr3(rt3_value)); - std::string eu = IMMEDIATE(encode_eu_from_s_li16(eu_value)); + const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); + char *eu = IMMEDIATE(encode_eu_from_s_li16(eu_value)); return img_format("LI %s, %s", rt3, eu); } @@ -8802,13 +8703,13 @@ static std::string LI_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LI_48_(uint64 instruction, Dis_info *info) +static char *LI_48_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_41_40_39_38_37(instruction); int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction); - std::string rt = GPR(rt_value); - std::string s = IMMEDIATE(s_value); + const char *rt = GPR(rt_value); + char *s = IMMEDIATE(s_value); return img_format("LI %s, %s", rt, s); } @@ -8824,15 +8725,15 @@ static std::string LI_48_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LL(uint64 instruction, Dis_info *info) +static char *LL(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_s2(instruction); - std::string rt = GPR(rt_value); - std::string s = IMMEDIATE(s_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + char *s = IMMEDIATE(s_value); + const char *rs = GPR(rs_value); return img_format("LL %s, %s(%s)", rt, s, rs); } @@ -8848,15 +8749,15 @@ static std::string LL(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LLD(uint64 instruction, Dis_info *info) +static char *LLD(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_s3(instruction); - std::string rt = GPR(rt_value); - std::string s = IMMEDIATE(s_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + char *s = IMMEDIATE(s_value); + const char *rs = GPR(rs_value); return img_format("LLD %s, %s(%s)", rt, s, rs); } @@ -8872,15 +8773,15 @@ static std::string LLD(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LLDP(uint64 instruction, Dis_info *info) +static char *LLDP(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ru_value = extract_ru_7_6_5_4_3(instruction); - std::string rt = GPR(rt_value); - std::string ru = GPR(ru_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + const char *ru = GPR(ru_value); + const char *rs = GPR(rs_value); return img_format("LLDP %s, %s, (%s)", rt, ru, rs); } @@ -8896,15 +8797,15 @@ static std::string LLDP(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LLE(uint64 instruction, Dis_info *info) +static char *LLE(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_s2(instruction); - std::string rt = GPR(rt_value); - std::string s = IMMEDIATE(s_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + char *s = IMMEDIATE(s_value); + const char *rs = GPR(rs_value); return img_format("LLE %s, %s(%s)", rt, s, rs); } @@ -8920,15 +8821,15 @@ static std::string LLE(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LLWP(uint64 instruction, Dis_info *info) +static char *LLWP(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ru_value = extract_ru_7_6_5_4_3(instruction); - std::string rt = GPR(rt_value); - std::string ru = GPR(ru_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + const char *ru = GPR(ru_value); + const char *rs = GPR(rs_value); return img_format("LLWP %s, %s, (%s)", rt, ru, rs); } @@ -8944,15 +8845,15 @@ static std::string LLWP(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LLWPE(uint64 instruction, Dis_info *info) +static char *LLWPE(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ru_value = extract_ru_7_6_5_4_3(instruction); - std::string rt = GPR(rt_value); - std::string ru = GPR(ru_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + const char *ru = GPR(ru_value); + const char *rs = GPR(rs_value); return img_format("LLWPE %s, %s, (%s)", rt, ru, rs); } @@ -8968,17 +8869,17 @@ static std::string LLWPE(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LSA(uint64 instruction, Dis_info *info) +static char *LSA(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); uint64 u2_value = extract_u2_10_9(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); - std::string u2 = IMMEDIATE(u2_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); + char *u2 = IMMEDIATE(u2_value); return img_format("LSA %s, %s, %s, %s", rd, rs, rt, u2); } @@ -8994,13 +8895,13 @@ static std::string LSA(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LUI(uint64 instruction, Dis_info *info) +static char *LUI(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); int64 s_value = extract_s__se31_0_11_to_2_20_to_12_s12(instruction); - std::string rt = GPR(rt_value); - std::string s = IMMEDIATE(s_value); + const char *rt = GPR(rt_value); + char *s = IMMEDIATE(s_value); return img_format("LUI %s, %%hi(%s)", rt, s); } @@ -9016,15 +8917,15 @@ static std::string LUI(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LW_16_(uint64 instruction, Dis_info *info) +static char *LW_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); uint64 u_value = extract_u_3_2_1_0__s2(instruction); - std::string rt3 = GPR(decode_gpr_gpr3(rt3_value)); - std::string u = IMMEDIATE(u_value); - std::string rs3 = GPR(decode_gpr_gpr3(rs3_value)); + const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); + char *u = IMMEDIATE(u_value); + const char *rs3 = GPR(decode_gpr_gpr3(rs3_value)); return img_format("LW %s, %s(%s)", rt3, u, rs3); } @@ -9040,15 +8941,15 @@ static std::string LW_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LW_4X4_(uint64 instruction, Dis_info *info) +static char *LW_4X4_(uint64 instruction, Dis_info *info) { uint64 rt4_value = extract_rt4_9_7_6_5(instruction); uint64 rs4_value = extract_rs4_4_2_1_0(instruction); uint64 u_value = extract_u_3_8__s2(instruction); - std::string rt4 = GPR(decode_gpr_gpr4(rt4_value)); - std::string u = IMMEDIATE(u_value); - std::string rs4 = GPR(decode_gpr_gpr4(rs4_value)); + const char *rt4 = GPR(decode_gpr_gpr4(rt4_value)); + char *u = IMMEDIATE(u_value); + const char *rs4 = GPR(decode_gpr_gpr4(rs4_value)); return img_format("LW %s, %s(%s)", rt4, u, rs4); } @@ -9064,13 +8965,13 @@ static std::string LW_4X4_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LW_GP_(uint64 instruction, Dis_info *info) +static char *LW_GP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_20_to_2__s2(instruction); - std::string rt = GPR(rt_value); - std::string u = IMMEDIATE(u_value); + const char *rt = GPR(rt_value); + char *u = IMMEDIATE(u_value); return img_format("LW %s, %s($%d)", rt, u, 28); } @@ -9086,13 +8987,13 @@ static std::string LW_GP_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LW_GP16_(uint64 instruction, Dis_info *info) +static char *LW_GP16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 u_value = extract_u_6_5_4_3_2_1_0__s2(instruction); - std::string rt3 = GPR(decode_gpr_gpr3(rt3_value)); - std::string u = IMMEDIATE(u_value); + const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); + char *u = IMMEDIATE(u_value); return img_format("LW %s, %s($%d)", rt3, u, 28); } @@ -9108,15 +9009,15 @@ static std::string LW_GP16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LW_S9_(uint64 instruction, Dis_info *info) +static char *LW_S9_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string s = IMMEDIATE(s_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + char *s = IMMEDIATE(s_value); + const char *rs = GPR(rs_value); return img_format("LW %s, %s(%s)", rt, s, rs); } @@ -9132,13 +9033,13 @@ static std::string LW_S9_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LW_SP_(uint64 instruction, Dis_info *info) +static char *LW_SP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_9_8_7_6_5(instruction); uint64 u_value = extract_u_4_3_2_1_0__s2(instruction); - std::string rt = GPR(rt_value); - std::string u = IMMEDIATE(u_value); + const char *rt = GPR(rt_value); + char *u = IMMEDIATE(u_value); return img_format("LW %s, %s($%d)", rt, u, 29); } @@ -9154,15 +9055,15 @@ static std::string LW_SP_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LW_U12_(uint64 instruction, Dis_info *info) +static char *LW_U12_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string u = IMMEDIATE(u_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + char *u = IMMEDIATE(u_value); + const char *rs = GPR(rs_value); return img_format("LW %s, %s(%s)", rt, u, rs); } @@ -9178,13 +9079,13 @@ static std::string LW_U12_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LWC1_GP_(uint64 instruction, Dis_info *info) +static char *LWC1_GP_(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_2__s2(instruction); - std::string ft = FPR(ft_value); - std::string u = IMMEDIATE(u_value); + const char *ft = FPR(ft_value); + char *u = IMMEDIATE(u_value); return img_format("LWC1 %s, %s($%d)", ft, u, 28); } @@ -9200,15 +9101,15 @@ static std::string LWC1_GP_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LWC1_S9_(uint64 instruction, Dis_info *info) +static char *LWC1_S9_(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string ft = FPR(ft_value); - std::string s = IMMEDIATE(s_value); - std::string rs = GPR(rs_value); + const char *ft = FPR(ft_value); + char *s = IMMEDIATE(s_value); + const char *rs = GPR(rs_value); return img_format("LWC1 %s, %s(%s)", ft, s, rs); } @@ -9224,15 +9125,15 @@ static std::string LWC1_S9_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LWC1_U12_(uint64 instruction, Dis_info *info) +static char *LWC1_U12_(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - std::string ft = FPR(ft_value); - std::string u = IMMEDIATE(u_value); - std::string rs = GPR(rs_value); + const char *ft = FPR(ft_value); + char *u = IMMEDIATE(u_value); + const char *rs = GPR(rs_value); return img_format("LWC1 %s, %s(%s)", ft, u, rs); } @@ -9248,15 +9149,15 @@ static std::string LWC1_U12_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LWC1X(uint64 instruction, Dis_info *info) +static char *LWC1X(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ft_value = extract_ft_15_14_13_12_11(instruction); - std::string ft = FPR(ft_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *ft = FPR(ft_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("LWC1X %s, %s(%s)", ft, rs, rt); } @@ -9272,15 +9173,15 @@ static std::string LWC1X(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LWC1XS(uint64 instruction, Dis_info *info) +static char *LWC1XS(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ft_value = extract_ft_15_14_13_12_11(instruction); - std::string ft = FPR(ft_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *ft = FPR(ft_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("LWC1XS %s, %s(%s)", ft, rs, rt); } @@ -9296,15 +9197,15 @@ static std::string LWC1XS(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LWC2(uint64 instruction, Dis_info *info) +static char *LWC2(uint64 instruction, Dis_info *info) { uint64 ct_value = extract_ct_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string ct = CPR(ct_value); - std::string s = IMMEDIATE(s_value); - std::string rs = GPR(rs_value); + char *ct = CPR(ct_value); + char *s = IMMEDIATE(s_value); + const char *rs = GPR(rs_value); return img_format("LWC2 %s, %s(%s)", ct, s, rs); } @@ -9320,15 +9221,15 @@ static std::string LWC2(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LWE(uint64 instruction, Dis_info *info) +static char *LWE(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string s = IMMEDIATE(s_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + char *s = IMMEDIATE(s_value); + const char *rs = GPR(rs_value); return img_format("LWE %s, %s(%s)", rt, s, rs); } @@ -9344,17 +9245,17 @@ static std::string LWE(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LWM(uint64 instruction, Dis_info *info) +static char *LWM(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); uint64 count3_value = extract_count3_14_13_12(instruction); - std::string rt = GPR(rt_value); - std::string s = IMMEDIATE(s_value); - std::string rs = GPR(rs_value); - std::string count3 = IMMEDIATE(encode_count3_from_count(count3_value)); + const char *rt = GPR(rt_value); + char *s = IMMEDIATE(s_value); + const char *rs = GPR(rs_value); + char *count3 = IMMEDIATE(encode_count3_from_count(count3_value)); return img_format("LWM %s, %s(%s), %s", rt, s, rs, count3); } @@ -9370,13 +9271,13 @@ static std::string LWM(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LWPC_48_(uint64 instruction, Dis_info *info) +static char *LWPC_48_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_41_40_39_38_37(instruction); int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction); - std::string rt = GPR(rt_value); - std::string s = ADDRESS(s_value, 6, info); + const char *rt = GPR(rt_value); + char *s = ADDRESS(s_value, 6, info); return img_format("LWPC %s, %s", rt, s); } @@ -9392,13 +9293,13 @@ static std::string LWPC_48_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LWU_GP_(uint64 instruction, Dis_info *info) +static char *LWU_GP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_2__s2(instruction); - std::string rt = GPR(rt_value); - std::string u = IMMEDIATE(u_value); + const char *rt = GPR(rt_value); + char *u = IMMEDIATE(u_value); return img_format("LWU %s, %s($%d)", rt, u, 28); } @@ -9414,15 +9315,15 @@ static std::string LWU_GP_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LWU_S9_(uint64 instruction, Dis_info *info) +static char *LWU_S9_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string s = IMMEDIATE(s_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + char *s = IMMEDIATE(s_value); + const char *rs = GPR(rs_value); return img_format("LWU %s, %s(%s)", rt, s, rs); } @@ -9438,15 +9339,15 @@ static std::string LWU_S9_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LWU_U12_(uint64 instruction, Dis_info *info) +static char *LWU_U12_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string u = IMMEDIATE(u_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + char *u = IMMEDIATE(u_value); + const char *rs = GPR(rs_value); return img_format("LWU %s, %s(%s)", rt, u, rs); } @@ -9462,15 +9363,15 @@ static std::string LWU_U12_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LWUX(uint64 instruction, Dis_info *info) +static char *LWUX(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("LWUX %s, %s(%s)", rd, rs, rt); } @@ -9486,15 +9387,15 @@ static std::string LWUX(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LWUXS(uint64 instruction, Dis_info *info) +static char *LWUXS(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("LWUXS %s, %s(%s)", rd, rs, rt); } @@ -9510,15 +9411,15 @@ static std::string LWUXS(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LWX(uint64 instruction, Dis_info *info) +static char *LWX(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("LWX %s, %s(%s)", rd, rs, rt); } @@ -9534,15 +9435,15 @@ static std::string LWX(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LWXS_16_(uint64 instruction, Dis_info *info) +static char *LWXS_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); uint64 rd3_value = extract_rd3_3_2_1(instruction); - std::string rd3 = GPR(decode_gpr_gpr3(rd3_value)); - std::string rs3 = GPR(decode_gpr_gpr3(rs3_value)); - std::string rt3 = IMMEDIATE(decode_gpr_gpr3(rt3_value)); + const char *rd3 = GPR(decode_gpr_gpr3(rd3_value)); + const char *rs3 = GPR(decode_gpr_gpr3(rs3_value)); + char *rt3 = IMMEDIATE(decode_gpr_gpr3(rt3_value)); return img_format("LWXS %s, %s(%s)", rd3, rs3, rt3); } @@ -9558,15 +9459,15 @@ static std::string LWXS_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string LWXS_32_(uint64 instruction, Dis_info *info) +static char *LWXS_32_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("LWXS %s, %s(%s)", rd, rs, rt); } @@ -9583,15 +9484,15 @@ static std::string LWXS_32_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MADD_DSP_(uint64 instruction, Dis_info *info) +static char *MADD_DSP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string ac = AC(ac_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *ac = AC(ac_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("MADD %s, %s, %s", ac, rs, rt); } @@ -9607,15 +9508,15 @@ static std::string MADD_DSP_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MADDF_D(uint64 instruction, Dis_info *info) +static char *MADDF_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("MADDF.D %s, %s, %s", fd, fs, ft); } @@ -9631,15 +9532,15 @@ static std::string MADDF_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MADDF_S(uint64 instruction, Dis_info *info) +static char *MADDF_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("MADDF.S %s, %s, %s", fd, fs, ft); } @@ -9656,15 +9557,15 @@ static std::string MADDF_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MADDU_DSP_(uint64 instruction, Dis_info *info) +static char *MADDU_DSP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string ac = AC(ac_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *ac = AC(ac_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("MADDU %s, %s, %s", ac, rs, rt); } @@ -9681,15 +9582,15 @@ static std::string MADDU_DSP_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MAQ_S_W_PHL(uint64 instruction, Dis_info *info) +static char *MAQ_S_W_PHL(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string ac = AC(ac_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *ac = AC(ac_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("MAQ_S.W.PHL %s, %s, %s", ac, rs, rt); } @@ -9706,15 +9607,15 @@ static std::string MAQ_S_W_PHL(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MAQ_S_W_PHR(uint64 instruction, Dis_info *info) +static char *MAQ_S_W_PHR(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string ac = AC(ac_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *ac = AC(ac_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("MAQ_S.W.PHR %s, %s, %s", ac, rs, rt); } @@ -9731,15 +9632,15 @@ static std::string MAQ_S_W_PHR(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MAQ_SA_W_PHL(uint64 instruction, Dis_info *info) +static char *MAQ_SA_W_PHL(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string ac = AC(ac_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *ac = AC(ac_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("MAQ_SA.W.PHL %s, %s, %s", ac, rs, rt); } @@ -9756,15 +9657,15 @@ static std::string MAQ_SA_W_PHL(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MAQ_SA_W_PHR(uint64 instruction, Dis_info *info) +static char *MAQ_SA_W_PHR(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string ac = AC(ac_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *ac = AC(ac_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("MAQ_SA.W.PHR %s, %s, %s", ac, rs, rt); } @@ -9780,15 +9681,15 @@ static std::string MAQ_SA_W_PHR(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MAX_D(uint64 instruction, Dis_info *info) +static char *MAX_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("MAX.D %s, %s, %s", fd, fs, ft); } @@ -9804,15 +9705,15 @@ static std::string MAX_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MAX_S(uint64 instruction, Dis_info *info) +static char *MAX_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("MAX.S %s, %s, %s", fd, fs, ft); } @@ -9828,15 +9729,15 @@ static std::string MAX_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MAXA_D(uint64 instruction, Dis_info *info) +static char *MAXA_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("MAXA.D %s, %s, %s", fd, fs, ft); } @@ -9852,15 +9753,15 @@ static std::string MAXA_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MAXA_S(uint64 instruction, Dis_info *info) +static char *MAXA_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("MAXA.S %s, %s, %s", fd, fs, ft); } @@ -9876,15 +9777,15 @@ static std::string MAXA_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MFC0(uint64 instruction, Dis_info *info) +static char *MFC0(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); uint64 sel_value = extract_sel_15_14_13_12_11(instruction); - std::string rt = GPR(rt_value); - std::string c0s = CPR(c0s_value); - std::string sel = IMMEDIATE(sel_value); + const char *rt = GPR(rt_value); + char *c0s = CPR(c0s_value); + char *sel = IMMEDIATE(sel_value); return img_format("MFC0 %s, %s, %s", rt, c0s, sel); } @@ -9900,13 +9801,13 @@ static std::string MFC0(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MFC1(uint64 instruction, Dis_info *info) +static char *MFC1(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string rt = GPR(rt_value); - std::string fs = FPR(fs_value); + const char *rt = GPR(rt_value); + const char *fs = FPR(fs_value); return img_format("MFC1 %s, %s", rt, fs); } @@ -9922,13 +9823,13 @@ static std::string MFC1(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MFC2(uint64 instruction, Dis_info *info) +static char *MFC2(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 cs_value = extract_cs_20_19_18_17_16(instruction); - std::string rt = GPR(rt_value); - std::string cs = CPR(cs_value); + const char *rt = GPR(rt_value); + char *cs = CPR(cs_value); return img_format("MFC2 %s, %s", rt, cs); } @@ -9944,15 +9845,15 @@ static std::string MFC2(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MFGC0(uint64 instruction, Dis_info *info) +static char *MFGC0(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); uint64 sel_value = extract_sel_15_14_13_12_11(instruction); - std::string rt = GPR(rt_value); - std::string c0s = CPR(c0s_value); - std::string sel = IMMEDIATE(sel_value); + const char *rt = GPR(rt_value); + char *c0s = CPR(c0s_value); + char *sel = IMMEDIATE(sel_value); return img_format("MFGC0 %s, %s, %s", rt, c0s, sel); } @@ -9968,15 +9869,15 @@ static std::string MFGC0(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MFHC0(uint64 instruction, Dis_info *info) +static char *MFHC0(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); uint64 sel_value = extract_sel_15_14_13_12_11(instruction); - std::string rt = GPR(rt_value); - std::string c0s = CPR(c0s_value); - std::string sel = IMMEDIATE(sel_value); + const char *rt = GPR(rt_value); + char *c0s = CPR(c0s_value); + char *sel = IMMEDIATE(sel_value); return img_format("MFHC0 %s, %s, %s", rt, c0s, sel); } @@ -9992,13 +9893,13 @@ static std::string MFHC0(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MFHC1(uint64 instruction, Dis_info *info) +static char *MFHC1(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string rt = GPR(rt_value); - std::string fs = FPR(fs_value); + const char *rt = GPR(rt_value); + const char *fs = FPR(fs_value); return img_format("MFHC1 %s, %s", rt, fs); } @@ -10014,13 +9915,13 @@ static std::string MFHC1(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MFHC2(uint64 instruction, Dis_info *info) +static char *MFHC2(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 cs_value = extract_cs_20_19_18_17_16(instruction); - std::string rt = GPR(rt_value); - std::string cs = CPR(cs_value); + const char *rt = GPR(rt_value); + char *cs = CPR(cs_value); return img_format("MFHC2 %s, %s", rt, cs); } @@ -10036,15 +9937,15 @@ static std::string MFHC2(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MFHGC0(uint64 instruction, Dis_info *info) +static char *MFHGC0(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); uint64 sel_value = extract_sel_15_14_13_12_11(instruction); - std::string rt = GPR(rt_value); - std::string c0s = CPR(c0s_value); - std::string sel = IMMEDIATE(sel_value); + const char *rt = GPR(rt_value); + char *c0s = CPR(c0s_value); + char *sel = IMMEDIATE(sel_value); return img_format("MFHGC0 %s, %s, %s", rt, c0s, sel); } @@ -10059,13 +9960,13 @@ static std::string MFHGC0(uint64 instruction, Dis_info *info) * rt ----- * ac -- */ -static std::string MFHI_DSP_(uint64 instruction, Dis_info *info) +static char *MFHI_DSP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string rt = GPR(rt_value); - std::string ac = AC(ac_value); + const char *rt = GPR(rt_value); + const char *ac = AC(ac_value); return img_format("MFHI %s, %s", rt, ac); } @@ -10081,17 +9982,17 @@ static std::string MFHI_DSP_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MFHTR(uint64 instruction, Dis_info *info) +static char *MFHTR(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); uint64 sel_value = extract_sel_15_14_13_12_11(instruction); uint64 u_value = extract_u_10(instruction); - std::string rt = GPR(rt_value); - std::string c0s = IMMEDIATE(c0s_value); - std::string u = IMMEDIATE(u_value); - std::string sel = IMMEDIATE(sel_value); + const char *rt = GPR(rt_value); + char *c0s = IMMEDIATE(c0s_value); + char *u = IMMEDIATE(u_value); + char *sel = IMMEDIATE(sel_value); return img_format("MFHTR %s, %s, %s, %s", rt, c0s, u, sel); } @@ -10106,13 +10007,13 @@ static std::string MFHTR(uint64 instruction, Dis_info *info) * rt ----- * ac -- */ -static std::string MFLO_DSP_(uint64 instruction, Dis_info *info) +static char *MFLO_DSP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string rt = GPR(rt_value); - std::string ac = AC(ac_value); + const char *rt = GPR(rt_value); + const char *ac = AC(ac_value); return img_format("MFLO %s, %s", rt, ac); } @@ -10128,17 +10029,17 @@ static std::string MFLO_DSP_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MFTR(uint64 instruction, Dis_info *info) +static char *MFTR(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); uint64 sel_value = extract_sel_15_14_13_12_11(instruction); uint64 u_value = extract_u_10(instruction); - std::string rt = GPR(rt_value); - std::string c0s = IMMEDIATE(c0s_value); - std::string u = IMMEDIATE(u_value); - std::string sel = IMMEDIATE(sel_value); + const char *rt = GPR(rt_value); + char *c0s = IMMEDIATE(c0s_value); + char *u = IMMEDIATE(u_value); + char *sel = IMMEDIATE(sel_value); return img_format("MFTR %s, %s, %s, %s", rt, c0s, u, sel); } @@ -10154,15 +10055,15 @@ static std::string MFTR(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MIN_D(uint64 instruction, Dis_info *info) +static char *MIN_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("MIN.D %s, %s, %s", fd, fs, ft); } @@ -10178,15 +10079,15 @@ static std::string MIN_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MIN_S(uint64 instruction, Dis_info *info) +static char *MIN_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("MIN.S %s, %s, %s", fd, fs, ft); } @@ -10202,15 +10103,15 @@ static std::string MIN_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MINA_D(uint64 instruction, Dis_info *info) +static char *MINA_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("MINA.D %s, %s, %s", fd, fs, ft); } @@ -10226,15 +10127,15 @@ static std::string MINA_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MINA_S(uint64 instruction, Dis_info *info) +static char *MINA_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("MINA.S %s, %s, %s", fd, fs, ft); } @@ -10250,15 +10151,15 @@ static std::string MINA_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MOD(uint64 instruction, Dis_info *info) +static char *MOD(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("MOD %s, %s, %s", rd, rs, rt); } @@ -10274,15 +10175,15 @@ static std::string MOD(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MODSUB(uint64 instruction, Dis_info *info) +static char *MODSUB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("MODSUB %s, %s, %s", rd, rs, rt); } @@ -10298,15 +10199,15 @@ static std::string MODSUB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MODU(uint64 instruction, Dis_info *info) +static char *MODU(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("MODU %s, %s, %s", rd, rs, rt); } @@ -10322,13 +10223,13 @@ static std::string MODU(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MOV_D(uint64 instruction, Dis_info *info) +static char *MOV_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(ft_value); - std::string fs = FPR(fs_value); + const char *ft = FPR(ft_value); + const char *fs = FPR(fs_value); return img_format("MOV.D %s, %s", ft, fs); } @@ -10344,13 +10245,13 @@ static std::string MOV_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MOV_S(uint64 instruction, Dis_info *info) +static char *MOV_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(ft_value); - std::string fs = FPR(fs_value); + const char *ft = FPR(ft_value); + const char *fs = FPR(fs_value); return img_format("MOV.S %s, %s", ft, fs); } @@ -10366,15 +10267,15 @@ static std::string MOV_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MOVE_BALC(uint64 instruction, Dis_info *info) +static char *MOVE_BALC(uint64 instruction, Dis_info *info) { uint64 rtz4_value = extract_rtz4_27_26_25_23_22_21(instruction); uint64 rd1_value = extract_rdl_25_24(instruction); int64 s_value = extract_s__se21_0_20_to_1_s1(instruction); - std::string rd1 = GPR(decode_gpr_gpr1(rd1_value)); - std::string rtz4 = GPR(decode_gpr_gpr4_zero(rtz4_value)); - std::string s = ADDRESS(s_value, 4, info); + const char *rd1 = GPR(decode_gpr_gpr1(rd1_value)); + const char *rtz4 = GPR(decode_gpr_gpr4_zero(rtz4_value)); + char *s = ADDRESS(s_value, 4, info); return img_format("MOVE.BALC %s, %s, %s", rd1, rtz4, s); } @@ -10390,17 +10291,17 @@ static std::string MOVE_BALC(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MOVEP(uint64 instruction, Dis_info *info) +static char *MOVEP(uint64 instruction, Dis_info *info) { uint64 rtz4_value = extract_rtz4_9_7_6_5(instruction); uint64 rd2_value = extract_rd2_3_8(instruction); uint64 rsz4_value = extract_rsz4_4_2_1_0(instruction); - std::string rd2 = GPR(decode_gpr_gpr2_reg1(rd2_value)); - std::string re2 = GPR(decode_gpr_gpr2_reg2(rd2_value)); + const char *rd2 = GPR(decode_gpr_gpr2_reg1(rd2_value)); + const char *re2 = GPR(decode_gpr_gpr2_reg2(rd2_value)); /* !!!!!!!!!! - no conversion function */ - std::string rsz4 = GPR(decode_gpr_gpr4_zero(rsz4_value)); - std::string rtz4 = GPR(decode_gpr_gpr4_zero(rtz4_value)); + const char *rsz4 = GPR(decode_gpr_gpr4_zero(rsz4_value)); + const char *rtz4 = GPR(decode_gpr_gpr4_zero(rtz4_value)); return img_format("MOVEP %s, %s, %s, %s", rd2, re2, rsz4, rtz4); /* hand edited */ @@ -10417,16 +10318,16 @@ static std::string MOVEP(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MOVEP_REV_(uint64 instruction, Dis_info *info) +static char *MOVEP_REV_(uint64 instruction, Dis_info *info) { uint64 rt4_value = extract_rt4_9_7_6_5(instruction); uint64 rd2_value = extract_rd2_3_8(instruction); uint64 rs4_value = extract_rs4_4_2_1_0(instruction); - std::string rs4 = GPR(decode_gpr_gpr4(rs4_value)); - std::string rt4 = GPR(decode_gpr_gpr4(rt4_value)); - std::string rd2 = GPR(decode_gpr_gpr2_reg1(rd2_value)); - std::string rs2 = GPR(decode_gpr_gpr2_reg2(rd2_value)); + const char *rs4 = GPR(decode_gpr_gpr4(rs4_value)); + const char *rt4 = GPR(decode_gpr_gpr4(rt4_value)); + const char *rd2 = GPR(decode_gpr_gpr2_reg1(rd2_value)); + const char *rs2 = GPR(decode_gpr_gpr2_reg2(rd2_value)); /* !!!!!!!!!! - no conversion function */ return img_format("MOVEP %s, %s, %s, %s", rs4, rt4, rd2, rs2); @@ -10444,13 +10345,13 @@ static std::string MOVEP_REV_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MOVE(uint64 instruction, Dis_info *info) +static char *MOVE(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_9_8_7_6_5(instruction); uint64 rs_value = extract_rs_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); return img_format("MOVE %s, %s", rt, rs); } @@ -10466,15 +10367,15 @@ static std::string MOVE(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MOVN(uint64 instruction, Dis_info *info) +static char *MOVN(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("MOVN %s, %s, %s", rd, rs, rt); } @@ -10490,15 +10391,15 @@ static std::string MOVN(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MOVZ(uint64 instruction, Dis_info *info) +static char *MOVZ(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("MOVZ %s, %s, %s", rd, rs, rt); } @@ -10514,15 +10415,15 @@ static std::string MOVZ(uint64 instruction, Dis_info *info) * rs ----- * ac -- */ -static std::string MSUB_DSP_(uint64 instruction, Dis_info *info) +static char *MSUB_DSP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string ac = AC(ac_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *ac = AC(ac_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("MSUB %s, %s, %s", ac, rs, rt); } @@ -10538,15 +10439,15 @@ static std::string MSUB_DSP_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MSUBF_D(uint64 instruction, Dis_info *info) +static char *MSUBF_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("MSUBF.D %s, %s, %s", fd, fs, ft); } @@ -10562,15 +10463,15 @@ static std::string MSUBF_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MSUBF_S(uint64 instruction, Dis_info *info) +static char *MSUBF_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("MSUBF.S %s, %s, %s", fd, fs, ft); } @@ -10586,15 +10487,15 @@ static std::string MSUBF_S(uint64 instruction, Dis_info *info) * rs ----- * ac -- */ -static std::string MSUBU_DSP_(uint64 instruction, Dis_info *info) +static char *MSUBU_DSP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string ac = AC(ac_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *ac = AC(ac_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("MSUBU %s, %s, %s", ac, rs, rt); } @@ -10610,15 +10511,15 @@ static std::string MSUBU_DSP_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MTC0(uint64 instruction, Dis_info *info) +static char *MTC0(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); uint64 sel_value = extract_sel_15_14_13_12_11(instruction); - std::string rt = GPR(rt_value); - std::string c0s = CPR(c0s_value); - std::string sel = IMMEDIATE(sel_value); + const char *rt = GPR(rt_value); + char *c0s = CPR(c0s_value); + char *sel = IMMEDIATE(sel_value); return img_format("MTC0 %s, %s, %s", rt, c0s, sel); } @@ -10634,13 +10535,13 @@ static std::string MTC0(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MTC1(uint64 instruction, Dis_info *info) +static char *MTC1(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string rt = GPR(rt_value); - std::string fs = FPR(fs_value); + const char *rt = GPR(rt_value); + const char *fs = FPR(fs_value); return img_format("MTC1 %s, %s", rt, fs); } @@ -10656,13 +10557,13 @@ static std::string MTC1(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MTC2(uint64 instruction, Dis_info *info) +static char *MTC2(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 cs_value = extract_cs_20_19_18_17_16(instruction); - std::string rt = GPR(rt_value); - std::string cs = CPR(cs_value); + const char *rt = GPR(rt_value); + char *cs = CPR(cs_value); return img_format("MTC2 %s, %s", rt, cs); } @@ -10678,15 +10579,15 @@ static std::string MTC2(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MTGC0(uint64 instruction, Dis_info *info) +static char *MTGC0(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); uint64 sel_value = extract_sel_15_14_13_12_11(instruction); - std::string rt = GPR(rt_value); - std::string c0s = CPR(c0s_value); - std::string sel = IMMEDIATE(sel_value); + const char *rt = GPR(rt_value); + char *c0s = CPR(c0s_value); + char *sel = IMMEDIATE(sel_value); return img_format("MTGC0 %s, %s, %s", rt, c0s, sel); } @@ -10702,15 +10603,15 @@ static std::string MTGC0(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MTHC0(uint64 instruction, Dis_info *info) +static char *MTHC0(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); uint64 sel_value = extract_sel_15_14_13_12_11(instruction); - std::string rt = GPR(rt_value); - std::string c0s = CPR(c0s_value); - std::string sel = IMMEDIATE(sel_value); + const char *rt = GPR(rt_value); + char *c0s = CPR(c0s_value); + char *sel = IMMEDIATE(sel_value); return img_format("MTHC0 %s, %s, %s", rt, c0s, sel); } @@ -10726,13 +10627,13 @@ static std::string MTHC0(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MTHC1(uint64 instruction, Dis_info *info) +static char *MTHC1(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string rt = GPR(rt_value); - std::string fs = FPR(fs_value); + const char *rt = GPR(rt_value); + const char *fs = FPR(fs_value); return img_format("MTHC1 %s, %s", rt, fs); } @@ -10748,13 +10649,13 @@ static std::string MTHC1(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MTHC2(uint64 instruction, Dis_info *info) +static char *MTHC2(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 cs_value = extract_cs_20_19_18_17_16(instruction); - std::string rt = GPR(rt_value); - std::string cs = CPR(cs_value); + const char *rt = GPR(rt_value); + char *cs = CPR(cs_value); return img_format("MTHC2 %s, %s", rt, cs); } @@ -10770,15 +10671,15 @@ static std::string MTHC2(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MTHGC0(uint64 instruction, Dis_info *info) +static char *MTHGC0(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); uint64 sel_value = extract_sel_15_14_13_12_11(instruction); - std::string rt = GPR(rt_value); - std::string c0s = CPR(c0s_value); - std::string sel = IMMEDIATE(sel_value); + const char *rt = GPR(rt_value); + char *c0s = CPR(c0s_value); + char *sel = IMMEDIATE(sel_value); return img_format("MTHGC0 %s, %s, %s", rt, c0s, sel); } @@ -10793,13 +10694,13 @@ static std::string MTHGC0(uint64 instruction, Dis_info *info) * rs ----- * ac -- */ -static std::string MTHI_DSP_(uint64 instruction, Dis_info *info) +static char *MTHI_DSP_(uint64 instruction, Dis_info *info) { uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string rs = GPR(rs_value); - std::string ac = AC(ac_value); + const char *rs = GPR(rs_value); + const char *ac = AC(ac_value); return img_format("MTHI %s, %s", rs, ac); } @@ -10814,13 +10715,13 @@ static std::string MTHI_DSP_(uint64 instruction, Dis_info *info) * rs ----- * ac -- */ -static std::string MTHLIP(uint64 instruction, Dis_info *info) +static char *MTHLIP(uint64 instruction, Dis_info *info) { uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string rs = GPR(rs_value); - std::string ac = AC(ac_value); + const char *rs = GPR(rs_value); + const char *ac = AC(ac_value); return img_format("MTHLIP %s, %s", rs, ac); } @@ -10836,17 +10737,17 @@ static std::string MTHLIP(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MTHTR(uint64 instruction, Dis_info *info) +static char *MTHTR(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); uint64 sel_value = extract_sel_15_14_13_12_11(instruction); uint64 u_value = extract_u_10(instruction); - std::string rt = GPR(rt_value); - std::string c0s = IMMEDIATE(c0s_value); - std::string u = IMMEDIATE(u_value); - std::string sel = IMMEDIATE(sel_value); + const char *rt = GPR(rt_value); + char *c0s = IMMEDIATE(c0s_value); + char *u = IMMEDIATE(u_value); + char *sel = IMMEDIATE(sel_value); return img_format("MTHTR %s, %s, %s, %s", rt, c0s, u, sel); } @@ -10861,13 +10762,13 @@ static std::string MTHTR(uint64 instruction, Dis_info *info) * rs ----- * ac -- */ -static std::string MTLO_DSP_(uint64 instruction, Dis_info *info) +static char *MTLO_DSP_(uint64 instruction, Dis_info *info) { uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string rs = GPR(rs_value); - std::string ac = AC(ac_value); + const char *rs = GPR(rs_value); + const char *ac = AC(ac_value); return img_format("MTLO %s, %s", rs, ac); } @@ -10883,17 +10784,17 @@ static std::string MTLO_DSP_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MTTR(uint64 instruction, Dis_info *info) +static char *MTTR(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); uint64 sel_value = extract_sel_15_14_13_12_11(instruction); uint64 u_value = extract_u_10(instruction); - std::string rt = GPR(rt_value); - std::string c0s = IMMEDIATE(c0s_value); - std::string u = IMMEDIATE(u_value); - std::string sel = IMMEDIATE(sel_value); + const char *rt = GPR(rt_value); + char *c0s = IMMEDIATE(c0s_value); + char *u = IMMEDIATE(u_value); + char *sel = IMMEDIATE(sel_value); return img_format("MTTR %s, %s, %s, %s", rt, c0s, u, sel); } @@ -10909,15 +10810,15 @@ static std::string MTTR(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MUH(uint64 instruction, Dis_info *info) +static char *MUH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("MUH %s, %s, %s", rd, rs, rt); } @@ -10933,15 +10834,15 @@ static std::string MUH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MUHU(uint64 instruction, Dis_info *info) +static char *MUHU(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("MUHU %s, %s, %s", rd, rs, rt); } @@ -10957,15 +10858,15 @@ static std::string MUHU(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MUL_32_(uint64 instruction, Dis_info *info) +static char *MUL_32_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("MUL %s, %s, %s", rd, rs, rt); } @@ -10981,13 +10882,13 @@ static std::string MUL_32_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MUL_4X4_(uint64 instruction, Dis_info *info) +static char *MUL_4X4_(uint64 instruction, Dis_info *info) { uint64 rt4_value = extract_rt4_9_7_6_5(instruction); uint64 rs4_value = extract_rs4_4_2_1_0(instruction); - std::string rs4 = GPR(decode_gpr_gpr4(rs4_value)); - std::string rt4 = GPR(decode_gpr_gpr4(rt4_value)); + const char *rs4 = GPR(decode_gpr_gpr4(rs4_value)); + const char *rt4 = GPR(decode_gpr_gpr4(rt4_value)); return img_format("MUL %s, %s", rs4, rt4); } @@ -11003,15 +10904,15 @@ static std::string MUL_4X4_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MUL_D(uint64 instruction, Dis_info *info) +static char *MUL_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("MUL.D %s, %s, %s", fd, fs, ft); } @@ -11028,15 +10929,15 @@ static std::string MUL_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MUL_PH(uint64 instruction, Dis_info *info) +static char *MUL_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("MUL.PH %s, %s, %s", rd, rs, rt); } @@ -11053,15 +10954,15 @@ static std::string MUL_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MUL_S_PH(uint64 instruction, Dis_info *info) +static char *MUL_S_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("MUL_S.PH %s, %s, %s", rd, rs, rt); } @@ -11077,15 +10978,15 @@ static std::string MUL_S_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MUL_S(uint64 instruction, Dis_info *info) +static char *MUL_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("MUL.S %s, %s, %s", fd, fs, ft); } @@ -11102,15 +11003,15 @@ static std::string MUL_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MULEQ_S_W_PHL(uint64 instruction, Dis_info *info) +static char *MULEQ_S_W_PHL(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("MULEQ_S.W.PHL %s, %s, %s", rd, rs, rt); } @@ -11127,15 +11028,15 @@ static std::string MULEQ_S_W_PHL(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MULEQ_S_W_PHR(uint64 instruction, Dis_info *info) +static char *MULEQ_S_W_PHR(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("MULEQ_S.W.PHR %s, %s, %s", rd, rs, rt); } @@ -11152,15 +11053,15 @@ static std::string MULEQ_S_W_PHR(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MULEU_S_PH_QBL(uint64 instruction, Dis_info *info) +static char *MULEU_S_PH_QBL(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("MULEU_S.PH.QBL %s, %s, %s", rd, rs, rt); } @@ -11177,15 +11078,15 @@ static std::string MULEU_S_PH_QBL(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MULEU_S_PH_QBR(uint64 instruction, Dis_info *info) +static char *MULEU_S_PH_QBR(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("MULEU_S.PH.QBR %s, %s, %s", rd, rs, rt); } @@ -11202,15 +11103,15 @@ static std::string MULEU_S_PH_QBR(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MULQ_RS_PH(uint64 instruction, Dis_info *info) +static char *MULQ_RS_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("MULQ_RS.PH %s, %s, %s", rd, rs, rt); } @@ -11227,15 +11128,15 @@ static std::string MULQ_RS_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MULQ_RS_W(uint64 instruction, Dis_info *info) +static char *MULQ_RS_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("MULQ_RS.W %s, %s, %s", rd, rs, rt); } @@ -11252,15 +11153,15 @@ static std::string MULQ_RS_W(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MULQ_S_PH(uint64 instruction, Dis_info *info) +static char *MULQ_S_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("MULQ_S.PH %s, %s, %s", rd, rs, rt); } @@ -11277,15 +11178,15 @@ static std::string MULQ_S_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MULQ_S_W(uint64 instruction, Dis_info *info) +static char *MULQ_S_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("MULQ_S.W %s, %s, %s", rd, rs, rt); } @@ -11302,15 +11203,15 @@ static std::string MULQ_S_W(uint64 instruction, Dis_info *info) * rs ----- * ac -- */ -static std::string MULSA_W_PH(uint64 instruction, Dis_info *info) +static char *MULSA_W_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string ac = AC(ac_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *ac = AC(ac_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("MULSA.W.PH %s, %s, %s", ac, rs, rt); } @@ -11327,15 +11228,15 @@ static std::string MULSA_W_PH(uint64 instruction, Dis_info *info) * rs ----- * ac -- */ -static std::string MULSAQ_S_W_PH(uint64 instruction, Dis_info *info) +static char *MULSAQ_S_W_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string ac = AC(ac_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *ac = AC(ac_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("MULSAQ_S.W.PH %s, %s, %s", ac, rs, rt); } @@ -11351,15 +11252,15 @@ static std::string MULSAQ_S_W_PH(uint64 instruction, Dis_info *info) * rs ----- * ac -- */ -static std::string MULT_DSP_(uint64 instruction, Dis_info *info) +static char *MULT_DSP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string ac = AC(ac_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *ac = AC(ac_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("MULT %s, %s, %s", ac, rs, rt); } @@ -11375,15 +11276,15 @@ static std::string MULT_DSP_(uint64 instruction, Dis_info *info) * rs ----- * ac -- */ -static std::string MULTU_DSP_(uint64 instruction, Dis_info *info) +static char *MULTU_DSP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string ac = AC(ac_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *ac = AC(ac_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("MULTU %s, %s, %s", ac, rs, rt); } @@ -11399,15 +11300,15 @@ static std::string MULTU_DSP_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string MULU(uint64 instruction, Dis_info *info) +static char *MULU(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("MULU %s, %s, %s", rd, rs, rt); } @@ -11423,13 +11324,13 @@ static std::string MULU(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string NEG_D(uint64 instruction, Dis_info *info) +static char *NEG_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(ft_value); - std::string fs = FPR(fs_value); + const char *ft = FPR(ft_value); + const char *fs = FPR(fs_value); return img_format("NEG.D %s, %s", ft, fs); } @@ -11445,13 +11346,13 @@ static std::string NEG_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string NEG_S(uint64 instruction, Dis_info *info) +static char *NEG_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(ft_value); - std::string fs = FPR(fs_value); + const char *ft = FPR(ft_value); + const char *fs = FPR(fs_value); return img_format("NEG.S %s, %s", ft, fs); } @@ -11467,11 +11368,11 @@ static std::string NEG_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string NOP_16_(uint64 instruction, Dis_info *info) +static char *NOP_16_(uint64 instruction, Dis_info *info) { (void)instruction; - return "NOP "; + return g_strdup("NOP "); } @@ -11485,11 +11386,11 @@ static std::string NOP_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string NOP_32_(uint64 instruction, Dis_info *info) +static char *NOP_32_(uint64 instruction, Dis_info *info) { (void)instruction; - return "NOP "; + return g_strdup("NOP "); } @@ -11503,15 +11404,15 @@ static std::string NOP_32_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string NOR(uint64 instruction, Dis_info *info) +static char *NOR(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("NOR %s, %s, %s", rd, rs, rt); } @@ -11527,13 +11428,13 @@ static std::string NOR(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string NOT_16_(uint64 instruction, Dis_info *info) +static char *NOT_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); - std::string rt3 = GPR(decode_gpr_gpr3(rt3_value)); - std::string rs3 = GPR(decode_gpr_gpr3(rs3_value)); + const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); + const char *rs3 = GPR(decode_gpr_gpr3(rs3_value)); return img_format("NOT %s, %s", rt3, rs3); } @@ -11549,13 +11450,13 @@ static std::string NOT_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string OR_16_(uint64 instruction, Dis_info *info) +static char *OR_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); - std::string rs3 = GPR(decode_gpr_gpr3(rs3_value)); - std::string rt3 = GPR(decode_gpr_gpr3(rt3_value)); + const char *rs3 = GPR(decode_gpr_gpr3(rs3_value)); + const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); return img_format("OR %s, %s", rs3, rt3); } @@ -11571,15 +11472,15 @@ static std::string OR_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string OR_32_(uint64 instruction, Dis_info *info) +static char *OR_32_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("OR %s, %s, %s", rd, rs, rt); } @@ -11595,15 +11496,15 @@ static std::string OR_32_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string ORI(uint64 instruction, Dis_info *info) +static char *ORI(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); - std::string u = IMMEDIATE(u_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); + char *u = IMMEDIATE(u_value); return img_format("ORI %s, %s, %s", rt, rs, u); } @@ -11620,15 +11521,15 @@ static std::string ORI(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string PACKRL_PH(uint64 instruction, Dis_info *info) +static char *PACKRL_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("PACKRL.PH %s, %s, %s", rd, rs, rt); } @@ -11644,11 +11545,11 @@ static std::string PACKRL_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string PAUSE(uint64 instruction, Dis_info *info) +static char *PAUSE(uint64 instruction, Dis_info *info) { (void)instruction; - return "PAUSE "; + return g_strdup("PAUSE "); } @@ -11663,15 +11564,15 @@ static std::string PAUSE(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string PICK_PH(uint64 instruction, Dis_info *info) +static char *PICK_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("PICK.PH %s, %s, %s", rd, rs, rt); } @@ -11688,15 +11589,15 @@ static std::string PICK_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string PICK_QB(uint64 instruction, Dis_info *info) +static char *PICK_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("PICK.QB %s, %s, %s", rd, rs, rt); } @@ -11713,13 +11614,13 @@ static std::string PICK_QB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string PRECEQ_W_PHL(uint64 instruction, Dis_info *info) +static char *PRECEQ_W_PHL(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); return img_format("PRECEQ.W.PHL %s, %s", rt, rs); } @@ -11736,13 +11637,13 @@ static std::string PRECEQ_W_PHL(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string PRECEQ_W_PHR(uint64 instruction, Dis_info *info) +static char *PRECEQ_W_PHR(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); return img_format("PRECEQ.W.PHR %s, %s", rt, rs); } @@ -11759,13 +11660,13 @@ static std::string PRECEQ_W_PHR(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string PRECEQU_PH_QBLA(uint64 instruction, Dis_info *info) +static char *PRECEQU_PH_QBLA(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); return img_format("PRECEQU.PH.QBLA %s, %s", rt, rs); } @@ -11782,13 +11683,13 @@ static std::string PRECEQU_PH_QBLA(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string PRECEQU_PH_QBL(uint64 instruction, Dis_info *info) +static char *PRECEQU_PH_QBL(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); return img_format("PRECEQU.PH.QBL %s, %s", rt, rs); } @@ -11805,13 +11706,13 @@ static std::string PRECEQU_PH_QBL(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string PRECEQU_PH_QBRA(uint64 instruction, Dis_info *info) +static char *PRECEQU_PH_QBRA(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); return img_format("PRECEQU.PH.QBRA %s, %s", rt, rs); } @@ -11828,13 +11729,13 @@ static std::string PRECEQU_PH_QBRA(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string PRECEQU_PH_QBR(uint64 instruction, Dis_info *info) +static char *PRECEQU_PH_QBR(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); return img_format("PRECEQU.PH.QBR %s, %s", rt, rs); } @@ -11852,13 +11753,13 @@ static std::string PRECEQU_PH_QBR(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string PRECEU_PH_QBLA(uint64 instruction, Dis_info *info) +static char *PRECEU_PH_QBLA(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); return img_format("PRECEU.PH.QBLA %s, %s", rt, rs); } @@ -11875,13 +11776,13 @@ static std::string PRECEU_PH_QBLA(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string PRECEU_PH_QBL(uint64 instruction, Dis_info *info) +static char *PRECEU_PH_QBL(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); return img_format("PRECEU.PH.QBL %s, %s", rt, rs); } @@ -11899,13 +11800,13 @@ static std::string PRECEU_PH_QBL(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string PRECEU_PH_QBRA(uint64 instruction, Dis_info *info) +static char *PRECEU_PH_QBRA(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); return img_format("PRECEU.PH.QBRA %s, %s", rt, rs); } @@ -11922,13 +11823,13 @@ static std::string PRECEU_PH_QBRA(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string PRECEU_PH_QBR(uint64 instruction, Dis_info *info) +static char *PRECEU_PH_QBR(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); return img_format("PRECEU.PH.QBR %s, %s", rt, rs); } @@ -11945,15 +11846,15 @@ static std::string PRECEU_PH_QBR(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string PRECR_QB_PH(uint64 instruction, Dis_info *info) +static char *PRECR_QB_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("PRECR.QB.PH %s, %s, %s", rd, rs, rt); } @@ -11970,15 +11871,15 @@ static std::string PRECR_QB_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string PRECR_SRA_PH_W(uint64 instruction, Dis_info *info) +static char *PRECR_SRA_PH_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 sa_value = extract_sa_15_14_13_12_11(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); - std::string sa = IMMEDIATE(sa_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); + char *sa = IMMEDIATE(sa_value); return img_format("PRECR_SRA.PH.W %s, %s, %s", rt, rs, sa); } @@ -11995,15 +11896,15 @@ static std::string PRECR_SRA_PH_W(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string PRECR_SRA_R_PH_W(uint64 instruction, Dis_info *info) +static char *PRECR_SRA_R_PH_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 sa_value = extract_sa_15_14_13_12_11(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); - std::string sa = IMMEDIATE(sa_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); + char *sa = IMMEDIATE(sa_value); return img_format("PRECR_SRA_R.PH.W %s, %s, %s", rt, rs, sa); } @@ -12020,15 +11921,15 @@ static std::string PRECR_SRA_R_PH_W(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string PRECRQ_PH_W(uint64 instruction, Dis_info *info) +static char *PRECRQ_PH_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("PRECRQ.PH.W %s, %s, %s", rd, rs, rt); } @@ -12045,15 +11946,15 @@ static std::string PRECRQ_PH_W(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string PRECRQ_QB_PH(uint64 instruction, Dis_info *info) +static char *PRECRQ_QB_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("PRECRQ.QB.PH %s, %s, %s", rd, rs, rt); } @@ -12070,15 +11971,15 @@ static std::string PRECRQ_QB_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string PRECRQ_RS_PH_W(uint64 instruction, Dis_info *info) +static char *PRECRQ_RS_PH_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("PRECRQ_RS.PH.W %s, %s, %s", rd, rs, rt); } @@ -12095,15 +11996,15 @@ static std::string PRECRQ_RS_PH_W(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string PRECRQU_S_QB_PH(uint64 instruction, Dis_info *info) +static char *PRECRQU_S_QB_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("PRECRQU_S.QB.PH %s, %s, %s", rd, rs, rt); } @@ -12119,15 +12020,15 @@ static std::string PRECRQU_S_QB_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string PREF_S9_(uint64 instruction, Dis_info *info) +static char *PREF_S9_(uint64 instruction, Dis_info *info) { uint64 hint_value = extract_hint_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string hint = IMMEDIATE(hint_value); - std::string s = IMMEDIATE(s_value); - std::string rs = GPR(rs_value); + char *hint = IMMEDIATE(hint_value); + char *s = IMMEDIATE(s_value); + const char *rs = GPR(rs_value); return img_format("PREF %s, %s(%s)", hint, s, rs); } @@ -12143,15 +12044,15 @@ static std::string PREF_S9_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string PREF_U12_(uint64 instruction, Dis_info *info) +static char *PREF_U12_(uint64 instruction, Dis_info *info) { uint64 hint_value = extract_hint_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - std::string hint = IMMEDIATE(hint_value); - std::string u = IMMEDIATE(u_value); - std::string rs = GPR(rs_value); + char *hint = IMMEDIATE(hint_value); + char *u = IMMEDIATE(u_value); + const char *rs = GPR(rs_value); return img_format("PREF %s, %s(%s)", hint, u, rs); } @@ -12167,15 +12068,15 @@ static std::string PREF_U12_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string PREFE(uint64 instruction, Dis_info *info) +static char *PREFE(uint64 instruction, Dis_info *info) { uint64 hint_value = extract_hint_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string hint = IMMEDIATE(hint_value); - std::string s = IMMEDIATE(s_value); - std::string rs = GPR(rs_value); + char *hint = IMMEDIATE(hint_value); + char *s = IMMEDIATE(s_value); + const char *rs = GPR(rs_value); return img_format("PREFE %s, %s(%s)", hint, s, rs); } @@ -12191,15 +12092,15 @@ static std::string PREFE(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string PREPEND(uint64 instruction, Dis_info *info) +static char *PREPEND(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 sa_value = extract_sa_15_14_13_12_11(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); - std::string sa = IMMEDIATE(sa_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); + char *sa = IMMEDIATE(sa_value); return img_format("PREPEND %s, %s, %s", rt, rs, sa); } @@ -12214,13 +12115,13 @@ static std::string PREPEND(uint64 instruction, Dis_info *info) * rt ----- * rs ----- */ -static std::string RADDU_W_QB(uint64 instruction, Dis_info *info) +static char *RADDU_W_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); return img_format("RADDU.W.QB %s, %s", rt, rs); } @@ -12235,13 +12136,13 @@ static std::string RADDU_W_QB(uint64 instruction, Dis_info *info) * rt ----- * mask ------- */ -static std::string RDDSP(uint64 instruction, Dis_info *info) +static char *RDDSP(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 mask_value = extract_mask_20_19_18_17_16_15_14(instruction); - std::string rt = GPR(rt_value); - std::string mask = IMMEDIATE(mask_value); + const char *rt = GPR(rt_value); + char *mask = IMMEDIATE(mask_value); return img_format("RDDSP %s, %s", rt, mask); } @@ -12257,15 +12158,15 @@ static std::string RDDSP(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string RDHWR(uint64 instruction, Dis_info *info) +static char *RDHWR(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 hs_value = extract_hs_20_19_18_17_16(instruction); uint64 sel_value = extract_sel_13_12_11(instruction); - std::string rt = GPR(rt_value); - std::string hs = CPR(hs_value); - std::string sel = IMMEDIATE(sel_value); + const char *rt = GPR(rt_value); + char *hs = CPR(hs_value); + char *sel = IMMEDIATE(sel_value); return img_format("RDHWR %s, %s, %s", rt, hs, sel); } @@ -12281,13 +12182,13 @@ static std::string RDHWR(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string RDPGPR(uint64 instruction, Dis_info *info) +static char *RDPGPR(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); return img_format("RDPGPR %s, %s", rt, rs); } @@ -12303,13 +12204,13 @@ static std::string RDPGPR(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string RECIP_D(uint64 instruction, Dis_info *info) +static char *RECIP_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(ft_value); - std::string fs = FPR(fs_value); + const char *ft = FPR(ft_value); + const char *fs = FPR(fs_value); return img_format("RECIP.D %s, %s", ft, fs); } @@ -12325,13 +12226,13 @@ static std::string RECIP_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string RECIP_S(uint64 instruction, Dis_info *info) +static char *RECIP_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(ft_value); - std::string fs = FPR(fs_value); + const char *ft = FPR(ft_value); + const char *fs = FPR(fs_value); return img_format("RECIP.S %s, %s", ft, fs); } @@ -12347,13 +12248,13 @@ static std::string RECIP_S(uint64 instruction, Dis_info *info) * rt ----- * s ---------- */ -static std::string REPL_PH(uint64 instruction, Dis_info *info) +static char *REPL_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); int64 s_value = extract_s__se9_20_19_18_17_16_15_14_13_12_11(instruction); - std::string rt = GPR(rt_value); - std::string s = IMMEDIATE(s_value); + const char *rt = GPR(rt_value); + char *s = IMMEDIATE(s_value); return img_format("REPL.PH %s, %s", rt, s); } @@ -12369,13 +12270,13 @@ static std::string REPL_PH(uint64 instruction, Dis_info *info) * rt ----- * u -------- */ -static std::string REPL_QB(uint64 instruction, Dis_info *info) +static char *REPL_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_20_19_18_17_16_15_14_13(instruction); - std::string rt = GPR(rt_value); - std::string u = IMMEDIATE(u_value); + const char *rt = GPR(rt_value); + char *u = IMMEDIATE(u_value); return img_format("REPL.QB %s, %s", rt, u); } @@ -12391,13 +12292,13 @@ static std::string REPL_QB(uint64 instruction, Dis_info *info) * rt ----- * rs ----- */ -static std::string REPLV_PH(uint64 instruction, Dis_info *info) +static char *REPLV_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); return img_format("REPLV.PH %s, %s", rt, rs); } @@ -12412,13 +12313,13 @@ static std::string REPLV_PH(uint64 instruction, Dis_info *info) * rt ----- * rs ----- */ -static std::string REPLV_QB(uint64 instruction, Dis_info *info) +static char *REPLV_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); return img_format("REPLV.QB %s, %s", rt, rs); } @@ -12434,14 +12335,14 @@ static std::string REPLV_QB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string RESTORE_32_(uint64 instruction, Dis_info *info) +static char *RESTORE_32_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 count_value = extract_count_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3__s3(instruction); uint64 gp_value = extract_gp_2(instruction); - std::string u = IMMEDIATE(u_value); + char *u = IMMEDIATE(u_value); return img_format("RESTORE %s%s", u, save_restore_list(rt_value, count_value, gp_value)); } @@ -12457,13 +12358,13 @@ static std::string RESTORE_32_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string RESTORE_JRC_16_(uint64 instruction, Dis_info *info) +static char *RESTORE_JRC_16_(uint64 instruction, Dis_info *info) { uint64 rt1_value = extract_rtl_11(instruction); uint64 u_value = extract_u_7_6_5_4__s4(instruction); uint64 count_value = extract_count_3_2_1_0(instruction); - std::string u = IMMEDIATE(u_value); + char *u = IMMEDIATE(u_value); return img_format("RESTORE.JRC %s%s", u, save_restore_list(encode_rt1_from_rt(rt1_value), count_value, 0)); } @@ -12479,14 +12380,14 @@ static std::string RESTORE_JRC_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string RESTORE_JRC_32_(uint64 instruction, Dis_info *info) +static char *RESTORE_JRC_32_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 count_value = extract_count_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3__s3(instruction); uint64 gp_value = extract_gp_2(instruction); - std::string u = IMMEDIATE(u_value); + char *u = IMMEDIATE(u_value); return img_format("RESTORE.JRC %s%s", u, save_restore_list(rt_value, count_value, gp_value)); } @@ -12502,13 +12403,13 @@ static std::string RESTORE_JRC_32_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string RESTOREF(uint64 instruction, Dis_info *info) +static char *RESTOREF(uint64 instruction, Dis_info *info) { uint64 count_value = extract_count_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3__s3(instruction); - std::string u = IMMEDIATE(u_value); - std::string count = IMMEDIATE(count_value); + char *u = IMMEDIATE(u_value); + char *count = IMMEDIATE(count_value); return img_format("RESTOREF %s, %s", u, count); } @@ -12524,13 +12425,13 @@ static std::string RESTOREF(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string RINT_D(uint64 instruction, Dis_info *info) +static char *RINT_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(ft_value); - std::string fs = FPR(fs_value); + const char *ft = FPR(ft_value); + const char *fs = FPR(fs_value); return img_format("RINT.D %s, %s", ft, fs); } @@ -12546,13 +12447,13 @@ static std::string RINT_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string RINT_S(uint64 instruction, Dis_info *info) +static char *RINT_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(ft_value); - std::string fs = FPR(fs_value); + const char *ft = FPR(ft_value); + const char *fs = FPR(fs_value); return img_format("RINT.S %s, %s", ft, fs); } @@ -12568,15 +12469,15 @@ static std::string RINT_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string ROTR(uint64 instruction, Dis_info *info) +static char *ROTR(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 shift_value = extract_shift_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); - std::string shift = IMMEDIATE(shift_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); + char *shift = IMMEDIATE(shift_value); return img_format("ROTR %s, %s, %s", rt, rs, shift); } @@ -12592,15 +12493,15 @@ static std::string ROTR(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string ROTRV(uint64 instruction, Dis_info *info) +static char *ROTRV(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("ROTRV %s, %s, %s", rd, rs, rt); } @@ -12616,7 +12517,7 @@ static std::string ROTRV(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string ROTX(uint64 instruction, Dis_info *info) +static char *ROTX(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); @@ -12624,11 +12525,11 @@ static std::string ROTX(uint64 instruction, Dis_info *info) uint64 stripe_value = extract_stripe_6(instruction); uint64 shift_value = extract_shift_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); - std::string shift = IMMEDIATE(shift_value); - std::string shiftx = IMMEDIATE(shiftx_value); - std::string stripe = IMMEDIATE(stripe_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); + char *shift = IMMEDIATE(shift_value); + char *shiftx = IMMEDIATE(shiftx_value); + char *stripe = IMMEDIATE(stripe_value); return img_format("ROTX %s, %s, %s, %s, %s", rt, rs, shift, shiftx, stripe); @@ -12645,13 +12546,13 @@ static std::string ROTX(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string ROUND_L_D(uint64 instruction, Dis_info *info) +static char *ROUND_L_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(ft_value); - std::string fs = FPR(fs_value); + const char *ft = FPR(ft_value); + const char *fs = FPR(fs_value); return img_format("ROUND.L.D %s, %s", ft, fs); } @@ -12667,13 +12568,13 @@ static std::string ROUND_L_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string ROUND_L_S(uint64 instruction, Dis_info *info) +static char *ROUND_L_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(ft_value); - std::string fs = FPR(fs_value); + const char *ft = FPR(ft_value); + const char *fs = FPR(fs_value); return img_format("ROUND.L.S %s, %s", ft, fs); } @@ -12689,13 +12590,13 @@ static std::string ROUND_L_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string ROUND_W_D(uint64 instruction, Dis_info *info) +static char *ROUND_W_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(ft_value); - std::string fs = FPR(fs_value); + const char *ft = FPR(ft_value); + const char *fs = FPR(fs_value); return img_format("ROUND.W.D %s, %s", ft, fs); } @@ -12711,13 +12612,13 @@ static std::string ROUND_W_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string ROUND_W_S(uint64 instruction, Dis_info *info) +static char *ROUND_W_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(ft_value); - std::string fs = FPR(fs_value); + const char *ft = FPR(ft_value); + const char *fs = FPR(fs_value); return img_format("ROUND.W.S %s, %s", ft, fs); } @@ -12733,13 +12634,13 @@ static std::string ROUND_W_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string RSQRT_D(uint64 instruction, Dis_info *info) +static char *RSQRT_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(ft_value); - std::string fs = FPR(fs_value); + const char *ft = FPR(ft_value); + const char *fs = FPR(fs_value); return img_format("RSQRT.D %s, %s", ft, fs); } @@ -12755,13 +12656,13 @@ static std::string RSQRT_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string RSQRT_S(uint64 instruction, Dis_info *info) +static char *RSQRT_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(ft_value); - std::string fs = FPR(fs_value); + const char *ft = FPR(ft_value); + const char *fs = FPR(fs_value); return img_format("RSQRT.S %s, %s", ft, fs); } @@ -12777,13 +12678,13 @@ static std::string RSQRT_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SAVE_16_(uint64 instruction, Dis_info *info) +static char *SAVE_16_(uint64 instruction, Dis_info *info) { uint64 rt1_value = extract_rtl_11(instruction); uint64 u_value = extract_u_7_6_5_4__s4(instruction); uint64 count_value = extract_count_3_2_1_0(instruction); - std::string u = IMMEDIATE(u_value); + char *u = IMMEDIATE(u_value); return img_format("SAVE %s%s", u, save_restore_list(encode_rt1_from_rt(rt1_value), count_value, 0)); } @@ -12799,14 +12700,14 @@ static std::string SAVE_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SAVE_32_(uint64 instruction, Dis_info *info) +static char *SAVE_32_(uint64 instruction, Dis_info *info) { uint64 count_value = extract_count_19_18_17_16(instruction); uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3__s3(instruction); uint64 gp_value = extract_gp_2(instruction); - std::string u = IMMEDIATE(u_value); + char *u = IMMEDIATE(u_value); return img_format("SAVE %s%s", u, save_restore_list(rt_value, count_value, gp_value)); } @@ -12822,13 +12723,13 @@ static std::string SAVE_32_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SAVEF(uint64 instruction, Dis_info *info) +static char *SAVEF(uint64 instruction, Dis_info *info) { uint64 count_value = extract_count_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3__s3(instruction); - std::string u = IMMEDIATE(u_value); - std::string count = IMMEDIATE(count_value); + char *u = IMMEDIATE(u_value); + char *count = IMMEDIATE(count_value); return img_format("SAVEF %s, %s", u, count); } @@ -12844,15 +12745,15 @@ static std::string SAVEF(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SB_16_(uint64 instruction, Dis_info *info) +static char *SB_16_(uint64 instruction, Dis_info *info) { uint64 rtz3_value = extract_rtz3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); uint64 u_value = extract_u_1_0(instruction); - std::string rtz3 = GPR(decode_gpr_gpr3_src_store(rtz3_value)); - std::string u = IMMEDIATE(u_value); - std::string rs3 = GPR(decode_gpr_gpr3(rs3_value)); + const char *rtz3 = GPR(decode_gpr_gpr3_src_store(rtz3_value)); + char *u = IMMEDIATE(u_value); + const char *rs3 = GPR(decode_gpr_gpr3(rs3_value)); return img_format("SB %s, %s(%s)", rtz3, u, rs3); } @@ -12868,13 +12769,13 @@ static std::string SB_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SB_GP_(uint64 instruction, Dis_info *info) +static char *SB_GP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_0(instruction); - std::string rt = GPR(rt_value); - std::string u = IMMEDIATE(u_value); + const char *rt = GPR(rt_value); + char *u = IMMEDIATE(u_value); return img_format("SB %s, %s($%d)", rt, u, 28); } @@ -12890,15 +12791,15 @@ static std::string SB_GP_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SB_S9_(uint64 instruction, Dis_info *info) +static char *SB_S9_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string s = IMMEDIATE(s_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + char *s = IMMEDIATE(s_value); + const char *rs = GPR(rs_value); return img_format("SB %s, %s(%s)", rt, s, rs); } @@ -12914,15 +12815,15 @@ static std::string SB_S9_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SB_U12_(uint64 instruction, Dis_info *info) +static char *SB_U12_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string u = IMMEDIATE(u_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + char *u = IMMEDIATE(u_value); + const char *rs = GPR(rs_value); return img_format("SB %s, %s(%s)", rt, u, rs); } @@ -12938,15 +12839,15 @@ static std::string SB_U12_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SBE(uint64 instruction, Dis_info *info) +static char *SBE(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string s = IMMEDIATE(s_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + char *s = IMMEDIATE(s_value); + const char *rs = GPR(rs_value); return img_format("SBE %s, %s(%s)", rt, s, rs); } @@ -12962,15 +12863,15 @@ static std::string SBE(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SBX(uint64 instruction, Dis_info *info) +static char *SBX(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("SBX %s, %s(%s)", rd, rs, rt); } @@ -12986,15 +12887,15 @@ static std::string SBX(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SC(uint64 instruction, Dis_info *info) +static char *SC(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_s2(instruction); - std::string rt = GPR(rt_value); - std::string s = IMMEDIATE(s_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + char *s = IMMEDIATE(s_value); + const char *rs = GPR(rs_value); return img_format("SC %s, %s(%s)", rt, s, rs); } @@ -13010,15 +12911,15 @@ static std::string SC(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SCD(uint64 instruction, Dis_info *info) +static char *SCD(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_s3(instruction); - std::string rt = GPR(rt_value); - std::string s = IMMEDIATE(s_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + char *s = IMMEDIATE(s_value); + const char *rs = GPR(rs_value); return img_format("SCD %s, %s(%s)", rt, s, rs); } @@ -13034,15 +12935,15 @@ static std::string SCD(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SCDP(uint64 instruction, Dis_info *info) +static char *SCDP(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ru_value = extract_ru_7_6_5_4_3(instruction); - std::string rt = GPR(rt_value); - std::string ru = GPR(ru_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + const char *ru = GPR(ru_value); + const char *rs = GPR(rs_value); return img_format("SCDP %s, %s, (%s)", rt, ru, rs); } @@ -13058,15 +12959,15 @@ static std::string SCDP(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SCE(uint64 instruction, Dis_info *info) +static char *SCE(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_s2(instruction); - std::string rt = GPR(rt_value); - std::string s = IMMEDIATE(s_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + char *s = IMMEDIATE(s_value); + const char *rs = GPR(rs_value); return img_format("SCE %s, %s(%s)", rt, s, rs); } @@ -13082,15 +12983,15 @@ static std::string SCE(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SCWP(uint64 instruction, Dis_info *info) +static char *SCWP(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ru_value = extract_ru_7_6_5_4_3(instruction); - std::string rt = GPR(rt_value); - std::string ru = GPR(ru_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + const char *ru = GPR(ru_value); + const char *rs = GPR(rs_value); return img_format("SCWP %s, %s, (%s)", rt, ru, rs); } @@ -13106,15 +13007,15 @@ static std::string SCWP(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SCWPE(uint64 instruction, Dis_info *info) +static char *SCWPE(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ru_value = extract_ru_7_6_5_4_3(instruction); - std::string rt = GPR(rt_value); - std::string ru = GPR(ru_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + const char *ru = GPR(ru_value); + const char *rs = GPR(rs_value); return img_format("SCWPE %s, %s, (%s)", rt, ru, rs); } @@ -13130,13 +13031,13 @@ static std::string SCWPE(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SD_GP_(uint64 instruction, Dis_info *info) +static char *SD_GP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_20_to_3__s3(instruction); - std::string rt = GPR(rt_value); - std::string u = IMMEDIATE(u_value); + const char *rt = GPR(rt_value); + char *u = IMMEDIATE(u_value); return img_format("SD %s, %s($%d)", rt, u, 28); } @@ -13152,15 +13053,15 @@ static std::string SD_GP_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SD_S9_(uint64 instruction, Dis_info *info) +static char *SD_S9_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string s = IMMEDIATE(s_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + char *s = IMMEDIATE(s_value); + const char *rs = GPR(rs_value); return img_format("SD %s, %s(%s)", rt, s, rs); } @@ -13176,15 +13077,15 @@ static std::string SD_S9_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SD_U12_(uint64 instruction, Dis_info *info) +static char *SD_U12_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string u = IMMEDIATE(u_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + char *u = IMMEDIATE(u_value); + const char *rs = GPR(rs_value); return img_format("SD %s, %s(%s)", rt, u, rs); } @@ -13200,11 +13101,11 @@ static std::string SD_U12_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SDBBP_16_(uint64 instruction, Dis_info *info) +static char *SDBBP_16_(uint64 instruction, Dis_info *info) { uint64 code_value = extract_code_2_1_0(instruction); - std::string code = IMMEDIATE(code_value); + char *code = IMMEDIATE(code_value); return img_format("SDBBP %s", code); } @@ -13220,11 +13121,11 @@ static std::string SDBBP_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SDBBP_32_(uint64 instruction, Dis_info *info) +static char *SDBBP_32_(uint64 instruction, Dis_info *info) { uint64 code_value = extract_code_18_to_0(instruction); - std::string code = IMMEDIATE(code_value); + char *code = IMMEDIATE(code_value); return img_format("SDBBP %s", code); } @@ -13240,13 +13141,13 @@ static std::string SDBBP_32_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SDC1_GP_(uint64 instruction, Dis_info *info) +static char *SDC1_GP_(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_2__s2(instruction); - std::string ft = FPR(ft_value); - std::string u = IMMEDIATE(u_value); + const char *ft = FPR(ft_value); + char *u = IMMEDIATE(u_value); return img_format("SDC1 %s, %s($%d)", ft, u, 28); } @@ -13262,15 +13163,15 @@ static std::string SDC1_GP_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SDC1_S9_(uint64 instruction, Dis_info *info) +static char *SDC1_S9_(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string ft = FPR(ft_value); - std::string s = IMMEDIATE(s_value); - std::string rs = GPR(rs_value); + const char *ft = FPR(ft_value); + char *s = IMMEDIATE(s_value); + const char *rs = GPR(rs_value); return img_format("SDC1 %s, %s(%s)", ft, s, rs); } @@ -13286,15 +13187,15 @@ static std::string SDC1_S9_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SDC1_U12_(uint64 instruction, Dis_info *info) +static char *SDC1_U12_(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - std::string ft = FPR(ft_value); - std::string u = IMMEDIATE(u_value); - std::string rs = GPR(rs_value); + const char *ft = FPR(ft_value); + char *u = IMMEDIATE(u_value); + const char *rs = GPR(rs_value); return img_format("SDC1 %s, %s(%s)", ft, u, rs); } @@ -13310,15 +13211,15 @@ static std::string SDC1_U12_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SDC1X(uint64 instruction, Dis_info *info) +static char *SDC1X(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ft_value = extract_ft_15_14_13_12_11(instruction); - std::string ft = FPR(ft_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *ft = FPR(ft_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("SDC1X %s, %s(%s)", ft, rs, rt); } @@ -13334,15 +13235,15 @@ static std::string SDC1X(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SDC1XS(uint64 instruction, Dis_info *info) +static char *SDC1XS(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ft_value = extract_ft_15_14_13_12_11(instruction); - std::string ft = FPR(ft_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *ft = FPR(ft_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("SDC1XS %s, %s(%s)", ft, rs, rt); } @@ -13358,15 +13259,15 @@ static std::string SDC1XS(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SDC2(uint64 instruction, Dis_info *info) +static char *SDC2(uint64 instruction, Dis_info *info) { uint64 cs_value = extract_cs_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string cs = CPR(cs_value); - std::string s = IMMEDIATE(s_value); - std::string rs = GPR(rs_value); + char *cs = CPR(cs_value); + char *s = IMMEDIATE(s_value); + const char *rs = GPR(rs_value); return img_format("SDC2 %s, %s(%s)", cs, s, rs); } @@ -13382,17 +13283,17 @@ static std::string SDC2(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SDM(uint64 instruction, Dis_info *info) +static char *SDM(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); uint64 count3_value = extract_count3_14_13_12(instruction); - std::string rt = GPR(rt_value); - std::string s = IMMEDIATE(s_value); - std::string rs = GPR(rs_value); - std::string count3 = IMMEDIATE(encode_count3_from_count(count3_value)); + const char *rt = GPR(rt_value); + char *s = IMMEDIATE(s_value); + const char *rs = GPR(rs_value); + char *count3 = IMMEDIATE(encode_count3_from_count(count3_value)); return img_format("SDM %s, %s(%s), %s", rt, s, rs, count3); } @@ -13408,13 +13309,13 @@ static std::string SDM(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SDPC_48_(uint64 instruction, Dis_info *info) +static char *SDPC_48_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_41_40_39_38_37(instruction); int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction); - std::string rt = GPR(rt_value); - std::string s = ADDRESS(s_value, 6, info); + const char *rt = GPR(rt_value); + char *s = ADDRESS(s_value, 6, info); return img_format("SDPC %s, %s", rt, s); } @@ -13430,15 +13331,15 @@ static std::string SDPC_48_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SDXS(uint64 instruction, Dis_info *info) +static char *SDXS(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("SDXS %s, %s(%s)", rd, rs, rt); } @@ -13454,15 +13355,15 @@ static std::string SDXS(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SDX(uint64 instruction, Dis_info *info) +static char *SDX(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("SDX %s, %s(%s)", rd, rs, rt); } @@ -13478,13 +13379,13 @@ static std::string SDX(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SEB(uint64 instruction, Dis_info *info) +static char *SEB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); return img_format("SEB %s, %s", rt, rs); } @@ -13500,13 +13401,13 @@ static std::string SEB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SEH(uint64 instruction, Dis_info *info) +static char *SEH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); return img_format("SEH %s, %s", rt, rs); } @@ -13522,15 +13423,15 @@ static std::string SEH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SEL_D(uint64 instruction, Dis_info *info) +static char *SEL_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("SEL.D %s, %s, %s", fd, fs, ft); } @@ -13546,15 +13447,15 @@ static std::string SEL_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SEL_S(uint64 instruction, Dis_info *info) +static char *SEL_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("SEL.S %s, %s, %s", fd, fs, ft); } @@ -13570,15 +13471,15 @@ static std::string SEL_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SELEQZ_D(uint64 instruction, Dis_info *info) +static char *SELEQZ_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("SELEQZ.D %s, %s, %s", fd, fs, ft); } @@ -13594,15 +13495,15 @@ static std::string SELEQZ_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SELEQZ_S(uint64 instruction, Dis_info *info) +static char *SELEQZ_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("SELEQZ.S %s, %s, %s", fd, fs, ft); } @@ -13618,15 +13519,15 @@ static std::string SELEQZ_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SELNEZ_D(uint64 instruction, Dis_info *info) +static char *SELNEZ_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("SELNEZ.D %s, %s, %s", fd, fs, ft); } @@ -13642,15 +13543,15 @@ static std::string SELNEZ_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SELNEZ_S(uint64 instruction, Dis_info *info) +static char *SELNEZ_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("SELNEZ.S %s, %s, %s", fd, fs, ft); } @@ -13666,15 +13567,15 @@ static std::string SELNEZ_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SEQI(uint64 instruction, Dis_info *info) +static char *SEQI(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); - std::string u = IMMEDIATE(u_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); + char *u = IMMEDIATE(u_value); return img_format("SEQI %s, %s, %s", rt, rs, u); } @@ -13690,15 +13591,15 @@ static std::string SEQI(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SH_16_(uint64 instruction, Dis_info *info) +static char *SH_16_(uint64 instruction, Dis_info *info) { uint64 rtz3_value = extract_rtz3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); uint64 u_value = extract_u_2_1__s1(instruction); - std::string rtz3 = GPR(decode_gpr_gpr3_src_store(rtz3_value)); - std::string u = IMMEDIATE(u_value); - std::string rs3 = GPR(decode_gpr_gpr3(rs3_value)); + const char *rtz3 = GPR(decode_gpr_gpr3_src_store(rtz3_value)); + char *u = IMMEDIATE(u_value); + const char *rs3 = GPR(decode_gpr_gpr3(rs3_value)); return img_format("SH %s, %s(%s)", rtz3, u, rs3); } @@ -13714,13 +13615,13 @@ static std::string SH_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SH_GP_(uint64 instruction, Dis_info *info) +static char *SH_GP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_1__s1(instruction); - std::string rt = GPR(rt_value); - std::string u = IMMEDIATE(u_value); + const char *rt = GPR(rt_value); + char *u = IMMEDIATE(u_value); return img_format("SH %s, %s($%d)", rt, u, 28); } @@ -13736,15 +13637,15 @@ static std::string SH_GP_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SH_S9_(uint64 instruction, Dis_info *info) +static char *SH_S9_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string s = IMMEDIATE(s_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + char *s = IMMEDIATE(s_value); + const char *rs = GPR(rs_value); return img_format("SH %s, %s(%s)", rt, s, rs); } @@ -13760,15 +13661,15 @@ static std::string SH_S9_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SH_U12_(uint64 instruction, Dis_info *info) +static char *SH_U12_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string u = IMMEDIATE(u_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + char *u = IMMEDIATE(u_value); + const char *rs = GPR(rs_value); return img_format("SH %s, %s(%s)", rt, u, rs); } @@ -13784,15 +13685,15 @@ static std::string SH_U12_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SHE(uint64 instruction, Dis_info *info) +static char *SHE(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string s = IMMEDIATE(s_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + char *s = IMMEDIATE(s_value); + const char *rs = GPR(rs_value); return img_format("SHE %s, %s(%s)", rt, s, rs); } @@ -13808,13 +13709,13 @@ static std::string SHE(uint64 instruction, Dis_info *info) * shift ------ * ac -- */ -static std::string SHILO(uint64 instruction, Dis_info *info) +static char *SHILO(uint64 instruction, Dis_info *info) { int64 shift_value = extract_shift__se5_21_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string shift = IMMEDIATE(shift_value); - std::string ac = AC(ac_value); + char *shift = IMMEDIATE(shift_value); + const char *ac = AC(ac_value); return img_format("SHILO %s, %s", ac, shift); } @@ -13830,13 +13731,13 @@ static std::string SHILO(uint64 instruction, Dis_info *info) * rs ----- * ac -- */ -static std::string SHILOV(uint64 instruction, Dis_info *info) +static char *SHILOV(uint64 instruction, Dis_info *info) { uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - std::string rs = GPR(rs_value); - std::string ac = AC(ac_value); + const char *rs = GPR(rs_value); + const char *ac = AC(ac_value); return img_format("SHILOV %s, %s", ac, rs); } @@ -13852,15 +13753,15 @@ static std::string SHILOV(uint64 instruction, Dis_info *info) * rs ----- * sa ---- */ -static std::string SHLL_PH(uint64 instruction, Dis_info *info) +static char *SHLL_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 sa_value = extract_sa_15_14_13_12(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); - std::string sa = IMMEDIATE(sa_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); + char *sa = IMMEDIATE(sa_value); return img_format("SHLL.PH %s, %s, %s", rt, rs, sa); } @@ -13876,15 +13777,15 @@ static std::string SHLL_PH(uint64 instruction, Dis_info *info) * rs ----- * sa --- */ -static std::string SHLL_QB(uint64 instruction, Dis_info *info) +static char *SHLL_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 sa_value = extract_sa_15_14_13(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); - std::string sa = IMMEDIATE(sa_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); + char *sa = IMMEDIATE(sa_value); return img_format("SHLL.QB %s, %s, %s", rt, rs, sa); } @@ -13901,15 +13802,15 @@ static std::string SHLL_QB(uint64 instruction, Dis_info *info) * rs ----- * sa ---- */ -static std::string SHLL_S_PH(uint64 instruction, Dis_info *info) +static char *SHLL_S_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 sa_value = extract_sa_15_14_13_12(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); - std::string sa = IMMEDIATE(sa_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); + char *sa = IMMEDIATE(sa_value); return img_format("SHLL_S.PH %s, %s, %s", rt, rs, sa); } @@ -13925,15 +13826,15 @@ static std::string SHLL_S_PH(uint64 instruction, Dis_info *info) * rs ----- * sa ----- */ -static std::string SHLL_S_W(uint64 instruction, Dis_info *info) +static char *SHLL_S_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 sa_value = extract_sa_15_14_13_12_11(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); - std::string sa = IMMEDIATE(sa_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); + char *sa = IMMEDIATE(sa_value); return img_format("SHLL_S.W %s, %s, %s", rt, rs, sa); } @@ -13950,15 +13851,15 @@ static std::string SHLL_S_W(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SHLLV_PH(uint64 instruction, Dis_info *info) +static char *SHLLV_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); + const char *rd = GPR(rd_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); return img_format("SHLLV.PH %s, %s, %s", rd, rt, rs); } @@ -13974,15 +13875,15 @@ static std::string SHLLV_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SHLLV_QB(uint64 instruction, Dis_info *info) +static char *SHLLV_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); + const char *rd = GPR(rd_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); return img_format("SHLLV.QB %s, %s, %s", rd, rt, rs); } @@ -13999,15 +13900,15 @@ static std::string SHLLV_QB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SHLLV_S_PH(uint64 instruction, Dis_info *info) +static char *SHLLV_S_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); + const char *rd = GPR(rd_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); return img_format("SHLLV_S.PH %s, %s, %s", rd, rt, rs); } @@ -14023,15 +13924,15 @@ static std::string SHLLV_S_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SHLLV_S_W(uint64 instruction, Dis_info *info) +static char *SHLLV_S_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); + const char *rd = GPR(rd_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); return img_format("SHLLV_S.W %s, %s, %s", rd, rt, rs); } @@ -14047,15 +13948,15 @@ static std::string SHLLV_S_W(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SHRA_PH(uint64 instruction, Dis_info *info) +static char *SHRA_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 sa_value = extract_sa_15_14_13_12(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); - std::string sa = IMMEDIATE(sa_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); + char *sa = IMMEDIATE(sa_value); return img_format("SHRA.PH %s, %s, %s", rt, rs, sa); } @@ -14071,15 +13972,15 @@ static std::string SHRA_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SHRA_QB(uint64 instruction, Dis_info *info) +static char *SHRA_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 sa_value = extract_sa_15_14_13(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); - std::string sa = IMMEDIATE(sa_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); + char *sa = IMMEDIATE(sa_value); return img_format("SHRA.QB %s, %s, %s", rt, rs, sa); } @@ -14095,15 +13996,15 @@ static std::string SHRA_QB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SHRA_R_PH(uint64 instruction, Dis_info *info) +static char *SHRA_R_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 sa_value = extract_sa_15_14_13_12(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); - std::string sa = IMMEDIATE(sa_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); + char *sa = IMMEDIATE(sa_value); return img_format("SHRA_R.PH %s, %s, %s", rt, rs, sa); } @@ -14119,15 +14020,15 @@ static std::string SHRA_R_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SHRA_R_QB(uint64 instruction, Dis_info *info) +static char *SHRA_R_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 sa_value = extract_sa_15_14_13(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); - std::string sa = IMMEDIATE(sa_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); + char *sa = IMMEDIATE(sa_value); return img_format("SHRA_R.QB %s, %s, %s", rt, rs, sa); } @@ -14143,15 +14044,15 @@ static std::string SHRA_R_QB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SHRA_R_W(uint64 instruction, Dis_info *info) +static char *SHRA_R_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 sa_value = extract_sa_15_14_13_12_11(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); - std::string sa = IMMEDIATE(sa_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); + char *sa = IMMEDIATE(sa_value); return img_format("SHRA_R.W %s, %s, %s", rt, rs, sa); } @@ -14167,15 +14068,15 @@ static std::string SHRA_R_W(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SHRAV_PH(uint64 instruction, Dis_info *info) +static char *SHRAV_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); + const char *rd = GPR(rd_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); return img_format("SHRAV.PH %s, %s, %s", rd, rt, rs); } @@ -14191,15 +14092,15 @@ static std::string SHRAV_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SHRAV_QB(uint64 instruction, Dis_info *info) +static char *SHRAV_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); + const char *rd = GPR(rd_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); return img_format("SHRAV.QB %s, %s, %s", rd, rt, rs); } @@ -14215,15 +14116,15 @@ static std::string SHRAV_QB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SHRAV_R_PH(uint64 instruction, Dis_info *info) +static char *SHRAV_R_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); + const char *rd = GPR(rd_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); return img_format("SHRAV_R.PH %s, %s, %s", rd, rt, rs); } @@ -14239,15 +14140,15 @@ static std::string SHRAV_R_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SHRAV_R_QB(uint64 instruction, Dis_info *info) +static char *SHRAV_R_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); + const char *rd = GPR(rd_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); return img_format("SHRAV_R.QB %s, %s, %s", rd, rt, rs); } @@ -14263,15 +14164,15 @@ static std::string SHRAV_R_QB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SHRAV_R_W(uint64 instruction, Dis_info *info) +static char *SHRAV_R_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); + const char *rd = GPR(rd_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); return img_format("SHRAV_R.W %s, %s, %s", rd, rt, rs); } @@ -14287,15 +14188,15 @@ static std::string SHRAV_R_W(uint64 instruction, Dis_info *info) * rs ----- * sa ---- */ -static std::string SHRL_PH(uint64 instruction, Dis_info *info) +static char *SHRL_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 sa_value = extract_sa_15_14_13_12(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); - std::string sa = IMMEDIATE(sa_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); + char *sa = IMMEDIATE(sa_value); return img_format("SHRL.PH %s, %s, %s", rt, rs, sa); } @@ -14311,15 +14212,15 @@ static std::string SHRL_PH(uint64 instruction, Dis_info *info) * rs ----- * sa --- */ -static std::string SHRL_QB(uint64 instruction, Dis_info *info) +static char *SHRL_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 sa_value = extract_sa_15_14_13(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); - std::string sa = IMMEDIATE(sa_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); + char *sa = IMMEDIATE(sa_value); return img_format("SHRL.QB %s, %s, %s", rt, rs, sa); } @@ -14336,15 +14237,15 @@ static std::string SHRL_QB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SHRLV_PH(uint64 instruction, Dis_info *info) +static char *SHRLV_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); + const char *rd = GPR(rd_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); return img_format("SHRLV.PH %s, %s, %s", rd, rt, rs); } @@ -14360,15 +14261,15 @@ static std::string SHRLV_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SHRLV_QB(uint64 instruction, Dis_info *info) +static char *SHRLV_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); + const char *rd = GPR(rd_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); return img_format("SHRLV.QB %s, %s, %s", rd, rt, rs); } @@ -14384,15 +14285,15 @@ static std::string SHRLV_QB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SHX(uint64 instruction, Dis_info *info) +static char *SHX(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("SHX %s, %s(%s)", rd, rs, rt); } @@ -14408,15 +14309,15 @@ static std::string SHX(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SHXS(uint64 instruction, Dis_info *info) +static char *SHXS(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("SHXS %s, %s(%s)", rd, rs, rt); } @@ -14432,11 +14333,11 @@ static std::string SHXS(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SIGRIE(uint64 instruction, Dis_info *info) +static char *SIGRIE(uint64 instruction, Dis_info *info) { uint64 code_value = extract_code_18_to_0(instruction); - std::string code = IMMEDIATE(code_value); + char *code = IMMEDIATE(code_value); return img_format("SIGRIE %s", code); } @@ -14452,15 +14353,15 @@ static std::string SIGRIE(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SLL_16_(uint64 instruction, Dis_info *info) +static char *SLL_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); uint64 shift3_value = extract_shift3_2_1_0(instruction); - std::string rt3 = GPR(decode_gpr_gpr3(rt3_value)); - std::string rs3 = GPR(decode_gpr_gpr3(rs3_value)); - std::string shift3 = IMMEDIATE(encode_shift3_from_shift(shift3_value)); + const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); + const char *rs3 = GPR(decode_gpr_gpr3(rs3_value)); + char *shift3 = IMMEDIATE(encode_shift3_from_shift(shift3_value)); return img_format("SLL %s, %s, %s", rt3, rs3, shift3); } @@ -14476,15 +14377,15 @@ static std::string SLL_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SLL_32_(uint64 instruction, Dis_info *info) +static char *SLL_32_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 shift_value = extract_shift_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); - std::string shift = IMMEDIATE(shift_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); + char *shift = IMMEDIATE(shift_value); return img_format("SLL %s, %s, %s", rt, rs, shift); } @@ -14500,15 +14401,15 @@ static std::string SLL_32_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SLLV(uint64 instruction, Dis_info *info) +static char *SLLV(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("SLLV %s, %s, %s", rd, rs, rt); } @@ -14524,15 +14425,15 @@ static std::string SLLV(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SLT(uint64 instruction, Dis_info *info) +static char *SLT(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("SLT %s, %s, %s", rd, rs, rt); } @@ -14548,15 +14449,15 @@ static std::string SLT(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SLTI(uint64 instruction, Dis_info *info) +static char *SLTI(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); - std::string u = IMMEDIATE(u_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); + char *u = IMMEDIATE(u_value); return img_format("SLTI %s, %s, %s", rt, rs, u); } @@ -14572,15 +14473,15 @@ static std::string SLTI(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SLTIU(uint64 instruction, Dis_info *info) +static char *SLTIU(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); - std::string u = IMMEDIATE(u_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); + char *u = IMMEDIATE(u_value); return img_format("SLTIU %s, %s, %s", rt, rs, u); } @@ -14596,15 +14497,15 @@ static std::string SLTIU(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SLTU(uint64 instruction, Dis_info *info) +static char *SLTU(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("SLTU %s, %s, %s", rd, rs, rt); } @@ -14620,15 +14521,15 @@ static std::string SLTU(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SOV(uint64 instruction, Dis_info *info) +static char *SOV(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("SOV %s, %s, %s", rd, rs, rt); } @@ -14644,11 +14545,11 @@ static std::string SOV(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SPECIAL2(uint64 instruction, Dis_info *info) +static char *SPECIAL2(uint64 instruction, Dis_info *info) { uint64 op_value = extract_op_25_to_3(instruction); - std::string op = IMMEDIATE(op_value); + char *op = IMMEDIATE(op_value); return img_format("SPECIAL2 %s", op); } @@ -14664,13 +14565,13 @@ static std::string SPECIAL2(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SQRT_D(uint64 instruction, Dis_info *info) +static char *SQRT_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(ft_value); - std::string fs = FPR(fs_value); + const char *ft = FPR(ft_value); + const char *fs = FPR(fs_value); return img_format("SQRT.D %s, %s", ft, fs); } @@ -14686,13 +14587,13 @@ static std::string SQRT_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SQRT_S(uint64 instruction, Dis_info *info) +static char *SQRT_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(ft_value); - std::string fs = FPR(fs_value); + const char *ft = FPR(ft_value); + const char *fs = FPR(fs_value); return img_format("SQRT.S %s, %s", ft, fs); } @@ -14708,15 +14609,15 @@ static std::string SQRT_S(uint64 instruction, Dis_info *info) * rd ----- * sa ----- */ -static std::string SRA(uint64 instruction, Dis_info *info) +static char *SRA(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 shift_value = extract_shift_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); - std::string shift = IMMEDIATE(shift_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); + char *shift = IMMEDIATE(shift_value); return img_format("SRA %s, %s, %s", rt, rs, shift); } @@ -14732,15 +14633,15 @@ static std::string SRA(uint64 instruction, Dis_info *info) * rt ----- * rd ----- */ -static std::string SRAV(uint64 instruction, Dis_info *info) +static char *SRAV(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("SRAV %s, %s, %s", rd, rs, rt); } @@ -14756,15 +14657,15 @@ static std::string SRAV(uint64 instruction, Dis_info *info) * rt ----- * rd ----- */ -static std::string SRL_16_(uint64 instruction, Dis_info *info) +static char *SRL_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); uint64 shift3_value = extract_shift3_2_1_0(instruction); - std::string rt3 = GPR(decode_gpr_gpr3(rt3_value)); - std::string rs3 = GPR(decode_gpr_gpr3(rs3_value)); - std::string shift3 = IMMEDIATE(encode_shift3_from_shift(shift3_value)); + const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); + const char *rs3 = GPR(decode_gpr_gpr3(rs3_value)); + char *shift3 = IMMEDIATE(encode_shift3_from_shift(shift3_value)); return img_format("SRL %s, %s, %s", rt3, rs3, shift3); } @@ -14780,15 +14681,15 @@ static std::string SRL_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SRL_32_(uint64 instruction, Dis_info *info) +static char *SRL_32_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 shift_value = extract_shift_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); - std::string shift = IMMEDIATE(shift_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); + char *shift = IMMEDIATE(shift_value); return img_format("SRL %s, %s, %s", rt, rs, shift); } @@ -14804,15 +14705,15 @@ static std::string SRL_32_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SRLV(uint64 instruction, Dis_info *info) +static char *SRLV(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("SRLV %s, %s, %s", rd, rs, rt); } @@ -14828,15 +14729,15 @@ static std::string SRLV(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SUB(uint64 instruction, Dis_info *info) +static char *SUB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("SUB %s, %s, %s", rd, rs, rt); } @@ -14852,15 +14753,15 @@ static std::string SUB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SUB_D(uint64 instruction, Dis_info *info) +static char *SUB_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("SUB.D %s, %s, %s", fd, fs, ft); } @@ -14876,15 +14777,15 @@ static std::string SUB_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SUB_S(uint64 instruction, Dis_info *info) +static char *SUB_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - std::string fd = FPR(fd_value); - std::string fs = FPR(fs_value); - std::string ft = FPR(ft_value); + const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value); return img_format("SUB.S %s, %s, %s", fd, fs, ft); } @@ -14900,15 +14801,15 @@ static std::string SUB_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SUBQ_PH(uint64 instruction, Dis_info *info) +static char *SUBQ_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("SUBQ.PH %s, %s, %s", rd, rs, rt); } @@ -14925,15 +14826,15 @@ static std::string SUBQ_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SUBQ_S_PH(uint64 instruction, Dis_info *info) +static char *SUBQ_S_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("SUBQ_S.PH %s, %s, %s", rd, rs, rt); } @@ -14950,15 +14851,15 @@ static std::string SUBQ_S_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SUBQ_S_W(uint64 instruction, Dis_info *info) +static char *SUBQ_S_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("SUBQ_S.W %s, %s, %s", rd, rs, rt); } @@ -14975,15 +14876,15 @@ static std::string SUBQ_S_W(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SUBQH_PH(uint64 instruction, Dis_info *info) +static char *SUBQH_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("SUBQH.PH %s, %s, %s", rd, rs, rt); } @@ -15000,15 +14901,15 @@ static std::string SUBQH_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SUBQH_R_PH(uint64 instruction, Dis_info *info) +static char *SUBQH_R_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("SUBQH_R.PH %s, %s, %s", rd, rs, rt); } @@ -15025,15 +14926,15 @@ static std::string SUBQH_R_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SUBQH_R_W(uint64 instruction, Dis_info *info) +static char *SUBQH_R_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("SUBQH_R.W %s, %s, %s", rd, rs, rt); } @@ -15050,15 +14951,15 @@ static std::string SUBQH_R_W(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SUBQH_W(uint64 instruction, Dis_info *info) +static char *SUBQH_W(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("SUBQH.W %s, %s, %s", rd, rs, rt); } @@ -15074,15 +14975,15 @@ static std::string SUBQH_W(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SUBU_16_(uint64 instruction, Dis_info *info) +static char *SUBU_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); uint64 rd3_value = extract_rd3_3_2_1(instruction); - std::string rd3 = GPR(decode_gpr_gpr3(rd3_value)); - std::string rs3 = GPR(decode_gpr_gpr3(rs3_value)); - std::string rt3 = GPR(decode_gpr_gpr3(rt3_value)); + const char *rd3 = GPR(decode_gpr_gpr3(rd3_value)); + const char *rs3 = GPR(decode_gpr_gpr3(rs3_value)); + const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); return img_format("SUBU %s, %s, %s", rd3, rs3, rt3); } @@ -15098,15 +14999,15 @@ static std::string SUBU_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SUBU_32_(uint64 instruction, Dis_info *info) +static char *SUBU_32_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("SUBU %s, %s, %s", rd, rs, rt); } @@ -15122,15 +15023,15 @@ static std::string SUBU_32_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SUBU_PH(uint64 instruction, Dis_info *info) +static char *SUBU_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("SUBU.PH %s, %s, %s", rd, rs, rt); } @@ -15146,15 +15047,15 @@ static std::string SUBU_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SUBU_QB(uint64 instruction, Dis_info *info) +static char *SUBU_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("SUBU.QB %s, %s, %s", rd, rs, rt); } @@ -15171,15 +15072,15 @@ static std::string SUBU_QB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SUBU_S_PH(uint64 instruction, Dis_info *info) +static char *SUBU_S_PH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("SUBU_S.PH %s, %s, %s", rd, rs, rt); } @@ -15196,15 +15097,15 @@ static std::string SUBU_S_PH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SUBU_S_QB(uint64 instruction, Dis_info *info) +static char *SUBU_S_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("SUBU_S.QB %s, %s, %s", rd, rs, rt); } @@ -15221,15 +15122,15 @@ static std::string SUBU_S_QB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SUBUH_QB(uint64 instruction, Dis_info *info) +static char *SUBUH_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("SUBUH.QB %s, %s, %s", rd, rs, rt); } @@ -15246,15 +15147,15 @@ static std::string SUBUH_QB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SUBUH_R_QB(uint64 instruction, Dis_info *info) +static char *SUBUH_R_QB(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("SUBUH_R.QB %s, %s, %s", rd, rs, rt); } @@ -15270,15 +15171,15 @@ static std::string SUBUH_R_QB(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SW_16_(uint64 instruction, Dis_info *info) +static char *SW_16_(uint64 instruction, Dis_info *info) { uint64 rtz3_value = extract_rtz3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); uint64 u_value = extract_u_3_2_1_0__s2(instruction); - std::string rtz3 = GPR(decode_gpr_gpr3_src_store(rtz3_value)); - std::string u = IMMEDIATE(u_value); - std::string rs3 = GPR(decode_gpr_gpr3(rs3_value)); + const char *rtz3 = GPR(decode_gpr_gpr3_src_store(rtz3_value)); + char *u = IMMEDIATE(u_value); + const char *rs3 = GPR(decode_gpr_gpr3(rs3_value)); return img_format("SW %s, %s(%s)", rtz3, u, rs3); } @@ -15294,15 +15195,15 @@ static std::string SW_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SW_4X4_(uint64 instruction, Dis_info *info) +static char *SW_4X4_(uint64 instruction, Dis_info *info) { uint64 rtz4_value = extract_rtz4_9_7_6_5(instruction); uint64 rs4_value = extract_rs4_4_2_1_0(instruction); uint64 u_value = extract_u_3_8__s2(instruction); - std::string rtz4 = GPR(decode_gpr_gpr4_zero(rtz4_value)); - std::string u = IMMEDIATE(u_value); - std::string rs4 = GPR(decode_gpr_gpr4(rs4_value)); + const char *rtz4 = GPR(decode_gpr_gpr4_zero(rtz4_value)); + char *u = IMMEDIATE(u_value); + const char *rs4 = GPR(decode_gpr_gpr4(rs4_value)); return img_format("SW %s, %s(%s)", rtz4, u, rs4); } @@ -15318,13 +15219,13 @@ static std::string SW_4X4_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SW_GP16_(uint64 instruction, Dis_info *info) +static char *SW_GP16_(uint64 instruction, Dis_info *info) { uint64 u_value = extract_u_6_5_4_3_2_1_0__s2(instruction); uint64 rtz3_value = extract_rtz3_9_8_7(instruction); - std::string rtz3 = GPR(decode_gpr_gpr3_src_store(rtz3_value)); - std::string u = IMMEDIATE(u_value); + const char *rtz3 = GPR(decode_gpr_gpr3_src_store(rtz3_value)); + char *u = IMMEDIATE(u_value); return img_format("SW %s, %s($%d)", rtz3, u, 28); } @@ -15340,13 +15241,13 @@ static std::string SW_GP16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SW_GP_(uint64 instruction, Dis_info *info) +static char *SW_GP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_20_to_2__s2(instruction); - std::string rt = GPR(rt_value); - std::string u = IMMEDIATE(u_value); + const char *rt = GPR(rt_value); + char *u = IMMEDIATE(u_value); return img_format("SW %s, %s($%d)", rt, u, 28); } @@ -15362,15 +15263,15 @@ static std::string SW_GP_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SW_S9_(uint64 instruction, Dis_info *info) +static char *SW_S9_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(rt_value); - std::string s = IMMEDIATE(s_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + char *s = IMMEDIATE(s_value); + const char *rs = GPR(rs_value); return img_format("SW %s, %s(%s)", rt, s, rs); } @@ -15386,13 +15287,13 @@ static std::string SW_S9_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SW_SP_(uint64 instruction, Dis_info *info) +static char *SW_SP_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_9_8_7_6_5(instruction); uint64 u_value = extract_u_4_3_2_1_0__s2(instruction); - std::string rt = GPR(rt_value); - std::string u = IMMEDIATE(u_value); + const char *rt = GPR(rt_value); + char *u = IMMEDIATE(u_value); return img_format("SW %s, %s($%d)", rt, u, 29); } @@ -15408,15 +15309,15 @@ static std::string SW_SP_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SW_U12_(uint64 instruction, Dis_info *info) +static char *SW_U12_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string u = IMMEDIATE(u_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + char *u = IMMEDIATE(u_value); + const char *rs = GPR(rs_value); return img_format("SW %s, %s(%s)", rt, u, rs); } @@ -15432,13 +15333,13 @@ static std::string SW_U12_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SWC1_GP_(uint64 instruction, Dis_info *info) +static char *SWC1_GP_(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_2__s2(instruction); - std::string ft = FPR(ft_value); - std::string u = IMMEDIATE(u_value); + const char *ft = FPR(ft_value); + char *u = IMMEDIATE(u_value); return img_format("SWC1 %s, %s($%d)", ft, u, 28); } @@ -15454,15 +15355,15 @@ static std::string SWC1_GP_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SWC1_S9_(uint64 instruction, Dis_info *info) +static char *SWC1_S9_(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string ft = FPR(ft_value); - std::string s = IMMEDIATE(s_value); - std::string rs = GPR(rs_value); + const char *ft = FPR(ft_value); + char *s = IMMEDIATE(s_value); + const char *rs = GPR(rs_value); return img_format("SWC1 %s, %s(%s)", ft, s, rs); } @@ -15478,15 +15379,15 @@ static std::string SWC1_S9_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SWC1_U12_(uint64 instruction, Dis_info *info) +static char *SWC1_U12_(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - std::string ft = FPR(ft_value); - std::string u = IMMEDIATE(u_value); - std::string rs = GPR(rs_value); + const char *ft = FPR(ft_value); + char *u = IMMEDIATE(u_value); + const char *rs = GPR(rs_value); return img_format("SWC1 %s, %s(%s)", ft, u, rs); } @@ -15502,15 +15403,15 @@ static std::string SWC1_U12_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SWC1X(uint64 instruction, Dis_info *info) +static char *SWC1X(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ft_value = extract_ft_15_14_13_12_11(instruction); - std::string ft = FPR(ft_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *ft = FPR(ft_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("SWC1X %s, %s(%s)", ft, rs, rt); } @@ -15526,15 +15427,15 @@ static std::string SWC1X(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SWC1XS(uint64 instruction, Dis_info *info) +static char *SWC1XS(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ft_value = extract_ft_15_14_13_12_11(instruction); - std::string ft = FPR(ft_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *ft = FPR(ft_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("SWC1XS %s, %s(%s)", ft, rs, rt); } @@ -15550,15 +15451,15 @@ static std::string SWC1XS(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SWC2(uint64 instruction, Dis_info *info) +static char *SWC2(uint64 instruction, Dis_info *info) { uint64 cs_value = extract_cs_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string cs = CPR(cs_value); - std::string s = IMMEDIATE(s_value); - std::string rs = GPR(rs_value); + char *cs = CPR(cs_value); + char *s = IMMEDIATE(s_value); + const char *rs = GPR(rs_value); return img_format("SWC2 %s, %s(%s)", cs, s, rs); } @@ -15574,15 +15475,15 @@ static std::string SWC2(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SWE(uint64 instruction, Dis_info *info) +static char *SWE(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string s = IMMEDIATE(s_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + char *s = IMMEDIATE(s_value); + const char *rs = GPR(rs_value); return img_format("SWE %s, %s(%s)", rt, s, rs); } @@ -15598,17 +15499,17 @@ static std::string SWE(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SWM(uint64 instruction, Dis_info *info) +static char *SWM(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); uint64 count3_value = extract_count3_14_13_12(instruction); - std::string rt = GPR(rt_value); - std::string s = IMMEDIATE(s_value); - std::string rs = GPR(rs_value); - std::string count3 = IMMEDIATE(encode_count3_from_count(count3_value)); + const char *rt = GPR(rt_value); + char *s = IMMEDIATE(s_value); + const char *rs = GPR(rs_value); + char *count3 = IMMEDIATE(encode_count3_from_count(count3_value)); return img_format("SWM %s, %s(%s), %s", rt, s, rs, count3); } @@ -15624,13 +15525,13 @@ static std::string SWM(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SWPC_48_(uint64 instruction, Dis_info *info) +static char *SWPC_48_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_41_40_39_38_37(instruction); int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction); - std::string rt = GPR(rt_value); - std::string s = ADDRESS(s_value, 6, info); + const char *rt = GPR(rt_value); + char *s = ADDRESS(s_value, 6, info); return img_format("SWPC %s, %s", rt, s); } @@ -15646,15 +15547,15 @@ static std::string SWPC_48_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SWX(uint64 instruction, Dis_info *info) +static char *SWX(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("SWX %s, %s(%s)", rd, rs, rt); } @@ -15670,15 +15571,15 @@ static std::string SWX(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SWXS(uint64 instruction, Dis_info *info) +static char *SWXS(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("SWXS %s, %s(%s)", rd, rs, rt); } @@ -15694,11 +15595,11 @@ static std::string SWXS(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SYNC(uint64 instruction, Dis_info *info) +static char *SYNC(uint64 instruction, Dis_info *info) { uint64 stype_value = extract_stype_20_19_18_17_16(instruction); - std::string stype = IMMEDIATE(stype_value); + char *stype = IMMEDIATE(stype_value); return img_format("SYNC %s", stype); } @@ -15714,13 +15615,13 @@ static std::string SYNC(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SYNCI(uint64 instruction, Dis_info *info) +static char *SYNCI(uint64 instruction, Dis_info *info) { uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string s = IMMEDIATE(s_value); - std::string rs = GPR(rs_value); + char *s = IMMEDIATE(s_value); + const char *rs = GPR(rs_value); return img_format("SYNCI %s(%s)", s, rs); } @@ -15736,13 +15637,13 @@ static std::string SYNCI(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SYNCIE(uint64 instruction, Dis_info *info) +static char *SYNCIE(uint64 instruction, Dis_info *info) { uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string s = IMMEDIATE(s_value); - std::string rs = GPR(rs_value); + char *s = IMMEDIATE(s_value); + const char *rs = GPR(rs_value); return img_format("SYNCIE %s(%s)", s, rs); } @@ -15758,11 +15659,11 @@ static std::string SYNCIE(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string SYSCALL_16_(uint64 instruction, Dis_info *info) +static char *SYSCALL_16_(uint64 instruction, Dis_info *info) { uint64 code_value = extract_code_1_0(instruction); - std::string code = IMMEDIATE(code_value); + char *code = IMMEDIATE(code_value); return img_format("SYSCALL %s", code); } @@ -15776,11 +15677,11 @@ static std::string SYSCALL_16_(uint64 instruction, Dis_info *info) * 00000000000010 * code ------------------ */ -static std::string SYSCALL_32_(uint64 instruction, Dis_info *info) +static char *SYSCALL_32_(uint64 instruction, Dis_info *info) { uint64 code_value = extract_code_17_to_0(instruction); - std::string code = IMMEDIATE(code_value); + char *code = IMMEDIATE(code_value); return img_format("SYSCALL %s", code); } @@ -15796,13 +15697,13 @@ static std::string SYSCALL_32_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string TEQ(uint64 instruction, Dis_info *info) +static char *TEQ(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("TEQ %s, %s", rs, rt); } @@ -15818,11 +15719,11 @@ static std::string TEQ(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string TLBGINV(uint64 instruction, Dis_info *info) +static char *TLBGINV(uint64 instruction, Dis_info *info) { (void)instruction; - return "TLBGINV "; + return g_strdup("TLBGINV "); } @@ -15836,11 +15737,11 @@ static std::string TLBGINV(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string TLBGINVF(uint64 instruction, Dis_info *info) +static char *TLBGINVF(uint64 instruction, Dis_info *info) { (void)instruction; - return "TLBGINVF "; + return g_strdup("TLBGINVF "); } @@ -15854,11 +15755,11 @@ static std::string TLBGINVF(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string TLBGP(uint64 instruction, Dis_info *info) +static char *TLBGP(uint64 instruction, Dis_info *info) { (void)instruction; - return "TLBGP "; + return g_strdup("TLBGP "); } @@ -15872,11 +15773,11 @@ static std::string TLBGP(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string TLBGR(uint64 instruction, Dis_info *info) +static char *TLBGR(uint64 instruction, Dis_info *info) { (void)instruction; - return "TLBGR "; + return g_strdup("TLBGR "); } @@ -15890,11 +15791,11 @@ static std::string TLBGR(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string TLBGWI(uint64 instruction, Dis_info *info) +static char *TLBGWI(uint64 instruction, Dis_info *info) { (void)instruction; - return "TLBGWI "; + return g_strdup("TLBGWI "); } @@ -15908,11 +15809,11 @@ static std::string TLBGWI(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string TLBGWR(uint64 instruction, Dis_info *info) +static char *TLBGWR(uint64 instruction, Dis_info *info) { (void)instruction; - return "TLBGWR "; + return g_strdup("TLBGWR "); } @@ -15926,11 +15827,11 @@ static std::string TLBGWR(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string TLBINV(uint64 instruction, Dis_info *info) +static char *TLBINV(uint64 instruction, Dis_info *info) { (void)instruction; - return "TLBINV "; + return g_strdup("TLBINV "); } @@ -15944,11 +15845,11 @@ static std::string TLBINV(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string TLBINVF(uint64 instruction, Dis_info *info) +static char *TLBINVF(uint64 instruction, Dis_info *info) { (void)instruction; - return "TLBINVF "; + return g_strdup("TLBINVF "); } @@ -15962,11 +15863,11 @@ static std::string TLBINVF(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string TLBP(uint64 instruction, Dis_info *info) +static char *TLBP(uint64 instruction, Dis_info *info) { (void)instruction; - return "TLBP "; + return g_strdup("TLBP "); } @@ -15980,11 +15881,11 @@ static std::string TLBP(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string TLBR(uint64 instruction, Dis_info *info) +static char *TLBR(uint64 instruction, Dis_info *info) { (void)instruction; - return "TLBR "; + return g_strdup("TLBR "); } @@ -15998,11 +15899,11 @@ static std::string TLBR(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string TLBWI(uint64 instruction, Dis_info *info) +static char *TLBWI(uint64 instruction, Dis_info *info) { (void)instruction; - return "TLBWI "; + return g_strdup("TLBWI "); } @@ -16016,11 +15917,11 @@ static std::string TLBWI(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string TLBWR(uint64 instruction, Dis_info *info) +static char *TLBWR(uint64 instruction, Dis_info *info) { (void)instruction; - return "TLBWR "; + return g_strdup("TLBWR "); } @@ -16034,13 +15935,13 @@ static std::string TLBWR(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string TNE(uint64 instruction, Dis_info *info) +static char *TNE(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("TNE %s, %s", rs, rt); } @@ -16056,13 +15957,13 @@ static std::string TNE(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string TRUNC_L_D(uint64 instruction, Dis_info *info) +static char *TRUNC_L_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(ft_value); - std::string fs = FPR(fs_value); + const char *ft = FPR(ft_value); + const char *fs = FPR(fs_value); return img_format("TRUNC.L.D %s, %s", ft, fs); } @@ -16078,13 +15979,13 @@ static std::string TRUNC_L_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string TRUNC_L_S(uint64 instruction, Dis_info *info) +static char *TRUNC_L_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(ft_value); - std::string fs = FPR(fs_value); + const char *ft = FPR(ft_value); + const char *fs = FPR(fs_value); return img_format("TRUNC.L.S %s, %s", ft, fs); } @@ -16100,13 +16001,13 @@ static std::string TRUNC_L_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string TRUNC_W_D(uint64 instruction, Dis_info *info) +static char *TRUNC_W_D(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(ft_value); - std::string fs = FPR(fs_value); + const char *ft = FPR(ft_value); + const char *fs = FPR(fs_value); return img_format("TRUNC.W.D %s, %s", ft, fs); } @@ -16122,13 +16023,13 @@ static std::string TRUNC_W_D(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string TRUNC_W_S(uint64 instruction, Dis_info *info) +static char *TRUNC_W_S(uint64 instruction, Dis_info *info) { uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - std::string ft = FPR(ft_value); - std::string fs = FPR(fs_value); + const char *ft = FPR(ft_value); + const char *fs = FPR(fs_value); return img_format("TRUNC.W.S %s, %s", ft, fs); } @@ -16144,17 +16045,17 @@ static std::string TRUNC_W_S(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string UALDM(uint64 instruction, Dis_info *info) +static char *UALDM(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); uint64 count3_value = extract_count3_14_13_12(instruction); - std::string rt = GPR(rt_value); - std::string s = IMMEDIATE(s_value); - std::string rs = GPR(rs_value); - std::string count3 = IMMEDIATE(encode_count3_from_count(count3_value)); + const char *rt = GPR(rt_value); + char *s = IMMEDIATE(s_value); + const char *rs = GPR(rs_value); + char *count3 = IMMEDIATE(encode_count3_from_count(count3_value)); return img_format("UALDM %s, %s(%s), %s", rt, s, rs, count3); } @@ -16170,15 +16071,15 @@ static std::string UALDM(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string UALH(uint64 instruction, Dis_info *info) +static char *UALH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string s = IMMEDIATE(s_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + char *s = IMMEDIATE(s_value); + const char *rs = GPR(rs_value); return img_format("UALH %s, %s(%s)", rt, s, rs); } @@ -16194,17 +16095,17 @@ static std::string UALH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string UALWM(uint64 instruction, Dis_info *info) +static char *UALWM(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); uint64 count3_value = extract_count3_14_13_12(instruction); - std::string rt = GPR(rt_value); - std::string s = IMMEDIATE(s_value); - std::string rs = GPR(rs_value); - std::string count3 = IMMEDIATE(encode_count3_from_count(count3_value)); + const char *rt = GPR(rt_value); + char *s = IMMEDIATE(s_value); + const char *rs = GPR(rs_value); + char *count3 = IMMEDIATE(encode_count3_from_count(count3_value)); return img_format("UALWM %s, %s(%s), %s", rt, s, rs, count3); } @@ -16220,17 +16121,17 @@ static std::string UALWM(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string UASDM(uint64 instruction, Dis_info *info) +static char *UASDM(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); uint64 count3_value = extract_count3_14_13_12(instruction); - std::string rt = GPR(rt_value); - std::string s = IMMEDIATE(s_value); - std::string rs = GPR(rs_value); - std::string count3 = IMMEDIATE(encode_count3_from_count(count3_value)); + const char *rt = GPR(rt_value); + char *s = IMMEDIATE(s_value); + const char *rs = GPR(rs_value); + char *count3 = IMMEDIATE(encode_count3_from_count(count3_value)); return img_format("UASDM %s, %s(%s), %s", rt, s, rs, count3); } @@ -16246,15 +16147,15 @@ static std::string UASDM(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string UASH(uint64 instruction, Dis_info *info) +static char *UASH(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string s = IMMEDIATE(s_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + char *s = IMMEDIATE(s_value); + const char *rs = GPR(rs_value); return img_format("UASH %s, %s(%s)", rt, s, rs); } @@ -16270,17 +16171,17 @@ static std::string UASH(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string UASWM(uint64 instruction, Dis_info *info) +static char *UASWM(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); uint64 count3_value = extract_count3_14_13_12(instruction); - std::string rt = GPR(rt_value); - std::string s = IMMEDIATE(s_value); - std::string rs = GPR(rs_value); - std::string count3 = IMMEDIATE(encode_count3_from_count(count3_value)); + const char *rt = GPR(rt_value); + char *s = IMMEDIATE(s_value); + const char *rs = GPR(rs_value); + char *count3 = IMMEDIATE(encode_count3_from_count(count3_value)); return img_format("UASWM %s, %s(%s), %s", rt, s, rs, count3); } @@ -16296,11 +16197,11 @@ static std::string UASWM(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string UDI(uint64 instruction, Dis_info *info) +static char *UDI(uint64 instruction, Dis_info *info) { uint64 op_value = extract_op_25_to_3(instruction); - std::string op = IMMEDIATE(op_value); + char *op = IMMEDIATE(op_value); return img_format("UDI %s", op); } @@ -16314,11 +16215,11 @@ static std::string UDI(uint64 instruction, Dis_info *info) * 001000 1100001101111111 * code ---------- */ -static std::string WAIT(uint64 instruction, Dis_info *info) +static char *WAIT(uint64 instruction, Dis_info *info) { uint64 code_value = extract_code_25_24_23_22_21_20_19_18_17_16(instruction); - std::string code = IMMEDIATE(code_value); + char *code = IMMEDIATE(code_value); return img_format("WAIT %s", code); } @@ -16334,13 +16235,13 @@ static std::string WAIT(uint64 instruction, Dis_info *info) * rt ----- * mask ------- */ -static std::string WRDSP(uint64 instruction, Dis_info *info) +static char *WRDSP(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 mask_value = extract_mask_20_19_18_17_16_15_14(instruction); - std::string rt = GPR(rt_value); - std::string mask = IMMEDIATE(mask_value); + const char *rt = GPR(rt_value); + char *mask = IMMEDIATE(mask_value); return img_format("WRDSP %s, %s", rt, mask); } @@ -16356,13 +16257,13 @@ static std::string WRDSP(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string WRPGPR(uint64 instruction, Dis_info *info) +static char *WRPGPR(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); return img_format("WRPGPR %s, %s", rt, rs); } @@ -16378,13 +16279,13 @@ static std::string WRPGPR(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string XOR_16_(uint64 instruction, Dis_info *info) +static char *XOR_16_(uint64 instruction, Dis_info *info) { uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); - std::string rs3 = GPR(decode_gpr_gpr3(rs3_value)); - std::string rt3 = GPR(decode_gpr_gpr3(rt3_value)); + const char *rs3 = GPR(decode_gpr_gpr3(rs3_value)); + const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); return img_format("XOR %s, %s", rs3, rt3); } @@ -16400,15 +16301,15 @@ static std::string XOR_16_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string XOR_32_(uint64 instruction, Dis_info *info) +static char *XOR_32_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - std::string rd = GPR(rd_value); - std::string rs = GPR(rs_value); - std::string rt = GPR(rt_value); + const char *rd = GPR(rd_value); + const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value); return img_format("XOR %s, %s, %s", rd, rs, rt); } @@ -16424,15 +16325,15 @@ static std::string XOR_32_(uint64 instruction, Dis_info *info) * rs ----- * rd ----- */ -static std::string XORI(uint64 instruction, Dis_info *info) +static char *XORI(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); - std::string u = IMMEDIATE(u_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); + char *u = IMMEDIATE(u_value); return img_format("XORI %s, %s, %s", rt, rs, u); } @@ -16447,13 +16348,13 @@ static std::string XORI(uint64 instruction, Dis_info *info) * rt ----- * rs ----- */ -static std::string YIELD(uint64 instruction, Dis_info *info) +static char *YIELD(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - std::string rt = GPR(rt_value); - std::string rs = GPR(rs_value); + const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value); return img_format("YIELD %s, %s", rt, rs); } @@ -22256,25 +22157,22 @@ static const Pool MAJOR[2] = { 0x0 }, /* P16 */ }; -static int Disassemble(const uint16 *data, std::string & dis, +static int Disassemble(const uint16 *data, char **dis, TABLE_ENTRY_TYPE & type, Dis_info *info) { return Disassemble(data, dis, type, MAJOR, 2, info); } -static int nanomips_dis(char *buf, +static int nanomips_dis(char **buf, Dis_info *info, unsigned short one, unsigned short two, unsigned short three) { - std::string disasm; uint16 bits[3] = {one, two, three}; TABLE_ENTRY_TYPE type; - int size = Disassemble(bits, disasm, type, info); - - strcpy(buf, disasm.c_str()); + int size = Disassemble(bits, buf, type, info); return size; } @@ -22283,7 +22181,7 @@ int print_insn_nanomips(bfd_vma memaddr, struct disassemble_info *info) int status; bfd_byte buffer[2]; uint16_t insn1 = 0, insn2 = 0, insn3 = 0; - char buf[200]; + char *buf = NULL; info->bytes_per_chunk = 2; info->display_endian = info->endian; @@ -22345,7 +22243,7 @@ int print_insn_nanomips(bfd_vma memaddr, struct disassemble_info *info) (*info->fprintf_func)(info->stream, " "); } - int length = nanomips_dis(buf, &disassm_info, insn1, insn2, insn3); + int length = nanomips_dis(&buf, &disassm_info, insn1, insn2, insn3); /* FIXME: Should probably use a hash table on the major opcode here. */ From patchwork Sun Oct 30 22:28:16 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 13025281 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 6F5CBC38A02 for ; Sun, 30 Oct 2022 22:37:26 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1opGr9-00011G-3d; Sun, 30 Oct 2022 18:32:39 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1opGqg-0008EB-49 for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:32:10 -0400 Received: from mail-wr1-x42d.google.com ([2a00:1450:4864:20::42d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1opGqZ-0008Lu-Go for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:32:09 -0400 Received: by mail-wr1-x42d.google.com with SMTP id z14so13651423wrn.7 for ; Sun, 30 Oct 2022 15:32:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=NQ6tY2FLUiCQ3vsKMLmUOOQD7TaJOM1NGw24WMw61bE=; b=zyP6ldrXBuzETjwknLcQeTXPqU5GliMcar5wLP9V51nfoEqBvB3VSDopefIsNO/tzy 5YSCnnd0USfGB53cICCVOIp83lW9bowRoe7nb+AhGq975xU3x9cD2T+CS5Zw3mkQSa4R jf5UNOlw5z9TUMeyg7jYvbmgsjg9bwmjpP39l5jqVIBh36d+FbX1VWbWK/W+T3TulfKd XLvGjyJQn/Z/X4QSHs2/SO4SHesHaDXs4AuVtUFGpEMppJmeqhwwvQBpP7dt0t9QMq8v 2/Q7cdzl73eSLfkvbTk7MvaDnrjI7AMcK4ae5TR41CkUT3xLAyYNJ+a3YkjWDPHj0XUz 3EaA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=NQ6tY2FLUiCQ3vsKMLmUOOQD7TaJOM1NGw24WMw61bE=; b=yEANygYf82LZcucqtNRRBHVBvLw2jxKjd2ZOwi20Jxo4SueKcnFOkSbNBXpprm7i6t R/LVk2GiKPfbADsp0D3+gHqFhMKy9R6qdNl1Ev9yQj9nWL5iFjiiWkhScTFYRJoKsA4b BK8+5PkmAr6JjmfDfK/6eClXRYP1OuiqU3bqYk+1nWyMWJpUjwkHlCbnwHncliXY8vDw 9r+QaP9y7JZQa/7D7IQXyNrDiInJ5GqM3oIJsCRDMfR1/QVy9lplTpgABAdfHyI9W8V9 ch6j1VD2kNPrgkXt5GnbwjuERHqTrYHc8Vxx7S+GF8E1bFrajUBoBcccQj2kZMl863+G RkOw== X-Gm-Message-State: ACrzQf0z/EdmlWbNh6c+qq1qXng+lFCdvz7CFurGEOaq1C8sBXOwFAh3 uL92cIhZ8bqsu8g8P/0l45lLlF+gw+UKsQ== X-Google-Smtp-Source: AMsMyM6UkQeYTOP+HQGE53ICnoArZRewwOuL4QtnCKL9sYBP6oViVQ4DIgLs1l8zSGh8H2rF+IGM1g== X-Received: by 2002:adf:df83:0:b0:236:6d5d:ff8b with SMTP id z3-20020adfdf83000000b002366d5dff8bmr5975502wrl.315.1667169120746; Sun, 30 Oct 2022 15:32:00 -0700 (PDT) Received: from localhost.localdomain ([185.126.107.38]) by smtp.gmail.com with ESMTPSA id i11-20020a05600c354b00b003cf57329221sm6154632wmq.14.2022.10.30.15.31.59 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 30 Oct 2022 15:32:00 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Aleksandar Rikalo , Huacai Chen , Stefan Pejic , Jiaxun Yang , Aurelien Jarno , Paul Burton , Milica Lazarevic , Richard Henderson Subject: [PULL 30/55] disas/nanomips: Remove IMMEDIATE functions Date: Sun, 30 Oct 2022 23:28:16 +0100 Message-Id: <20221030222841.42377-31-philmd@linaro.org> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221030222841.42377-1-philmd@linaro.org> References: <20221030222841.42377-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42d; envelope-from=philmd@linaro.org; helo=mail-wr1-x42d.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Qemu-devel" Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Milica Lazarevic Both versions of IMMEDIATE functions have been removed. Before this patch, we'd been calling img_format twice, the first time through the IMMEDIATE to get an appropriate string and the second time to print that string. There's no more need for that. Therefore, calls to IMMEDIATE are removed, and now we're directly printing the integer values instead. Signed-off-by: Milica Lazarevic Reviewed-by: Richard Henderson Message-Id: <20220912122635.74032-17-milica.lazarevic@syrmia.com> Signed-off-by: Philippe Mathieu-Daudé --- disas/nanomips.cpp | 756 ++++++++++++++++----------------------------- 1 file changed, 265 insertions(+), 491 deletions(-) diff --git a/disas/nanomips.cpp b/disas/nanomips.cpp index e4e122f3cf..3b1ca249ce 100644 --- a/disas/nanomips.cpp +++ b/disas/nanomips.cpp @@ -519,18 +519,6 @@ static const char *AC(uint64 reg) } -static char *IMMEDIATE(uint64 value) -{ - return img_format("0x%" PRIx64, value); -} - - -static char *IMMEDIATE(int64 value) -{ - return img_format("%" PRId64, value); -} - - static char *CPR(uint64 reg) { /* needs more work */ @@ -1674,11 +1662,10 @@ static char *ACLR(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - char *bit = IMMEDIATE(bit_value); - char *s = IMMEDIATE(s_value); const char *rs = GPR(rs_value); - return img_format("ACLR %s, %s(%s)", bit, s, rs); + return img_format("ACLR 0x%" PRIx64 ", %" PRId64 "(%s)", + bit_value, s_value, rs); } @@ -1772,9 +1759,8 @@ static char *ADDIU_32_(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); const char *rs = GPR(rs_value); - char *u = IMMEDIATE(u_value); - return img_format("ADDIU %s, %s, %s", rt, rs, u); + return img_format("ADDIU %s, %s, 0x%" PRIx64, rt, rs, u_value); } @@ -1793,9 +1779,8 @@ static char *ADDIU_48_(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction); const char *rt = GPR(rt_value); - char *s = IMMEDIATE(s_value); - return img_format("ADDIU %s, %s", rt, s); + return img_format("ADDIU %s, %" PRId64, rt, s_value); } @@ -1814,9 +1799,8 @@ static char *ADDIU_GP48_(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction); const char *rt = GPR(rt_value); - char *s = IMMEDIATE(s_value); - return img_format("ADDIU %s, $%d, %s", rt, 28, s); + return img_format("ADDIU %s, $%d, %" PRId64, rt, 28, s_value); } @@ -1835,9 +1819,8 @@ static char *ADDIU_GP_B_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_17_to_0(instruction); const char *rt = GPR(rt_value); - char *u = IMMEDIATE(u_value); - return img_format("ADDIU %s, $%d, %s", rt, 28, u); + return img_format("ADDIU %s, $%d, 0x%" PRIx64, rt, 28, u_value); } @@ -1856,9 +1839,8 @@ static char *ADDIU_GP_W_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_20_to_2__s2(instruction); const char *rt = GPR(rt_value); - char *u = IMMEDIATE(u_value); - return img_format("ADDIU %s, $%d, %s", rt, 28, u); + return img_format("ADDIU %s, $%d, 0x%" PRIx64, rt, 28, u_value); } @@ -1879,9 +1861,9 @@ static char *ADDIU_NEG_(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); const char *rs = GPR(rs_value); - char *u = IMMEDIATE(neg_copy(u_value)); + int64 u = neg_copy(u_value); - return img_format("ADDIU %s, %s, %s", rt, rs, u); + return img_format("ADDIU %s, %s, %" PRId64, rt, rs, u); } @@ -1900,9 +1882,8 @@ static char *ADDIU_R1_SP_(uint64 instruction, Dis_info *info) uint64 rt3_value = extract_rt3_9_8_7(instruction); const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); - char *u = IMMEDIATE(u_value); - return img_format("ADDIU %s, $%d, %s", rt3, 29, u); + return img_format("ADDIU %s, $%d, 0x%" PRIx64, rt3, 29, u_value); } @@ -1923,9 +1904,8 @@ static char *ADDIU_R2_(uint64 instruction, Dis_info *info) const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); const char *rs3 = GPR(decode_gpr_gpr3(rs3_value)); - char *u = IMMEDIATE(u_value); - return img_format("ADDIU %s, %s, %s", rt3, rs3, u); + return img_format("ADDIU %s, %s, 0x%" PRIx64, rt3, rs3, u_value); } @@ -1943,9 +1923,8 @@ static char *ADDIU_RS5_(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se3_4_2_1_0(instruction); const char *rt = GPR(rt_value); - char *s = IMMEDIATE(s_value); - return img_format("ADDIU %s, %s", rt, s); + return img_format("ADDIU %s, %" PRId64, rt, s_value); } @@ -2513,9 +2492,9 @@ static char *ANDI_16_(uint64 instruction, Dis_info *info) const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); const char *rs3 = GPR(decode_gpr_gpr3(rs3_value)); - char *eu = IMMEDIATE(encode_eu_from_u_andi16(eu_value)); + uint64 eu = encode_eu_from_u_andi16(eu_value); - return img_format("ANDI %s, %s, %s", rt3, rs3, eu); + return img_format("ANDI %s, %s, 0x%" PRIx64, rt3, rs3, eu); } @@ -2537,9 +2516,8 @@ static char *ANDI_32_(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); const char *rs = GPR(rs_value); - char *u = IMMEDIATE(u_value); - return img_format("ANDI %s, %s, %s", rt, rs, u); + return img_format("ANDI %s, %s, 0x%" PRIx64, rt, rs, u_value); } @@ -2561,9 +2539,8 @@ static char *APPEND(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); const char *rs = GPR(rs_value); - char *sa = IMMEDIATE(sa_value); - return img_format("APPEND %s, %s, %s", rt, rs, sa); + return img_format("APPEND %s, %s, 0x%" PRIx64, rt, rs, sa_value); } @@ -2583,11 +2560,10 @@ static char *ASET(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - char *bit = IMMEDIATE(bit_value); - char *s = IMMEDIATE(s_value); const char *rs = GPR(rs_value); - return img_format("ASET %s, %s(%s)", bit, s, rs); + return img_format("ASET 0x%" PRIx64 ", %" PRId64 "(%s)", + bit_value, s_value, rs); } @@ -2670,10 +2646,9 @@ static char *BBEQZC(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(instruction); const char *rt = GPR(rt_value); - char *bit = IMMEDIATE(bit_value); char *s = ADDRESS(s_value, 4, info); - return img_format("BBEQZC %s, %s, %s", rt, bit, s); + return img_format("BBEQZC %s, 0x%" PRIx64 ", %s", rt, bit_value, s); } @@ -2694,10 +2669,9 @@ static char *BBNEZC(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(instruction); const char *rt = GPR(rt_value); - char *bit = IMMEDIATE(bit_value); char *s = ADDRESS(s_value, 4, info); - return img_format("BBNEZC %s, %s, %s", rt, bit, s); + return img_format("BBNEZC %s, 0x%" PRIx64 ", %s", rt, bit_value, s); } @@ -2894,10 +2868,9 @@ static char *BEQIC(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(instruction); const char *rt = GPR(rt_value); - char *u = IMMEDIATE(u_value); char *s = ADDRESS(s_value, 4, info); - return img_format("BEQIC %s, %s, %s", rt, u, s); + return img_format("BEQIC %s, 0x%" PRIx64 ", %s", rt, u_value, s); } @@ -2964,10 +2937,9 @@ static char *BGEIC(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(instruction); const char *rt = GPR(rt_value); - char *u = IMMEDIATE(u_value); char *s = ADDRESS(s_value, 4, info); - return img_format("BGEIC %s, %s, %s", rt, u, s); + return img_format("BGEIC %s, 0x%" PRIx64 ", %s", rt, u_value, s); } @@ -2988,10 +2960,9 @@ static char *BGEIUC(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(instruction); const char *rt = GPR(rt_value); - char *u = IMMEDIATE(u_value); char *s = ADDRESS(s_value, 4, info); - return img_format("BGEIUC %s, %s, %s", rt, u, s); + return img_format("BGEIUC %s, 0x%" PRIx64 ", %s", rt, u_value, s); } @@ -3060,10 +3031,9 @@ static char *BLTIC(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(instruction); const char *rt = GPR(rt_value); - char *u = IMMEDIATE(u_value); char *s = ADDRESS(s_value, 4, info); - return img_format("BLTIC %s, %s, %s", rt, u, s); + return img_format("BLTIC %s, 0x%" PRIx64 ", %s", rt, u_value, s); } @@ -3084,10 +3054,9 @@ static char *BLTIUC(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(instruction); const char *rt = GPR(rt_value); - char *u = IMMEDIATE(u_value); char *s = ADDRESS(s_value, 4, info); - return img_format("BLTIUC %s, %s, %s", rt, u, s); + return img_format("BLTIUC %s, 0x%" PRIx64 ", %s", rt, u_value, s); } @@ -3180,10 +3149,9 @@ static char *BNEIC(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(instruction); const char *rt = GPR(rt_value); - char *u = IMMEDIATE(u_value); char *s = ADDRESS(s_value, 4, info); - return img_format("BNEIC %s, %s, %s", rt, u, s); + return img_format("BNEIC %s, 0x%" PRIx64 ", %s", rt, u_value, s); } @@ -3243,9 +3211,8 @@ static char *BREAK_16_(uint64 instruction, Dis_info *info) { uint64 code_value = extract_code_2_1_0(instruction); - char *code = IMMEDIATE(code_value); - return img_format("BREAK %s", code); + return img_format("BREAK 0x%" PRIx64, code_value); } @@ -3263,9 +3230,8 @@ static char *BREAK_32_(uint64 instruction, Dis_info *info) { uint64 code_value = extract_code_18_to_0(instruction); - char *code = IMMEDIATE(code_value); - return img_format("BREAK %s", code); + return img_format("BREAK 0x%" PRIx64, code_value); } @@ -3305,11 +3271,9 @@ static char *CACHE(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - char *op = IMMEDIATE(op_value); - char *s = IMMEDIATE(s_value); const char *rs = GPR(rs_value); - return img_format("CACHE %s, %s(%s)", op, s, rs); + return img_format("CACHE 0x%" PRIx64 ", %s(%s)", op_value, s_value, rs); } @@ -3329,11 +3293,9 @@ static char *CACHEE(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - char *op = IMMEDIATE(op_value); - char *s = IMMEDIATE(s_value); const char *rs = GPR(rs_value); - return img_format("CACHEE %s, %s(%s)", op, s, rs); + return img_format("CACHEE 0x%" PRIx64 ", %s(%s)", op_value, s_value, rs); } @@ -4906,9 +4868,8 @@ static char *COP2_1(uint64 instruction, Dis_info *info) { uint64 cofun_value = extract_cofun_25_24_23(instruction); - char *cofun = IMMEDIATE(cofun_value); - return img_format("COP2_1 %s", cofun); + return img_format("COP2_1 0x%" PRIx64, cofun_value); } @@ -5236,9 +5197,8 @@ static char *DADDIU_48_(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction); const char *rt = GPR(rt_value); - char *s = IMMEDIATE(s_value); - return img_format("DADDIU %s, %s", rt, s); + return img_format("DADDIU %s, %s", rt, s_value); } @@ -5260,9 +5220,9 @@ static char *DADDIU_NEG_(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); const char *rs = GPR(rs_value); - char *u = IMMEDIATE(neg_copy(u_value)); + int64 u = neg_copy(u_value); - return img_format("DADDIU %s, %s, %s", rt, rs, u); + return img_format("DADDIU %s, %s, %" PRId64, rt, rs, u); } @@ -5284,9 +5244,8 @@ static char *DADDIU_U12_(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); const char *rs = GPR(rs_value); - char *u = IMMEDIATE(u_value); - return img_format("DADDIU %s, %s, %s", rt, rs, u); + return img_format("DADDIU %s, %s, 0x%" PRIx64, rt, rs, u_value); } @@ -5467,10 +5426,10 @@ static char *DEXTM(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); const char *rs = GPR(rs_value); - char *lsb = IMMEDIATE(lsb_value); - char *msbd = IMMEDIATE(encode_msbd_from_size(msbd_value)); + uint64 msbd = encode_msbd_from_size(msbd_value); - return img_format("DEXTM %s, %s, %s, %s", rt, rs, lsb, msbd); + return img_format("DEXTM %s, %s, 0x%" PRIx64 ", 0x%" PRIx64, + rt, rs, lsb_value, msbd); } @@ -5493,10 +5452,10 @@ static char *DEXT(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); const char *rs = GPR(rs_value); - char *lsb = IMMEDIATE(lsb_value); - char *msbd = IMMEDIATE(encode_msbd_from_size(msbd_value)); + uint64 msbd = encode_msbd_from_size(msbd_value); - return img_format("DEXT %s, %s, %s, %s", rt, rs, lsb, msbd); + return img_format("DEXT %s, %s, 0x%" PRIx64 ", 0x%" PRIx64, + rt, rs, lsb_value, msbd); } @@ -5519,10 +5478,10 @@ static char *DEXTU(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); const char *rs = GPR(rs_value); - char *lsb = IMMEDIATE(lsb_value); - char *msbd = IMMEDIATE(encode_msbd_from_size(msbd_value)); + uint64 msbd = encode_msbd_from_size(msbd_value); - return img_format("DEXTU %s, %s, %s, %s", rt, rs, lsb, msbd); + return img_format("DEXTU %s, %s, 0x%" PRIx64 ", 0x%" PRIx64, + rt, rs, lsb_value, msbd); } @@ -5545,11 +5504,10 @@ static char *DINSM(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); const char *rs = GPR(rs_value); - char *pos = IMMEDIATE(lsb_value); - char *size = IMMEDIATE(msbd_value); /* !!!!!!!!!! - no conversion function */ - return img_format("DINSM %s, %s, %s, %s", rt, rs, pos, size); + return img_format("DINSM %s, %s, 0x%" PRIx64 ", 0x%" PRIx64, + rt, rs, lsb_value, msbd_value); /* hand edited */ } @@ -5573,11 +5531,10 @@ static char *DINS(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); const char *rs = GPR(rs_value); - char *pos = IMMEDIATE(lsb_value); - char *size = IMMEDIATE(msbd_value); /* !!!!!!!!!! - no conversion function */ - return img_format("DINS %s, %s, %s, %s", rt, rs, pos, size); + return img_format("DINS %s, %s, 0x%" PRIx64 ", 0x%" PRIx64, + rt, rs, lsb_value, msbd_value); /* hand edited */ } @@ -5601,11 +5558,10 @@ static char *DINSU(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); const char *rs = GPR(rs_value); - char *pos = IMMEDIATE(lsb_value); - char *size = IMMEDIATE(msbd_value); /* !!!!!!!!!! - no conversion function */ - return img_format("DINSU %s, %s, %s, %s", rt, rs, pos, size); + return img_format("DINSU %s, %s, 0x%" PRIx64 ", 0x%" PRIx64, + rt, rs, lsb_value, msbd_value); /* hand edited */ } @@ -5746,9 +5702,8 @@ static char *DLSA(uint64 instruction, Dis_info *info) const char *rd = GPR(rd_value); const char *rs = GPR(rs_value); const char *rt = GPR(rt_value); - char *u2 = IMMEDIATE(u2_value); - return img_format("DLSA %s, %s, %s, %s", rd, rs, rt, u2); + return img_format("DLSA %s, %s, %s, 0x%" PRIx64, rd, rs, rt, u2_value); } @@ -5768,9 +5723,8 @@ static char *DLUI_48_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_31_to_0__s32(instruction); const char *rt = GPR(rt_value); - char *u = IMMEDIATE(u_value); - return img_format("DLUI %s, %s", rt, u); + return img_format("DLUI %s, 0x%" PRIx64, rt, u_value); } @@ -5792,9 +5746,8 @@ static char *DMFC0(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); char *c0s = CPR(c0s_value); - char *sel = IMMEDIATE(sel_value); - return img_format("DMFC0 %s, %s, %s", rt, c0s, sel); + return img_format("DMFC0 %s, %s, 0x%" PRIx64, rt, c0s, sel_value); } @@ -5860,9 +5813,8 @@ static char *DMFGC0(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); char *c0s = CPR(c0s_value); - char *sel = IMMEDIATE(sel_value); - return img_format("DMFGC0 %s, %s, %s", rt, c0s, sel); + return img_format("DMFGC0 %s, %s, 0x%" PRIx64, rt, c0s, sel_value); } @@ -5932,9 +5884,8 @@ static char *DMTC0(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); char *c0s = CPR(c0s_value); - char *sel = IMMEDIATE(sel_value); - return img_format("DMTC0 %s, %s, %s", rt, c0s, sel); + return img_format("DMTC0 %s, %s, 0x%" PRIx64, rt, c0s, sel_value); } @@ -6000,9 +5951,8 @@ static char *DMTGC0(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); char *c0s = CPR(c0s_value); - char *sel = IMMEDIATE(sel_value); - return img_format("DMTGC0 %s, %s, %s", rt, c0s, sel); + return img_format("DMTGC0 %s, %s, 0x%" PRIx64, rt, c0s, sel_value); } @@ -6525,9 +6475,8 @@ static char *DROTR(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); const char *rs = GPR(rs_value); - char *shift = IMMEDIATE(shift_value); - return img_format("DROTR %s, %s, %s", rt, rs, shift); + return img_format("DROTR %s, %s, 0x%" PRIx64, rt, rs, shift_value); } @@ -6549,9 +6498,8 @@ static char *DROTR32(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); const char *rs = GPR(rs_value); - char *shift = IMMEDIATE(shift_value); - return img_format("DROTR32 %s, %s, %s", rt, rs, shift); + return img_format("DROTR32 %s, %s, 0x%" PRIx64, rt, rs, shift_value); } @@ -6598,10 +6546,9 @@ static char *DROTX(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); const char *rs = GPR(rs_value); - char *shift = IMMEDIATE(shift_value); - char *shiftx = IMMEDIATE(shiftx_value); - return img_format("DROTX %s, %s, %s, %s", rt, rs, shift, shiftx); + return img_format("DROTX %s, %s, 0x%" PRIx64 ", 0x%" PRIx64, + rt, rs, shift_value, shiftx_value); } @@ -6623,9 +6570,8 @@ static char *DSLL(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); const char *rs = GPR(rs_value); - char *shift = IMMEDIATE(shift_value); - return img_format("DSLL %s, %s, %s", rt, rs, shift); + return img_format("DSLL %s, %s, 0x%" PRIx64, rt, rs, shift_value); } @@ -6647,9 +6593,8 @@ static char *DSLL32(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); const char *rs = GPR(rs_value); - char *shift = IMMEDIATE(shift_value); - return img_format("DSLL32 %s, %s, %s", rt, rs, shift); + return img_format("DSLL32 %s, %s, 0x%" PRIx64, rt, rs, shift_value); } @@ -6695,9 +6640,8 @@ static char *DSRA(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); const char *rs = GPR(rs_value); - char *shift = IMMEDIATE(shift_value); - return img_format("DSRA %s, %s, %s", rt, rs, shift); + return img_format("DSRA %s, %s, 0x%" PRIx64, rt, rs, shift_value); } @@ -6719,9 +6663,8 @@ static char *DSRA32(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); const char *rs = GPR(rs_value); - char *shift = IMMEDIATE(shift_value); - return img_format("DSRA32 %s, %s, %s", rt, rs, shift); + return img_format("DSRA32 %s, %s, 0x%" PRIx64, rt, rs, shift_value); } @@ -6767,9 +6710,8 @@ static char *DSRL(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); const char *rs = GPR(rs_value); - char *shift = IMMEDIATE(shift_value); - return img_format("DSRL %s, %s, %s", rt, rs, shift); + return img_format("DSRL %s, %s, 0x%" PRIx64, rt, rs, shift_value); } @@ -6791,9 +6733,8 @@ static char *DSRL32(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); const char *rs = GPR(rs_value); - char *shift = IMMEDIATE(shift_value); - return img_format("DSRL32 %s, %s, %s", rt, rs, shift); + return img_format("DSRL32 %s, %s, 0x%" PRIx64, rt, rs, shift_value); } @@ -7062,10 +7003,10 @@ static char *EXT(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); const char *rs = GPR(rs_value); - char *lsb = IMMEDIATE(lsb_value); - char *msbd = IMMEDIATE(encode_msbd_from_size(msbd_value)); + uint64 msbd = encode_msbd_from_size(msbd_value); - return img_format("EXT %s, %s, %s, %s", rt, rs, lsb, msbd); + return img_format("EXT %s, %s, 0x%" PRIx64 ", 0x%" PRIx64, + rt, rs, lsb_value, msbd); } @@ -7089,9 +7030,8 @@ static char *EXTD(uint64 instruction, Dis_info *info) const char *rd = GPR(rd_value); const char *rs = GPR(rs_value); const char *rt = GPR(rt_value); - char *shift = IMMEDIATE(shift_value); - return img_format("EXTD %s, %s, %s, %s", rd, rs, rt, shift); + return img_format("EXTD %s, %s, %s, 0x%" PRIx64, rd, rs, rt, shift_value); } @@ -7115,9 +7055,8 @@ static char *EXTD32(uint64 instruction, Dis_info *info) const char *rd = GPR(rd_value); const char *rs = GPR(rs_value); const char *rt = GPR(rt_value); - char *shift = IMMEDIATE(shift_value); - return img_format("EXTD32 %s, %s, %s, %s", rd, rs, rt, shift); + return img_format("EXTD32 %s, %s, %s, 0x%" PRIx64, rd, rs, rt, shift_value); } @@ -7139,9 +7078,8 @@ static char *EXTPDP(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); const char *ac = AC(ac_value); - char *size = IMMEDIATE(size_value); - return img_format("EXTPDP %s, %s, %s", rt, ac, size); + return img_format("EXTPDP %s, %s, 0x%" PRIx64, rt, ac, size_value); } @@ -7187,9 +7125,8 @@ static char *EXTP(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); const char *ac = AC(ac_value); - char *size = IMMEDIATE(size_value); - return img_format("EXTP %s, %s, %s", rt, ac, size); + return img_format("EXTP %s, %s, 0x%" PRIx64, rt, ac, size_value); } @@ -7236,9 +7173,8 @@ static char *EXTR_RS_W(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); const char *ac = AC(ac_value); - char *shift = IMMEDIATE(shift_value); - return img_format("EXTR_RS.W %s, %s, %s", rt, ac, shift); + return img_format("EXTR_RS.W %s, %s, 0x%" PRIx64, rt, ac, shift_value); } @@ -7261,9 +7197,8 @@ static char *EXTR_R_W(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); const char *ac = AC(ac_value); - char *shift = IMMEDIATE(shift_value); - return img_format("EXTR_R.W %s, %s, %s", rt, ac, shift); + return img_format("EXTR_R.W %s, %s, 0x%" PRIx64, rt, ac, shift_value); } @@ -7286,9 +7221,8 @@ static char *EXTR_S_H(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); const char *ac = AC(ac_value); - char *shift = IMMEDIATE(shift_value); - return img_format("EXTR_S.H %s, %s, %s", rt, ac, shift); + return img_format("EXTR_S.H %s, %s, 0x%" PRIx64, rt, ac, shift_value); } @@ -7311,9 +7245,8 @@ static char *EXTR_W(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); const char *ac = AC(ac_value); - char *shift = IMMEDIATE(shift_value); - return img_format("EXTR.W %s, %s, %s", rt, ac, shift); + return img_format("EXTR.W %s, %s, 0x%" PRIx64, rt, ac, shift_value); } @@ -7438,9 +7371,8 @@ static char *EXTW(uint64 instruction, Dis_info *info) const char *rd = GPR(rd_value); const char *rs = GPR(rs_value); const char *rt = GPR(rt_value); - char *shift = IMMEDIATE(shift_value); - return img_format("EXTW %s, %s, %s, %s", rd, rs, rt, shift); + return img_format("EXTW %s, %s, %s, 0x%" PRIx64, rd, rs, rt, shift_value); } @@ -7570,9 +7502,8 @@ static char *HYPCALL(uint64 instruction, Dis_info *info) { uint64 code_value = extract_code_17_to_0(instruction); - char *code = IMMEDIATE(code_value); - return img_format("HYPCALL %s", code); + return img_format("HYPCALL 0x%" PRIx64, code_value); } @@ -7590,9 +7521,8 @@ static char *HYPCALL_16_(uint64 instruction, Dis_info *info) { uint64 code_value = extract_code_1_0(instruction); - char *code = IMMEDIATE(code_value); - return img_format("HYPCALL %s", code); + return img_format("HYPCALL 0x%" PRIx64, code_value); } @@ -7615,11 +7545,10 @@ static char *INS(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); const char *rs = GPR(rs_value); - char *pos = IMMEDIATE(lsb_value); - char *size = IMMEDIATE(msbd_value); /* !!!!!!!!!! - no conversion function */ - return img_format("INS %s, %s, %s, %s", rt, rs, pos, size); + return img_format("INS %s, %s, 0x%" PRIx64 ", 0x%" PRIx64, + rt, rs, lsb_value, msbd_value); /* hand edited */ } @@ -7764,10 +7693,9 @@ static char *LB_16_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_1_0(instruction); const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); - char *u = IMMEDIATE(u_value); const char *rs3 = GPR(decode_gpr_gpr3(rs3_value)); - return img_format("LB %s, %s(%s)", rt3, u, rs3); + return img_format("LB %s, 0x%" PRIx64 "(%s)", rt3, u_value, rs3); } @@ -7787,9 +7715,8 @@ static char *LB_GP_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_17_to_0(instruction); const char *rt = GPR(rt_value); - char *u = IMMEDIATE(u_value); - return img_format("LB %s, %s($%d)", rt, u, 28); + return img_format("LB %s, 0x%" PRIx64 "($%d)", rt, u_value, 28); } @@ -7810,10 +7737,9 @@ static char *LB_S9_(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); const char *rt = GPR(rt_value); - char *s = IMMEDIATE(s_value); const char *rs = GPR(rs_value); - return img_format("LB %s, %s(%s)", rt, s, rs); + return img_format("LB %s, %" PRId64 "(%s)", rt, s_value, rs); } @@ -7834,10 +7760,9 @@ static char *LB_U12_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); const char *rt = GPR(rt_value); - char *u = IMMEDIATE(u_value); const char *rs = GPR(rs_value); - return img_format("LB %s, %s(%s)", rt, u, rs); + return img_format("LB %s, 0x%" PRIx64 "(%s)", rt, u_value, rs); } @@ -7858,10 +7783,9 @@ static char *LBE(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); const char *rt = GPR(rt_value); - char *s = IMMEDIATE(s_value); const char *rs = GPR(rs_value); - return img_format("LBE %s, %s(%s)", rt, s, rs); + return img_format("LBE %s, %" PRId64 "(%s)", rt, s_value, rs); } @@ -7882,10 +7806,9 @@ static char *LBU_16_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_1_0(instruction); const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); - char *u = IMMEDIATE(u_value); const char *rs3 = GPR(decode_gpr_gpr3(rs3_value)); - return img_format("LBU %s, %s(%s)", rt3, u, rs3); + return img_format("LBU %s, 0x%" PRIx64 "(%s)", rt3, u_value, rs3); } @@ -7905,9 +7828,8 @@ static char *LBU_GP_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_17_to_0(instruction); const char *rt = GPR(rt_value); - char *u = IMMEDIATE(u_value); - return img_format("LBU %s, %s($%d)", rt, u, 28); + return img_format("LBU %s, 0x%" PRIx64 "($%d)", rt, u_value, 28); } @@ -7928,10 +7850,9 @@ static char *LBU_S9_(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); const char *rt = GPR(rt_value); - char *s = IMMEDIATE(s_value); const char *rs = GPR(rs_value); - return img_format("LBU %s, %s(%s)", rt, s, rs); + return img_format("LBU %s, %" PRId64 "(%s)", rt, s_value, rs); } @@ -7952,10 +7873,9 @@ static char *LBU_U12_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); const char *rt = GPR(rt_value); - char *u = IMMEDIATE(u_value); const char *rs = GPR(rs_value); - return img_format("LBU %s, %s(%s)", rt, u, rs); + return img_format("LBU %s, 0x%" PRIx64 "(%s)", rt, u_value, rs); } @@ -7976,10 +7896,9 @@ static char *LBUE(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); const char *rt = GPR(rt_value); - char *s = IMMEDIATE(s_value); const char *rs = GPR(rs_value); - return img_format("LBUE %s, %s(%s)", rt, s, rs); + return img_format("LBUE %s, %" PRId64 "(%s)", rt, s_value, rs); } @@ -8047,9 +7966,8 @@ static char *LD_GP_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_20_to_3__s3(instruction); const char *rt = GPR(rt_value); - char *u = IMMEDIATE(u_value); - return img_format("LD %s, %s($%d)", rt, u, 28); + return img_format("LD %s, 0x%" PRIx64 "($%d)", rt, u_value, 28); } @@ -8070,10 +7988,9 @@ static char *LD_S9_(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); const char *rt = GPR(rt_value); - char *s = IMMEDIATE(s_value); const char *rs = GPR(rs_value); - return img_format("LD %s, %s(%s)", rt, s, rs); + return img_format("LD %s, %" PRId64 "(%s)", rt, s_value, rs); } @@ -8094,10 +8011,9 @@ static char *LD_U12_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); const char *rt = GPR(rt_value); - char *u = IMMEDIATE(u_value); const char *rs = GPR(rs_value); - return img_format("LD %s, %s(%s)", rt, u, rs); + return img_format("LD %s, 0x%" PRIx64 "(%s)", rt, u_value, rs); } @@ -8117,9 +8033,8 @@ static char *LDC1_GP_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_17_to_2__s2(instruction); const char *ft = FPR(ft_value); - char *u = IMMEDIATE(u_value); - return img_format("LDC1 %s, %s($%d)", ft, u, 28); + return img_format("LDC1 %s, 0x%" PRIx64 "($%d)", ft, u_value, 28); } @@ -8140,10 +8055,9 @@ static char *LDC1_S9_(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); const char *ft = FPR(ft_value); - char *s = IMMEDIATE(s_value); const char *rs = GPR(rs_value); - return img_format("LDC1 %s, %s(%s)", ft, s, rs); + return img_format("LDC1 %s, %" PRId64 "(%s)", ft, s_value, rs); } @@ -8164,10 +8078,9 @@ static char *LDC1_U12_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); const char *ft = FPR(ft_value); - char *u = IMMEDIATE(u_value); const char *rs = GPR(rs_value); - return img_format("LDC1 %s, %s(%s)", ft, u, rs); + return img_format("LDC1 %s, 0x%" PRIx64 "(%s)", ft, u_value, rs); } @@ -8236,10 +8149,9 @@ static char *LDC2(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); char *ct = CPR(ct_value); - char *s = IMMEDIATE(s_value); const char *rs = GPR(rs_value); - return img_format("LDC2 %s, %s(%s)", ct, s, rs); + return img_format("LDC2 %s, %" PRId64 "(%s)", ct, s_value, rs); } @@ -8261,11 +8173,11 @@ static char *LDM(uint64 instruction, Dis_info *info) uint64 count3_value = extract_count3_14_13_12(instruction); const char *rt = GPR(rt_value); - char *s = IMMEDIATE(s_value); const char *rs = GPR(rs_value); - char *count3 = IMMEDIATE(encode_count3_from_count(count3_value)); + uint64 count3 = encode_count3_from_count(count3_value); - return img_format("LDM %s, %s(%s), %s", rt, s, rs, count3); + return img_format("LDM %s, %" PRId64 "(%s), 0x%" PRIx64, + rt, s_value, rs, count3); } @@ -8356,10 +8268,9 @@ static char *LH_16_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_2_1__s1(instruction); const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); - char *u = IMMEDIATE(u_value); const char *rs3 = GPR(decode_gpr_gpr3(rs3_value)); - return img_format("LH %s, %s(%s)", rt3, u, rs3); + return img_format("LH %s, 0x%" PRIx64 "(%s)", rt3, u_value, rs3); } @@ -8379,9 +8290,8 @@ static char *LH_GP_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_17_to_1__s1(instruction); const char *rt = GPR(rt_value); - char *u = IMMEDIATE(u_value); - return img_format("LH %s, %s($%d)", rt, u, 28); + return img_format("LH %s, 0x%" PRIx64 "($%d)", rt, u_value, 28); } @@ -8402,10 +8312,9 @@ static char *LH_S9_(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); const char *rt = GPR(rt_value); - char *s = IMMEDIATE(s_value); const char *rs = GPR(rs_value); - return img_format("LH %s, %s(%s)", rt, s, rs); + return img_format("LH %s, %" PRId64 "(%s)", rt, s_value, rs); } @@ -8426,10 +8335,9 @@ static char *LH_U12_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); const char *rt = GPR(rt_value); - char *u = IMMEDIATE(u_value); const char *rs = GPR(rs_value); - return img_format("LH %s, %s(%s)", rt, u, rs); + return img_format("LH %s, 0x%" PRIx64 "(%s)", rt, u_value, rs); } @@ -8450,10 +8358,9 @@ static char *LHE(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); const char *rt = GPR(rt_value); - char *s = IMMEDIATE(s_value); const char *rs = GPR(rs_value); - return img_format("LHE %s, %s(%s)", rt, s, rs); + return img_format("LHE %s, %" PRId64 "(%s)", rt, s_value, rs); } @@ -8474,10 +8381,9 @@ static char *LHU_16_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_2_1__s1(instruction); const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); - char *u = IMMEDIATE(u_value); const char *rs3 = GPR(decode_gpr_gpr3(rs3_value)); - return img_format("LHU %s, %s(%s)", rt3, u, rs3); + return img_format("LHU %s, 0x%" PRIx64 "(%s)", rt3, u_value, rs3); } @@ -8497,9 +8403,8 @@ static char *LHU_GP_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_17_to_1__s1(instruction); const char *rt = GPR(rt_value); - char *u = IMMEDIATE(u_value); - return img_format("LHU %s, %s($%d)", rt, u, 28); + return img_format("LHU %s, 0x%" PRIx64 "($%d)", rt, u_value, 28); } @@ -8520,10 +8425,9 @@ static char *LHU_S9_(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); const char *rt = GPR(rt_value); - char *s = IMMEDIATE(s_value); const char *rs = GPR(rs_value); - return img_format("LHU %s, %s(%s)", rt, s, rs); + return img_format("LHU %s, %" PRId64 "(%s)", rt, s_value, rs); } @@ -8544,10 +8448,9 @@ static char *LHU_U12_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); const char *rt = GPR(rt_value); - char *u = IMMEDIATE(u_value); const char *rs = GPR(rs_value); - return img_format("LHU %s, %s(%s)", rt, u, rs); + return img_format("LHU %s, 0x%" PRIx64 "(%s)", rt, u_value, rs); } @@ -8568,10 +8471,9 @@ static char *LHUE(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); const char *rt = GPR(rt_value); - char *s = IMMEDIATE(s_value); const char *rs = GPR(rs_value); - return img_format("LHUE %s, %s(%s)", rt, s, rs); + return img_format("LHUE %s, %" PRId64 "(%s)", rt, s_value, rs); } @@ -8687,9 +8589,9 @@ static char *LI_16_(uint64 instruction, Dis_info *info) uint64 eu_value = extract_eu_6_5_4_3_2_1_0(instruction); const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); - char *eu = IMMEDIATE(encode_eu_from_s_li16(eu_value)); + int64 eu = encode_eu_from_s_li16(eu_value); - return img_format("LI %s, %s", rt3, eu); + return img_format("LI %s, %" PRId64, rt3, eu); } @@ -8709,9 +8611,8 @@ static char *LI_48_(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction); const char *rt = GPR(rt_value); - char *s = IMMEDIATE(s_value); - return img_format("LI %s, %s", rt, s); + return img_format("LI %s, %" PRId64, rt, s_value); } @@ -8732,10 +8633,9 @@ static char *LL(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se8_15_7_6_5_4_3_2_s2(instruction); const char *rt = GPR(rt_value); - char *s = IMMEDIATE(s_value); const char *rs = GPR(rs_value); - return img_format("LL %s, %s(%s)", rt, s, rs); + return img_format("LL %s, %" PRId64 "(%s)", rt, s_value, rs); } @@ -8756,10 +8656,9 @@ static char *LLD(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se8_15_7_6_5_4_3_s3(instruction); const char *rt = GPR(rt_value); - char *s = IMMEDIATE(s_value); const char *rs = GPR(rs_value); - return img_format("LLD %s, %s(%s)", rt, s, rs); + return img_format("LLD %s, %" PRId64 "(%s)", rt, s_value, rs); } @@ -8804,10 +8703,9 @@ static char *LLE(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se8_15_7_6_5_4_3_2_s2(instruction); const char *rt = GPR(rt_value); - char *s = IMMEDIATE(s_value); const char *rs = GPR(rs_value); - return img_format("LLE %s, %s(%s)", rt, s, rs); + return img_format("LLE %s, %" PRId64 "(%s)", rt, s_value, rs); } @@ -8879,9 +8777,8 @@ static char *LSA(uint64 instruction, Dis_info *info) const char *rd = GPR(rd_value); const char *rs = GPR(rs_value); const char *rt = GPR(rt_value); - char *u2 = IMMEDIATE(u2_value); - return img_format("LSA %s, %s, %s, %s", rd, rs, rt, u2); + return img_format("LSA %s, %s, %s, 0x%" PRIx64, rd, rs, rt, u2_value); } @@ -8901,9 +8798,8 @@ static char *LUI(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se31_0_11_to_2_20_to_12_s12(instruction); const char *rt = GPR(rt_value); - char *s = IMMEDIATE(s_value); - return img_format("LUI %s, %%hi(%s)", rt, s); + return img_format("LUI %s, %%hi(%" PRId64 ")", rt, s_value); } @@ -8924,10 +8820,9 @@ static char *LW_16_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_3_2_1_0__s2(instruction); const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); - char *u = IMMEDIATE(u_value); const char *rs3 = GPR(decode_gpr_gpr3(rs3_value)); - return img_format("LW %s, %s(%s)", rt3, u, rs3); + return img_format("LW %s, 0x%" PRIx64 "(%s)", rt3, u_value, rs3); } @@ -8948,10 +8843,9 @@ static char *LW_4X4_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_3_8__s2(instruction); const char *rt4 = GPR(decode_gpr_gpr4(rt4_value)); - char *u = IMMEDIATE(u_value); const char *rs4 = GPR(decode_gpr_gpr4(rs4_value)); - return img_format("LW %s, %s(%s)", rt4, u, rs4); + return img_format("LW %s, 0x%" PRIx64 "(%s)", rt4, u_value, rs4); } @@ -8971,9 +8865,8 @@ static char *LW_GP_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_20_to_2__s2(instruction); const char *rt = GPR(rt_value); - char *u = IMMEDIATE(u_value); - return img_format("LW %s, %s($%d)", rt, u, 28); + return img_format("LW %s, 0x%" PRIx64 "($%d)", rt, u_value, 28); } @@ -8993,9 +8886,8 @@ static char *LW_GP16_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_6_5_4_3_2_1_0__s2(instruction); const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); - char *u = IMMEDIATE(u_value); - return img_format("LW %s, %s($%d)", rt3, u, 28); + return img_format("LW %s, 0x%" PRIx64 "($%d)", rt3, u_value, 28); } @@ -9016,10 +8908,9 @@ static char *LW_S9_(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); const char *rt = GPR(rt_value); - char *s = IMMEDIATE(s_value); const char *rs = GPR(rs_value); - return img_format("LW %s, %s(%s)", rt, s, rs); + return img_format("LW %s, %" PRId64 "(%s)", rt, s_value, rs); } @@ -9039,9 +8930,8 @@ static char *LW_SP_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_4_3_2_1_0__s2(instruction); const char *rt = GPR(rt_value); - char *u = IMMEDIATE(u_value); - return img_format("LW %s, %s($%d)", rt, u, 29); + return img_format("LW %s, 0x%" PRIx64 "($%d)", rt, u_value, 29); } @@ -9062,10 +8952,9 @@ static char *LW_U12_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); const char *rt = GPR(rt_value); - char *u = IMMEDIATE(u_value); const char *rs = GPR(rs_value); - return img_format("LW %s, %s(%s)", rt, u, rs); + return img_format("LW %s, 0x%" PRIx64 "(%s)", rt, u_value, rs); } @@ -9085,9 +8974,8 @@ static char *LWC1_GP_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_17_to_2__s2(instruction); const char *ft = FPR(ft_value); - char *u = IMMEDIATE(u_value); - return img_format("LWC1 %s, %s($%d)", ft, u, 28); + return img_format("LWC1 %s, 0x%" PRIx64 "($%d)", ft, u_value, 28); } @@ -9108,10 +8996,9 @@ static char *LWC1_S9_(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); const char *ft = FPR(ft_value); - char *s = IMMEDIATE(s_value); const char *rs = GPR(rs_value); - return img_format("LWC1 %s, %s(%s)", ft, s, rs); + return img_format("LWC1 %s, %" PRId64 "(%s)", ft, s_value, rs); } @@ -9132,10 +9019,9 @@ static char *LWC1_U12_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); const char *ft = FPR(ft_value); - char *u = IMMEDIATE(u_value); const char *rs = GPR(rs_value); - return img_format("LWC1 %s, %s(%s)", ft, u, rs); + return img_format("LWC1 %s, 0x%" PRIx64 "(%s)", ft, u_value, rs); } @@ -9204,10 +9090,9 @@ static char *LWC2(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); char *ct = CPR(ct_value); - char *s = IMMEDIATE(s_value); const char *rs = GPR(rs_value); - return img_format("LWC2 %s, %s(%s)", ct, s, rs); + return img_format("LWC2 %s, %" PRId64 "(%s)", ct, s_value, rs); } @@ -9228,10 +9113,9 @@ static char *LWE(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); const char *rt = GPR(rt_value); - char *s = IMMEDIATE(s_value); const char *rs = GPR(rs_value); - return img_format("LWE %s, %s(%s)", rt, s, rs); + return img_format("LWE %s, %" PRId64 "(%s)", rt, s_value, rs); } @@ -9253,11 +9137,11 @@ static char *LWM(uint64 instruction, Dis_info *info) uint64 count3_value = extract_count3_14_13_12(instruction); const char *rt = GPR(rt_value); - char *s = IMMEDIATE(s_value); const char *rs = GPR(rs_value); - char *count3 = IMMEDIATE(encode_count3_from_count(count3_value)); + uint64 count3 = encode_count3_from_count(count3_value); - return img_format("LWM %s, %s(%s), %s", rt, s, rs, count3); + return img_format("LWM %s, %" PRId64 "(%s), 0x%" PRIx64, + rt, s_value, rs, count3); } @@ -9299,9 +9183,8 @@ static char *LWU_GP_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_17_to_2__s2(instruction); const char *rt = GPR(rt_value); - char *u = IMMEDIATE(u_value); - return img_format("LWU %s, %s($%d)", rt, u, 28); + return img_format("LWU %s, 0x%" PRIx64 "($%d)", rt, u_value, 28); } @@ -9322,10 +9205,9 @@ static char *LWU_S9_(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); const char *rt = GPR(rt_value); - char *s = IMMEDIATE(s_value); const char *rs = GPR(rs_value); - return img_format("LWU %s, %s(%s)", rt, s, rs); + return img_format("LWU %s, %" PRId64 "(%s)", rt, s_value, rs); } @@ -9346,10 +9228,9 @@ static char *LWU_U12_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); const char *rt = GPR(rt_value); - char *u = IMMEDIATE(u_value); const char *rs = GPR(rs_value); - return img_format("LWU %s, %s(%s)", rt, u, rs); + return img_format("LWU %s, 0x%" PRIx64 "(%s)", rt, u_value, rs); } @@ -9443,9 +9324,9 @@ static char *LWXS_16_(uint64 instruction, Dis_info *info) const char *rd3 = GPR(decode_gpr_gpr3(rd3_value)); const char *rs3 = GPR(decode_gpr_gpr3(rs3_value)); - char *rt3 = IMMEDIATE(decode_gpr_gpr3(rt3_value)); + uint64 rt3 = decode_gpr_gpr3(rt3_value); - return img_format("LWXS %s, %s(%s)", rd3, rs3, rt3); + return img_format("LWXS %s, %s(0x%" PRIx64 ")", rd3, rs3, rt3); } @@ -9785,9 +9666,8 @@ static char *MFC0(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); char *c0s = CPR(c0s_value); - char *sel = IMMEDIATE(sel_value); - return img_format("MFC0 %s, %s, %s", rt, c0s, sel); + return img_format("MFC0 %s, %s, 0x%" PRIx64, rt, c0s, sel_value); } @@ -9853,9 +9733,8 @@ static char *MFGC0(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); char *c0s = CPR(c0s_value); - char *sel = IMMEDIATE(sel_value); - return img_format("MFGC0 %s, %s, %s", rt, c0s, sel); + return img_format("MFGC0 %s, %s, 0x%" PRIx64, rt, c0s, sel_value); } @@ -9877,9 +9756,8 @@ static char *MFHC0(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); char *c0s = CPR(c0s_value); - char *sel = IMMEDIATE(sel_value); - return img_format("MFHC0 %s, %s, %s", rt, c0s, sel); + return img_format("MFHC0 %s, %s, 0x%" PRIx64, rt, c0s, sel_value); } @@ -9945,9 +9823,8 @@ static char *MFHGC0(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); char *c0s = CPR(c0s_value); - char *sel = IMMEDIATE(sel_value); - return img_format("MFHGC0 %s, %s, %s", rt, c0s, sel); + return img_format("MFHGC0 %s, %s, 0x%" PRIx64, rt, c0s, sel_value); } @@ -9990,11 +9867,9 @@ static char *MFHTR(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_10(instruction); const char *rt = GPR(rt_value); - char *c0s = IMMEDIATE(c0s_value); - char *u = IMMEDIATE(u_value); - char *sel = IMMEDIATE(sel_value); - return img_format("MFHTR %s, %s, %s, %s", rt, c0s, u, sel); + return img_format("MFHTR %s, 0x%" PRIx64 ", 0x%" PRIx64 ", 0x%" PRIx64, + rt, c0s_value, u_value, sel_value); } @@ -10037,11 +9912,9 @@ static char *MFTR(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_10(instruction); const char *rt = GPR(rt_value); - char *c0s = IMMEDIATE(c0s_value); - char *u = IMMEDIATE(u_value); - char *sel = IMMEDIATE(sel_value); - return img_format("MFTR %s, %s, %s, %s", rt, c0s, u, sel); + return img_format("MFTR %s, 0x%" PRIx64 ", 0x%" PRIx64 ", 0x%" PRIx64, + rt, c0s_value, u_value, sel_value); } @@ -10519,9 +10392,8 @@ static char *MTC0(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); char *c0s = CPR(c0s_value); - char *sel = IMMEDIATE(sel_value); - return img_format("MTC0 %s, %s, %s", rt, c0s, sel); + return img_format("MTC0 %s, %s, 0x%" PRIx64, rt, c0s, sel_value); } @@ -10587,9 +10459,8 @@ static char *MTGC0(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); char *c0s = CPR(c0s_value); - char *sel = IMMEDIATE(sel_value); - return img_format("MTGC0 %s, %s, %s", rt, c0s, sel); + return img_format("MTGC0 %s, %s, 0x%" PRIx64, rt, c0s, sel_value); } @@ -10611,9 +10482,8 @@ static char *MTHC0(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); char *c0s = CPR(c0s_value); - char *sel = IMMEDIATE(sel_value); - return img_format("MTHC0 %s, %s, %s", rt, c0s, sel); + return img_format("MTHC0 %s, %s, 0x%" PRIx64, rt, c0s, sel_value); } @@ -10679,9 +10549,8 @@ static char *MTHGC0(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); char *c0s = CPR(c0s_value); - char *sel = IMMEDIATE(sel_value); - return img_format("MTHGC0 %s, %s, %s", rt, c0s, sel); + return img_format("MTHGC0 %s, %s, 0x%" PRIx64, rt, c0s, sel_value); } @@ -10745,11 +10614,9 @@ static char *MTHTR(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_10(instruction); const char *rt = GPR(rt_value); - char *c0s = IMMEDIATE(c0s_value); - char *u = IMMEDIATE(u_value); - char *sel = IMMEDIATE(sel_value); - return img_format("MTHTR %s, %s, %s, %s", rt, c0s, u, sel); + return img_format("MTHTR %s, 0x%" PRIx64 ", 0x%" PRIx64 ", 0x%" PRIx64, + rt, c0s_value, u_value, sel_value); } @@ -10792,11 +10659,9 @@ static char *MTTR(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_10(instruction); const char *rt = GPR(rt_value); - char *c0s = IMMEDIATE(c0s_value); - char *u = IMMEDIATE(u_value); - char *sel = IMMEDIATE(sel_value); - return img_format("MTTR %s, %s, %s, %s", rt, c0s, u, sel); + return img_format("MTTR %s, 0x%" PRIx64 ", 0x%" PRIx64 ", 0x%" PRIx64, + rt, c0s_value, u_value, sel_value); } @@ -11504,9 +11369,8 @@ static char *ORI(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); const char *rs = GPR(rs_value); - char *u = IMMEDIATE(u_value); - return img_format("ORI %s, %s, %s", rt, rs, u); + return img_format("ORI %s, %s, 0x%" PRIx64, rt, rs, u_value); } @@ -11879,9 +11743,8 @@ static char *PRECR_SRA_PH_W(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); const char *rs = GPR(rs_value); - char *sa = IMMEDIATE(sa_value); - return img_format("PRECR_SRA.PH.W %s, %s, %s", rt, rs, sa); + return img_format("PRECR_SRA.PH.W %s, %s, 0x%" PRIx64, rt, rs, sa_value); } @@ -11904,9 +11767,8 @@ static char *PRECR_SRA_R_PH_W(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); const char *rs = GPR(rs_value); - char *sa = IMMEDIATE(sa_value); - return img_format("PRECR_SRA_R.PH.W %s, %s, %s", rt, rs, sa); + return img_format("PRECR_SRA_R.PH.W %s, %s, 0x%" PRIx64, rt, rs, sa_value); } @@ -12026,11 +11888,10 @@ static char *PREF_S9_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - char *hint = IMMEDIATE(hint_value); - char *s = IMMEDIATE(s_value); const char *rs = GPR(rs_value); - return img_format("PREF %s, %s(%s)", hint, s, rs); + return img_format("PREF 0x%" PRIx64 ", %s(%s)", + hint_value, s_value, rs); } @@ -12050,11 +11911,10 @@ static char *PREF_U12_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - char *hint = IMMEDIATE(hint_value); - char *u = IMMEDIATE(u_value); const char *rs = GPR(rs_value); - return img_format("PREF %s, %s(%s)", hint, u, rs); + return img_format("PREF 0x%" PRIx64 ", 0x%" PRIx64 "(%s)", + hint_value, u_value, rs); } @@ -12074,11 +11934,9 @@ static char *PREFE(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - char *hint = IMMEDIATE(hint_value); - char *s = IMMEDIATE(s_value); const char *rs = GPR(rs_value); - return img_format("PREFE %s, %s(%s)", hint, s, rs); + return img_format("PREFE 0x%" PRIx64 ", %s(%s)", hint_value, s_value, rs); } @@ -12100,9 +11958,8 @@ static char *PREPEND(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); const char *rs = GPR(rs_value); - char *sa = IMMEDIATE(sa_value); - return img_format("PREPEND %s, %s, %s", rt, rs, sa); + return img_format("PREPEND %s, %s, 0x%" PRIx64, rt, rs, sa_value); } @@ -12142,9 +11999,8 @@ static char *RDDSP(uint64 instruction, Dis_info *info) uint64 mask_value = extract_mask_20_19_18_17_16_15_14(instruction); const char *rt = GPR(rt_value); - char *mask = IMMEDIATE(mask_value); - return img_format("RDDSP %s, %s", rt, mask); + return img_format("RDDSP %s, 0x%" PRIx64, rt, mask_value); } @@ -12166,9 +12022,8 @@ static char *RDHWR(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); char *hs = CPR(hs_value); - char *sel = IMMEDIATE(sel_value); - return img_format("RDHWR %s, %s, %s", rt, hs, sel); + return img_format("RDHWR %s, %s, 0x%" PRIx64, rt, hs, sel_value); } @@ -12254,9 +12109,8 @@ static char *REPL_PH(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se9_20_19_18_17_16_15_14_13_12_11(instruction); const char *rt = GPR(rt_value); - char *s = IMMEDIATE(s_value); - return img_format("REPL.PH %s, %s", rt, s); + return img_format("REPL.PH %s, %s", rt, s_value); } @@ -12276,9 +12130,8 @@ static char *REPL_QB(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_20_19_18_17_16_15_14_13(instruction); const char *rt = GPR(rt_value); - char *u = IMMEDIATE(u_value); - return img_format("REPL.QB %s, %s", rt, u); + return img_format("REPL.QB %s, 0x%" PRIx64, rt, u_value); } @@ -12342,8 +12195,7 @@ static char *RESTORE_32_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3__s3(instruction); uint64 gp_value = extract_gp_2(instruction); - char *u = IMMEDIATE(u_value); - return img_format("RESTORE %s%s", u, + return img_format("RESTORE 0x%" PRIx64 "%s", u_value, save_restore_list(rt_value, count_value, gp_value)); } @@ -12364,8 +12216,7 @@ static char *RESTORE_JRC_16_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_7_6_5_4__s4(instruction); uint64 count_value = extract_count_3_2_1_0(instruction); - char *u = IMMEDIATE(u_value); - return img_format("RESTORE.JRC %s%s", u, + return img_format("RESTORE.JRC 0x%" PRIx64 "%s", u_value, save_restore_list(encode_rt1_from_rt(rt1_value), count_value, 0)); } @@ -12387,8 +12238,7 @@ static char *RESTORE_JRC_32_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3__s3(instruction); uint64 gp_value = extract_gp_2(instruction); - char *u = IMMEDIATE(u_value); - return img_format("RESTORE.JRC %s%s", u, + return img_format("RESTORE.JRC 0x%" PRIx64 "%s", u_value, save_restore_list(rt_value, count_value, gp_value)); } @@ -12408,10 +12258,8 @@ static char *RESTOREF(uint64 instruction, Dis_info *info) uint64 count_value = extract_count_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3__s3(instruction); - char *u = IMMEDIATE(u_value); - char *count = IMMEDIATE(count_value); - return img_format("RESTOREF %s, %s", u, count); + return img_format("RESTOREF 0x%" PRIx64 ", %s", u_value, count_value); } @@ -12477,9 +12325,8 @@ static char *ROTR(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); const char *rs = GPR(rs_value); - char *shift = IMMEDIATE(shift_value); - return img_format("ROTR %s, %s, %s", rt, rs, shift); + return img_format("ROTR %s, %s, 0x%" PRIx64, rt, rs, shift_value); } @@ -12527,12 +12374,9 @@ static char *ROTX(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); const char *rs = GPR(rs_value); - char *shift = IMMEDIATE(shift_value); - char *shiftx = IMMEDIATE(shiftx_value); - char *stripe = IMMEDIATE(stripe_value); - return img_format("ROTX %s, %s, %s, %s, %s", - rt, rs, shift, shiftx, stripe); + return img_format("ROTX %s, %s, 0x%" PRIx64 ", 0x%" PRIx64 ", 0x%" PRIx64, + rt, rs, shift_value, shiftx_value, stripe_value); } @@ -12684,8 +12528,7 @@ static char *SAVE_16_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_7_6_5_4__s4(instruction); uint64 count_value = extract_count_3_2_1_0(instruction); - char *u = IMMEDIATE(u_value); - return img_format("SAVE %s%s", u, + return img_format("SAVE 0x%" PRIx64 "%s", u_value, save_restore_list(encode_rt1_from_rt(rt1_value), count_value, 0)); } @@ -12707,8 +12550,7 @@ static char *SAVE_32_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3__s3(instruction); uint64 gp_value = extract_gp_2(instruction); - char *u = IMMEDIATE(u_value); - return img_format("SAVE %s%s", u, + return img_format("SAVE 0x%" PRIx64 "%s", u_value, save_restore_list(rt_value, count_value, gp_value)); } @@ -12728,10 +12570,8 @@ static char *SAVEF(uint64 instruction, Dis_info *info) uint64 count_value = extract_count_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3__s3(instruction); - char *u = IMMEDIATE(u_value); - char *count = IMMEDIATE(count_value); - return img_format("SAVEF %s, %s", u, count); + return img_format("SAVEF 0x%" PRIx64 ", 0x%" PRIx64, u_value, count_value); } @@ -12752,10 +12592,9 @@ static char *SB_16_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_1_0(instruction); const char *rtz3 = GPR(decode_gpr_gpr3_src_store(rtz3_value)); - char *u = IMMEDIATE(u_value); const char *rs3 = GPR(decode_gpr_gpr3(rs3_value)); - return img_format("SB %s, %s(%s)", rtz3, u, rs3); + return img_format("SB %s, 0x%" PRIx64 "(%s)", rtz3, u_value, rs3); } @@ -12775,9 +12614,8 @@ static char *SB_GP_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_17_to_0(instruction); const char *rt = GPR(rt_value); - char *u = IMMEDIATE(u_value); - return img_format("SB %s, %s($%d)", rt, u, 28); + return img_format("SB %s, 0x%" PRIx64 "($%d)", rt, u_value, 28); } @@ -12798,10 +12636,9 @@ static char *SB_S9_(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); const char *rt = GPR(rt_value); - char *s = IMMEDIATE(s_value); const char *rs = GPR(rs_value); - return img_format("SB %s, %s(%s)", rt, s, rs); + return img_format("SB %s, %s(%s)", rt, s_value, rs); } @@ -12822,10 +12659,9 @@ static char *SB_U12_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); const char *rt = GPR(rt_value); - char *u = IMMEDIATE(u_value); const char *rs = GPR(rs_value); - return img_format("SB %s, %s(%s)", rt, u, rs); + return img_format("SB %s, 0x%" PRIx64 "(%s)", rt, u_value, rs); } @@ -12846,10 +12682,9 @@ static char *SBE(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); const char *rt = GPR(rt_value); - char *s = IMMEDIATE(s_value); const char *rs = GPR(rs_value); - return img_format("SBE %s, %s(%s)", rt, s, rs); + return img_format("SBE %s, %s(%s)", rt, s_value, rs); } @@ -12894,10 +12729,9 @@ static char *SC(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se8_15_7_6_5_4_3_2_s2(instruction); const char *rt = GPR(rt_value); - char *s = IMMEDIATE(s_value); const char *rs = GPR(rs_value); - return img_format("SC %s, %s(%s)", rt, s, rs); + return img_format("SC %s, %s(%s)", rt, s_value, rs); } @@ -12918,10 +12752,9 @@ static char *SCD(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se8_15_7_6_5_4_3_s3(instruction); const char *rt = GPR(rt_value); - char *s = IMMEDIATE(s_value); const char *rs = GPR(rs_value); - return img_format("SCD %s, %s(%s)", rt, s, rs); + return img_format("SCD %s, %s(%s)", rt, s_value, rs); } @@ -12966,10 +12799,9 @@ static char *SCE(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se8_15_7_6_5_4_3_2_s2(instruction); const char *rt = GPR(rt_value); - char *s = IMMEDIATE(s_value); const char *rs = GPR(rs_value); - return img_format("SCE %s, %s(%s)", rt, s, rs); + return img_format("SCE %s, %s(%s)", rt, s_value, rs); } @@ -13037,9 +12869,8 @@ static char *SD_GP_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_20_to_3__s3(instruction); const char *rt = GPR(rt_value); - char *u = IMMEDIATE(u_value); - return img_format("SD %s, %s($%d)", rt, u, 28); + return img_format("SD %s, 0x%" PRIx64 "($%d)", rt, u_value, 28); } @@ -13060,10 +12891,9 @@ static char *SD_S9_(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); const char *rt = GPR(rt_value); - char *s = IMMEDIATE(s_value); const char *rs = GPR(rs_value); - return img_format("SD %s, %s(%s)", rt, s, rs); + return img_format("SD %s, %s(%s)", rt, s_value, rs); } @@ -13084,10 +12914,9 @@ static char *SD_U12_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); const char *rt = GPR(rt_value); - char *u = IMMEDIATE(u_value); const char *rs = GPR(rs_value); - return img_format("SD %s, %s(%s)", rt, u, rs); + return img_format("SD %s, 0x%" PRIx64 "(%s)", rt, u_value, rs); } @@ -13105,9 +12934,8 @@ static char *SDBBP_16_(uint64 instruction, Dis_info *info) { uint64 code_value = extract_code_2_1_0(instruction); - char *code = IMMEDIATE(code_value); - return img_format("SDBBP %s", code); + return img_format("SDBBP 0x%" PRIx64, code_value); } @@ -13125,9 +12953,8 @@ static char *SDBBP_32_(uint64 instruction, Dis_info *info) { uint64 code_value = extract_code_18_to_0(instruction); - char *code = IMMEDIATE(code_value); - return img_format("SDBBP %s", code); + return img_format("SDBBP 0x%" PRIx64, code_value); } @@ -13147,9 +12974,8 @@ static char *SDC1_GP_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_17_to_2__s2(instruction); const char *ft = FPR(ft_value); - char *u = IMMEDIATE(u_value); - return img_format("SDC1 %s, %s($%d)", ft, u, 28); + return img_format("SDC1 %s, 0x%" PRIx64 "($%d)", ft, u_value, 28); } @@ -13170,10 +12996,9 @@ static char *SDC1_S9_(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); const char *ft = FPR(ft_value); - char *s = IMMEDIATE(s_value); const char *rs = GPR(rs_value); - return img_format("SDC1 %s, %s(%s)", ft, s, rs); + return img_format("SDC1 %s, %s(%s)", ft, s_value, rs); } @@ -13194,10 +13019,9 @@ static char *SDC1_U12_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); const char *ft = FPR(ft_value); - char *u = IMMEDIATE(u_value); const char *rs = GPR(rs_value); - return img_format("SDC1 %s, %s(%s)", ft, u, rs); + return img_format("SDC1 %s, 0x%" PRIx64 "(%s)", ft, u_value, rs); } @@ -13266,10 +13090,9 @@ static char *SDC2(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); char *cs = CPR(cs_value); - char *s = IMMEDIATE(s_value); const char *rs = GPR(rs_value); - return img_format("SDC2 %s, %s(%s)", cs, s, rs); + return img_format("SDC2 %s, %s(%s)", cs, s_value, rs); } @@ -13291,11 +13114,10 @@ static char *SDM(uint64 instruction, Dis_info *info) uint64 count3_value = extract_count3_14_13_12(instruction); const char *rt = GPR(rt_value); - char *s = IMMEDIATE(s_value); const char *rs = GPR(rs_value); - char *count3 = IMMEDIATE(encode_count3_from_count(count3_value)); + uint64 count3 = encode_count3_from_count(count3_value); - return img_format("SDM %s, %s(%s), %s", rt, s, rs, count3); + return img_format("SDM %s, %s(%s), 0x%" PRIx64, rt, s_value, rs, count3); } @@ -13575,9 +13397,8 @@ static char *SEQI(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); const char *rs = GPR(rs_value); - char *u = IMMEDIATE(u_value); - return img_format("SEQI %s, %s, %s", rt, rs, u); + return img_format("SEQI %s, %s, 0x%" PRIx64, rt, rs, u_value); } @@ -13598,10 +13419,9 @@ static char *SH_16_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_2_1__s1(instruction); const char *rtz3 = GPR(decode_gpr_gpr3_src_store(rtz3_value)); - char *u = IMMEDIATE(u_value); const char *rs3 = GPR(decode_gpr_gpr3(rs3_value)); - return img_format("SH %s, %s(%s)", rtz3, u, rs3); + return img_format("SH %s, 0x%" PRIx64 "(%s)", rtz3, u_value, rs3); } @@ -13621,9 +13441,8 @@ static char *SH_GP_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_17_to_1__s1(instruction); const char *rt = GPR(rt_value); - char *u = IMMEDIATE(u_value); - return img_format("SH %s, %s($%d)", rt, u, 28); + return img_format("SH %s, 0x%" PRIx64 "($%d)", rt, u_value, 28); } @@ -13644,10 +13463,9 @@ static char *SH_S9_(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); const char *rt = GPR(rt_value); - char *s = IMMEDIATE(s_value); const char *rs = GPR(rs_value); - return img_format("SH %s, %s(%s)", rt, s, rs); + return img_format("SH %s, %" PRId64 "(%s)", rt, s_value, rs); } @@ -13668,10 +13486,9 @@ static char *SH_U12_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); const char *rt = GPR(rt_value); - char *u = IMMEDIATE(u_value); const char *rs = GPR(rs_value); - return img_format("SH %s, %s(%s)", rt, u, rs); + return img_format("SH %s, 0x%" PRIx64 "(%s)", rt, u_value, rs); } @@ -13692,10 +13509,9 @@ static char *SHE(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); const char *rt = GPR(rt_value); - char *s = IMMEDIATE(s_value); const char *rs = GPR(rs_value); - return img_format("SHE %s, %s(%s)", rt, s, rs); + return img_format("SHE %s, %" PRId64 "(%s)", rt, s_value, rs); } @@ -13714,10 +13530,9 @@ static char *SHILO(uint64 instruction, Dis_info *info) int64 shift_value = extract_shift__se5_21_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - char *shift = IMMEDIATE(shift_value); const char *ac = AC(ac_value); - return img_format("SHILO %s, %s", ac, shift); + return img_format("SHILO %s, 0x%" PRIx64, ac, shift_value); } @@ -13761,9 +13576,8 @@ static char *SHLL_PH(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); const char *rs = GPR(rs_value); - char *sa = IMMEDIATE(sa_value); - return img_format("SHLL.PH %s, %s, %s", rt, rs, sa); + return img_format("SHLL.PH %s, %s, 0x%" PRIx64, rt, rs, sa_value); } @@ -13785,9 +13599,8 @@ static char *SHLL_QB(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); const char *rs = GPR(rs_value); - char *sa = IMMEDIATE(sa_value); - return img_format("SHLL.QB %s, %s, %s", rt, rs, sa); + return img_format("SHLL.QB %s, %s, 0x%" PRIx64, rt, rs, sa_value); } @@ -13810,9 +13623,8 @@ static char *SHLL_S_PH(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); const char *rs = GPR(rs_value); - char *sa = IMMEDIATE(sa_value); - return img_format("SHLL_S.PH %s, %s, %s", rt, rs, sa); + return img_format("SHLL_S.PH %s, %s, 0x%" PRIx64, rt, rs, sa_value); } @@ -13834,9 +13646,8 @@ static char *SHLL_S_W(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); const char *rs = GPR(rs_value); - char *sa = IMMEDIATE(sa_value); - return img_format("SHLL_S.W %s, %s, %s", rt, rs, sa); + return img_format("SHLL_S.W %s, %s, 0x%" PRIx64, rt, rs, sa_value); } @@ -13956,9 +13767,8 @@ static char *SHRA_PH(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); const char *rs = GPR(rs_value); - char *sa = IMMEDIATE(sa_value); - return img_format("SHRA.PH %s, %s, %s", rt, rs, sa); + return img_format("SHRA.PH %s, %s, 0x%" PRIx64, rt, rs, sa_value); } @@ -13980,9 +13790,8 @@ static char *SHRA_QB(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); const char *rs = GPR(rs_value); - char *sa = IMMEDIATE(sa_value); - return img_format("SHRA.QB %s, %s, %s", rt, rs, sa); + return img_format("SHRA.QB %s, %s, 0x%" PRIx64, rt, rs, sa_value); } @@ -14004,9 +13813,8 @@ static char *SHRA_R_PH(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); const char *rs = GPR(rs_value); - char *sa = IMMEDIATE(sa_value); - return img_format("SHRA_R.PH %s, %s, %s", rt, rs, sa); + return img_format("SHRA_R.PH %s, %s, 0x%" PRIx64, rt, rs, sa_value); } @@ -14028,9 +13836,8 @@ static char *SHRA_R_QB(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); const char *rs = GPR(rs_value); - char *sa = IMMEDIATE(sa_value); - return img_format("SHRA_R.QB %s, %s, %s", rt, rs, sa); + return img_format("SHRA_R.QB %s, %s, 0x%" PRIx64, rt, rs, sa_value); } @@ -14052,9 +13859,8 @@ static char *SHRA_R_W(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); const char *rs = GPR(rs_value); - char *sa = IMMEDIATE(sa_value); - return img_format("SHRA_R.W %s, %s, %s", rt, rs, sa); + return img_format("SHRA_R.W %s, %s, 0x%" PRIx64, rt, rs, sa_value); } @@ -14196,9 +14002,8 @@ static char *SHRL_PH(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); const char *rs = GPR(rs_value); - char *sa = IMMEDIATE(sa_value); - return img_format("SHRL.PH %s, %s, %s", rt, rs, sa); + return img_format("SHRL.PH %s, %s, 0x%" PRIx64, rt, rs, sa_value); } @@ -14220,9 +14025,8 @@ static char *SHRL_QB(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); const char *rs = GPR(rs_value); - char *sa = IMMEDIATE(sa_value); - return img_format("SHRL.QB %s, %s, %s", rt, rs, sa); + return img_format("SHRL.QB %s, %s, 0x%" PRIx64, rt, rs, sa_value); } @@ -14337,9 +14141,8 @@ static char *SIGRIE(uint64 instruction, Dis_info *info) { uint64 code_value = extract_code_18_to_0(instruction); - char *code = IMMEDIATE(code_value); - return img_format("SIGRIE %s", code); + return img_format("SIGRIE 0x%" PRIx64, code_value); } @@ -14361,9 +14164,9 @@ static char *SLL_16_(uint64 instruction, Dis_info *info) const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); const char *rs3 = GPR(decode_gpr_gpr3(rs3_value)); - char *shift3 = IMMEDIATE(encode_shift3_from_shift(shift3_value)); + uint64 shift3 = encode_shift3_from_shift(shift3_value); - return img_format("SLL %s, %s, %s", rt3, rs3, shift3); + return img_format("SLL %s, %s, 0x%" PRIx64, rt3, rs3, shift3); } @@ -14385,9 +14188,8 @@ static char *SLL_32_(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); const char *rs = GPR(rs_value); - char *shift = IMMEDIATE(shift_value); - return img_format("SLL %s, %s, %s", rt, rs, shift); + return img_format("SLL %s, %s, 0x%" PRIx64, rt, rs, shift_value); } @@ -14457,9 +14259,8 @@ static char *SLTI(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); const char *rs = GPR(rs_value); - char *u = IMMEDIATE(u_value); - return img_format("SLTI %s, %s, %s", rt, rs, u); + return img_format("SLTI %s, %s, 0x%" PRIx64, rt, rs, u_value); } @@ -14481,9 +14282,8 @@ static char *SLTIU(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); const char *rs = GPR(rs_value); - char *u = IMMEDIATE(u_value); - return img_format("SLTIU %s, %s, %s", rt, rs, u); + return img_format("SLTIU %s, %s, 0x%" PRIx64, rt, rs, u_value); } @@ -14549,9 +14349,8 @@ static char *SPECIAL2(uint64 instruction, Dis_info *info) { uint64 op_value = extract_op_25_to_3(instruction); - char *op = IMMEDIATE(op_value); - return img_format("SPECIAL2 %s", op); + return img_format("SPECIAL2 0x%" PRIx64, op_value); } @@ -14617,9 +14416,8 @@ static char *SRA(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); const char *rs = GPR(rs_value); - char *shift = IMMEDIATE(shift_value); - return img_format("SRA %s, %s, %s", rt, rs, shift); + return img_format("SRA %s, %s, 0x%" PRIx64, rt, rs, shift_value); } @@ -14665,9 +14463,9 @@ static char *SRL_16_(uint64 instruction, Dis_info *info) const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); const char *rs3 = GPR(decode_gpr_gpr3(rs3_value)); - char *shift3 = IMMEDIATE(encode_shift3_from_shift(shift3_value)); + uint64 shift3 = encode_shift3_from_shift(shift3_value); - return img_format("SRL %s, %s, %s", rt3, rs3, shift3); + return img_format("SRL %s, %s, 0x%" PRIx64, rt3, rs3, shift3); } @@ -14689,9 +14487,8 @@ static char *SRL_32_(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); const char *rs = GPR(rs_value); - char *shift = IMMEDIATE(shift_value); - return img_format("SRL %s, %s, %s", rt, rs, shift); + return img_format("SRL %s, %s, 0x%" PRIx64, rt, rs, shift_value); } @@ -15178,10 +14975,9 @@ static char *SW_16_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_3_2_1_0__s2(instruction); const char *rtz3 = GPR(decode_gpr_gpr3_src_store(rtz3_value)); - char *u = IMMEDIATE(u_value); const char *rs3 = GPR(decode_gpr_gpr3(rs3_value)); - return img_format("SW %s, %s(%s)", rtz3, u, rs3); + return img_format("SW %s, 0x%" PRIx64 "(%s)", rtz3, u_value, rs3); } @@ -15202,10 +14998,9 @@ static char *SW_4X4_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_3_8__s2(instruction); const char *rtz4 = GPR(decode_gpr_gpr4_zero(rtz4_value)); - char *u = IMMEDIATE(u_value); const char *rs4 = GPR(decode_gpr_gpr4(rs4_value)); - return img_format("SW %s, %s(%s)", rtz4, u, rs4); + return img_format("SW %s, 0x%" PRIx64 "(%s)", rtz4, u_value, rs4); } @@ -15225,9 +15020,8 @@ static char *SW_GP16_(uint64 instruction, Dis_info *info) uint64 rtz3_value = extract_rtz3_9_8_7(instruction); const char *rtz3 = GPR(decode_gpr_gpr3_src_store(rtz3_value)); - char *u = IMMEDIATE(u_value); - return img_format("SW %s, %s($%d)", rtz3, u, 28); + return img_format("SW %s, 0x%" PRIx64 "($%d)", rtz3, u_value, 28); } @@ -15247,9 +15041,8 @@ static char *SW_GP_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_20_to_2__s2(instruction); const char *rt = GPR(rt_value); - char *u = IMMEDIATE(u_value); - return img_format("SW %s, %s($%d)", rt, u, 28); + return img_format("SW %s, 0x%" PRIx64 "($%d)", rt, u_value, 28); } @@ -15270,10 +15063,9 @@ static char *SW_S9_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); const char *rt = GPR(rt_value); - char *s = IMMEDIATE(s_value); const char *rs = GPR(rs_value); - return img_format("SW %s, %s(%s)", rt, s, rs); + return img_format("SW %s, %" PRId64 "(%s)", rt, s_value, rs); } @@ -15293,9 +15085,8 @@ static char *SW_SP_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_4_3_2_1_0__s2(instruction); const char *rt = GPR(rt_value); - char *u = IMMEDIATE(u_value); - return img_format("SW %s, %s($%d)", rt, u, 29); + return img_format("SW %s, 0x%" PRIx64 "($%d)", rt, u_value, 29); } @@ -15316,10 +15107,9 @@ static char *SW_U12_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); const char *rt = GPR(rt_value); - char *u = IMMEDIATE(u_value); const char *rs = GPR(rs_value); - return img_format("SW %s, %s(%s)", rt, u, rs); + return img_format("SW %s, 0x%" PRIx64 "(%s)", rt, u_value, rs); } @@ -15339,9 +15129,8 @@ static char *SWC1_GP_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_17_to_2__s2(instruction); const char *ft = FPR(ft_value); - char *u = IMMEDIATE(u_value); - return img_format("SWC1 %s, %s($%d)", ft, u, 28); + return img_format("SWC1 %s, 0x%" PRIx64 "($%d)", ft, u_value, 28); } @@ -15362,10 +15151,9 @@ static char *SWC1_S9_(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); const char *ft = FPR(ft_value); - char *s = IMMEDIATE(s_value); const char *rs = GPR(rs_value); - return img_format("SWC1 %s, %s(%s)", ft, s, rs); + return img_format("SWC1 %s, %" PRId64 "(%s)", ft, s_value, rs); } @@ -15386,10 +15174,9 @@ static char *SWC1_U12_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); const char *ft = FPR(ft_value); - char *u = IMMEDIATE(u_value); const char *rs = GPR(rs_value); - return img_format("SWC1 %s, %s(%s)", ft, u, rs); + return img_format("SWC1 %s, 0x%" PRIx64 "(%s)", ft, u_value, rs); } @@ -15458,10 +15245,9 @@ static char *SWC2(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); char *cs = CPR(cs_value); - char *s = IMMEDIATE(s_value); const char *rs = GPR(rs_value); - return img_format("SWC2 %s, %s(%s)", cs, s, rs); + return img_format("SWC2 %s, %" PRId64 "(%s)", cs, s_value, rs); } @@ -15482,10 +15268,9 @@ static char *SWE(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); const char *rt = GPR(rt_value); - char *s = IMMEDIATE(s_value); const char *rs = GPR(rs_value); - return img_format("SWE %s, %s(%s)", rt, s, rs); + return img_format("SWE %s, %" PRId64 "(%s)", rt, s_value, rs); } @@ -15507,11 +15292,11 @@ static char *SWM(uint64 instruction, Dis_info *info) uint64 count3_value = extract_count3_14_13_12(instruction); const char *rt = GPR(rt_value); - char *s = IMMEDIATE(s_value); const char *rs = GPR(rs_value); - char *count3 = IMMEDIATE(encode_count3_from_count(count3_value)); + uint64 count3 = encode_count3_from_count(count3_value); - return img_format("SWM %s, %s(%s), %s", rt, s, rs, count3); + return img_format("SWM %s, %" PRId64 "(%s), 0x%" PRIx64, + rt, s_value, rs, count3); } @@ -15599,9 +15384,8 @@ static char *SYNC(uint64 instruction, Dis_info *info) { uint64 stype_value = extract_stype_20_19_18_17_16(instruction); - char *stype = IMMEDIATE(stype_value); - return img_format("SYNC %s", stype); + return img_format("SYNC 0x%" PRIx64, stype_value); } @@ -15620,10 +15404,9 @@ static char *SYNCI(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - char *s = IMMEDIATE(s_value); const char *rs = GPR(rs_value); - return img_format("SYNCI %s(%s)", s, rs); + return img_format("SYNCI %" PRId64 "(%s)", s_value, rs); } @@ -15642,10 +15425,9 @@ static char *SYNCIE(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - char *s = IMMEDIATE(s_value); const char *rs = GPR(rs_value); - return img_format("SYNCIE %s(%s)", s, rs); + return img_format("SYNCIE %" PRId64 "(%s)", s_value, rs); } @@ -15663,9 +15445,8 @@ static char *SYSCALL_16_(uint64 instruction, Dis_info *info) { uint64 code_value = extract_code_1_0(instruction); - char *code = IMMEDIATE(code_value); - return img_format("SYSCALL %s", code); + return img_format("SYSCALL 0x%" PRIx64, code_value); } @@ -15681,9 +15462,8 @@ static char *SYSCALL_32_(uint64 instruction, Dis_info *info) { uint64 code_value = extract_code_17_to_0(instruction); - char *code = IMMEDIATE(code_value); - return img_format("SYSCALL %s", code); + return img_format("SYSCALL 0x%" PRIx64, code_value); } @@ -16053,11 +15833,11 @@ static char *UALDM(uint64 instruction, Dis_info *info) uint64 count3_value = extract_count3_14_13_12(instruction); const char *rt = GPR(rt_value); - char *s = IMMEDIATE(s_value); const char *rs = GPR(rs_value); - char *count3 = IMMEDIATE(encode_count3_from_count(count3_value)); + uint64 count3 = encode_count3_from_count(count3_value); - return img_format("UALDM %s, %s(%s), %s", rt, s, rs, count3); + return img_format("UALDM %s, %" PRId64 "(%s), 0x%" PRIx64, + rt, s_value, rs, count3); } @@ -16078,10 +15858,9 @@ static char *UALH(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); const char *rt = GPR(rt_value); - char *s = IMMEDIATE(s_value); const char *rs = GPR(rs_value); - return img_format("UALH %s, %s(%s)", rt, s, rs); + return img_format("UALH %s, %" PRId64 "(%s)", rt, s_value, rs); } @@ -16103,11 +15882,11 @@ static char *UALWM(uint64 instruction, Dis_info *info) uint64 count3_value = extract_count3_14_13_12(instruction); const char *rt = GPR(rt_value); - char *s = IMMEDIATE(s_value); const char *rs = GPR(rs_value); - char *count3 = IMMEDIATE(encode_count3_from_count(count3_value)); + uint64 count3 = encode_count3_from_count(count3_value); - return img_format("UALWM %s, %s(%s), %s", rt, s, rs, count3); + return img_format("UALWM %s, %" PRId64 "(%s), 0x%" PRIx64, + rt, s_value, rs, count3); } @@ -16129,11 +15908,11 @@ static char *UASDM(uint64 instruction, Dis_info *info) uint64 count3_value = extract_count3_14_13_12(instruction); const char *rt = GPR(rt_value); - char *s = IMMEDIATE(s_value); const char *rs = GPR(rs_value); - char *count3 = IMMEDIATE(encode_count3_from_count(count3_value)); + uint64 count3 = encode_count3_from_count(count3_value); - return img_format("UASDM %s, %s(%s), %s", rt, s, rs, count3); + return img_format("UASDM %s, %" PRId64 "(%s), 0x%" PRIx64, + rt, s_value, rs, count3); } @@ -16154,10 +15933,9 @@ static char *UASH(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); const char *rt = GPR(rt_value); - char *s = IMMEDIATE(s_value); const char *rs = GPR(rs_value); - return img_format("UASH %s, %s(%s)", rt, s, rs); + return img_format("UASH %s, %" PRId64 "(%s)", rt, s_value, rs); } @@ -16179,11 +15957,11 @@ static char *UASWM(uint64 instruction, Dis_info *info) uint64 count3_value = extract_count3_14_13_12(instruction); const char *rt = GPR(rt_value); - char *s = IMMEDIATE(s_value); const char *rs = GPR(rs_value); - char *count3 = IMMEDIATE(encode_count3_from_count(count3_value)); + uint64 count3 = encode_count3_from_count(count3_value); - return img_format("UASWM %s, %s(%s), %s", rt, s, rs, count3); + return img_format("UASWM %s, %" PRId64 "(%s), 0x%" PRIx64, + rt, s_value, rs, count3); } @@ -16201,9 +15979,8 @@ static char *UDI(uint64 instruction, Dis_info *info) { uint64 op_value = extract_op_25_to_3(instruction); - char *op = IMMEDIATE(op_value); - return img_format("UDI %s", op); + return img_format("UDI 0x%" PRIx64, op_value); } @@ -16219,9 +15996,8 @@ static char *WAIT(uint64 instruction, Dis_info *info) { uint64 code_value = extract_code_25_24_23_22_21_20_19_18_17_16(instruction); - char *code = IMMEDIATE(code_value); - return img_format("WAIT %s", code); + return img_format("WAIT 0x%" PRIx64, code_value); } @@ -16241,9 +16017,8 @@ static char *WRDSP(uint64 instruction, Dis_info *info) uint64 mask_value = extract_mask_20_19_18_17_16_15_14(instruction); const char *rt = GPR(rt_value); - char *mask = IMMEDIATE(mask_value); - return img_format("WRDSP %s, %s", rt, mask); + return img_format("WRDSP %s, 0x%" PRIx64, rt, mask_value); } @@ -16333,9 +16108,8 @@ static char *XORI(uint64 instruction, Dis_info *info) const char *rt = GPR(rt_value); const char *rs = GPR(rs_value); - char *u = IMMEDIATE(u_value); - return img_format("XORI %s, %s, %s", rt, rs, u); + return img_format("XORI %s, %s, 0x%" PRIx64, rt, rs, u_value); } From patchwork Sun Oct 30 22:28:17 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 13025256 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 3A661C38A02 for ; Sun, 30 Oct 2022 22:33:13 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1opGrF-0001eT-Kk; Sun, 30 Oct 2022 18:32:45 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1opGqo-00005E-W8 for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:32:24 -0400 Received: from mail-wr1-x435.google.com ([2a00:1450:4864:20::435]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1opGqg-0008OA-9h for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:32:12 -0400 Received: by mail-wr1-x435.google.com with SMTP id v1so13650870wrt.11 for ; Sun, 30 Oct 2022 15:32:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=uaZe+sbT/g27ceIVMmjLGMoQzyXgJ/iUh8Exgos0kpA=; b=gdcKziiS9WduqxMBKxSGPPoIPo3uUluw9JPZWey54+LV70ss1K/G4tdYhar9E+plmA B02FtK/tDMWRZOtB8pXU3yt0zCZ4ejPWtiRMlDmhqQhtFyL5FOip45aSL9n9OV1yfDrM MYTjgmMAvzOKT+GvUYzJgYQ3u/qJjsWRVWnRIKx/xd/CIg5A408erJVMD158CvYdsUPi gc4zIqmLv0pSC39hMjsk79VDDt4Hef1jcNFq6Xcwjm4JOxt0MfrDBwH/UrDR0BIPNeGt EzP6I3ko9pEqHRJXYhtTMh1y54DL/qOUyz8it48RL0JNpIaUAkNXdI4BIxdbNiecs5f7 npYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=uaZe+sbT/g27ceIVMmjLGMoQzyXgJ/iUh8Exgos0kpA=; b=aombfav0hiUG57nQCu5oZu5BMxRN0LNeYsCevK+/ZkTotf1WpmJKaG9GlP1MRdqPVJ U2h/U/RUxD7P7xI1t+kw27hlN42k2qpBzPHZvo0xZLMwBUsEbFmQZ/bDOC6mjYDHv8r9 L2Mt836PPfxDZcBD4QUZoGXUepJXDyHC8ea3kIFcfR9/aw2dxM6bYBlCdVKfN9VEnhOG Mtzjd04YaxJSbd7Vczh1PgMuJDFsviYHf/ZH8k8VMQMKpFeMDxm2GzuskBtJT140Krdv 0QEHoOhl9QXZ09UxmvwgbAh8vS2N/3kk0XKiPsrqurA6Dk1LMmqg4JYChZ994+nBgmbW r4pw== X-Gm-Message-State: ACrzQf1rSSsVf62BbiQ2dlaHsFPAEqlUivJX/L+eOcOaJv1o76w6Nilb LKGQMC09MrVSlqCmJVJTkKmRiP8y3uARGw== X-Google-Smtp-Source: AMsMyM78R85erhMj7mtFd59xlG66sM69jiVdai8XO7ECNOYRmMdelt3YswQr6fsMgf4WWH7TLtECOg== X-Received: by 2002:a5d:61c8:0:b0:236:b893:9d83 with SMTP id q8-20020a5d61c8000000b00236b8939d83mr4389198wrv.354.1667169126748; Sun, 30 Oct 2022 15:32:06 -0700 (PDT) Received: from localhost.localdomain ([185.126.107.38]) by smtp.gmail.com with ESMTPSA id h3-20020adffa83000000b0022ae401e9e0sm5213487wrr.78.2022.10.30.15.32.05 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 30 Oct 2022 15:32:06 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Aleksandar Rikalo , Huacai Chen , Stefan Pejic , Jiaxun Yang , Aurelien Jarno , Paul Burton , Milica Lazarevic , Richard Henderson Subject: [PULL 31/55] disas/nanomips: Remove CPR function Date: Sun, 30 Oct 2022 23:28:17 +0100 Message-Id: <20221030222841.42377-32-philmd@linaro.org> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221030222841.42377-1-philmd@linaro.org> References: <20221030222841.42377-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::435; envelope-from=philmd@linaro.org; helo=mail-wr1-x435.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Qemu-devel" Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Milica Lazarevic CPR functions has been removed. Before this patch, we'd been calling img_format twice, the first time through the CPR function to get an appropriate string and the second time to print that formatted string. There's no more need for that. Therefore, calls to CPR are removed, and now we're directly printing "CP" and integer value instead. Signed-off-by: Milica Lazarevic Reviewed-by: Richard Henderson Message-Id: <20220912122635.74032-18-milica.lazarevic@syrmia.com> Signed-off-by: Philippe Mathieu-Daudé --- disas/nanomips.cpp | 110 +++++++++++++++++++-------------------------- 1 file changed, 45 insertions(+), 65 deletions(-) diff --git a/disas/nanomips.cpp b/disas/nanomips.cpp index 3b1ca249ce..3a3a9a9b69 100644 --- a/disas/nanomips.cpp +++ b/disas/nanomips.cpp @@ -519,13 +519,6 @@ static const char *AC(uint64 reg) } -static char *CPR(uint64 reg) -{ - /* needs more work */ - return img_format("CP%" PRIu64, reg); -} - - static char *ADDRESS(uint64 value, int instruction_size, Dis_info *info) { /* token for string replace */ @@ -2774,10 +2767,9 @@ static char *BC2EQZC(uint64 instruction, Dis_info *info) uint64 ct_value = extract_ct_25_24_23_22_21(instruction); int64 s_value = extract_s__se14_0_13_to_1_s1(instruction); - char *ct = CPR(ct_value); char *s = ADDRESS(s_value, 4, info); - return img_format("BC2EQZC %s, %s", ct, s); + return img_format("BC2EQZC CP%" PRIu64 ", %s", ct_value, s); } @@ -2796,10 +2788,9 @@ static char *BC2NEZC(uint64 instruction, Dis_info *info) uint64 ct_value = extract_ct_25_24_23_22_21(instruction); int64 s_value = extract_s__se14_0_13_to_1_s1(instruction); - char *ct = CPR(ct_value); char *s = ADDRESS(s_value, 4, info); - return img_format("BC2NEZC %s, %s", ct, s); + return img_format("BC2NEZC CP%" PRIu64 ", %s", ct_value, s); } @@ -3403,9 +3394,8 @@ static char *CFC1(uint64 instruction, Dis_info *info) uint64 cs_value = extract_cs_20_19_18_17_16(instruction); const char *rt = GPR(rt_value); - char *cs = CPR(cs_value); - return img_format("CFC1 %s, %s", rt, cs); + return img_format("CFC1 %s, CP%" PRIu64, rt, cs_value); } @@ -3425,9 +3415,8 @@ static char *CFC2(uint64 instruction, Dis_info *info) uint64 cs_value = extract_cs_20_19_18_17_16(instruction); const char *rt = GPR(rt_value); - char *cs = CPR(cs_value); - return img_format("CFC2 %s, %s", rt, cs); + return img_format("CFC2 %s, CP%" PRIu64, rt, cs_value); } @@ -4889,9 +4878,8 @@ static char *CTC1(uint64 instruction, Dis_info *info) uint64 cs_value = extract_cs_20_19_18_17_16(instruction); const char *rt = GPR(rt_value); - char *cs = CPR(cs_value); - return img_format("CTC1 %s, %s", rt, cs); + return img_format("CTC1 %s, CP%" PRIu64, rt, cs_value); } @@ -4911,9 +4899,8 @@ static char *CTC2(uint64 instruction, Dis_info *info) uint64 cs_value = extract_cs_20_19_18_17_16(instruction); const char *rt = GPR(rt_value); - char *cs = CPR(cs_value); - return img_format("CTC2 %s, %s", rt, cs); + return img_format("CTC2 %s, CP%" PRIu64, rt, cs_value); } @@ -5745,9 +5732,9 @@ static char *DMFC0(uint64 instruction, Dis_info *info) uint64 sel_value = extract_sel_15_14_13_12_11(instruction); const char *rt = GPR(rt_value); - char *c0s = CPR(c0s_value); - return img_format("DMFC0 %s, %s, 0x%" PRIx64, rt, c0s, sel_value); + return img_format("DMFC0 %s, CP%" PRIu64 ", 0x%" PRIx64, + rt, c0s_value, sel_value); } @@ -5789,9 +5776,8 @@ static char *DMFC2(uint64 instruction, Dis_info *info) uint64 cs_value = extract_cs_20_19_18_17_16(instruction); const char *rt = GPR(rt_value); - char *cs = CPR(cs_value); - return img_format("DMFC2 %s, %s", rt, cs); + return img_format("DMFC2 %s, CP%" PRIu64, rt, cs_value); } @@ -5812,9 +5798,9 @@ static char *DMFGC0(uint64 instruction, Dis_info *info) uint64 sel_value = extract_sel_15_14_13_12_11(instruction); const char *rt = GPR(rt_value); - char *c0s = CPR(c0s_value); - return img_format("DMFGC0 %s, %s, 0x%" PRIx64, rt, c0s, sel_value); + return img_format("DMFGC0 %s, CP%" PRIu64 ", 0x%" PRIx64, + rt, c0s_value, sel_value); } @@ -5883,9 +5869,9 @@ static char *DMTC0(uint64 instruction, Dis_info *info) uint64 sel_value = extract_sel_15_14_13_12_11(instruction); const char *rt = GPR(rt_value); - char *c0s = CPR(c0s_value); - return img_format("DMTC0 %s, %s, 0x%" PRIx64, rt, c0s, sel_value); + return img_format("DMTC0 %s, CP%" PRIu64 ", 0x%" PRIx64, + rt, c0s_value, sel_value); } @@ -5927,9 +5913,8 @@ static char *DMTC2(uint64 instruction, Dis_info *info) uint64 cs_value = extract_cs_20_19_18_17_16(instruction); const char *rt = GPR(rt_value); - char *cs = CPR(cs_value); - return img_format("DMTC2 %s, %s", rt, cs); + return img_format("DMTC2 %s, CP%" PRIu64, rt, cs_value); } @@ -5950,9 +5935,9 @@ static char *DMTGC0(uint64 instruction, Dis_info *info) uint64 sel_value = extract_sel_15_14_13_12_11(instruction); const char *rt = GPR(rt_value); - char *c0s = CPR(c0s_value); - return img_format("DMTGC0 %s, %s, 0x%" PRIx64, rt, c0s, sel_value); + return img_format("DMTGC0 %s, CP%" PRIu64 ", 0x%" PRIx64, + rt, c0s_value, sel_value); } @@ -8148,10 +8133,10 @@ static char *LDC2(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - char *ct = CPR(ct_value); const char *rs = GPR(rs_value); - return img_format("LDC2 %s, %" PRId64 "(%s)", ct, s_value, rs); + return img_format("LDC2 CP%" PRIu64 ", %" PRId64 "(%s)", + ct_value, s_value, rs); } @@ -9089,10 +9074,10 @@ static char *LWC2(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - char *ct = CPR(ct_value); const char *rs = GPR(rs_value); - return img_format("LWC2 %s, %" PRId64 "(%s)", ct, s_value, rs); + return img_format("LWC2 CP%" PRIu64 ", %" PRId64 "(%s)", + ct_value, s_value, rs); } @@ -9665,9 +9650,9 @@ static char *MFC0(uint64 instruction, Dis_info *info) uint64 sel_value = extract_sel_15_14_13_12_11(instruction); const char *rt = GPR(rt_value); - char *c0s = CPR(c0s_value); - return img_format("MFC0 %s, %s, 0x%" PRIx64, rt, c0s, sel_value); + return img_format("MFC0 %s, CP%" PRIu64 ", 0x%" PRIx64, + rt, c0s_value, sel_value); } @@ -9709,9 +9694,8 @@ static char *MFC2(uint64 instruction, Dis_info *info) uint64 cs_value = extract_cs_20_19_18_17_16(instruction); const char *rt = GPR(rt_value); - char *cs = CPR(cs_value); - return img_format("MFC2 %s, %s", rt, cs); + return img_format("MFC2 %s, CP%" PRIu64, rt, cs_value); } @@ -9732,9 +9716,9 @@ static char *MFGC0(uint64 instruction, Dis_info *info) uint64 sel_value = extract_sel_15_14_13_12_11(instruction); const char *rt = GPR(rt_value); - char *c0s = CPR(c0s_value); - return img_format("MFGC0 %s, %s, 0x%" PRIx64, rt, c0s, sel_value); + return img_format("MFGC0 %s, CP%" PRIu64 ", 0x%" PRIx64, + rt, c0s_value, sel_value); } @@ -9755,9 +9739,9 @@ static char *MFHC0(uint64 instruction, Dis_info *info) uint64 sel_value = extract_sel_15_14_13_12_11(instruction); const char *rt = GPR(rt_value); - char *c0s = CPR(c0s_value); - return img_format("MFHC0 %s, %s, 0x%" PRIx64, rt, c0s, sel_value); + return img_format("MFHC0 %s, CP%" PRIu64 ", 0x%" PRIx64, + rt, c0s_value, sel_value); } @@ -9799,9 +9783,8 @@ static char *MFHC2(uint64 instruction, Dis_info *info) uint64 cs_value = extract_cs_20_19_18_17_16(instruction); const char *rt = GPR(rt_value); - char *cs = CPR(cs_value); - return img_format("MFHC2 %s, %s", rt, cs); + return img_format("MFHC2 %s, CP%" PRIu64, rt, cs_value); } @@ -9822,9 +9805,9 @@ static char *MFHGC0(uint64 instruction, Dis_info *info) uint64 sel_value = extract_sel_15_14_13_12_11(instruction); const char *rt = GPR(rt_value); - char *c0s = CPR(c0s_value); - return img_format("MFHGC0 %s, %s, 0x%" PRIx64, rt, c0s, sel_value); + return img_format("MFHGC0 %s, CP%" PRIu64 ", 0x%" PRIx64, + rt, c0s_value, sel_value); } @@ -10391,9 +10374,9 @@ static char *MTC0(uint64 instruction, Dis_info *info) uint64 sel_value = extract_sel_15_14_13_12_11(instruction); const char *rt = GPR(rt_value); - char *c0s = CPR(c0s_value); - return img_format("MTC0 %s, %s, 0x%" PRIx64, rt, c0s, sel_value); + return img_format("MTC0 %s, CP%" PRIu64 ", 0x%" PRIx64, + rt, c0s_value, sel_value); } @@ -10435,9 +10418,8 @@ static char *MTC2(uint64 instruction, Dis_info *info) uint64 cs_value = extract_cs_20_19_18_17_16(instruction); const char *rt = GPR(rt_value); - char *cs = CPR(cs_value); - return img_format("MTC2 %s, %s", rt, cs); + return img_format("MTC2 %s, CP%" PRIu64, rt, cs_value); } @@ -10458,9 +10440,9 @@ static char *MTGC0(uint64 instruction, Dis_info *info) uint64 sel_value = extract_sel_15_14_13_12_11(instruction); const char *rt = GPR(rt_value); - char *c0s = CPR(c0s_value); - return img_format("MTGC0 %s, %s, 0x%" PRIx64, rt, c0s, sel_value); + return img_format("MTGC0 %s, CP%" PRIu64 ", 0x%" PRIx64, + rt, c0s_value, sel_value); } @@ -10481,9 +10463,9 @@ static char *MTHC0(uint64 instruction, Dis_info *info) uint64 sel_value = extract_sel_15_14_13_12_11(instruction); const char *rt = GPR(rt_value); - char *c0s = CPR(c0s_value); - return img_format("MTHC0 %s, %s, 0x%" PRIx64, rt, c0s, sel_value); + return img_format("MTHC0 %s, CP%" PRIu64 ", 0x%" PRIx64, + rt, c0s_value, sel_value); } @@ -10525,9 +10507,8 @@ static char *MTHC2(uint64 instruction, Dis_info *info) uint64 cs_value = extract_cs_20_19_18_17_16(instruction); const char *rt = GPR(rt_value); - char *cs = CPR(cs_value); - return img_format("MTHC2 %s, %s", rt, cs); + return img_format("MTHC2 %s, CP%" PRIu64, rt, cs_value); } @@ -10548,9 +10529,9 @@ static char *MTHGC0(uint64 instruction, Dis_info *info) uint64 sel_value = extract_sel_15_14_13_12_11(instruction); const char *rt = GPR(rt_value); - char *c0s = CPR(c0s_value); - return img_format("MTHGC0 %s, %s, 0x%" PRIx64, rt, c0s, sel_value); + return img_format("MTHGC0 %s, CP%" PRIu64 ", 0x%" PRIx64, + rt, c0s_value, sel_value); } @@ -12021,9 +12002,9 @@ static char *RDHWR(uint64 instruction, Dis_info *info) uint64 sel_value = extract_sel_13_12_11(instruction); const char *rt = GPR(rt_value); - char *hs = CPR(hs_value); - return img_format("RDHWR %s, %s, 0x%" PRIx64, rt, hs, sel_value); + return img_format("RDHWR %s, CP%" PRIu64 ", 0x%" PRIx64, + rt, hs_value, sel_value); } @@ -13089,10 +13070,9 @@ static char *SDC2(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - char *cs = CPR(cs_value); const char *rs = GPR(rs_value); - return img_format("SDC2 %s, %s(%s)", cs, s_value, rs); + return img_format("SDC2 CP%" PRIu64 ", %s(%s)", cs_value, s_value, rs); } @@ -15244,10 +15224,10 @@ static char *SWC2(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - char *cs = CPR(cs_value); const char *rs = GPR(rs_value); - return img_format("SWC2 %s, %" PRId64 "(%s)", cs, s_value, rs); + return img_format("SWC2 CP%" PRIu64 ", %" PRId64 "(%s)", + cs_value, s_value, rs); } From patchwork Sun Oct 30 22:28:18 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 13025263 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id DF8BFFA3743 for ; Sun, 30 Oct 2022 22:34:40 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1opGrB-0001IL-7L; Sun, 30 Oct 2022 18:32:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1opGqq-00006B-V9 for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:32:24 -0400 Received: from mail-wr1-x42a.google.com ([2a00:1450:4864:20::42a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1opGqo-0008BD-LH for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:32:20 -0400 Received: by mail-wr1-x42a.google.com with SMTP id o4so13672503wrq.6 for ; Sun, 30 Oct 2022 15:32:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=yTf0Lv88WpH5G+nA2nGh5YijA3V3edgCuhblkGYbFWA=; b=J9I5thvVx4FCuhJ5lVFFdl7YAhQ3lnITj6E6oYc9Up6jAg9bJDb4KD7JB1YTE6sqCB v1VEq5FFLffwiHhqI80JaGZxZklWHCwz2HwhhuwOmHF/reSm7Dkq9N+Uz0gKF0t+TJRw u7f627P0ke4cxZsfA93FP42fw7Z26/TXZa1a7fJmTToY8RN2tOuqYVmqcibf28vK98Yx Nqbpic9ZtlWkFwcGRUk6AO6KtVck4b/Zd562srInsT1qpuWsKjuaNlaNneeH6BUz1IyS kdLTq4WEoycJg9PiEePsBkofbG/b/2b7033lh/5q0Sm2MKcah09FbS17OMzjOGFpHUUq aXqg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=yTf0Lv88WpH5G+nA2nGh5YijA3V3edgCuhblkGYbFWA=; b=mJgrcUwBjgA0u9/cbwOFjO8lpGL3ToYuyS+YO53CYe+VKz4Ue8so+4II8PELRIxjmV cp8d/TItTlU4EcoJJngeXOIQw0ec7fsmHSV1/YLMs0VUwYZYUjVqJJgqPCQ5Qp9M6Lnk 4M25bdExu6Gk4qRbo2g0PyIZaVnOXCTl1BaQXKF4gdO76fEYE0AKU8R1xx5aK4Y7hLAg KgF2YX/9FY5pN/krGAdyfHZXUhYscT3c3BY6/WhjzbT2lHuF2jcvCP+z01jGjP14UOOv UpZzL8a582QD2xDP0KRKNLpOh6HFxNpikdBUJkMzv3JNiLvyRgCUPib3EUas81+AYx/g ArrA== X-Gm-Message-State: ACrzQf106wn/DJnp2QA6hi8E+x4YJbtxSXsDg4+OTdhl/7FZgALHcShA NSi/+SvCFA9QwuW6ZItkHBqcg2foL15KyA== X-Google-Smtp-Source: AMsMyM6OElNIX00U0b3AabHMQ8C+dnJWjJHnOGkHej4M+eL8rbXmog+ky+sKT3SCM2Fzod0cl0pFOQ== X-Received: by 2002:a05:6000:15c8:b0:236:812d:d3e5 with SMTP id y8-20020a05600015c800b00236812dd3e5mr5944673wry.303.1667169133660; Sun, 30 Oct 2022 15:32:13 -0700 (PDT) Received: from localhost.localdomain ([185.126.107.38]) by smtp.gmail.com with ESMTPSA id m13-20020adffe4d000000b0022afcc11f65sm5229846wrs.47.2022.10.30.15.32.11 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 30 Oct 2022 15:32:13 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Aleksandar Rikalo , Huacai Chen , Stefan Pejic , Jiaxun Yang , Aurelien Jarno , Paul Burton , Milica Lazarevic , Richard Henderson Subject: [PULL 32/55] disas/nanomips: Prevent memory leaking Date: Sun, 30 Oct 2022 23:28:18 +0100 Message-Id: <20221030222841.42377-33-philmd@linaro.org> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221030222841.42377-1-philmd@linaro.org> References: <20221030222841.42377-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42a; envelope-from=philmd@linaro.org; helo=mail-wr1-x42a.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Qemu-devel" Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Milica Lazarevic g_autofree attribute is added for every dynamically allocated string to prevent memory leaking. The implementation of the several functions that work with dynamically allocated strings is slightly changed so we can add those attributes. Signed-off-by: Milica Lazarevic Reviewed-by: Richard Henderson Message-Id: <20220912122635.74032-19-milica.lazarevic@syrmia.com> Signed-off-by: Philippe Mathieu-Daudé --- disas/nanomips.cpp | 96 ++++++++++++++++++++++++---------------------- 1 file changed, 51 insertions(+), 45 deletions(-) diff --git a/disas/nanomips.cpp b/disas/nanomips.cpp index 3a3a9a9b69..ce93fdad62 100644 --- a/disas/nanomips.cpp +++ b/disas/nanomips.cpp @@ -1937,7 +1937,7 @@ static char *ADDIUPC_32_(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se21_0_20_to_1_s1(instruction); const char *rt = GPR(rt_value); - char *s = ADDRESS(s_value, 4, info); + g_autofree char *s = ADDRESS(s_value, 4, info); return img_format("ADDIUPC %s, %s", rt, s); } @@ -1959,7 +1959,7 @@ static char *ADDIUPC_48_(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction); const char *rt = GPR(rt_value); - char *s = ADDRESS(s_value, 6, info); + g_autofree char *s = ADDRESS(s_value, 6, info); return img_format("ADDIUPC %s, %s", rt, s); } @@ -2417,7 +2417,7 @@ static char *ALUIPC(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se31_0_11_to_2_20_to_12_s12(instruction); const char *rt = GPR(rt_value); - char *s = ADDRESS(s_value, 4, info); + g_autofree char *s = ADDRESS(s_value, 4, info); return img_format("ALUIPC %s, %%pcrel_hi(%s)", rt, s); } @@ -2574,7 +2574,7 @@ static char *BALC_16_(uint64 instruction, Dis_info *info) { int64 s_value = extract_s__se10_0_9_8_7_6_5_4_3_2_1_s1(instruction); - char *s = ADDRESS(s_value, 2, info); + g_autofree char *s = ADDRESS(s_value, 2, info); return img_format("BALC %s", s); } @@ -2594,7 +2594,7 @@ static char *BALC_32_(uint64 instruction, Dis_info *info) { int64 s_value = extract_s__se25_0_24_to_1_s1(instruction); - char *s = ADDRESS(s_value, 4, info); + g_autofree char *s = ADDRESS(s_value, 4, info); return img_format("BALC %s", s); } @@ -2639,7 +2639,7 @@ static char *BBEQZC(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(instruction); const char *rt = GPR(rt_value); - char *s = ADDRESS(s_value, 4, info); + g_autofree char *s = ADDRESS(s_value, 4, info); return img_format("BBEQZC %s, 0x%" PRIx64 ", %s", rt, bit_value, s); } @@ -2662,7 +2662,7 @@ static char *BBNEZC(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(instruction); const char *rt = GPR(rt_value); - char *s = ADDRESS(s_value, 4, info); + g_autofree char *s = ADDRESS(s_value, 4, info); return img_format("BBNEZC %s, 0x%" PRIx64 ", %s", rt, bit_value, s); } @@ -2682,7 +2682,7 @@ static char *BC_16_(uint64 instruction, Dis_info *info) { int64 s_value = extract_s__se10_0_9_8_7_6_5_4_3_2_1_s1(instruction); - char *s = ADDRESS(s_value, 2, info); + g_autofree char *s = ADDRESS(s_value, 2, info); return img_format("BC %s", s); } @@ -2702,7 +2702,7 @@ static char *BC_32_(uint64 instruction, Dis_info *info) { int64 s_value = extract_s__se25_0_24_to_1_s1(instruction); - char *s = ADDRESS(s_value, 4, info); + g_autofree char *s = ADDRESS(s_value, 4, info); return img_format("BC %s", s); } @@ -2724,7 +2724,7 @@ static char *BC1EQZC(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se14_0_13_to_1_s1(instruction); const char *ft = FPR(ft_value); - char *s = ADDRESS(s_value, 4, info); + g_autofree char *s = ADDRESS(s_value, 4, info); return img_format("BC1EQZC %s, %s", ft, s); } @@ -2746,7 +2746,7 @@ static char *BC1NEZC(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se14_0_13_to_1_s1(instruction); const char *ft = FPR(ft_value); - char *s = ADDRESS(s_value, 4, info); + g_autofree char *s = ADDRESS(s_value, 4, info); return img_format("BC1NEZC %s, %s", ft, s); } @@ -2767,7 +2767,7 @@ static char *BC2EQZC(uint64 instruction, Dis_info *info) uint64 ct_value = extract_ct_25_24_23_22_21(instruction); int64 s_value = extract_s__se14_0_13_to_1_s1(instruction); - char *s = ADDRESS(s_value, 4, info); + g_autofree char *s = ADDRESS(s_value, 4, info); return img_format("BC2EQZC CP%" PRIu64 ", %s", ct_value, s); } @@ -2788,7 +2788,7 @@ static char *BC2NEZC(uint64 instruction, Dis_info *info) uint64 ct_value = extract_ct_25_24_23_22_21(instruction); int64 s_value = extract_s__se14_0_13_to_1_s1(instruction); - char *s = ADDRESS(s_value, 4, info); + g_autofree char *s = ADDRESS(s_value, 4, info); return img_format("BC2NEZC CP%" PRIu64 ", %s", ct_value, s); } @@ -2812,7 +2812,7 @@ static char *BEQC_16_(uint64 instruction, Dis_info *info) const char *rs3 = GPR(decode_gpr_gpr3(rs3_value)); const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); - char *u = ADDRESS(u_value, 2, info); + g_autofree char *u = ADDRESS(u_value, 2, info); return img_format("BEQC %s, %s, %s", rs3, rt3, u); } @@ -2836,7 +2836,7 @@ static char *BEQC_32_(uint64 instruction, Dis_info *info) const char *rs = GPR(rs_value); const char *rt = GPR(rt_value); - char *s = ADDRESS(s_value, 4, info); + g_autofree char *s = ADDRESS(s_value, 4, info); return img_format("BEQC %s, %s, %s", rs, rt, s); } @@ -2859,7 +2859,7 @@ static char *BEQIC(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(instruction); const char *rt = GPR(rt_value); - char *s = ADDRESS(s_value, 4, info); + g_autofree char *s = ADDRESS(s_value, 4, info); return img_format("BEQIC %s, 0x%" PRIx64 ", %s", rt, u_value, s); } @@ -2881,7 +2881,7 @@ static char *BEQZC_16_(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se7_0_6_5_4_3_2_1_s1(instruction); const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); - char *s = ADDRESS(s_value, 2, info); + g_autofree char *s = ADDRESS(s_value, 2, info); return img_format("BEQZC %s, %s", rt3, s); } @@ -2905,7 +2905,7 @@ static char *BGEC(uint64 instruction, Dis_info *info) const char *rs = GPR(rs_value); const char *rt = GPR(rt_value); - char *s = ADDRESS(s_value, 4, info); + g_autofree char *s = ADDRESS(s_value, 4, info); return img_format("BGEC %s, %s, %s", rs, rt, s); } @@ -2928,7 +2928,7 @@ static char *BGEIC(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(instruction); const char *rt = GPR(rt_value); - char *s = ADDRESS(s_value, 4, info); + g_autofree char *s = ADDRESS(s_value, 4, info); return img_format("BGEIC %s, 0x%" PRIx64 ", %s", rt, u_value, s); } @@ -2951,7 +2951,7 @@ static char *BGEIUC(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(instruction); const char *rt = GPR(rt_value); - char *s = ADDRESS(s_value, 4, info); + g_autofree char *s = ADDRESS(s_value, 4, info); return img_format("BGEIUC %s, 0x%" PRIx64 ", %s", rt, u_value, s); } @@ -2975,7 +2975,7 @@ static char *BGEUC(uint64 instruction, Dis_info *info) const char *rs = GPR(rs_value); const char *rt = GPR(rt_value); - char *s = ADDRESS(s_value, 4, info); + g_autofree char *s = ADDRESS(s_value, 4, info); return img_format("BGEUC %s, %s, %s", rs, rt, s); } @@ -2999,7 +2999,7 @@ static char *BLTC(uint64 instruction, Dis_info *info) const char *rs = GPR(rs_value); const char *rt = GPR(rt_value); - char *s = ADDRESS(s_value, 4, info); + g_autofree char *s = ADDRESS(s_value, 4, info); return img_format("BLTC %s, %s, %s", rs, rt, s); } @@ -3022,7 +3022,7 @@ static char *BLTIC(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(instruction); const char *rt = GPR(rt_value); - char *s = ADDRESS(s_value, 4, info); + g_autofree char *s = ADDRESS(s_value, 4, info); return img_format("BLTIC %s, 0x%" PRIx64 ", %s", rt, u_value, s); } @@ -3045,7 +3045,7 @@ static char *BLTIUC(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(instruction); const char *rt = GPR(rt_value); - char *s = ADDRESS(s_value, 4, info); + g_autofree char *s = ADDRESS(s_value, 4, info); return img_format("BLTIUC %s, 0x%" PRIx64 ", %s", rt, u_value, s); } @@ -3069,7 +3069,7 @@ static char *BLTUC(uint64 instruction, Dis_info *info) const char *rs = GPR(rs_value); const char *rt = GPR(rt_value); - char *s = ADDRESS(s_value, 4, info); + g_autofree char *s = ADDRESS(s_value, 4, info); return img_format("BLTUC %s, %s, %s", rs, rt, s); } @@ -3093,7 +3093,7 @@ static char *BNEC_16_(uint64 instruction, Dis_info *info) const char *rs3 = GPR(decode_gpr_gpr3(rs3_value)); const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); - char *u = ADDRESS(u_value, 2, info); + g_autofree char *u = ADDRESS(u_value, 2, info); return img_format("BNEC %s, %s, %s", rs3, rt3, u); } @@ -3117,7 +3117,7 @@ static char *BNEC_32_(uint64 instruction, Dis_info *info) const char *rs = GPR(rs_value); const char *rt = GPR(rt_value); - char *s = ADDRESS(s_value, 4, info); + g_autofree char *s = ADDRESS(s_value, 4, info); return img_format("BNEC %s, %s, %s", rs, rt, s); } @@ -3140,7 +3140,7 @@ static char *BNEIC(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(instruction); const char *rt = GPR(rt_value); - char *s = ADDRESS(s_value, 4, info); + g_autofree char *s = ADDRESS(s_value, 4, info); return img_format("BNEIC %s, 0x%" PRIx64 ", %s", rt, u_value, s); } @@ -3162,7 +3162,7 @@ static char *BNEZC_16_(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se7_0_6_5_4_3_2_1_s1(instruction); const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); - char *s = ADDRESS(s_value, 2, info); + g_autofree char *s = ADDRESS(s_value, 2, info); return img_format("BNEZC %s, %s", rt3, s); } @@ -3182,7 +3182,7 @@ static char *BPOSGE32C(uint64 instruction, Dis_info *info) { int64 s_value = extract_s__se14_0_13_to_1_s1(instruction); - char *s = ADDRESS(s_value, 4, info); + g_autofree char *s = ADDRESS(s_value, 4, info); return img_format("BPOSGE32C %s", s); } @@ -8182,7 +8182,7 @@ static char *LDPC_48_(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction); const char *rt = GPR(rt_value); - char *s = ADDRESS(s_value, 6, info); + g_autofree char *s = ADDRESS(s_value, 6, info); return img_format("LDPC %s, %s", rt, s); } @@ -9146,7 +9146,7 @@ static char *LWPC_48_(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction); const char *rt = GPR(rt_value); - char *s = ADDRESS(s_value, 6, info); + g_autofree char *s = ADDRESS(s_value, 6, info); return img_format("LWPC %s, %s", rt, s); } @@ -10131,7 +10131,7 @@ static char *MOVE_BALC(uint64 instruction, Dis_info *info) const char *rd1 = GPR(decode_gpr_gpr1(rd1_value)); const char *rtz4 = GPR(decode_gpr_gpr4_zero(rtz4_value)); - char *s = ADDRESS(s_value, 4, info); + g_autofree char *s = ADDRESS(s_value, 4, info); return img_format("MOVE.BALC %s, %s, %s", rd1, rtz4, s); } @@ -12176,8 +12176,9 @@ static char *RESTORE_32_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3__s3(instruction); uint64 gp_value = extract_gp_2(instruction); - return img_format("RESTORE 0x%" PRIx64 "%s", u_value, - save_restore_list(rt_value, count_value, gp_value)); + g_autofree char *save_restore_str = save_restore_list( + rt_value, count_value, gp_value); + return img_format("RESTORE 0x%" PRIx64 "%s", u_value, save_restore_str); } @@ -12197,8 +12198,9 @@ static char *RESTORE_JRC_16_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_7_6_5_4__s4(instruction); uint64 count_value = extract_count_3_2_1_0(instruction); - return img_format("RESTORE.JRC 0x%" PRIx64 "%s", u_value, - save_restore_list(encode_rt1_from_rt(rt1_value), count_value, 0)); + g_autofree char *save_restore_str = save_restore_list( + encode_rt1_from_rt(rt1_value), count_value, 0); + return img_format("RESTORE.JRC 0x%" PRIx64 "%s", u_value, save_restore_str); } @@ -12219,8 +12221,10 @@ static char *RESTORE_JRC_32_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3__s3(instruction); uint64 gp_value = extract_gp_2(instruction); + g_autofree char *save_restore_str = save_restore_list( + rt_value, count_value, gp_value); return img_format("RESTORE.JRC 0x%" PRIx64 "%s", u_value, - save_restore_list(rt_value, count_value, gp_value)); + save_restore_str); } @@ -12509,8 +12513,9 @@ static char *SAVE_16_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_7_6_5_4__s4(instruction); uint64 count_value = extract_count_3_2_1_0(instruction); - return img_format("SAVE 0x%" PRIx64 "%s", u_value, - save_restore_list(encode_rt1_from_rt(rt1_value), count_value, 0)); + g_autofree char *save_restore_str = save_restore_list( + encode_rt1_from_rt(rt1_value), count_value, 0); + return img_format("SAVE 0x%" PRIx64 "%s", u_value, save_restore_str); } @@ -12531,8 +12536,9 @@ static char *SAVE_32_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3__s3(instruction); uint64 gp_value = extract_gp_2(instruction); - return img_format("SAVE 0x%" PRIx64 "%s", u_value, - save_restore_list(rt_value, count_value, gp_value)); + g_autofree char *save_restore_str = save_restore_list( + rt_value, count_value, gp_value); + return img_format("SAVE 0x%" PRIx64 "%s", u_value, save_restore_str); } @@ -13117,7 +13123,7 @@ static char *SDPC_48_(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction); const char *rt = GPR(rt_value); - char *s = ADDRESS(s_value, 6, info); + g_autofree char *s = ADDRESS(s_value, 6, info); return img_format("SDPC %s, %s", rt, s); } @@ -15296,7 +15302,7 @@ static char *SWPC_48_(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction); const char *rt = GPR(rt_value); - char *s = ADDRESS(s_value, 6, info); + g_autofree char *s = ADDRESS(s_value, 6, info); return img_format("SWPC %s, %s", rt, s); } @@ -21935,7 +21941,7 @@ int print_insn_nanomips(bfd_vma memaddr, struct disassemble_info *info) int status; bfd_byte buffer[2]; uint16_t insn1 = 0, insn2 = 0, insn3 = 0; - char *buf = NULL; + g_autofree char *buf = NULL; info->bytes_per_chunk = 2; info->display_endian = info->endian; From patchwork Sun Oct 30 22:28:19 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 13025257 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 9ABD1FA3743 for ; Sun, 30 Oct 2022 22:33:14 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1opGrJ-00022U-7S; Sun, 30 Oct 2022 18:32:49 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1opGqt-00008R-VH for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:32:24 -0400 Received: from mail-wr1-x429.google.com ([2a00:1450:4864:20::429]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1opGqs-0008Of-4s for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:32:23 -0400 Received: by mail-wr1-x429.google.com with SMTP id h9so13721867wrt.0 for ; Sun, 30 Oct 2022 15:32:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=XG3sgTPrYyBX5qscbuiJzqy4z78ePhiDy+Vo34aVSx0=; b=RjQG5K/thBtl2J2wrWHPSYQZfER0gIFxaFUEkSKduvW3YERp2rIPBz+aFI9D1oQKle 8IFHtG1bmGJi06po8YOD4m5nOYlpCDwGrcEprv1YCogigMOPtcsJH4L4oi2vdBzlZy7q HQRf/of5rYHcJQO69q276Dt2AXWuCOQnBl+ZHYqODpjGRq/4PWhNDpIktARJDntuxSF/ eVphyTrYQ3UiOfNGRmIaFDejrVf96pHDMaci0oVbefj1zfh3ZVf4AACV4CXAi9PAz4oP MdyRFC2LacIbHrod6XsZdIEGQj6DZY4yuJrUvrUtAIdsmBjVm+Blcf8NUOcFTAX9TuFf Knlg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=XG3sgTPrYyBX5qscbuiJzqy4z78ePhiDy+Vo34aVSx0=; b=FaK2ZqbpLn5t0pGIsVRxfQMIbSrF2lhoFPp/v9avW4ZuylmqiYgx+JnpJwglWOPDpw gQ8iU3Z+Z5dlMZD9fbT3tkzcK7sw1lpKk7IzH+4UT2o9M61ZXM7EKD2V/1iJ6kJW9AwJ VxxBVzgJKR3W4IgeEiwHnSXtlylvKsSEHLE5f+gCKl4Jk2WkkUMRQzrgMZEYmwfUtCNO hKSxQqQGPx1Lg7F4YHz3J/ozvUzU7rhThtZO8XXsVov3112Qb8GWjknmYvwi9FeO7JBY TqSq98molEHZmW0byw8RShwFw1OGdej+9hs/ikTPuah+JMzU9LKXHR9EnTg3O+Jj4Y9L +wsw== X-Gm-Message-State: ACrzQf1UAnXS9/R2jjtJzbga5Ldge3r2xzrqpCxruzyp53GcFPhu1E2H 9dh6CCIAHXOkQb91pfVr8YY6zN4CsBfFZQ== X-Google-Smtp-Source: AMsMyM5QxdM8f5G13hGL4gBa53tNV8ItIRTanA+udCM8JxAR9X+ZhxebtdlassrdewSe/mVBtuKfTA== X-Received: by 2002:a5d:4804:0:b0:236:94d4:5472 with SMTP id l4-20020a5d4804000000b0023694d45472mr6095829wrq.286.1667169139252; Sun, 30 Oct 2022 15:32:19 -0700 (PDT) Received: from localhost.localdomain ([185.126.107.38]) by smtp.gmail.com with ESMTPSA id k25-20020a7bc419000000b003cf4eac8e80sm5874622wmi.23.2022.10.30.15.32.17 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 30 Oct 2022 15:32:18 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Aleksandar Rikalo , Huacai Chen , Stefan Pejic , Jiaxun Yang , Aurelien Jarno , Paul Burton , Milica Lazarevic , Richard Henderson Subject: [PULL 33/55] disas/nanomips: Remove function overloading Date: Sun, 30 Oct 2022 23:28:19 +0100 Message-Id: <20221030222841.42377-34-philmd@linaro.org> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221030222841.42377-1-philmd@linaro.org> References: <20221030222841.42377-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::429; envelope-from=philmd@linaro.org; helo=mail-wr1-x429.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Qemu-devel" Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Milica Lazarevic Disassemble function that calls the other variant of it is deleted. Where it is called, now we're directly calling the other implementation. Signed-off-by: Milica Lazarevic Reviewed-by: Richard Henderson Message-Id: <20220912122635.74032-20-milica.lazarevic@syrmia.com> Signed-off-by: Philippe Mathieu-Daudé --- disas/nanomips.cpp | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/disas/nanomips.cpp b/disas/nanomips.cpp index ce93fdad62..85f5784770 100644 --- a/disas/nanomips.cpp +++ b/disas/nanomips.cpp @@ -21917,12 +21917,6 @@ static const Pool MAJOR[2] = { 0x0 }, /* P16 */ }; -static int Disassemble(const uint16 *data, char **dis, - TABLE_ENTRY_TYPE & type, Dis_info *info) -{ - return Disassemble(data, dis, type, MAJOR, 2, info); -} - static int nanomips_dis(char **buf, Dis_info *info, unsigned short one, @@ -21932,7 +21926,7 @@ static int nanomips_dis(char **buf, uint16 bits[3] = {one, two, three}; TABLE_ENTRY_TYPE type; - int size = Disassemble(bits, buf, type, info); + int size = Disassemble(bits, buf, type, MAJOR, 2, info); return size; } From patchwork Sun Oct 30 22:28:20 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 13025264 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id CBF47C38A02 for ; Sun, 30 Oct 2022 22:34:40 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1opGra-0002T3-3D; Sun, 30 Oct 2022 18:33:06 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1opGr3-0000Lx-OA for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:32:33 -0400 Received: from mail-wr1-x435.google.com ([2a00:1450:4864:20::435]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1opGqy-0008OA-BG for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:32:33 -0400 Received: by mail-wr1-x435.google.com with SMTP id v1so13651451wrt.11 for ; Sun, 30 Oct 2022 15:32:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=kFKVYi82vRKYa60i6ICj8S/vOgcNGZ369I8pQUtLOMU=; b=zuLDqkDDA7SJVtmd0s6qVfTR3NXv4ZLlFmaJaQ+jVz2Y00n4Dt79YY6EKU+pqvMfnD m7IbIU4yyyx6FnJ5mur1ZyPeNKJYlcWV4VAJRdF/3cahrgHr9KvEbkR7U4UQ3iw+KMWH 1PxF8JAkVW770zvkABjaRIakc45wYimnCrnM9efrURXoWt8E/pOAp1twZ3f3SWpGv0pY 27C+PExk09+PoycumjgyZeEhz23bS7RzxOct4LBPoNEAtMg1bf5VhFp9cE7AyKa0mgzy DbM8e9bUZa3NC6miEC3mMNc1xG99iDUp3RBJrWFg6QYPnetIdRWbjkzr+jOyBFAsBpAI cCpw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=kFKVYi82vRKYa60i6ICj8S/vOgcNGZ369I8pQUtLOMU=; b=boBYvz5bRvq5g7qdnmcY7+PBDPIohqOnWoX2NyEejLVXYPGcx8j32Cd2lD2lM32Zcm teIdT95pPL6vi0GlppwH/24kNZNlzpQopJ08kmbaUQcnKpOgeUnlYnyA3FgEBFNatIvq Z23CTixXkPCuoMxGiBq+oh350rHpjjnQnapfFR/c6f+mwtasYPnDsRdTlxpqRA05Cx2h m+wjmqdbtDbXIR80Sdx7KkwiLhqxIIJl8HzS26nP4Pkc+KMRx1xaVjDV8UL7BIAcTxvT oYrNUzmZHu5WD1+fTEe6FuS4wS8BLeozsOcnbEDjvpCseao9Rv5vk24Ze8s5dVep0TkQ rhww== X-Gm-Message-State: ACrzQf0GThhKpeEOva9GHdMHHgnEwUSpznq0L+gER1upPaB2OiIHH+o3 jtCCa8zeFAntVXZH/m17XruuVCIDk/qOQw== X-Google-Smtp-Source: AMsMyM497qvW6ucbbtTNP81xQQ/9GhBMbZ6p17Hgx91fO/Segx5nJKeM8KZAOJocG+6t+20RvwPk9g== X-Received: by 2002:a5d:5292:0:b0:236:ccb9:673b with SMTP id c18-20020a5d5292000000b00236ccb9673bmr949849wrv.317.1667169146054; Sun, 30 Oct 2022 15:32:26 -0700 (PDT) Received: from localhost.localdomain ([185.126.107.38]) by smtp.gmail.com with ESMTPSA id p12-20020a7bcc8c000000b003a682354f63sm5338935wma.11.2022.10.30.15.32.23 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 30 Oct 2022 15:32:25 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Aleksandar Rikalo , Huacai Chen , Stefan Pejic , Jiaxun Yang , Aurelien Jarno , Paul Burton , Milica Lazarevic , Richard Henderson Subject: [PULL 34/55] disas/nanomips: Expand Dis_info struct Date: Sun, 30 Oct 2022 23:28:20 +0100 Message-Id: <20221030222841.42377-35-philmd@linaro.org> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221030222841.42377-1-philmd@linaro.org> References: <20221030222841.42377-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::435; envelope-from=philmd@linaro.org; helo=mail-wr1-x435.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Qemu-devel" Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Milica Lazarevic This patch expands the Dis_info struct, which should hold the necessary data for handling runtime errors. Fields fprintf_func and stream are in charge of error printing. Field buf enables the use of sigsetjmp() and siglongjmp() functions. Support for runtime error handling will be added later. We're filling Dis_info at the entrance of the nanoMIPS disassembler, i.e. print_insn_nanomips. Next, we're adding that information as an argument wherever we need to. Signed-off-by: Milica Lazarevic Reviewed-by: Richard Henderson Message-Id: <20220912122635.74032-21-milica.lazarevic@syrmia.com> Signed-off-by: Philippe Mathieu-Daudé --- disas/nanomips.cpp | 2708 ++++++++++++++++++++++---------------------- 1 file changed, 1357 insertions(+), 1351 deletions(-) diff --git a/disas/nanomips.cpp b/disas/nanomips.cpp index 85f5784770..73329462ee 100644 --- a/disas/nanomips.cpp +++ b/disas/nanomips.cpp @@ -72,6 +72,9 @@ enum TABLE_ATTRIBUTE_TYPE { typedef struct Dis_info { img_address m_pc; + fprintf_function fprintf_func; + FILE *stream; + sigjmp_buf buf; } Dis_info; typedef bool (*conditional_function)(uint64 instruction); @@ -124,7 +127,7 @@ static int64 sign_extend(int64 data, int msb) static uint64 renumber_registers(uint64 index, uint64 *register_list, - size_t register_list_size) + size_t register_list_size, Dis_info *info) { if (index < register_list_size) { return register_list[index]; @@ -163,12 +166,12 @@ static uint64 renumber_registers(uint64 index, uint64 *register_list, * - MUL[4X4] * - SW[4X4] */ -static uint64 decode_gpr_gpr4(uint64 d) +static uint64 decode_gpr_gpr4(uint64 d, Dis_info *info) { static uint64 register_list[] = { 8, 9, 10, 11, 4, 5, 6, 7, 16, 17, 18, 19, 20, 21, 22, 23 }; return renumber_registers(d, register_list, - sizeof(register_list) / sizeof(register_list[0])); + sizeof(register_list) / sizeof(register_list[0]), info); } @@ -199,12 +202,12 @@ static uint64 decode_gpr_gpr4(uint64 d) * - MOVEP * - SW[4X4] */ -static uint64 decode_gpr_gpr4_zero(uint64 d) +static uint64 decode_gpr_gpr4_zero(uint64 d, Dis_info *info) { static uint64 register_list[] = { 8, 9, 10, 0, 4, 5, 6, 7, 16, 17, 18, 19, 20, 21, 22, 23 }; return renumber_registers(d, register_list, - sizeof(register_list) / sizeof(register_list[0])); + sizeof(register_list) / sizeof(register_list[0]), info); } @@ -258,11 +261,11 @@ static uint64 decode_gpr_gpr4_zero(uint64 d) * - SW[16] * - XOR[16] */ -static uint64 decode_gpr_gpr3(uint64 d) +static uint64 decode_gpr_gpr3(uint64 d, Dis_info *info) { static uint64 register_list[] = { 16, 17, 18, 19, 4, 5, 6, 7 }; return renumber_registers(d, register_list, - sizeof(register_list) / sizeof(register_list[0])); + sizeof(register_list) / sizeof(register_list[0]), info); } @@ -298,11 +301,11 @@ static uint64 decode_gpr_gpr3(uint64 d) * - SW[16] * - SW[GP16] */ -static uint64 decode_gpr_gpr3_src_store(uint64 d) +static uint64 decode_gpr_gpr3_src_store(uint64 d, Dis_info *info) { static uint64 register_list[] = { 0, 17, 18, 19, 4, 5, 6, 7 }; return renumber_registers(d, register_list, - sizeof(register_list) / sizeof(register_list[0])); + sizeof(register_list) / sizeof(register_list[0]), info); } @@ -328,11 +331,11 @@ static uint64 decode_gpr_gpr3_src_store(uint64 d) * - MOVEP * - MOVEP[REV] */ -static uint64 decode_gpr_gpr2_reg1(uint64 d) +static uint64 decode_gpr_gpr2_reg1(uint64 d, Dis_info *info) { static uint64 register_list[] = { 4, 5, 6, 7 }; return renumber_registers(d, register_list, - sizeof(register_list) / sizeof(register_list[0])); + sizeof(register_list) / sizeof(register_list[0]), info); } @@ -358,11 +361,11 @@ static uint64 decode_gpr_gpr2_reg1(uint64 d) * - MOVEP * - MOVEP[REV] */ -static uint64 decode_gpr_gpr2_reg2(uint64 d) +static uint64 decode_gpr_gpr2_reg2(uint64 d, Dis_info *info) { static uint64 register_list[] = { 5, 6, 7, 8 }; return renumber_registers(d, register_list, - sizeof(register_list) / sizeof(register_list[0])); + sizeof(register_list) / sizeof(register_list[0]), info); } @@ -387,11 +390,11 @@ static uint64 decode_gpr_gpr2_reg2(uint64 d) * * - MOVE.BALC */ -static uint64 decode_gpr_gpr1(uint64 d) +static uint64 decode_gpr_gpr1(uint64 d, Dis_info *info) { static uint64 register_list[] = { 4, 5 }; return renumber_registers(d, register_list, - sizeof(register_list) / sizeof(register_list[0])); + sizeof(register_list) / sizeof(register_list[0]), info); } @@ -450,7 +453,7 @@ static uint64 encode_rt1_from_rt(uint64 d) } -static const char *GPR(uint64 reg) +static const char *GPR(uint64 reg, Dis_info *info) { static const char *gpr_reg[32] = { "zero", "at", "v0", "v1", "a0", "a1", "a2", "a3", @@ -468,7 +471,8 @@ static const char *GPR(uint64 reg) } -static char *save_restore_list(uint64 rt, uint64 count, uint64 gp) +static char *save_restore_list(uint64 rt, uint64 count, uint64 gp, + Dis_info *info) { char *reg_list[34]; reg_list[0] = (char *)""; @@ -478,7 +482,7 @@ static char *save_restore_list(uint64 rt, uint64 count, uint64 gp) bool use_gp = gp && (counter == count - 1); uint64 this_rt = use_gp ? 28 : ((rt & 0x10) | (rt + counter)) & 0x1f; /* glib usage below requires casting away const */ - reg_list[counter + 1] = (char *)GPR(this_rt); + reg_list[counter + 1] = (char *)GPR(this_rt, info); } reg_list[count + 1] = NULL; @@ -486,7 +490,7 @@ static char *save_restore_list(uint64 rt, uint64 count, uint64 gp) } -static const char *FPR(uint64 reg) +static const char *FPR(uint64 reg, Dis_info *info) { static const char *fpr_reg[32] = { "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", @@ -504,7 +508,7 @@ static const char *FPR(uint64 reg) } -static const char *AC(uint64 reg) +static const char *AC(uint64 reg, Dis_info *info) { static const char *ac_reg[4] = { "ac0", "ac1", "ac2", "ac3" @@ -1545,8 +1549,8 @@ static char *ABS_D(uint64 instruction, Dis_info *info) uint64 fd_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - const char *fs = FPR(fs_value); - const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value, info); + const char *fd = FPR(fd_value, info); return img_format("ABS.D %s, %s", fd, fs); } @@ -1567,8 +1571,8 @@ static char *ABS_S(uint64 instruction, Dis_info *info) uint64 fd_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - const char *fs = FPR(fs_value); - const char *fd = FPR(fd_value); + const char *fs = FPR(fs_value, info); + const char *fd = FPR(fd_value, info); return img_format("ABS.S %s, %s", fd, fs); } @@ -1589,8 +1593,8 @@ static char *ABSQ_S_PH(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("ABSQ_S.PH %s, %s", rt, rs); } @@ -1611,8 +1615,8 @@ static char *ABSQ_S_QB(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("ABSQ_S.QB %s, %s", rt, rs); } @@ -1633,8 +1637,8 @@ static char *ABSQ_S_W(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("ABSQ_S.W %s, %s", rt, rs); } @@ -1655,7 +1659,7 @@ static char *ACLR(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - const char *rs = GPR(rs_value); + const char *rs = GPR(rs_value, info); return img_format("ACLR 0x%" PRIx64 ", %" PRId64 "(%s)", bit_value, s_value, rs); @@ -1677,9 +1681,9 @@ static char *ADD(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("ADD %s, %s, %s", rd, rs, rt); } @@ -1702,9 +1706,9 @@ static char *ADD_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *ft = FPR(ft_value); - const char *fs = FPR(fs_value); - const char *fd = FPR(fd_value); + const char *ft = FPR(ft_value, info); + const char *fs = FPR(fs_value, info); + const char *fd = FPR(fd_value, info); return img_format("ADD.D %s, %s, %s", fd, fs, ft); } @@ -1727,9 +1731,9 @@ static char *ADD_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *ft = FPR(ft_value); - const char *fs = FPR(fs_value); - const char *fd = FPR(fd_value); + const char *ft = FPR(ft_value, info); + const char *fs = FPR(fs_value, info); + const char *fd = FPR(fd_value, info); return img_format("ADD.S %s, %s, %s", fd, fs, ft); } @@ -1750,8 +1754,8 @@ static char *ADDIU_32_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_15_to_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("ADDIU %s, %s, 0x%" PRIx64, rt, rs, u_value); } @@ -1771,7 +1775,7 @@ static char *ADDIU_48_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_41_40_39_38_37(instruction); int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("ADDIU %s, %" PRId64, rt, s_value); } @@ -1791,7 +1795,7 @@ static char *ADDIU_GP48_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_41_40_39_38_37(instruction); int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("ADDIU %s, $%d, %" PRId64, rt, 28, s_value); } @@ -1811,7 +1815,7 @@ static char *ADDIU_GP_B_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_0(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("ADDIU %s, $%d, 0x%" PRIx64, rt, 28, u_value); } @@ -1831,7 +1835,7 @@ static char *ADDIU_GP_W_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_20_to_2__s2(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("ADDIU %s, $%d, 0x%" PRIx64, rt, 28, u_value); } @@ -1852,8 +1856,8 @@ static char *ADDIU_NEG_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); int64 u = neg_copy(u_value); return img_format("ADDIU %s, %s, %" PRId64, rt, rs, u); @@ -1874,7 +1878,7 @@ static char *ADDIU_R1_SP_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_5_4_3_2_1_0__s2(instruction); uint64 rt3_value = extract_rt3_9_8_7(instruction); - const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); + const char *rt3 = GPR(decode_gpr_gpr3(rt3_value, info), info); return img_format("ADDIU %s, $%d, 0x%" PRIx64, rt3, 29, u_value); } @@ -1895,8 +1899,8 @@ static char *ADDIU_R2_(uint64 instruction, Dis_info *info) uint64 rs3_value = extract_rs3_6_5_4(instruction); uint64 u_value = extract_u_2_1_0__s2(instruction); - const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); - const char *rs3 = GPR(decode_gpr_gpr3(rs3_value)); + const char *rt3 = GPR(decode_gpr_gpr3(rt3_value, info), info); + const char *rs3 = GPR(decode_gpr_gpr3(rs3_value, info), info); return img_format("ADDIU %s, %s, 0x%" PRIx64, rt3, rs3, u_value); } @@ -1915,7 +1919,7 @@ static char *ADDIU_RS5_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_9_8_7_6_5(instruction); int64 s_value = extract_s__se3_4_2_1_0(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("ADDIU %s, %" PRId64, rt, s_value); } @@ -1936,7 +1940,7 @@ static char *ADDIUPC_32_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); int64 s_value = extract_s__se21_0_20_to_1_s1(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); g_autofree char *s = ADDRESS(s_value, 4, info); return img_format("ADDIUPC %s, %s", rt, s); @@ -1958,7 +1962,7 @@ static char *ADDIUPC_48_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_41_40_39_38_37(instruction); int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); g_autofree char *s = ADDRESS(s_value, 6, info); return img_format("ADDIUPC %s, %s", rt, s); @@ -1981,9 +1985,9 @@ static char *ADDQ_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("ADDQ.PH %s, %s, %s", rd, rs, rt); } @@ -2006,9 +2010,9 @@ static char *ADDQ_S_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("ADDQ_S.PH %s, %s, %s", rd, rs, rt); } @@ -2030,9 +2034,9 @@ static char *ADDQ_S_W(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("ADDQ_S.W %s, %s, %s", rd, rs, rt); } @@ -2055,9 +2059,9 @@ static char *ADDQH_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("ADDQH.PH %s, %s, %s", rd, rs, rt); } @@ -2080,9 +2084,9 @@ static char *ADDQH_R_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("ADDQH_R.PH %s, %s, %s", rd, rs, rt); } @@ -2105,9 +2109,9 @@ static char *ADDQH_R_W(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("ADDQH_R.W %s, %s, %s", rd, rs, rt); } @@ -2130,9 +2134,9 @@ static char *ADDQH_W(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("ADDQH.W %s, %s, %s", rd, rs, rt); } @@ -2154,9 +2158,9 @@ static char *ADDSC(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("ADDSC %s, %s, %s", rd, rs, rt); } @@ -2177,9 +2181,9 @@ static char *ADDU_16_(uint64 instruction, Dis_info *info) uint64 rs3_value = extract_rs3_6_5_4(instruction); uint64 rd3_value = extract_rd3_3_2_1(instruction); - const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); - const char *rs3 = GPR(decode_gpr_gpr3(rs3_value)); - const char *rd3 = GPR(decode_gpr_gpr3(rd3_value)); + const char *rt3 = GPR(decode_gpr_gpr3(rt3_value, info), info); + const char *rs3 = GPR(decode_gpr_gpr3(rs3_value, info), info); + const char *rd3 = GPR(decode_gpr_gpr3(rd3_value, info), info); return img_format("ADDU %s, %s, %s", rd3, rs3, rt3); } @@ -2201,9 +2205,9 @@ static char *ADDU_32_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("ADDU %s, %s, %s", rd, rs, rt); } @@ -2224,8 +2228,8 @@ static char *ADDU_4X4_(uint64 instruction, Dis_info *info) uint64 rt4_value = extract_rt4_9_7_6_5(instruction); uint64 rs4_value = extract_rs4_4_2_1_0(instruction); - const char *rs4 = GPR(decode_gpr_gpr4(rs4_value)); - const char *rt4 = GPR(decode_gpr_gpr4(rt4_value)); + const char *rs4 = GPR(decode_gpr_gpr4(rs4_value, info), info); + const char *rt4 = GPR(decode_gpr_gpr4(rt4_value, info), info); return img_format("ADDU %s, %s", rs4, rt4); } @@ -2247,9 +2251,9 @@ static char *ADDU_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("ADDU.PH %s, %s, %s", rd, rs, rt); } @@ -2271,9 +2275,9 @@ static char *ADDU_QB(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("ADDU.QB %s, %s, %s", rd, rs, rt); } @@ -2296,9 +2300,9 @@ static char *ADDU_S_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("ADDU_S.PH %s, %s, %s", rd, rs, rt); } @@ -2320,9 +2324,9 @@ static char *ADDU_S_QB(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("ADDU_S.QB %s, %s, %s", rd, rs, rt); } @@ -2345,9 +2349,9 @@ static char *ADDUH_QB(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("ADDUH.QB %s, %s, %s", rd, rs, rt); } @@ -2370,9 +2374,9 @@ static char *ADDUH_R_QB(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("ADDUH_R.QB %s, %s, %s", rd, rs, rt); } @@ -2393,9 +2397,9 @@ static char *ADDWC(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("ADDWC %s, %s, %s", rd, rs, rt); } @@ -2416,7 +2420,7 @@ static char *ALUIPC(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); int64 s_value = extract_s__se31_0_11_to_2_20_to_12_s12(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); g_autofree char *s = ADDRESS(s_value, 4, info); return img_format("ALUIPC %s, %%pcrel_hi(%s)", rt, s); @@ -2437,8 +2441,8 @@ static char *AND_16_(uint64 instruction, Dis_info *info) uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); - const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); - const char *rs3 = GPR(decode_gpr_gpr3(rs3_value)); + const char *rt3 = GPR(decode_gpr_gpr3(rt3_value, info), info); + const char *rs3 = GPR(decode_gpr_gpr3(rs3_value, info), info); return img_format("AND %s, %s", rs3, rt3); } @@ -2460,9 +2464,9 @@ static char *AND_32_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("AND %s, %s, %s", rd, rs, rt); } @@ -2483,8 +2487,8 @@ static char *ANDI_16_(uint64 instruction, Dis_info *info) uint64 rs3_value = extract_rs3_6_5_4(instruction); uint64 eu_value = extract_eu_3_2_1_0(instruction); - const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); - const char *rs3 = GPR(decode_gpr_gpr3(rs3_value)); + const char *rt3 = GPR(decode_gpr_gpr3(rt3_value, info), info); + const char *rs3 = GPR(decode_gpr_gpr3(rs3_value, info), info); uint64 eu = encode_eu_from_u_andi16(eu_value); return img_format("ANDI %s, %s, 0x%" PRIx64, rt3, rs3, eu); @@ -2507,8 +2511,8 @@ static char *ANDI_32_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("ANDI %s, %s, 0x%" PRIx64, rt, rs, u_value); } @@ -2530,8 +2534,8 @@ static char *APPEND(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 sa_value = extract_sa_15_14_13_12_11(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("APPEND %s, %s, 0x%" PRIx64, rt, rs, sa_value); } @@ -2553,7 +2557,7 @@ static char *ASET(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - const char *rs = GPR(rs_value); + const char *rs = GPR(rs_value, info); return img_format("ASET 0x%" PRIx64 ", %" PRId64 "(%s)", bit_value, s_value, rs); @@ -2615,8 +2619,8 @@ static char *BALRSC(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("BALRSC %s, %s", rt, rs); } @@ -2638,7 +2642,7 @@ static char *BBEQZC(uint64 instruction, Dis_info *info) uint64 bit_value = extract_bit_16_15_14_13_12_11(instruction); int64 s_value = extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); g_autofree char *s = ADDRESS(s_value, 4, info); return img_format("BBEQZC %s, 0x%" PRIx64 ", %s", rt, bit_value, s); @@ -2661,7 +2665,7 @@ static char *BBNEZC(uint64 instruction, Dis_info *info) uint64 bit_value = extract_bit_16_15_14_13_12_11(instruction); int64 s_value = extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); g_autofree char *s = ADDRESS(s_value, 4, info); return img_format("BBNEZC %s, 0x%" PRIx64 ", %s", rt, bit_value, s); @@ -2723,7 +2727,7 @@ static char *BC1EQZC(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); int64 s_value = extract_s__se14_0_13_to_1_s1(instruction); - const char *ft = FPR(ft_value); + const char *ft = FPR(ft_value, info); g_autofree char *s = ADDRESS(s_value, 4, info); return img_format("BC1EQZC %s, %s", ft, s); @@ -2745,7 +2749,7 @@ static char *BC1NEZC(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); int64 s_value = extract_s__se14_0_13_to_1_s1(instruction); - const char *ft = FPR(ft_value); + const char *ft = FPR(ft_value, info); g_autofree char *s = ADDRESS(s_value, 4, info); return img_format("BC1NEZC %s, %s", ft, s); @@ -2810,8 +2814,8 @@ static char *BEQC_16_(uint64 instruction, Dis_info *info) uint64 rs3_value = extract_rs3_6_5_4(instruction); uint64 u_value = extract_u_3_2_1_0__s1(instruction); - const char *rs3 = GPR(decode_gpr_gpr3(rs3_value)); - const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); + const char *rs3 = GPR(decode_gpr_gpr3(rs3_value, info), info); + const char *rt3 = GPR(decode_gpr_gpr3(rt3_value, info), info); g_autofree char *u = ADDRESS(u_value, 2, info); return img_format("BEQC %s, %s, %s", rs3, rt3, u); @@ -2834,8 +2838,8 @@ static char *BEQC_32_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se14_0_13_to_1_s1(instruction); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); g_autofree char *s = ADDRESS(s_value, 4, info); return img_format("BEQC %s, %s, %s", rs, rt, s); @@ -2858,7 +2862,7 @@ static char *BEQIC(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_17_16_15_14_13_12_11(instruction); int64 s_value = extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); g_autofree char *s = ADDRESS(s_value, 4, info); return img_format("BEQIC %s, 0x%" PRIx64 ", %s", rt, u_value, s); @@ -2880,7 +2884,7 @@ static char *BEQZC_16_(uint64 instruction, Dis_info *info) uint64 rt3_value = extract_rt3_9_8_7(instruction); int64 s_value = extract_s__se7_0_6_5_4_3_2_1_s1(instruction); - const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); + const char *rt3 = GPR(decode_gpr_gpr3(rt3_value, info), info); g_autofree char *s = ADDRESS(s_value, 2, info); return img_format("BEQZC %s, %s", rt3, s); @@ -2903,8 +2907,8 @@ static char *BGEC(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se14_0_13_to_1_s1(instruction); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); g_autofree char *s = ADDRESS(s_value, 4, info); return img_format("BGEC %s, %s, %s", rs, rt, s); @@ -2927,7 +2931,7 @@ static char *BGEIC(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_17_16_15_14_13_12_11(instruction); int64 s_value = extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); g_autofree char *s = ADDRESS(s_value, 4, info); return img_format("BGEIC %s, 0x%" PRIx64 ", %s", rt, u_value, s); @@ -2950,7 +2954,7 @@ static char *BGEIUC(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_17_16_15_14_13_12_11(instruction); int64 s_value = extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); g_autofree char *s = ADDRESS(s_value, 4, info); return img_format("BGEIUC %s, 0x%" PRIx64 ", %s", rt, u_value, s); @@ -2973,8 +2977,8 @@ static char *BGEUC(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se14_0_13_to_1_s1(instruction); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); g_autofree char *s = ADDRESS(s_value, 4, info); return img_format("BGEUC %s, %s, %s", rs, rt, s); @@ -2997,8 +3001,8 @@ static char *BLTC(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se14_0_13_to_1_s1(instruction); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); g_autofree char *s = ADDRESS(s_value, 4, info); return img_format("BLTC %s, %s, %s", rs, rt, s); @@ -3021,7 +3025,7 @@ static char *BLTIC(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_17_16_15_14_13_12_11(instruction); int64 s_value = extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); g_autofree char *s = ADDRESS(s_value, 4, info); return img_format("BLTIC %s, 0x%" PRIx64 ", %s", rt, u_value, s); @@ -3044,7 +3048,7 @@ static char *BLTIUC(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_17_16_15_14_13_12_11(instruction); int64 s_value = extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); g_autofree char *s = ADDRESS(s_value, 4, info); return img_format("BLTIUC %s, 0x%" PRIx64 ", %s", rt, u_value, s); @@ -3067,8 +3071,8 @@ static char *BLTUC(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se14_0_13_to_1_s1(instruction); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); g_autofree char *s = ADDRESS(s_value, 4, info); return img_format("BLTUC %s, %s, %s", rs, rt, s); @@ -3091,8 +3095,8 @@ static char *BNEC_16_(uint64 instruction, Dis_info *info) uint64 rs3_value = extract_rs3_6_5_4(instruction); uint64 u_value = extract_u_3_2_1_0__s1(instruction); - const char *rs3 = GPR(decode_gpr_gpr3(rs3_value)); - const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); + const char *rs3 = GPR(decode_gpr_gpr3(rs3_value, info), info); + const char *rt3 = GPR(decode_gpr_gpr3(rt3_value, info), info); g_autofree char *u = ADDRESS(u_value, 2, info); return img_format("BNEC %s, %s, %s", rs3, rt3, u); @@ -3115,8 +3119,8 @@ static char *BNEC_32_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se14_0_13_to_1_s1(instruction); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); g_autofree char *s = ADDRESS(s_value, 4, info); return img_format("BNEC %s, %s, %s", rs, rt, s); @@ -3139,7 +3143,7 @@ static char *BNEIC(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_17_16_15_14_13_12_11(instruction); int64 s_value = extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); g_autofree char *s = ADDRESS(s_value, 4, info); return img_format("BNEIC %s, 0x%" PRIx64 ", %s", rt, u_value, s); @@ -3161,7 +3165,7 @@ static char *BNEZC_16_(uint64 instruction, Dis_info *info) uint64 rt3_value = extract_rt3_9_8_7(instruction); int64 s_value = extract_s__se7_0_6_5_4_3_2_1_s1(instruction); - const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); + const char *rt3 = GPR(decode_gpr_gpr3(rt3_value, info), info); g_autofree char *s = ADDRESS(s_value, 2, info); return img_format("BNEZC %s, %s", rt3, s); @@ -3240,7 +3244,7 @@ static char *BRSC(uint64 instruction, Dis_info *info) { uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - const char *rs = GPR(rs_value); + const char *rs = GPR(rs_value, info); return img_format("BRSC %s", rs); } @@ -3262,7 +3266,7 @@ static char *CACHE(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - const char *rs = GPR(rs_value); + const char *rs = GPR(rs_value, info); return img_format("CACHE 0x%" PRIx64 ", %s(%s)", op_value, s_value, rs); } @@ -3284,7 +3288,7 @@ static char *CACHEE(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - const char *rs = GPR(rs_value); + const char *rs = GPR(rs_value, info); return img_format("CACHEE 0x%" PRIx64 ", %s(%s)", op_value, s_value, rs); } @@ -3305,8 +3309,8 @@ static char *CEIL_L_D(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - const char *ft = FPR(ft_value); - const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value, info); + const char *fs = FPR(fs_value, info); return img_format("CEIL.L.D %s, %s", ft, fs); } @@ -3327,8 +3331,8 @@ static char *CEIL_L_S(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - const char *ft = FPR(ft_value); - const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value, info); + const char *fs = FPR(fs_value, info); return img_format("CEIL.L.S %s, %s", ft, fs); } @@ -3349,8 +3353,8 @@ static char *CEIL_W_D(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - const char *ft = FPR(ft_value); - const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value, info); + const char *fs = FPR(fs_value, info); return img_format("CEIL.W.D %s, %s", ft, fs); } @@ -3371,8 +3375,8 @@ static char *CEIL_W_S(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - const char *ft = FPR(ft_value); - const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value, info); + const char *fs = FPR(fs_value, info); return img_format("CEIL.W.S %s, %s", ft, fs); } @@ -3393,7 +3397,7 @@ static char *CFC1(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 cs_value = extract_cs_20_19_18_17_16(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("CFC1 %s, CP%" PRIu64, rt, cs_value); } @@ -3414,7 +3418,7 @@ static char *CFC2(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 cs_value = extract_cs_20_19_18_17_16(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("CFC2 %s, CP%" PRIu64, rt, cs_value); } @@ -3435,8 +3439,8 @@ static char *CLASS_D(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - const char *ft = FPR(ft_value); - const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value, info); + const char *fs = FPR(fs_value, info); return img_format("CLASS.D %s, %s", ft, fs); } @@ -3457,8 +3461,8 @@ static char *CLASS_S(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - const char *ft = FPR(ft_value); - const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value, info); + const char *fs = FPR(fs_value, info); return img_format("CLASS.S %s, %s", ft, fs); } @@ -3479,8 +3483,8 @@ static char *CLO(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("CLO %s, %s", rt, rs); } @@ -3501,8 +3505,8 @@ static char *CLZ(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("CLZ %s, %s", rt, rs); } @@ -3524,9 +3528,9 @@ static char *CMP_AF_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("CMP.AF.D %s, %s, %s", fd, fs, ft); } @@ -3548,9 +3552,9 @@ static char *CMP_AF_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("CMP.AF.S %s, %s, %s", fd, fs, ft); } @@ -3572,9 +3576,9 @@ static char *CMP_EQ_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("CMP.EQ.D %s, %s, %s", fd, fs, ft); } @@ -3594,8 +3598,8 @@ static char *CMP_EQ_PH(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("CMP.EQ.PH %s, %s", rs, rt); } @@ -3617,9 +3621,9 @@ static char *CMP_EQ_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("CMP.EQ.S %s, %s, %s", fd, fs, ft); } @@ -3641,9 +3645,9 @@ static char *CMP_LE_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("CMP.LE.D %s, %s, %s", fd, fs, ft); } @@ -3663,8 +3667,8 @@ static char *CMP_LE_PH(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("CMP.LE.PH %s, %s", rs, rt); } @@ -3686,9 +3690,9 @@ static char *CMP_LE_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("CMP.LE.S %s, %s, %s", fd, fs, ft); } @@ -3710,9 +3714,9 @@ static char *CMP_LT_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("CMP.LT.D %s, %s, %s", fd, fs, ft); } @@ -3732,8 +3736,8 @@ static char *CMP_LT_PH(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("CMP.LT.PH %s, %s", rs, rt); } @@ -3755,9 +3759,9 @@ static char *CMP_LT_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("CMP.LT.S %s, %s, %s", fd, fs, ft); } @@ -3779,9 +3783,9 @@ static char *CMP_NE_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("CMP.NE.D %s, %s, %s", fd, fs, ft); } @@ -3803,9 +3807,9 @@ static char *CMP_NE_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("CMP.NE.S %s, %s, %s", fd, fs, ft); } @@ -3827,9 +3831,9 @@ static char *CMP_OR_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("CMP.OR.D %s, %s, %s", fd, fs, ft); } @@ -3851,9 +3855,9 @@ static char *CMP_OR_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("CMP.OR.S %s, %s, %s", fd, fs, ft); } @@ -3875,9 +3879,9 @@ static char *CMP_SAF_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("CMP.SAF.D %s, %s, %s", fd, fs, ft); } @@ -3899,9 +3903,9 @@ static char *CMP_SAF_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("CMP.SAF.S %s, %s, %s", fd, fs, ft); } @@ -3923,9 +3927,9 @@ static char *CMP_SEQ_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("CMP.SEQ.D %s, %s, %s", fd, fs, ft); } @@ -3947,9 +3951,9 @@ static char *CMP_SEQ_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("CMP.SEQ.S %s, %s, %s", fd, fs, ft); } @@ -3971,9 +3975,9 @@ static char *CMP_SLE_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("CMP.SLE.D %s, %s, %s", fd, fs, ft); } @@ -3995,9 +3999,9 @@ static char *CMP_SLE_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("CMP.SLE.S %s, %s, %s", fd, fs, ft); } @@ -4019,9 +4023,9 @@ static char *CMP_SLT_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("CMP.SLT.D %s, %s, %s", fd, fs, ft); } @@ -4043,9 +4047,9 @@ static char *CMP_SLT_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("CMP.SLT.S %s, %s, %s", fd, fs, ft); } @@ -4067,9 +4071,9 @@ static char *CMP_SNE_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("CMP.SNE.D %s, %s, %s", fd, fs, ft); } @@ -4091,9 +4095,9 @@ static char *CMP_SNE_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("CMP.SNE.S %s, %s, %s", fd, fs, ft); } @@ -4115,9 +4119,9 @@ static char *CMP_SOR_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("CMP.SOR.D %s, %s, %s", fd, fs, ft); } @@ -4139,9 +4143,9 @@ static char *CMP_SOR_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("CMP.SOR.S %s, %s, %s", fd, fs, ft); } @@ -4163,9 +4167,9 @@ static char *CMP_SUEQ_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("CMP.SUEQ.D %s, %s, %s", fd, fs, ft); } @@ -4187,9 +4191,9 @@ static char *CMP_SUEQ_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("CMP.SUEQ.S %s, %s, %s", fd, fs, ft); } @@ -4211,9 +4215,9 @@ static char *CMP_SULE_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("CMP.SULE.D %s, %s, %s", fd, fs, ft); } @@ -4235,9 +4239,9 @@ static char *CMP_SULE_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("CMP.SULE.S %s, %s, %s", fd, fs, ft); } @@ -4259,9 +4263,9 @@ static char *CMP_SULT_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("CMP.SULT.D %s, %s, %s", fd, fs, ft); } @@ -4283,9 +4287,9 @@ static char *CMP_SULT_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("CMP.SULT.S %s, %s, %s", fd, fs, ft); } @@ -4307,9 +4311,9 @@ static char *CMP_SUN_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("CMP.SUN.D %s, %s, %s", fd, fs, ft); } @@ -4331,9 +4335,9 @@ static char *CMP_SUNE_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("CMP.SUNE.D %s, %s, %s", fd, fs, ft); } @@ -4355,9 +4359,9 @@ static char *CMP_SUNE_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("CMP.SUNE.S %s, %s, %s", fd, fs, ft); } @@ -4379,9 +4383,9 @@ static char *CMP_SUN_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("CMP.SUN.S %s, %s, %s", fd, fs, ft); } @@ -4403,9 +4407,9 @@ static char *CMP_UEQ_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("CMP.UEQ.D %s, %s, %s", fd, fs, ft); } @@ -4427,9 +4431,9 @@ static char *CMP_UEQ_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("CMP.UEQ.S %s, %s, %s", fd, fs, ft); } @@ -4451,9 +4455,9 @@ static char *CMP_ULE_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("CMP.ULE.D %s, %s, %s", fd, fs, ft); } @@ -4475,9 +4479,9 @@ static char *CMP_ULE_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("CMP.ULE.S %s, %s, %s", fd, fs, ft); } @@ -4499,9 +4503,9 @@ static char *CMP_ULT_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("CMP.ULT.D %s, %s, %s", fd, fs, ft); } @@ -4523,9 +4527,9 @@ static char *CMP_ULT_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("CMP.ULT.S %s, %s, %s", fd, fs, ft); } @@ -4547,9 +4551,9 @@ static char *CMP_UN_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("CMP.UN.D %s, %s, %s", fd, fs, ft); } @@ -4571,9 +4575,9 @@ static char *CMP_UNE_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("CMP.UNE.D %s, %s, %s", fd, fs, ft); } @@ -4595,9 +4599,9 @@ static char *CMP_UNE_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("CMP.UNE.S %s, %s, %s", fd, fs, ft); } @@ -4619,9 +4623,9 @@ static char *CMP_UN_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("CMP.UN.S %s, %s, %s", fd, fs, ft); } @@ -4644,9 +4648,9 @@ static char *CMPGDU_EQ_QB(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("CMPGDU.EQ.QB %s, %s, %s", rd, rs, rt); } @@ -4669,9 +4673,9 @@ static char *CMPGDU_LE_QB(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("CMPGDU.LE.QB %s, %s, %s", rd, rs, rt); } @@ -4694,9 +4698,9 @@ static char *CMPGDU_LT_QB(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("CMPGDU.LT.QB %s, %s, %s", rd, rs, rt); } @@ -4719,9 +4723,9 @@ static char *CMPGU_EQ_QB(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("CMPGU.EQ.QB %s, %s, %s", rd, rs, rt); } @@ -4744,9 +4748,9 @@ static char *CMPGU_LE_QB(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("CMPGU.LE.QB %s, %s, %s", rd, rs, rt); } @@ -4769,9 +4773,9 @@ static char *CMPGU_LT_QB(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("CMPGU.LT.QB %s, %s, %s", rd, rs, rt); } @@ -4792,8 +4796,8 @@ static char *CMPU_EQ_QB(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("CMPU.EQ.QB %s, %s", rs, rt); } @@ -4814,8 +4818,8 @@ static char *CMPU_LE_QB(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("CMPU.LE.QB %s, %s", rs, rt); } @@ -4836,8 +4840,8 @@ static char *CMPU_LT_QB(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("CMPU.LT.QB %s, %s", rs, rt); } @@ -4877,7 +4881,7 @@ static char *CTC1(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 cs_value = extract_cs_20_19_18_17_16(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("CTC1 %s, CP%" PRIu64, rt, cs_value); } @@ -4898,7 +4902,7 @@ static char *CTC2(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 cs_value = extract_cs_20_19_18_17_16(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("CTC2 %s, CP%" PRIu64, rt, cs_value); } @@ -4919,8 +4923,8 @@ static char *CVT_D_L(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - const char *ft = FPR(ft_value); - const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value, info); + const char *fs = FPR(fs_value, info); return img_format("CVT.D.L %s, %s", ft, fs); } @@ -4941,8 +4945,8 @@ static char *CVT_D_S(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - const char *ft = FPR(ft_value); - const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value, info); + const char *fs = FPR(fs_value, info); return img_format("CVT.D.S %s, %s", ft, fs); } @@ -4963,8 +4967,8 @@ static char *CVT_D_W(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - const char *ft = FPR(ft_value); - const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value, info); + const char *fs = FPR(fs_value, info); return img_format("CVT.D.W %s, %s", ft, fs); } @@ -4985,8 +4989,8 @@ static char *CVT_L_D(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - const char *ft = FPR(ft_value); - const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value, info); + const char *fs = FPR(fs_value, info); return img_format("CVT.L.D %s, %s", ft, fs); } @@ -5007,8 +5011,8 @@ static char *CVT_L_S(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - const char *ft = FPR(ft_value); - const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value, info); + const char *fs = FPR(fs_value, info); return img_format("CVT.L.S %s, %s", ft, fs); } @@ -5029,8 +5033,8 @@ static char *CVT_S_D(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - const char *ft = FPR(ft_value); - const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value, info); + const char *fs = FPR(fs_value, info); return img_format("CVT.S.D %s, %s", ft, fs); } @@ -5051,8 +5055,8 @@ static char *CVT_S_L(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - const char *ft = FPR(ft_value); - const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value, info); + const char *fs = FPR(fs_value, info); return img_format("CVT.S.L %s, %s", ft, fs); } @@ -5073,8 +5077,8 @@ static char *CVT_S_PL(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - const char *ft = FPR(ft_value); - const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value, info); + const char *fs = FPR(fs_value, info); return img_format("CVT.S.PL %s, %s", ft, fs); } @@ -5095,8 +5099,8 @@ static char *CVT_S_PU(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - const char *ft = FPR(ft_value); - const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value, info); + const char *fs = FPR(fs_value, info); return img_format("CVT.S.PU %s, %s", ft, fs); } @@ -5117,8 +5121,8 @@ static char *CVT_S_W(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - const char *ft = FPR(ft_value); - const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value, info); + const char *fs = FPR(fs_value, info); return img_format("CVT.S.W %s, %s", ft, fs); } @@ -5139,8 +5143,8 @@ static char *CVT_W_D(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - const char *ft = FPR(ft_value); - const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value, info); + const char *fs = FPR(fs_value, info); return img_format("CVT.W.D %s, %s", ft, fs); } @@ -5161,8 +5165,8 @@ static char *CVT_W_S(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - const char *ft = FPR(ft_value); - const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value, info); + const char *fs = FPR(fs_value, info); return img_format("CVT.W.S %s, %s", ft, fs); } @@ -5183,7 +5187,7 @@ static char *DADDIU_48_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_41_40_39_38_37(instruction); int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("DADDIU %s, %s", rt, s_value); } @@ -5205,8 +5209,8 @@ static char *DADDIU_NEG_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); int64 u = neg_copy(u_value); return img_format("DADDIU %s, %s, %" PRId64, rt, rs, u); @@ -5229,8 +5233,8 @@ static char *DADDIU_U12_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("DADDIU %s, %s, 0x%" PRIx64, rt, rs, u_value); } @@ -5252,9 +5256,9 @@ static char *DADD(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("DADD %s, %s, %s", rd, rs, rt); } @@ -5276,9 +5280,9 @@ static char *DADDU(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("DADDU %s, %s, %s", rd, rs, rt); } @@ -5299,8 +5303,8 @@ static char *DCLO(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("DCLO %s, %s", rt, rs); } @@ -5321,8 +5325,8 @@ static char *DCLZ(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("DCLZ %s, %s", rt, rs); } @@ -5344,9 +5348,9 @@ static char *DDIV(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("DDIV %s, %s, %s", rd, rs, rt); } @@ -5368,9 +5372,9 @@ static char *DDIVU(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("DDIVU %s, %s, %s", rd, rs, rt); } @@ -5411,8 +5415,8 @@ static char *DEXTM(uint64 instruction, Dis_info *info) uint64 msbd_value = extract_msbt_10_9_8_7_6(instruction); uint64 lsb_value = extract_lsb_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); uint64 msbd = encode_msbd_from_size(msbd_value); return img_format("DEXTM %s, %s, 0x%" PRIx64 ", 0x%" PRIx64, @@ -5437,8 +5441,8 @@ static char *DEXT(uint64 instruction, Dis_info *info) uint64 msbd_value = extract_msbt_10_9_8_7_6(instruction); uint64 lsb_value = extract_lsb_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); uint64 msbd = encode_msbd_from_size(msbd_value); return img_format("DEXT %s, %s, 0x%" PRIx64 ", 0x%" PRIx64, @@ -5463,8 +5467,8 @@ static char *DEXTU(uint64 instruction, Dis_info *info) uint64 msbd_value = extract_msbt_10_9_8_7_6(instruction); uint64 lsb_value = extract_lsb_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); uint64 msbd = encode_msbd_from_size(msbd_value); return img_format("DEXTU %s, %s, 0x%" PRIx64 ", 0x%" PRIx64, @@ -5489,8 +5493,8 @@ static char *DINSM(uint64 instruction, Dis_info *info) uint64 msbd_value = extract_msbt_10_9_8_7_6(instruction); uint64 lsb_value = extract_lsb_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); /* !!!!!!!!!! - no conversion function */ return img_format("DINSM %s, %s, 0x%" PRIx64 ", 0x%" PRIx64, @@ -5516,8 +5520,8 @@ static char *DINS(uint64 instruction, Dis_info *info) uint64 msbd_value = extract_msbt_10_9_8_7_6(instruction); uint64 lsb_value = extract_lsb_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); /* !!!!!!!!!! - no conversion function */ return img_format("DINS %s, %s, 0x%" PRIx64 ", 0x%" PRIx64, @@ -5543,8 +5547,8 @@ static char *DINSU(uint64 instruction, Dis_info *info) uint64 msbd_value = extract_msbt_10_9_8_7_6(instruction); uint64 lsb_value = extract_lsb_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); /* !!!!!!!!!! - no conversion function */ return img_format("DINSU %s, %s, 0x%" PRIx64 ", 0x%" PRIx64, @@ -5567,7 +5571,7 @@ static char *DI(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("DI %s", rt); } @@ -5589,9 +5593,9 @@ static char *DIV(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("DIV %s, %s, %s", rd, rs, rt); } @@ -5613,9 +5617,9 @@ static char *DIV_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("DIV.D %s, %s, %s", fd, fs, ft); } @@ -5637,9 +5641,9 @@ static char *DIV_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("DIV.S %s, %s, %s", fd, fs, ft); } @@ -5661,9 +5665,9 @@ static char *DIVU(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("DIVU %s, %s, %s", rd, rs, rt); } @@ -5686,9 +5690,9 @@ static char *DLSA(uint64 instruction, Dis_info *info) uint64 rd_value = extract_rd_15_14_13_12_11(instruction); uint64 u2_value = extract_u2_10_9(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("DLSA %s, %s, %s, 0x%" PRIx64, rd, rs, rt, u2_value); } @@ -5709,7 +5713,7 @@ static char *DLUI_48_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_41_40_39_38_37(instruction); uint64 u_value = extract_u_31_to_0__s32(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("DLUI %s, 0x%" PRIx64, rt, u_value); } @@ -5731,7 +5735,7 @@ static char *DMFC0(uint64 instruction, Dis_info *info) uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); uint64 sel_value = extract_sel_15_14_13_12_11(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("DMFC0 %s, CP%" PRIu64 ", 0x%" PRIx64, rt, c0s_value, sel_value); @@ -5753,8 +5757,8 @@ static char *DMFC1(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - const char *rt = GPR(rt_value); - const char *fs = FPR(fs_value); + const char *rt = GPR(rt_value, info); + const char *fs = FPR(fs_value, info); return img_format("DMFC1 %s, %s", rt, fs); } @@ -5775,7 +5779,7 @@ static char *DMFC2(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 cs_value = extract_cs_20_19_18_17_16(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("DMFC2 %s, CP%" PRIu64, rt, cs_value); } @@ -5797,7 +5801,7 @@ static char *DMFGC0(uint64 instruction, Dis_info *info) uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); uint64 sel_value = extract_sel_15_14_13_12_11(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("DMFGC0 %s, CP%" PRIu64 ", 0x%" PRIx64, rt, c0s_value, sel_value); @@ -5820,9 +5824,9 @@ static char *DMOD(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("DMOD %s, %s, %s", rd, rs, rt); } @@ -5844,9 +5848,9 @@ static char *DMODU(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("DMODU %s, %s, %s", rd, rs, rt); } @@ -5868,7 +5872,7 @@ static char *DMTC0(uint64 instruction, Dis_info *info) uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); uint64 sel_value = extract_sel_15_14_13_12_11(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("DMTC0 %s, CP%" PRIu64 ", 0x%" PRIx64, rt, c0s_value, sel_value); @@ -5890,8 +5894,8 @@ static char *DMTC1(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - const char *rt = GPR(rt_value); - const char *fs = FPR(fs_value); + const char *rt = GPR(rt_value, info); + const char *fs = FPR(fs_value, info); return img_format("DMTC1 %s, %s", rt, fs); } @@ -5912,7 +5916,7 @@ static char *DMTC2(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 cs_value = extract_cs_20_19_18_17_16(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("DMTC2 %s, CP%" PRIu64, rt, cs_value); } @@ -5934,7 +5938,7 @@ static char *DMTGC0(uint64 instruction, Dis_info *info) uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); uint64 sel_value = extract_sel_15_14_13_12_11(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("DMTGC0 %s, CP%" PRIu64 ", 0x%" PRIx64, rt, c0s_value, sel_value); @@ -5955,7 +5959,7 @@ static char *DMT(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("DMT %s", rt); } @@ -5977,9 +5981,9 @@ static char *DMUH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("DMUH %s, %s, %s", rd, rs, rt); } @@ -6001,9 +6005,9 @@ static char *DMUHU(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("DMUHU %s, %s, %s", rd, rs, rt); } @@ -6025,9 +6029,9 @@ static char *DMUL(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("DMUL %s, %s, %s", rd, rs, rt); } @@ -6049,9 +6053,9 @@ static char *DMULU(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("DMULU %s, %s, %s", rd, rs, rt); } @@ -6074,9 +6078,9 @@ static char *DPA_W_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - const char *ac = AC(ac_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *ac = AC(ac_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("DPA.W.PH %s, %s, %s", ac, rs, rt); } @@ -6098,9 +6102,9 @@ static char *DPAQ_SA_L_W(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - const char *ac = AC(ac_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *ac = AC(ac_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("DPAQ_SA.L.W %s, %s, %s", ac, rs, rt); } @@ -6122,9 +6126,9 @@ static char *DPAQ_S_W_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - const char *ac = AC(ac_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *ac = AC(ac_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("DPAQ_S.W.PH %s, %s, %s", ac, rs, rt); } @@ -6146,9 +6150,9 @@ static char *DPAQX_SA_W_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - const char *ac = AC(ac_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *ac = AC(ac_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("DPAQX_SA.W.PH %s, %s, %s", ac, rs, rt); } @@ -6170,9 +6174,9 @@ static char *DPAQX_S_W_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - const char *ac = AC(ac_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *ac = AC(ac_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("DPAQX_S.W.PH %s, %s, %s", ac, rs, rt); } @@ -6194,9 +6198,9 @@ static char *DPAU_H_QBL(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - const char *ac = AC(ac_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *ac = AC(ac_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("DPAU.H.QBL %s, %s, %s", ac, rs, rt); } @@ -6218,9 +6222,9 @@ static char *DPAU_H_QBR(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - const char *ac = AC(ac_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *ac = AC(ac_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("DPAU.H.QBR %s, %s, %s", ac, rs, rt); } @@ -6242,9 +6246,9 @@ static char *DPAX_W_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - const char *ac = AC(ac_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *ac = AC(ac_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("DPAX.W.PH %s, %s, %s", ac, rs, rt); } @@ -6266,9 +6270,9 @@ static char *DPS_W_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - const char *ac = AC(ac_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *ac = AC(ac_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("DPS.W.PH %s, %s, %s", ac, rs, rt); } @@ -6290,9 +6294,9 @@ static char *DPSQ_SA_L_W(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - const char *ac = AC(ac_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *ac = AC(ac_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("DPSQ_SA.L.W %s, %s, %s", ac, rs, rt); } @@ -6314,9 +6318,9 @@ static char *DPSQ_S_W_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - const char *ac = AC(ac_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *ac = AC(ac_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("DPSQ_S.W.PH %s, %s, %s", ac, rs, rt); } @@ -6338,9 +6342,9 @@ static char *DPSQX_SA_W_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - const char *ac = AC(ac_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *ac = AC(ac_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("DPSQX_SA.W.PH %s, %s, %s", ac, rs, rt); } @@ -6362,9 +6366,9 @@ static char *DPSQX_S_W_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - const char *ac = AC(ac_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *ac = AC(ac_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("DPSQX_S.W.PH %s, %s, %s", ac, rs, rt); } @@ -6386,9 +6390,9 @@ static char *DPSU_H_QBL(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - const char *ac = AC(ac_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *ac = AC(ac_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("DPSU.H.QBL %s, %s, %s", ac, rs, rt); } @@ -6410,9 +6414,9 @@ static char *DPSU_H_QBR(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - const char *ac = AC(ac_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *ac = AC(ac_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("DPSU.H.QBR %s, %s, %s", ac, rs, rt); } @@ -6434,9 +6438,9 @@ static char *DPSX_W_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - const char *ac = AC(ac_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *ac = AC(ac_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("DPSX.W.PH %s, %s, %s", ac, rs, rt); } @@ -6458,8 +6462,8 @@ static char *DROTR(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 shift_value = extract_shift_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("DROTR %s, %s, 0x%" PRIx64, rt, rs, shift_value); } @@ -6481,8 +6485,8 @@ static char *DROTR32(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 shift_value = extract_shift_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("DROTR32 %s, %s, 0x%" PRIx64, rt, rs, shift_value); } @@ -6504,9 +6508,9 @@ static char *DROTRV(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("DROTRV %s, %s, %s", rd, rs, rt); } @@ -6529,8 +6533,8 @@ static char *DROTX(uint64 instruction, Dis_info *info) uint64 shiftx_value = extract_shiftx_11_10_9_8_7_6(instruction); uint64 shift_value = extract_shift_5_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("DROTX %s, %s, 0x%" PRIx64 ", 0x%" PRIx64, rt, rs, shift_value, shiftx_value); @@ -6553,8 +6557,8 @@ static char *DSLL(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 shift_value = extract_shift_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("DSLL %s, %s, 0x%" PRIx64, rt, rs, shift_value); } @@ -6576,8 +6580,8 @@ static char *DSLL32(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 shift_value = extract_shift_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("DSLL32 %s, %s, 0x%" PRIx64, rt, rs, shift_value); } @@ -6599,9 +6603,9 @@ static char *DSLLV(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("DSLLV %s, %s, %s", rd, rs, rt); } @@ -6623,8 +6627,8 @@ static char *DSRA(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 shift_value = extract_shift_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("DSRA %s, %s, 0x%" PRIx64, rt, rs, shift_value); } @@ -6646,8 +6650,8 @@ static char *DSRA32(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 shift_value = extract_shift_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("DSRA32 %s, %s, 0x%" PRIx64, rt, rs, shift_value); } @@ -6669,9 +6673,9 @@ static char *DSRAV(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("DSRAV %s, %s, %s", rd, rs, rt); } @@ -6693,8 +6697,8 @@ static char *DSRL(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 shift_value = extract_shift_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("DSRL %s, %s, 0x%" PRIx64, rt, rs, shift_value); } @@ -6716,8 +6720,8 @@ static char *DSRL32(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 shift_value = extract_shift_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("DSRL32 %s, %s, 0x%" PRIx64, rt, rs, shift_value); } @@ -6739,9 +6743,9 @@ static char *DSRLV(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("DSRLV %s, %s, %s", rd, rs, rt); } @@ -6763,9 +6767,9 @@ static char *DSUB(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("DSUB %s, %s, %s", rd, rs, rt); } @@ -6787,9 +6791,9 @@ static char *DSUBU(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("DSUBU %s, %s, %s", rd, rs, rt); } @@ -6809,7 +6813,7 @@ static char *DVPE(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("DVPE %s", rt); } @@ -6829,7 +6833,7 @@ static char *DVP(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("DVP %s", rt); } @@ -6867,7 +6871,7 @@ static char *EI(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("EI %s", rt); } @@ -6887,7 +6891,7 @@ static char *EMT(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("EMT %s", rt); } @@ -6943,7 +6947,7 @@ static char *EVP(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("EVP %s", rt); } @@ -6963,7 +6967,7 @@ static char *EVPE(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_25_24_23_22_21(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("EVPE %s", rt); } @@ -6986,8 +6990,8 @@ static char *EXT(uint64 instruction, Dis_info *info) uint64 msbd_value = extract_msbt_10_9_8_7_6(instruction); uint64 lsb_value = extract_lsb_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); uint64 msbd = encode_msbd_from_size(msbd_value); return img_format("EXT %s, %s, 0x%" PRIx64 ", 0x%" PRIx64, @@ -7012,9 +7016,9 @@ static char *EXTD(uint64 instruction, Dis_info *info) uint64 rd_value = extract_rd_15_14_13_12_11(instruction); uint64 shift_value = extract_shift_10_9_8_7_6(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("EXTD %s, %s, %s, 0x%" PRIx64, rd, rs, rt, shift_value); } @@ -7037,9 +7041,9 @@ static char *EXTD32(uint64 instruction, Dis_info *info) uint64 rd_value = extract_rd_15_14_13_12_11(instruction); uint64 shift_value = extract_shift_10_9_8_7_6(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("EXTD32 %s, %s, %s, 0x%" PRIx64, rd, rs, rt, shift_value); } @@ -7061,8 +7065,8 @@ static char *EXTPDP(uint64 instruction, Dis_info *info) uint64 size_value = extract_size_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - const char *rt = GPR(rt_value); - const char *ac = AC(ac_value); + const char *rt = GPR(rt_value, info); + const char *ac = AC(ac_value, info); return img_format("EXTPDP %s, %s, 0x%" PRIx64, rt, ac, size_value); } @@ -7084,9 +7088,9 @@ static char *EXTPDPV(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - const char *rt = GPR(rt_value); - const char *ac = AC(ac_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *ac = AC(ac_value, info); + const char *rs = GPR(rs_value, info); return img_format("EXTPDPV %s, %s, %s", rt, ac, rs); } @@ -7108,8 +7112,8 @@ static char *EXTP(uint64 instruction, Dis_info *info) uint64 size_value = extract_size_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - const char *rt = GPR(rt_value); - const char *ac = AC(ac_value); + const char *rt = GPR(rt_value, info); + const char *ac = AC(ac_value, info); return img_format("EXTP %s, %s, 0x%" PRIx64, rt, ac, size_value); } @@ -7131,9 +7135,9 @@ static char *EXTPV(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - const char *rt = GPR(rt_value); - const char *ac = AC(ac_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *ac = AC(ac_value, info); + const char *rs = GPR(rs_value, info); return img_format("EXTPV %s, %s, %s", rt, ac, rs); } @@ -7156,8 +7160,8 @@ static char *EXTR_RS_W(uint64 instruction, Dis_info *info) uint64 shift_value = extract_shift_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - const char *rt = GPR(rt_value); - const char *ac = AC(ac_value); + const char *rt = GPR(rt_value, info); + const char *ac = AC(ac_value, info); return img_format("EXTR_RS.W %s, %s, 0x%" PRIx64, rt, ac, shift_value); } @@ -7180,8 +7184,8 @@ static char *EXTR_R_W(uint64 instruction, Dis_info *info) uint64 shift_value = extract_shift_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - const char *rt = GPR(rt_value); - const char *ac = AC(ac_value); + const char *rt = GPR(rt_value, info); + const char *ac = AC(ac_value, info); return img_format("EXTR_R.W %s, %s, 0x%" PRIx64, rt, ac, shift_value); } @@ -7204,8 +7208,8 @@ static char *EXTR_S_H(uint64 instruction, Dis_info *info) uint64 shift_value = extract_shift_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - const char *rt = GPR(rt_value); - const char *ac = AC(ac_value); + const char *rt = GPR(rt_value, info); + const char *ac = AC(ac_value, info); return img_format("EXTR_S.H %s, %s, 0x%" PRIx64, rt, ac, shift_value); } @@ -7228,8 +7232,8 @@ static char *EXTR_W(uint64 instruction, Dis_info *info) uint64 shift_value = extract_shift_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - const char *rt = GPR(rt_value); - const char *ac = AC(ac_value); + const char *rt = GPR(rt_value, info); + const char *ac = AC(ac_value, info); return img_format("EXTR.W %s, %s, 0x%" PRIx64, rt, ac, shift_value); } @@ -7252,9 +7256,9 @@ static char *EXTRV_RS_W(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - const char *rt = GPR(rt_value); - const char *ac = AC(ac_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *ac = AC(ac_value, info); + const char *rs = GPR(rs_value, info); return img_format("EXTRV_RS.W %s, %s, %s", rt, ac, rs); } @@ -7277,9 +7281,9 @@ static char *EXTRV_R_W(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - const char *rt = GPR(rt_value); - const char *ac = AC(ac_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *ac = AC(ac_value, info); + const char *rs = GPR(rs_value, info); return img_format("EXTRV_R.W %s, %s, %s", rt, ac, rs); } @@ -7302,9 +7306,9 @@ static char *EXTRV_S_H(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - const char *rt = GPR(rt_value); - const char *ac = AC(ac_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *ac = AC(ac_value, info); + const char *rs = GPR(rs_value, info); return img_format("EXTRV_S.H %s, %s, %s", rt, ac, rs); } @@ -7327,9 +7331,9 @@ static char *EXTRV_W(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - const char *rt = GPR(rt_value); - const char *ac = AC(ac_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *ac = AC(ac_value, info); + const char *rs = GPR(rs_value, info); return img_format("EXTRV.W %s, %s, %s", rt, ac, rs); } @@ -7353,9 +7357,9 @@ static char *EXTW(uint64 instruction, Dis_info *info) uint64 rd_value = extract_rd_15_14_13_12_11(instruction); uint64 shift_value = extract_shift_10_9_8_7_6(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("EXTW %s, %s, %s, 0x%" PRIx64, rd, rs, rt, shift_value); } @@ -7376,8 +7380,8 @@ static char *FLOOR_L_D(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - const char *ft = FPR(ft_value); - const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value, info); + const char *fs = FPR(fs_value, info); return img_format("FLOOR.L.D %s, %s", ft, fs); } @@ -7398,8 +7402,8 @@ static char *FLOOR_L_S(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - const char *ft = FPR(ft_value); - const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value, info); + const char *fs = FPR(fs_value, info); return img_format("FLOOR.L.S %s, %s", ft, fs); } @@ -7420,8 +7424,8 @@ static char *FLOOR_W_D(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - const char *ft = FPR(ft_value); - const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value, info); + const char *fs = FPR(fs_value, info); return img_format("FLOOR.W.D %s, %s", ft, fs); } @@ -7442,8 +7446,8 @@ static char *FLOOR_W_S(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - const char *ft = FPR(ft_value); - const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value, info); + const char *fs = FPR(fs_value, info); return img_format("FLOOR.W.S %s, %s", ft, fs); } @@ -7465,9 +7469,9 @@ static char *FORK(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("FORK %s, %s, %s", rd, rs, rt); } @@ -7528,8 +7532,8 @@ static char *INS(uint64 instruction, Dis_info *info) uint64 msbd_value = extract_msbt_10_9_8_7_6(instruction); uint64 lsb_value = extract_lsb_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); /* !!!!!!!!!! - no conversion function */ return img_format("INS %s, %s, 0x%" PRIx64 ", 0x%" PRIx64, @@ -7552,8 +7556,8 @@ static char *INSV(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("INSV %s, %s", rt, rs); } @@ -7591,7 +7595,7 @@ static char *JALRC_16_(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_9_8_7_6_5(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("JALRC $%d, %s", 31, rt); } @@ -7612,8 +7616,8 @@ static char *JALRC_32_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("JALRC %s, %s", rt, rs); } @@ -7634,8 +7638,8 @@ static char *JALRC_HB(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("JALRC.HB %s, %s", rt, rs); } @@ -7655,7 +7659,7 @@ static char *JRC(uint64 instruction, Dis_info *info) { uint64 rt_value = extract_rt_9_8_7_6_5(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("JRC %s", rt); } @@ -7677,8 +7681,8 @@ static char *LB_16_(uint64 instruction, Dis_info *info) uint64 rs3_value = extract_rs3_6_5_4(instruction); uint64 u_value = extract_u_1_0(instruction); - const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); - const char *rs3 = GPR(decode_gpr_gpr3(rs3_value)); + const char *rt3 = GPR(decode_gpr_gpr3(rt3_value, info), info); + const char *rs3 = GPR(decode_gpr_gpr3(rs3_value, info), info); return img_format("LB %s, 0x%" PRIx64 "(%s)", rt3, u_value, rs3); } @@ -7699,7 +7703,7 @@ static char *LB_GP_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_0(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("LB %s, 0x%" PRIx64 "($%d)", rt, u_value, 28); } @@ -7721,8 +7725,8 @@ static char *LB_S9_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("LB %s, %" PRId64 "(%s)", rt, s_value, rs); } @@ -7744,8 +7748,8 @@ static char *LB_U12_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("LB %s, 0x%" PRIx64 "(%s)", rt, u_value, rs); } @@ -7767,8 +7771,8 @@ static char *LBE(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("LBE %s, %" PRId64 "(%s)", rt, s_value, rs); } @@ -7790,8 +7794,8 @@ static char *LBU_16_(uint64 instruction, Dis_info *info) uint64 rs3_value = extract_rs3_6_5_4(instruction); uint64 u_value = extract_u_1_0(instruction); - const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); - const char *rs3 = GPR(decode_gpr_gpr3(rs3_value)); + const char *rt3 = GPR(decode_gpr_gpr3(rt3_value, info), info); + const char *rs3 = GPR(decode_gpr_gpr3(rs3_value, info), info); return img_format("LBU %s, 0x%" PRIx64 "(%s)", rt3, u_value, rs3); } @@ -7812,7 +7816,7 @@ static char *LBU_GP_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_0(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("LBU %s, 0x%" PRIx64 "($%d)", rt, u_value, 28); } @@ -7834,8 +7838,8 @@ static char *LBU_S9_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("LBU %s, %" PRId64 "(%s)", rt, s_value, rs); } @@ -7857,8 +7861,8 @@ static char *LBU_U12_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("LBU %s, 0x%" PRIx64 "(%s)", rt, u_value, rs); } @@ -7880,8 +7884,8 @@ static char *LBUE(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("LBUE %s, %" PRId64 "(%s)", rt, s_value, rs); } @@ -7903,9 +7907,9 @@ static char *LBUX(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("LBUX %s, %s(%s)", rd, rs, rt); } @@ -7927,9 +7931,9 @@ static char *LBX(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("LBX %s, %s(%s)", rd, rs, rt); } @@ -7950,7 +7954,7 @@ static char *LD_GP_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_20_to_3__s3(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("LD %s, 0x%" PRIx64 "($%d)", rt, u_value, 28); } @@ -7972,8 +7976,8 @@ static char *LD_S9_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("LD %s, %" PRId64 "(%s)", rt, s_value, rs); } @@ -7995,8 +7999,8 @@ static char *LD_U12_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("LD %s, 0x%" PRIx64 "(%s)", rt, u_value, rs); } @@ -8017,7 +8021,7 @@ static char *LDC1_GP_(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_2__s2(instruction); - const char *ft = FPR(ft_value); + const char *ft = FPR(ft_value, info); return img_format("LDC1 %s, 0x%" PRIx64 "($%d)", ft, u_value, 28); } @@ -8039,8 +8043,8 @@ static char *LDC1_S9_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - const char *ft = FPR(ft_value); - const char *rs = GPR(rs_value); + const char *ft = FPR(ft_value, info); + const char *rs = GPR(rs_value, info); return img_format("LDC1 %s, %" PRId64 "(%s)", ft, s_value, rs); } @@ -8062,8 +8066,8 @@ static char *LDC1_U12_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - const char *ft = FPR(ft_value); - const char *rs = GPR(rs_value); + const char *ft = FPR(ft_value, info); + const char *rs = GPR(rs_value, info); return img_format("LDC1 %s, 0x%" PRIx64 "(%s)", ft, u_value, rs); } @@ -8085,9 +8089,9 @@ static char *LDC1XS(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ft_value = extract_ft_15_14_13_12_11(instruction); - const char *ft = FPR(ft_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *ft = FPR(ft_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("LDC1XS %s, %s(%s)", ft, rs, rt); } @@ -8109,9 +8113,9 @@ static char *LDC1X(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ft_value = extract_ft_15_14_13_12_11(instruction); - const char *ft = FPR(ft_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *ft = FPR(ft_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("LDC1X %s, %s(%s)", ft, rs, rt); } @@ -8133,7 +8137,7 @@ static char *LDC2(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - const char *rs = GPR(rs_value); + const char *rs = GPR(rs_value, info); return img_format("LDC2 CP%" PRIu64 ", %" PRId64 "(%s)", ct_value, s_value, rs); @@ -8157,8 +8161,8 @@ static char *LDM(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); uint64 count3_value = extract_count3_14_13_12(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); uint64 count3 = encode_count3_from_count(count3_value); return img_format("LDM %s, %" PRId64 "(%s), 0x%" PRIx64, @@ -8181,7 +8185,7 @@ static char *LDPC_48_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_41_40_39_38_37(instruction); int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); g_autofree char *s = ADDRESS(s_value, 6, info); return img_format("LDPC %s, %s", rt, s); @@ -8204,9 +8208,9 @@ static char *LDX(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("LDX %s, %s(%s)", rd, rs, rt); } @@ -8228,9 +8232,9 @@ static char *LDXS(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("LDXS %s, %s(%s)", rd, rs, rt); } @@ -8252,8 +8256,8 @@ static char *LH_16_(uint64 instruction, Dis_info *info) uint64 rs3_value = extract_rs3_6_5_4(instruction); uint64 u_value = extract_u_2_1__s1(instruction); - const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); - const char *rs3 = GPR(decode_gpr_gpr3(rs3_value)); + const char *rt3 = GPR(decode_gpr_gpr3(rt3_value, info), info); + const char *rs3 = GPR(decode_gpr_gpr3(rs3_value, info), info); return img_format("LH %s, 0x%" PRIx64 "(%s)", rt3, u_value, rs3); } @@ -8274,7 +8278,7 @@ static char *LH_GP_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_1__s1(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("LH %s, 0x%" PRIx64 "($%d)", rt, u_value, 28); } @@ -8296,8 +8300,8 @@ static char *LH_S9_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("LH %s, %" PRId64 "(%s)", rt, s_value, rs); } @@ -8319,8 +8323,8 @@ static char *LH_U12_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("LH %s, 0x%" PRIx64 "(%s)", rt, u_value, rs); } @@ -8342,8 +8346,8 @@ static char *LHE(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("LHE %s, %" PRId64 "(%s)", rt, s_value, rs); } @@ -8365,8 +8369,8 @@ static char *LHU_16_(uint64 instruction, Dis_info *info) uint64 rs3_value = extract_rs3_6_5_4(instruction); uint64 u_value = extract_u_2_1__s1(instruction); - const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); - const char *rs3 = GPR(decode_gpr_gpr3(rs3_value)); + const char *rt3 = GPR(decode_gpr_gpr3(rt3_value, info), info); + const char *rs3 = GPR(decode_gpr_gpr3(rs3_value, info), info); return img_format("LHU %s, 0x%" PRIx64 "(%s)", rt3, u_value, rs3); } @@ -8387,7 +8391,7 @@ static char *LHU_GP_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_1__s1(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("LHU %s, 0x%" PRIx64 "($%d)", rt, u_value, 28); } @@ -8409,8 +8413,8 @@ static char *LHU_S9_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("LHU %s, %" PRId64 "(%s)", rt, s_value, rs); } @@ -8432,8 +8436,8 @@ static char *LHU_U12_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("LHU %s, 0x%" PRIx64 "(%s)", rt, u_value, rs); } @@ -8455,8 +8459,8 @@ static char *LHUE(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("LHUE %s, %" PRId64 "(%s)", rt, s_value, rs); } @@ -8478,9 +8482,9 @@ static char *LHUX(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("LHUX %s, %s(%s)", rd, rs, rt); } @@ -8502,9 +8506,9 @@ static char *LHUXS(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("LHUXS %s, %s(%s)", rd, rs, rt); } @@ -8526,9 +8530,9 @@ static char *LHXS(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("LHXS %s, %s(%s)", rd, rs, rt); } @@ -8550,9 +8554,9 @@ static char *LHX(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("LHX %s, %s(%s)", rd, rs, rt); } @@ -8573,7 +8577,7 @@ static char *LI_16_(uint64 instruction, Dis_info *info) uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 eu_value = extract_eu_6_5_4_3_2_1_0(instruction); - const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); + const char *rt3 = GPR(decode_gpr_gpr3(rt3_value, info), info); int64 eu = encode_eu_from_s_li16(eu_value); return img_format("LI %s, %" PRId64, rt3, eu); @@ -8595,7 +8599,7 @@ static char *LI_48_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_41_40_39_38_37(instruction); int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("LI %s, %" PRId64, rt, s_value); } @@ -8617,8 +8621,8 @@ static char *LL(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_s2(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("LL %s, %" PRId64 "(%s)", rt, s_value, rs); } @@ -8640,8 +8644,8 @@ static char *LLD(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_s3(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("LLD %s, %" PRId64 "(%s)", rt, s_value, rs); } @@ -8663,9 +8667,9 @@ static char *LLDP(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ru_value = extract_ru_7_6_5_4_3(instruction); - const char *rt = GPR(rt_value); - const char *ru = GPR(ru_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *ru = GPR(ru_value, info); + const char *rs = GPR(rs_value, info); return img_format("LLDP %s, %s, (%s)", rt, ru, rs); } @@ -8687,8 +8691,8 @@ static char *LLE(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_s2(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("LLE %s, %" PRId64 "(%s)", rt, s_value, rs); } @@ -8710,9 +8714,9 @@ static char *LLWP(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ru_value = extract_ru_7_6_5_4_3(instruction); - const char *rt = GPR(rt_value); - const char *ru = GPR(ru_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *ru = GPR(ru_value, info); + const char *rs = GPR(rs_value, info); return img_format("LLWP %s, %s, (%s)", rt, ru, rs); } @@ -8734,9 +8738,9 @@ static char *LLWPE(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ru_value = extract_ru_7_6_5_4_3(instruction); - const char *rt = GPR(rt_value); - const char *ru = GPR(ru_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *ru = GPR(ru_value, info); + const char *rs = GPR(rs_value, info); return img_format("LLWPE %s, %s, (%s)", rt, ru, rs); } @@ -8759,9 +8763,9 @@ static char *LSA(uint64 instruction, Dis_info *info) uint64 rd_value = extract_rd_15_14_13_12_11(instruction); uint64 u2_value = extract_u2_10_9(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("LSA %s, %s, %s, 0x%" PRIx64, rd, rs, rt, u2_value); } @@ -8782,7 +8786,7 @@ static char *LUI(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); int64 s_value = extract_s__se31_0_11_to_2_20_to_12_s12(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("LUI %s, %%hi(%" PRId64 ")", rt, s_value); } @@ -8804,8 +8808,8 @@ static char *LW_16_(uint64 instruction, Dis_info *info) uint64 rs3_value = extract_rs3_6_5_4(instruction); uint64 u_value = extract_u_3_2_1_0__s2(instruction); - const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); - const char *rs3 = GPR(decode_gpr_gpr3(rs3_value)); + const char *rt3 = GPR(decode_gpr_gpr3(rt3_value, info), info); + const char *rs3 = GPR(decode_gpr_gpr3(rs3_value, info), info); return img_format("LW %s, 0x%" PRIx64 "(%s)", rt3, u_value, rs3); } @@ -8827,8 +8831,8 @@ static char *LW_4X4_(uint64 instruction, Dis_info *info) uint64 rs4_value = extract_rs4_4_2_1_0(instruction); uint64 u_value = extract_u_3_8__s2(instruction); - const char *rt4 = GPR(decode_gpr_gpr4(rt4_value)); - const char *rs4 = GPR(decode_gpr_gpr4(rs4_value)); + const char *rt4 = GPR(decode_gpr_gpr4(rt4_value, info), info); + const char *rs4 = GPR(decode_gpr_gpr4(rs4_value, info), info); return img_format("LW %s, 0x%" PRIx64 "(%s)", rt4, u_value, rs4); } @@ -8849,7 +8853,7 @@ static char *LW_GP_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_20_to_2__s2(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("LW %s, 0x%" PRIx64 "($%d)", rt, u_value, 28); } @@ -8870,7 +8874,7 @@ static char *LW_GP16_(uint64 instruction, Dis_info *info) uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 u_value = extract_u_6_5_4_3_2_1_0__s2(instruction); - const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); + const char *rt3 = GPR(decode_gpr_gpr3(rt3_value, info), info); return img_format("LW %s, 0x%" PRIx64 "($%d)", rt3, u_value, 28); } @@ -8892,8 +8896,8 @@ static char *LW_S9_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("LW %s, %" PRId64 "(%s)", rt, s_value, rs); } @@ -8914,7 +8918,7 @@ static char *LW_SP_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_9_8_7_6_5(instruction); uint64 u_value = extract_u_4_3_2_1_0__s2(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("LW %s, 0x%" PRIx64 "($%d)", rt, u_value, 29); } @@ -8936,8 +8940,8 @@ static char *LW_U12_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("LW %s, 0x%" PRIx64 "(%s)", rt, u_value, rs); } @@ -8958,7 +8962,7 @@ static char *LWC1_GP_(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_2__s2(instruction); - const char *ft = FPR(ft_value); + const char *ft = FPR(ft_value, info); return img_format("LWC1 %s, 0x%" PRIx64 "($%d)", ft, u_value, 28); } @@ -8980,8 +8984,8 @@ static char *LWC1_S9_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - const char *ft = FPR(ft_value); - const char *rs = GPR(rs_value); + const char *ft = FPR(ft_value, info); + const char *rs = GPR(rs_value, info); return img_format("LWC1 %s, %" PRId64 "(%s)", ft, s_value, rs); } @@ -9003,8 +9007,8 @@ static char *LWC1_U12_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - const char *ft = FPR(ft_value); - const char *rs = GPR(rs_value); + const char *ft = FPR(ft_value, info); + const char *rs = GPR(rs_value, info); return img_format("LWC1 %s, 0x%" PRIx64 "(%s)", ft, u_value, rs); } @@ -9026,9 +9030,9 @@ static char *LWC1X(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ft_value = extract_ft_15_14_13_12_11(instruction); - const char *ft = FPR(ft_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *ft = FPR(ft_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("LWC1X %s, %s(%s)", ft, rs, rt); } @@ -9050,9 +9054,9 @@ static char *LWC1XS(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ft_value = extract_ft_15_14_13_12_11(instruction); - const char *ft = FPR(ft_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *ft = FPR(ft_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("LWC1XS %s, %s(%s)", ft, rs, rt); } @@ -9074,7 +9078,7 @@ static char *LWC2(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - const char *rs = GPR(rs_value); + const char *rs = GPR(rs_value, info); return img_format("LWC2 CP%" PRIu64 ", %" PRId64 "(%s)", ct_value, s_value, rs); @@ -9097,8 +9101,8 @@ static char *LWE(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("LWE %s, %" PRId64 "(%s)", rt, s_value, rs); } @@ -9121,8 +9125,8 @@ static char *LWM(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); uint64 count3_value = extract_count3_14_13_12(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); uint64 count3 = encode_count3_from_count(count3_value); return img_format("LWM %s, %" PRId64 "(%s), 0x%" PRIx64, @@ -9145,7 +9149,7 @@ static char *LWPC_48_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_41_40_39_38_37(instruction); int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); g_autofree char *s = ADDRESS(s_value, 6, info); return img_format("LWPC %s, %s", rt, s); @@ -9167,7 +9171,7 @@ static char *LWU_GP_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_2__s2(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("LWU %s, 0x%" PRIx64 "($%d)", rt, u_value, 28); } @@ -9189,8 +9193,8 @@ static char *LWU_S9_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("LWU %s, %" PRId64 "(%s)", rt, s_value, rs); } @@ -9212,8 +9216,8 @@ static char *LWU_U12_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("LWU %s, 0x%" PRIx64 "(%s)", rt, u_value, rs); } @@ -9235,9 +9239,9 @@ static char *LWUX(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("LWUX %s, %s(%s)", rd, rs, rt); } @@ -9259,9 +9263,9 @@ static char *LWUXS(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("LWUXS %s, %s(%s)", rd, rs, rt); } @@ -9283,9 +9287,9 @@ static char *LWX(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("LWX %s, %s(%s)", rd, rs, rt); } @@ -9307,9 +9311,9 @@ static char *LWXS_16_(uint64 instruction, Dis_info *info) uint64 rs3_value = extract_rs3_6_5_4(instruction); uint64 rd3_value = extract_rd3_3_2_1(instruction); - const char *rd3 = GPR(decode_gpr_gpr3(rd3_value)); - const char *rs3 = GPR(decode_gpr_gpr3(rs3_value)); - uint64 rt3 = decode_gpr_gpr3(rt3_value); + const char *rd3 = GPR(decode_gpr_gpr3(rd3_value, info), info); + const char *rs3 = GPR(decode_gpr_gpr3(rs3_value, info), info); + uint64 rt3 = decode_gpr_gpr3(rt3_value, info); return img_format("LWXS %s, %s(0x%" PRIx64 ")", rd3, rs3, rt3); } @@ -9331,9 +9335,9 @@ static char *LWXS_32_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("LWXS %s, %s(%s)", rd, rs, rt); } @@ -9356,9 +9360,9 @@ static char *MADD_DSP_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - const char *ac = AC(ac_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *ac = AC(ac_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("MADD %s, %s, %s", ac, rs, rt); } @@ -9380,9 +9384,9 @@ static char *MADDF_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("MADDF.D %s, %s, %s", fd, fs, ft); } @@ -9404,9 +9408,9 @@ static char *MADDF_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("MADDF.S %s, %s, %s", fd, fs, ft); } @@ -9429,9 +9433,9 @@ static char *MADDU_DSP_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - const char *ac = AC(ac_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *ac = AC(ac_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("MADDU %s, %s, %s", ac, rs, rt); } @@ -9454,9 +9458,9 @@ static char *MAQ_S_W_PHL(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - const char *ac = AC(ac_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *ac = AC(ac_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("MAQ_S.W.PHL %s, %s, %s", ac, rs, rt); } @@ -9479,9 +9483,9 @@ static char *MAQ_S_W_PHR(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - const char *ac = AC(ac_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *ac = AC(ac_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("MAQ_S.W.PHR %s, %s, %s", ac, rs, rt); } @@ -9504,9 +9508,9 @@ static char *MAQ_SA_W_PHL(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - const char *ac = AC(ac_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *ac = AC(ac_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("MAQ_SA.W.PHL %s, %s, %s", ac, rs, rt); } @@ -9529,9 +9533,9 @@ static char *MAQ_SA_W_PHR(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - const char *ac = AC(ac_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *ac = AC(ac_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("MAQ_SA.W.PHR %s, %s, %s", ac, rs, rt); } @@ -9553,9 +9557,9 @@ static char *MAX_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("MAX.D %s, %s, %s", fd, fs, ft); } @@ -9577,9 +9581,9 @@ static char *MAX_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("MAX.S %s, %s, %s", fd, fs, ft); } @@ -9601,9 +9605,9 @@ static char *MAXA_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("MAXA.D %s, %s, %s", fd, fs, ft); } @@ -9625,9 +9629,9 @@ static char *MAXA_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("MAXA.S %s, %s, %s", fd, fs, ft); } @@ -9649,7 +9653,7 @@ static char *MFC0(uint64 instruction, Dis_info *info) uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); uint64 sel_value = extract_sel_15_14_13_12_11(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("MFC0 %s, CP%" PRIu64 ", 0x%" PRIx64, rt, c0s_value, sel_value); @@ -9671,8 +9675,8 @@ static char *MFC1(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - const char *rt = GPR(rt_value); - const char *fs = FPR(fs_value); + const char *rt = GPR(rt_value, info); + const char *fs = FPR(fs_value, info); return img_format("MFC1 %s, %s", rt, fs); } @@ -9693,7 +9697,7 @@ static char *MFC2(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 cs_value = extract_cs_20_19_18_17_16(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("MFC2 %s, CP%" PRIu64, rt, cs_value); } @@ -9715,7 +9719,7 @@ static char *MFGC0(uint64 instruction, Dis_info *info) uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); uint64 sel_value = extract_sel_15_14_13_12_11(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("MFGC0 %s, CP%" PRIu64 ", 0x%" PRIx64, rt, c0s_value, sel_value); @@ -9738,7 +9742,7 @@ static char *MFHC0(uint64 instruction, Dis_info *info) uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); uint64 sel_value = extract_sel_15_14_13_12_11(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("MFHC0 %s, CP%" PRIu64 ", 0x%" PRIx64, rt, c0s_value, sel_value); @@ -9760,8 +9764,8 @@ static char *MFHC1(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - const char *rt = GPR(rt_value); - const char *fs = FPR(fs_value); + const char *rt = GPR(rt_value, info); + const char *fs = FPR(fs_value, info); return img_format("MFHC1 %s, %s", rt, fs); } @@ -9782,7 +9786,7 @@ static char *MFHC2(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 cs_value = extract_cs_20_19_18_17_16(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("MFHC2 %s, CP%" PRIu64, rt, cs_value); } @@ -9804,7 +9808,7 @@ static char *MFHGC0(uint64 instruction, Dis_info *info) uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); uint64 sel_value = extract_sel_15_14_13_12_11(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("MFHGC0 %s, CP%" PRIu64 ", 0x%" PRIx64, rt, c0s_value, sel_value); @@ -9825,8 +9829,8 @@ static char *MFHI_DSP_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 ac_value = extract_ac_15_14(instruction); - const char *rt = GPR(rt_value); - const char *ac = AC(ac_value); + const char *rt = GPR(rt_value, info); + const char *ac = AC(ac_value, info); return img_format("MFHI %s, %s", rt, ac); } @@ -9849,7 +9853,7 @@ static char *MFHTR(uint64 instruction, Dis_info *info) uint64 sel_value = extract_sel_15_14_13_12_11(instruction); uint64 u_value = extract_u_10(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("MFHTR %s, 0x%" PRIx64 ", 0x%" PRIx64 ", 0x%" PRIx64, rt, c0s_value, u_value, sel_value); @@ -9870,8 +9874,8 @@ static char *MFLO_DSP_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 ac_value = extract_ac_15_14(instruction); - const char *rt = GPR(rt_value); - const char *ac = AC(ac_value); + const char *rt = GPR(rt_value, info); + const char *ac = AC(ac_value, info); return img_format("MFLO %s, %s", rt, ac); } @@ -9894,7 +9898,7 @@ static char *MFTR(uint64 instruction, Dis_info *info) uint64 sel_value = extract_sel_15_14_13_12_11(instruction); uint64 u_value = extract_u_10(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("MFTR %s, 0x%" PRIx64 ", 0x%" PRIx64 ", 0x%" PRIx64, rt, c0s_value, u_value, sel_value); @@ -9917,9 +9921,9 @@ static char *MIN_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("MIN.D %s, %s, %s", fd, fs, ft); } @@ -9941,9 +9945,9 @@ static char *MIN_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("MIN.S %s, %s, %s", fd, fs, ft); } @@ -9965,9 +9969,9 @@ static char *MINA_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("MINA.D %s, %s, %s", fd, fs, ft); } @@ -9989,9 +9993,9 @@ static char *MINA_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("MINA.S %s, %s, %s", fd, fs, ft); } @@ -10013,9 +10017,9 @@ static char *MOD(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("MOD %s, %s, %s", rd, rs, rt); } @@ -10037,9 +10041,9 @@ static char *MODSUB(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("MODSUB %s, %s, %s", rd, rs, rt); } @@ -10061,9 +10065,9 @@ static char *MODU(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("MODU %s, %s, %s", rd, rs, rt); } @@ -10084,8 +10088,8 @@ static char *MOV_D(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - const char *ft = FPR(ft_value); - const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value, info); + const char *fs = FPR(fs_value, info); return img_format("MOV.D %s, %s", ft, fs); } @@ -10106,8 +10110,8 @@ static char *MOV_S(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - const char *ft = FPR(ft_value); - const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value, info); + const char *fs = FPR(fs_value, info); return img_format("MOV.S %s, %s", ft, fs); } @@ -10129,8 +10133,8 @@ static char *MOVE_BALC(uint64 instruction, Dis_info *info) uint64 rd1_value = extract_rdl_25_24(instruction); int64 s_value = extract_s__se21_0_20_to_1_s1(instruction); - const char *rd1 = GPR(decode_gpr_gpr1(rd1_value)); - const char *rtz4 = GPR(decode_gpr_gpr4_zero(rtz4_value)); + const char *rd1 = GPR(decode_gpr_gpr1(rd1_value, info), info); + const char *rtz4 = GPR(decode_gpr_gpr4_zero(rtz4_value, info), info); g_autofree char *s = ADDRESS(s_value, 4, info); return img_format("MOVE.BALC %s, %s, %s", rd1, rtz4, s); @@ -10153,11 +10157,11 @@ static char *MOVEP(uint64 instruction, Dis_info *info) uint64 rd2_value = extract_rd2_3_8(instruction); uint64 rsz4_value = extract_rsz4_4_2_1_0(instruction); - const char *rd2 = GPR(decode_gpr_gpr2_reg1(rd2_value)); - const char *re2 = GPR(decode_gpr_gpr2_reg2(rd2_value)); + const char *rd2 = GPR(decode_gpr_gpr2_reg1(rd2_value, info), info); + const char *re2 = GPR(decode_gpr_gpr2_reg2(rd2_value, info), info); /* !!!!!!!!!! - no conversion function */ - const char *rsz4 = GPR(decode_gpr_gpr4_zero(rsz4_value)); - const char *rtz4 = GPR(decode_gpr_gpr4_zero(rtz4_value)); + const char *rsz4 = GPR(decode_gpr_gpr4_zero(rsz4_value, info), info); + const char *rtz4 = GPR(decode_gpr_gpr4_zero(rtz4_value, info), info); return img_format("MOVEP %s, %s, %s, %s", rd2, re2, rsz4, rtz4); /* hand edited */ @@ -10180,10 +10184,10 @@ static char *MOVEP_REV_(uint64 instruction, Dis_info *info) uint64 rd2_value = extract_rd2_3_8(instruction); uint64 rs4_value = extract_rs4_4_2_1_0(instruction); - const char *rs4 = GPR(decode_gpr_gpr4(rs4_value)); - const char *rt4 = GPR(decode_gpr_gpr4(rt4_value)); - const char *rd2 = GPR(decode_gpr_gpr2_reg1(rd2_value)); - const char *rs2 = GPR(decode_gpr_gpr2_reg2(rd2_value)); + const char *rs4 = GPR(decode_gpr_gpr4(rs4_value, info), info); + const char *rt4 = GPR(decode_gpr_gpr4(rt4_value, info), info); + const char *rd2 = GPR(decode_gpr_gpr2_reg1(rd2_value, info), info); + const char *rs2 = GPR(decode_gpr_gpr2_reg2(rd2_value, info), info); /* !!!!!!!!!! - no conversion function */ return img_format("MOVEP %s, %s, %s, %s", rs4, rt4, rd2, rs2); @@ -10206,8 +10210,8 @@ static char *MOVE(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_9_8_7_6_5(instruction); uint64 rs_value = extract_rs_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("MOVE %s, %s", rt, rs); } @@ -10229,9 +10233,9 @@ static char *MOVN(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("MOVN %s, %s, %s", rd, rs, rt); } @@ -10253,9 +10257,9 @@ static char *MOVZ(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("MOVZ %s, %s, %s", rd, rs, rt); } @@ -10277,9 +10281,9 @@ static char *MSUB_DSP_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - const char *ac = AC(ac_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *ac = AC(ac_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("MSUB %s, %s, %s", ac, rs, rt); } @@ -10301,9 +10305,9 @@ static char *MSUBF_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("MSUBF.D %s, %s, %s", fd, fs, ft); } @@ -10325,9 +10329,9 @@ static char *MSUBF_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("MSUBF.S %s, %s, %s", fd, fs, ft); } @@ -10349,9 +10353,9 @@ static char *MSUBU_DSP_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - const char *ac = AC(ac_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *ac = AC(ac_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("MSUBU %s, %s, %s", ac, rs, rt); } @@ -10373,7 +10377,7 @@ static char *MTC0(uint64 instruction, Dis_info *info) uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); uint64 sel_value = extract_sel_15_14_13_12_11(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("MTC0 %s, CP%" PRIu64 ", 0x%" PRIx64, rt, c0s_value, sel_value); @@ -10395,8 +10399,8 @@ static char *MTC1(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - const char *rt = GPR(rt_value); - const char *fs = FPR(fs_value); + const char *rt = GPR(rt_value, info); + const char *fs = FPR(fs_value, info); return img_format("MTC1 %s, %s", rt, fs); } @@ -10417,7 +10421,7 @@ static char *MTC2(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 cs_value = extract_cs_20_19_18_17_16(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("MTC2 %s, CP%" PRIu64, rt, cs_value); } @@ -10439,7 +10443,7 @@ static char *MTGC0(uint64 instruction, Dis_info *info) uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); uint64 sel_value = extract_sel_15_14_13_12_11(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("MTGC0 %s, CP%" PRIu64 ", 0x%" PRIx64, rt, c0s_value, sel_value); @@ -10462,7 +10466,7 @@ static char *MTHC0(uint64 instruction, Dis_info *info) uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); uint64 sel_value = extract_sel_15_14_13_12_11(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("MTHC0 %s, CP%" PRIu64 ", 0x%" PRIx64, rt, c0s_value, sel_value); @@ -10484,8 +10488,8 @@ static char *MTHC1(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - const char *rt = GPR(rt_value); - const char *fs = FPR(fs_value); + const char *rt = GPR(rt_value, info); + const char *fs = FPR(fs_value, info); return img_format("MTHC1 %s, %s", rt, fs); } @@ -10506,7 +10510,7 @@ static char *MTHC2(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 cs_value = extract_cs_20_19_18_17_16(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("MTHC2 %s, CP%" PRIu64, rt, cs_value); } @@ -10528,7 +10532,7 @@ static char *MTHGC0(uint64 instruction, Dis_info *info) uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction); uint64 sel_value = extract_sel_15_14_13_12_11(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("MTHGC0 %s, CP%" PRIu64 ", 0x%" PRIx64, rt, c0s_value, sel_value); @@ -10549,8 +10553,8 @@ static char *MTHI_DSP_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - const char *rs = GPR(rs_value); - const char *ac = AC(ac_value); + const char *rs = GPR(rs_value, info); + const char *ac = AC(ac_value, info); return img_format("MTHI %s, %s", rs, ac); } @@ -10570,8 +10574,8 @@ static char *MTHLIP(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - const char *rs = GPR(rs_value); - const char *ac = AC(ac_value); + const char *rs = GPR(rs_value, info); + const char *ac = AC(ac_value, info); return img_format("MTHLIP %s, %s", rs, ac); } @@ -10594,7 +10598,7 @@ static char *MTHTR(uint64 instruction, Dis_info *info) uint64 sel_value = extract_sel_15_14_13_12_11(instruction); uint64 u_value = extract_u_10(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("MTHTR %s, 0x%" PRIx64 ", 0x%" PRIx64 ", 0x%" PRIx64, rt, c0s_value, u_value, sel_value); @@ -10615,8 +10619,8 @@ static char *MTLO_DSP_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - const char *rs = GPR(rs_value); - const char *ac = AC(ac_value); + const char *rs = GPR(rs_value, info); + const char *ac = AC(ac_value, info); return img_format("MTLO %s, %s", rs, ac); } @@ -10639,7 +10643,7 @@ static char *MTTR(uint64 instruction, Dis_info *info) uint64 sel_value = extract_sel_15_14_13_12_11(instruction); uint64 u_value = extract_u_10(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("MTTR %s, 0x%" PRIx64 ", 0x%" PRIx64 ", 0x%" PRIx64, rt, c0s_value, u_value, sel_value); @@ -10662,9 +10666,9 @@ static char *MUH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("MUH %s, %s, %s", rd, rs, rt); } @@ -10686,9 +10690,9 @@ static char *MUHU(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("MUHU %s, %s, %s", rd, rs, rt); } @@ -10710,9 +10714,9 @@ static char *MUL_32_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("MUL %s, %s, %s", rd, rs, rt); } @@ -10733,8 +10737,8 @@ static char *MUL_4X4_(uint64 instruction, Dis_info *info) uint64 rt4_value = extract_rt4_9_7_6_5(instruction); uint64 rs4_value = extract_rs4_4_2_1_0(instruction); - const char *rs4 = GPR(decode_gpr_gpr4(rs4_value)); - const char *rt4 = GPR(decode_gpr_gpr4(rt4_value)); + const char *rs4 = GPR(decode_gpr_gpr4(rs4_value, info), info); + const char *rt4 = GPR(decode_gpr_gpr4(rt4_value, info), info); return img_format("MUL %s, %s", rs4, rt4); } @@ -10756,9 +10760,9 @@ static char *MUL_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("MUL.D %s, %s, %s", fd, fs, ft); } @@ -10781,9 +10785,9 @@ static char *MUL_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("MUL.PH %s, %s, %s", rd, rs, rt); } @@ -10806,9 +10810,9 @@ static char *MUL_S_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("MUL_S.PH %s, %s, %s", rd, rs, rt); } @@ -10830,9 +10834,9 @@ static char *MUL_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("MUL.S %s, %s, %s", fd, fs, ft); } @@ -10855,9 +10859,9 @@ static char *MULEQ_S_W_PHL(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("MULEQ_S.W.PHL %s, %s, %s", rd, rs, rt); } @@ -10880,9 +10884,9 @@ static char *MULEQ_S_W_PHR(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("MULEQ_S.W.PHR %s, %s, %s", rd, rs, rt); } @@ -10905,9 +10909,9 @@ static char *MULEU_S_PH_QBL(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("MULEU_S.PH.QBL %s, %s, %s", rd, rs, rt); } @@ -10930,9 +10934,9 @@ static char *MULEU_S_PH_QBR(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("MULEU_S.PH.QBR %s, %s, %s", rd, rs, rt); } @@ -10955,9 +10959,9 @@ static char *MULQ_RS_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("MULQ_RS.PH %s, %s, %s", rd, rs, rt); } @@ -10980,9 +10984,9 @@ static char *MULQ_RS_W(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("MULQ_RS.W %s, %s, %s", rd, rs, rt); } @@ -11005,9 +11009,9 @@ static char *MULQ_S_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("MULQ_S.PH %s, %s, %s", rd, rs, rt); } @@ -11030,9 +11034,9 @@ static char *MULQ_S_W(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("MULQ_S.W %s, %s, %s", rd, rs, rt); } @@ -11055,9 +11059,9 @@ static char *MULSA_W_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - const char *ac = AC(ac_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *ac = AC(ac_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("MULSA.W.PH %s, %s, %s", ac, rs, rt); } @@ -11080,9 +11084,9 @@ static char *MULSAQ_S_W_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - const char *ac = AC(ac_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *ac = AC(ac_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("MULSAQ_S.W.PH %s, %s, %s", ac, rs, rt); } @@ -11104,9 +11108,9 @@ static char *MULT_DSP_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - const char *ac = AC(ac_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *ac = AC(ac_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("MULT %s, %s, %s", ac, rs, rt); } @@ -11128,9 +11132,9 @@ static char *MULTU_DSP_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - const char *ac = AC(ac_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *ac = AC(ac_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("MULTU %s, %s, %s", ac, rs, rt); } @@ -11152,9 +11156,9 @@ static char *MULU(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("MULU %s, %s, %s", rd, rs, rt); } @@ -11175,8 +11179,8 @@ static char *NEG_D(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - const char *ft = FPR(ft_value); - const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value, info); + const char *fs = FPR(fs_value, info); return img_format("NEG.D %s, %s", ft, fs); } @@ -11197,8 +11201,8 @@ static char *NEG_S(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - const char *ft = FPR(ft_value); - const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value, info); + const char *fs = FPR(fs_value, info); return img_format("NEG.S %s, %s", ft, fs); } @@ -11256,9 +11260,9 @@ static char *NOR(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("NOR %s, %s, %s", rd, rs, rt); } @@ -11279,8 +11283,8 @@ static char *NOT_16_(uint64 instruction, Dis_info *info) uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); - const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); - const char *rs3 = GPR(decode_gpr_gpr3(rs3_value)); + const char *rt3 = GPR(decode_gpr_gpr3(rt3_value, info), info); + const char *rs3 = GPR(decode_gpr_gpr3(rs3_value, info), info); return img_format("NOT %s, %s", rt3, rs3); } @@ -11301,8 +11305,8 @@ static char *OR_16_(uint64 instruction, Dis_info *info) uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); - const char *rs3 = GPR(decode_gpr_gpr3(rs3_value)); - const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); + const char *rs3 = GPR(decode_gpr_gpr3(rs3_value, info), info); + const char *rt3 = GPR(decode_gpr_gpr3(rt3_value, info), info); return img_format("OR %s, %s", rs3, rt3); } @@ -11324,9 +11328,9 @@ static char *OR_32_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("OR %s, %s, %s", rd, rs, rt); } @@ -11348,8 +11352,8 @@ static char *ORI(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("ORI %s, %s, 0x%" PRIx64, rt, rs, u_value); } @@ -11372,9 +11376,9 @@ static char *PACKRL_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("PACKRL.PH %s, %s, %s", rd, rs, rt); } @@ -11415,9 +11419,9 @@ static char *PICK_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("PICK.PH %s, %s, %s", rd, rs, rt); } @@ -11440,9 +11444,9 @@ static char *PICK_QB(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("PICK.QB %s, %s, %s", rd, rs, rt); } @@ -11464,8 +11468,8 @@ static char *PRECEQ_W_PHL(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("PRECEQ.W.PHL %s, %s", rt, rs); } @@ -11487,8 +11491,8 @@ static char *PRECEQ_W_PHR(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("PRECEQ.W.PHR %s, %s", rt, rs); } @@ -11510,8 +11514,8 @@ static char *PRECEQU_PH_QBLA(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("PRECEQU.PH.QBLA %s, %s", rt, rs); } @@ -11533,8 +11537,8 @@ static char *PRECEQU_PH_QBL(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("PRECEQU.PH.QBL %s, %s", rt, rs); } @@ -11556,8 +11560,8 @@ static char *PRECEQU_PH_QBRA(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("PRECEQU.PH.QBRA %s, %s", rt, rs); } @@ -11579,8 +11583,8 @@ static char *PRECEQU_PH_QBR(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("PRECEQU.PH.QBR %s, %s", rt, rs); } @@ -11603,8 +11607,8 @@ static char *PRECEU_PH_QBLA(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("PRECEU.PH.QBLA %s, %s", rt, rs); } @@ -11626,8 +11630,8 @@ static char *PRECEU_PH_QBL(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("PRECEU.PH.QBL %s, %s", rt, rs); } @@ -11650,8 +11654,8 @@ static char *PRECEU_PH_QBRA(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("PRECEU.PH.QBRA %s, %s", rt, rs); } @@ -11673,8 +11677,8 @@ static char *PRECEU_PH_QBR(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("PRECEU.PH.QBR %s, %s", rt, rs); } @@ -11697,9 +11701,9 @@ static char *PRECR_QB_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("PRECR.QB.PH %s, %s, %s", rd, rs, rt); } @@ -11722,8 +11726,8 @@ static char *PRECR_SRA_PH_W(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 sa_value = extract_sa_15_14_13_12_11(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("PRECR_SRA.PH.W %s, %s, 0x%" PRIx64, rt, rs, sa_value); } @@ -11746,8 +11750,8 @@ static char *PRECR_SRA_R_PH_W(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 sa_value = extract_sa_15_14_13_12_11(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("PRECR_SRA_R.PH.W %s, %s, 0x%" PRIx64, rt, rs, sa_value); } @@ -11770,9 +11774,9 @@ static char *PRECRQ_PH_W(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("PRECRQ.PH.W %s, %s, %s", rd, rs, rt); } @@ -11795,9 +11799,9 @@ static char *PRECRQ_QB_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("PRECRQ.QB.PH %s, %s, %s", rd, rs, rt); } @@ -11820,9 +11824,9 @@ static char *PRECRQ_RS_PH_W(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("PRECRQ_RS.PH.W %s, %s, %s", rd, rs, rt); } @@ -11845,9 +11849,9 @@ static char *PRECRQU_S_QB_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("PRECRQU_S.QB.PH %s, %s, %s", rd, rs, rt); } @@ -11869,7 +11873,7 @@ static char *PREF_S9_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - const char *rs = GPR(rs_value); + const char *rs = GPR(rs_value, info); return img_format("PREF 0x%" PRIx64 ", %s(%s)", hint_value, s_value, rs); @@ -11892,7 +11896,7 @@ static char *PREF_U12_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - const char *rs = GPR(rs_value); + const char *rs = GPR(rs_value, info); return img_format("PREF 0x%" PRIx64 ", 0x%" PRIx64 "(%s)", hint_value, u_value, rs); @@ -11915,7 +11919,7 @@ static char *PREFE(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - const char *rs = GPR(rs_value); + const char *rs = GPR(rs_value, info); return img_format("PREFE 0x%" PRIx64 ", %s(%s)", hint_value, s_value, rs); } @@ -11937,8 +11941,8 @@ static char *PREPEND(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 sa_value = extract_sa_15_14_13_12_11(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("PREPEND %s, %s, 0x%" PRIx64, rt, rs, sa_value); } @@ -11958,8 +11962,8 @@ static char *RADDU_W_QB(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("RADDU.W.QB %s, %s", rt, rs); } @@ -11979,7 +11983,7 @@ static char *RDDSP(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 mask_value = extract_mask_20_19_18_17_16_15_14(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("RDDSP %s, 0x%" PRIx64, rt, mask_value); } @@ -12001,7 +12005,7 @@ static char *RDHWR(uint64 instruction, Dis_info *info) uint64 hs_value = extract_hs_20_19_18_17_16(instruction); uint64 sel_value = extract_sel_13_12_11(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("RDHWR %s, CP%" PRIu64 ", 0x%" PRIx64, rt, hs_value, sel_value); @@ -12023,8 +12027,8 @@ static char *RDPGPR(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("RDPGPR %s, %s", rt, rs); } @@ -12045,8 +12049,8 @@ static char *RECIP_D(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - const char *ft = FPR(ft_value); - const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value, info); + const char *fs = FPR(fs_value, info); return img_format("RECIP.D %s, %s", ft, fs); } @@ -12067,8 +12071,8 @@ static char *RECIP_S(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - const char *ft = FPR(ft_value); - const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value, info); + const char *fs = FPR(fs_value, info); return img_format("RECIP.S %s, %s", ft, fs); } @@ -12089,7 +12093,7 @@ static char *REPL_PH(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); int64 s_value = extract_s__se9_20_19_18_17_16_15_14_13_12_11(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("REPL.PH %s, %s", rt, s_value); } @@ -12110,7 +12114,7 @@ static char *REPL_QB(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_20_19_18_17_16_15_14_13(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("REPL.QB %s, 0x%" PRIx64, rt, u_value); } @@ -12131,8 +12135,8 @@ static char *REPLV_PH(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("REPLV.PH %s, %s", rt, rs); } @@ -12152,8 +12156,8 @@ static char *REPLV_QB(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("REPLV.QB %s, %s", rt, rs); } @@ -12177,7 +12181,7 @@ static char *RESTORE_32_(uint64 instruction, Dis_info *info) uint64 gp_value = extract_gp_2(instruction); g_autofree char *save_restore_str = save_restore_list( - rt_value, count_value, gp_value); + rt_value, count_value, gp_value, info); return img_format("RESTORE 0x%" PRIx64 "%s", u_value, save_restore_str); } @@ -12199,7 +12203,7 @@ static char *RESTORE_JRC_16_(uint64 instruction, Dis_info *info) uint64 count_value = extract_count_3_2_1_0(instruction); g_autofree char *save_restore_str = save_restore_list( - encode_rt1_from_rt(rt1_value), count_value, 0); + encode_rt1_from_rt(rt1_value), count_value, 0, info); return img_format("RESTORE.JRC 0x%" PRIx64 "%s", u_value, save_restore_str); } @@ -12222,7 +12226,7 @@ static char *RESTORE_JRC_32_(uint64 instruction, Dis_info *info) uint64 gp_value = extract_gp_2(instruction); g_autofree char *save_restore_str = save_restore_list( - rt_value, count_value, gp_value); + rt_value, count_value, gp_value, info); return img_format("RESTORE.JRC 0x%" PRIx64 "%s", u_value, save_restore_str); } @@ -12263,8 +12267,8 @@ static char *RINT_D(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - const char *ft = FPR(ft_value); - const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value, info); + const char *fs = FPR(fs_value, info); return img_format("RINT.D %s, %s", ft, fs); } @@ -12285,8 +12289,8 @@ static char *RINT_S(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - const char *ft = FPR(ft_value); - const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value, info); + const char *fs = FPR(fs_value, info); return img_format("RINT.S %s, %s", ft, fs); } @@ -12308,8 +12312,8 @@ static char *ROTR(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 shift_value = extract_shift_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("ROTR %s, %s, 0x%" PRIx64, rt, rs, shift_value); } @@ -12331,9 +12335,9 @@ static char *ROTRV(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("ROTRV %s, %s, %s", rd, rs, rt); } @@ -12357,8 +12361,8 @@ static char *ROTX(uint64 instruction, Dis_info *info) uint64 stripe_value = extract_stripe_6(instruction); uint64 shift_value = extract_shift_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("ROTX %s, %s, 0x%" PRIx64 ", 0x%" PRIx64 ", 0x%" PRIx64, rt, rs, shift_value, shiftx_value, stripe_value); @@ -12380,8 +12384,8 @@ static char *ROUND_L_D(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - const char *ft = FPR(ft_value); - const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value, info); + const char *fs = FPR(fs_value, info); return img_format("ROUND.L.D %s, %s", ft, fs); } @@ -12402,8 +12406,8 @@ static char *ROUND_L_S(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - const char *ft = FPR(ft_value); - const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value, info); + const char *fs = FPR(fs_value, info); return img_format("ROUND.L.S %s, %s", ft, fs); } @@ -12424,8 +12428,8 @@ static char *ROUND_W_D(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - const char *ft = FPR(ft_value); - const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value, info); + const char *fs = FPR(fs_value, info); return img_format("ROUND.W.D %s, %s", ft, fs); } @@ -12446,8 +12450,8 @@ static char *ROUND_W_S(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - const char *ft = FPR(ft_value); - const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value, info); + const char *fs = FPR(fs_value, info); return img_format("ROUND.W.S %s, %s", ft, fs); } @@ -12468,8 +12472,8 @@ static char *RSQRT_D(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - const char *ft = FPR(ft_value); - const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value, info); + const char *fs = FPR(fs_value, info); return img_format("RSQRT.D %s, %s", ft, fs); } @@ -12490,8 +12494,8 @@ static char *RSQRT_S(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - const char *ft = FPR(ft_value); - const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value, info); + const char *fs = FPR(fs_value, info); return img_format("RSQRT.S %s, %s", ft, fs); } @@ -12514,7 +12518,7 @@ static char *SAVE_16_(uint64 instruction, Dis_info *info) uint64 count_value = extract_count_3_2_1_0(instruction); g_autofree char *save_restore_str = save_restore_list( - encode_rt1_from_rt(rt1_value), count_value, 0); + encode_rt1_from_rt(rt1_value), count_value, 0, info); return img_format("SAVE 0x%" PRIx64 "%s", u_value, save_restore_str); } @@ -12537,7 +12541,7 @@ static char *SAVE_32_(uint64 instruction, Dis_info *info) uint64 gp_value = extract_gp_2(instruction); g_autofree char *save_restore_str = save_restore_list( - rt_value, count_value, gp_value); + rt_value, count_value, gp_value, info); return img_format("SAVE 0x%" PRIx64 "%s", u_value, save_restore_str); } @@ -12578,8 +12582,8 @@ static char *SB_16_(uint64 instruction, Dis_info *info) uint64 rs3_value = extract_rs3_6_5_4(instruction); uint64 u_value = extract_u_1_0(instruction); - const char *rtz3 = GPR(decode_gpr_gpr3_src_store(rtz3_value)); - const char *rs3 = GPR(decode_gpr_gpr3(rs3_value)); + const char *rtz3 = GPR(decode_gpr_gpr3_src_store(rtz3_value, info), info); + const char *rs3 = GPR(decode_gpr_gpr3(rs3_value, info), info); return img_format("SB %s, 0x%" PRIx64 "(%s)", rtz3, u_value, rs3); } @@ -12600,7 +12604,7 @@ static char *SB_GP_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_0(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("SB %s, 0x%" PRIx64 "($%d)", rt, u_value, 28); } @@ -12622,8 +12626,8 @@ static char *SB_S9_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("SB %s, %s(%s)", rt, s_value, rs); } @@ -12645,8 +12649,8 @@ static char *SB_U12_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("SB %s, 0x%" PRIx64 "(%s)", rt, u_value, rs); } @@ -12668,8 +12672,8 @@ static char *SBE(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("SBE %s, %s(%s)", rt, s_value, rs); } @@ -12691,9 +12695,9 @@ static char *SBX(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("SBX %s, %s(%s)", rd, rs, rt); } @@ -12715,8 +12719,8 @@ static char *SC(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_s2(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("SC %s, %s(%s)", rt, s_value, rs); } @@ -12738,8 +12742,8 @@ static char *SCD(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_s3(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("SCD %s, %s(%s)", rt, s_value, rs); } @@ -12761,9 +12765,9 @@ static char *SCDP(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ru_value = extract_ru_7_6_5_4_3(instruction); - const char *rt = GPR(rt_value); - const char *ru = GPR(ru_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *ru = GPR(ru_value, info); + const char *rs = GPR(rs_value, info); return img_format("SCDP %s, %s, (%s)", rt, ru, rs); } @@ -12785,8 +12789,8 @@ static char *SCE(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_s2(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("SCE %s, %s(%s)", rt, s_value, rs); } @@ -12808,9 +12812,9 @@ static char *SCWP(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ru_value = extract_ru_7_6_5_4_3(instruction); - const char *rt = GPR(rt_value); - const char *ru = GPR(ru_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *ru = GPR(ru_value, info); + const char *rs = GPR(rs_value, info); return img_format("SCWP %s, %s, (%s)", rt, ru, rs); } @@ -12832,9 +12836,9 @@ static char *SCWPE(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ru_value = extract_ru_7_6_5_4_3(instruction); - const char *rt = GPR(rt_value); - const char *ru = GPR(ru_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *ru = GPR(ru_value, info); + const char *rs = GPR(rs_value, info); return img_format("SCWPE %s, %s, (%s)", rt, ru, rs); } @@ -12855,7 +12859,7 @@ static char *SD_GP_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_20_to_3__s3(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("SD %s, 0x%" PRIx64 "($%d)", rt, u_value, 28); } @@ -12877,8 +12881,8 @@ static char *SD_S9_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("SD %s, %s(%s)", rt, s_value, rs); } @@ -12900,8 +12904,8 @@ static char *SD_U12_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("SD %s, 0x%" PRIx64 "(%s)", rt, u_value, rs); } @@ -12960,7 +12964,7 @@ static char *SDC1_GP_(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_2__s2(instruction); - const char *ft = FPR(ft_value); + const char *ft = FPR(ft_value, info); return img_format("SDC1 %s, 0x%" PRIx64 "($%d)", ft, u_value, 28); } @@ -12982,8 +12986,8 @@ static char *SDC1_S9_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - const char *ft = FPR(ft_value); - const char *rs = GPR(rs_value); + const char *ft = FPR(ft_value, info); + const char *rs = GPR(rs_value, info); return img_format("SDC1 %s, %s(%s)", ft, s_value, rs); } @@ -13005,8 +13009,8 @@ static char *SDC1_U12_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - const char *ft = FPR(ft_value); - const char *rs = GPR(rs_value); + const char *ft = FPR(ft_value, info); + const char *rs = GPR(rs_value, info); return img_format("SDC1 %s, 0x%" PRIx64 "(%s)", ft, u_value, rs); } @@ -13028,9 +13032,9 @@ static char *SDC1X(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ft_value = extract_ft_15_14_13_12_11(instruction); - const char *ft = FPR(ft_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *ft = FPR(ft_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("SDC1X %s, %s(%s)", ft, rs, rt); } @@ -13052,9 +13056,9 @@ static char *SDC1XS(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ft_value = extract_ft_15_14_13_12_11(instruction); - const char *ft = FPR(ft_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *ft = FPR(ft_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("SDC1XS %s, %s(%s)", ft, rs, rt); } @@ -13076,7 +13080,7 @@ static char *SDC2(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - const char *rs = GPR(rs_value); + const char *rs = GPR(rs_value, info); return img_format("SDC2 CP%" PRIu64 ", %s(%s)", cs_value, s_value, rs); } @@ -13099,8 +13103,8 @@ static char *SDM(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); uint64 count3_value = extract_count3_14_13_12(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); uint64 count3 = encode_count3_from_count(count3_value); return img_format("SDM %s, %s(%s), 0x%" PRIx64, rt, s_value, rs, count3); @@ -13122,7 +13126,7 @@ static char *SDPC_48_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_41_40_39_38_37(instruction); int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); g_autofree char *s = ADDRESS(s_value, 6, info); return img_format("SDPC %s, %s", rt, s); @@ -13145,9 +13149,9 @@ static char *SDXS(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("SDXS %s, %s(%s)", rd, rs, rt); } @@ -13169,9 +13173,9 @@ static char *SDX(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("SDX %s, %s(%s)", rd, rs, rt); } @@ -13192,8 +13196,8 @@ static char *SEB(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("SEB %s, %s", rt, rs); } @@ -13214,8 +13218,8 @@ static char *SEH(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("SEH %s, %s", rt, rs); } @@ -13237,9 +13241,9 @@ static char *SEL_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("SEL.D %s, %s, %s", fd, fs, ft); } @@ -13261,9 +13265,9 @@ static char *SEL_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("SEL.S %s, %s, %s", fd, fs, ft); } @@ -13285,9 +13289,9 @@ static char *SELEQZ_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("SELEQZ.D %s, %s, %s", fd, fs, ft); } @@ -13309,9 +13313,9 @@ static char *SELEQZ_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("SELEQZ.S %s, %s, %s", fd, fs, ft); } @@ -13333,9 +13337,9 @@ static char *SELNEZ_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("SELNEZ.D %s, %s, %s", fd, fs, ft); } @@ -13357,9 +13361,9 @@ static char *SELNEZ_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("SELNEZ.S %s, %s, %s", fd, fs, ft); } @@ -13381,8 +13385,8 @@ static char *SEQI(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("SEQI %s, %s, 0x%" PRIx64, rt, rs, u_value); } @@ -13404,8 +13408,8 @@ static char *SH_16_(uint64 instruction, Dis_info *info) uint64 rs3_value = extract_rs3_6_5_4(instruction); uint64 u_value = extract_u_2_1__s1(instruction); - const char *rtz3 = GPR(decode_gpr_gpr3_src_store(rtz3_value)); - const char *rs3 = GPR(decode_gpr_gpr3(rs3_value)); + const char *rtz3 = GPR(decode_gpr_gpr3_src_store(rtz3_value, info), info); + const char *rs3 = GPR(decode_gpr_gpr3(rs3_value, info), info); return img_format("SH %s, 0x%" PRIx64 "(%s)", rtz3, u_value, rs3); } @@ -13426,7 +13430,7 @@ static char *SH_GP_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_1__s1(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("SH %s, 0x%" PRIx64 "($%d)", rt, u_value, 28); } @@ -13448,8 +13452,8 @@ static char *SH_S9_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("SH %s, %" PRId64 "(%s)", rt, s_value, rs); } @@ -13471,8 +13475,8 @@ static char *SH_U12_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("SH %s, 0x%" PRIx64 "(%s)", rt, u_value, rs); } @@ -13494,8 +13498,8 @@ static char *SHE(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("SHE %s, %" PRId64 "(%s)", rt, s_value, rs); } @@ -13516,7 +13520,7 @@ static char *SHILO(uint64 instruction, Dis_info *info) int64 shift_value = extract_shift__se5_21_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - const char *ac = AC(ac_value); + const char *ac = AC(ac_value, info); return img_format("SHILO %s, 0x%" PRIx64, ac, shift_value); } @@ -13537,8 +13541,8 @@ static char *SHILOV(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ac_value = extract_ac_15_14(instruction); - const char *rs = GPR(rs_value); - const char *ac = AC(ac_value); + const char *rs = GPR(rs_value, info); + const char *ac = AC(ac_value, info); return img_format("SHILOV %s, %s", ac, rs); } @@ -13560,8 +13564,8 @@ static char *SHLL_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 sa_value = extract_sa_15_14_13_12(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("SHLL.PH %s, %s, 0x%" PRIx64, rt, rs, sa_value); } @@ -13583,8 +13587,8 @@ static char *SHLL_QB(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 sa_value = extract_sa_15_14_13(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("SHLL.QB %s, %s, 0x%" PRIx64, rt, rs, sa_value); } @@ -13607,8 +13611,8 @@ static char *SHLL_S_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 sa_value = extract_sa_15_14_13_12(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("SHLL_S.PH %s, %s, 0x%" PRIx64, rt, rs, sa_value); } @@ -13630,8 +13634,8 @@ static char *SHLL_S_W(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 sa_value = extract_sa_15_14_13_12_11(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("SHLL_S.W %s, %s, 0x%" PRIx64, rt, rs, sa_value); } @@ -13654,9 +13658,9 @@ static char *SHLLV_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rd = GPR(rd_value, info); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("SHLLV.PH %s, %s, %s", rd, rt, rs); } @@ -13678,9 +13682,9 @@ static char *SHLLV_QB(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rd = GPR(rd_value, info); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("SHLLV.QB %s, %s, %s", rd, rt, rs); } @@ -13703,9 +13707,9 @@ static char *SHLLV_S_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rd = GPR(rd_value, info); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("SHLLV_S.PH %s, %s, %s", rd, rt, rs); } @@ -13727,9 +13731,9 @@ static char *SHLLV_S_W(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rd = GPR(rd_value, info); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("SHLLV_S.W %s, %s, %s", rd, rt, rs); } @@ -13751,8 +13755,8 @@ static char *SHRA_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 sa_value = extract_sa_15_14_13_12(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("SHRA.PH %s, %s, 0x%" PRIx64, rt, rs, sa_value); } @@ -13774,8 +13778,8 @@ static char *SHRA_QB(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 sa_value = extract_sa_15_14_13(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("SHRA.QB %s, %s, 0x%" PRIx64, rt, rs, sa_value); } @@ -13797,8 +13801,8 @@ static char *SHRA_R_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 sa_value = extract_sa_15_14_13_12(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("SHRA_R.PH %s, %s, 0x%" PRIx64, rt, rs, sa_value); } @@ -13820,8 +13824,8 @@ static char *SHRA_R_QB(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 sa_value = extract_sa_15_14_13(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("SHRA_R.QB %s, %s, 0x%" PRIx64, rt, rs, sa_value); } @@ -13843,8 +13847,8 @@ static char *SHRA_R_W(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 sa_value = extract_sa_15_14_13_12_11(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("SHRA_R.W %s, %s, 0x%" PRIx64, rt, rs, sa_value); } @@ -13866,9 +13870,9 @@ static char *SHRAV_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rd = GPR(rd_value, info); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("SHRAV.PH %s, %s, %s", rd, rt, rs); } @@ -13890,9 +13894,9 @@ static char *SHRAV_QB(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rd = GPR(rd_value, info); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("SHRAV.QB %s, %s, %s", rd, rt, rs); } @@ -13914,9 +13918,9 @@ static char *SHRAV_R_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rd = GPR(rd_value, info); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("SHRAV_R.PH %s, %s, %s", rd, rt, rs); } @@ -13938,9 +13942,9 @@ static char *SHRAV_R_QB(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rd = GPR(rd_value, info); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("SHRAV_R.QB %s, %s, %s", rd, rt, rs); } @@ -13962,9 +13966,9 @@ static char *SHRAV_R_W(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rd = GPR(rd_value, info); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("SHRAV_R.W %s, %s, %s", rd, rt, rs); } @@ -13986,8 +13990,8 @@ static char *SHRL_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 sa_value = extract_sa_15_14_13_12(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("SHRL.PH %s, %s, 0x%" PRIx64, rt, rs, sa_value); } @@ -14009,8 +14013,8 @@ static char *SHRL_QB(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 sa_value = extract_sa_15_14_13(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("SHRL.QB %s, %s, 0x%" PRIx64, rt, rs, sa_value); } @@ -14033,9 +14037,9 @@ static char *SHRLV_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rd = GPR(rd_value, info); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("SHRLV.PH %s, %s, %s", rd, rt, rs); } @@ -14057,9 +14061,9 @@ static char *SHRLV_QB(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rd = GPR(rd_value, info); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("SHRLV.QB %s, %s, %s", rd, rt, rs); } @@ -14081,9 +14085,9 @@ static char *SHX(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("SHX %s, %s(%s)", rd, rs, rt); } @@ -14105,9 +14109,9 @@ static char *SHXS(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("SHXS %s, %s(%s)", rd, rs, rt); } @@ -14148,8 +14152,8 @@ static char *SLL_16_(uint64 instruction, Dis_info *info) uint64 rs3_value = extract_rs3_6_5_4(instruction); uint64 shift3_value = extract_shift3_2_1_0(instruction); - const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); - const char *rs3 = GPR(decode_gpr_gpr3(rs3_value)); + const char *rt3 = GPR(decode_gpr_gpr3(rt3_value, info), info); + const char *rs3 = GPR(decode_gpr_gpr3(rs3_value, info), info); uint64 shift3 = encode_shift3_from_shift(shift3_value); return img_format("SLL %s, %s, 0x%" PRIx64, rt3, rs3, shift3); @@ -14172,8 +14176,8 @@ static char *SLL_32_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 shift_value = extract_shift_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("SLL %s, %s, 0x%" PRIx64, rt, rs, shift_value); } @@ -14195,9 +14199,9 @@ static char *SLLV(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("SLLV %s, %s, %s", rd, rs, rt); } @@ -14219,9 +14223,9 @@ static char *SLT(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("SLT %s, %s, %s", rd, rs, rt); } @@ -14243,8 +14247,8 @@ static char *SLTI(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("SLTI %s, %s, 0x%" PRIx64, rt, rs, u_value); } @@ -14266,8 +14270,8 @@ static char *SLTIU(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("SLTIU %s, %s, 0x%" PRIx64, rt, rs, u_value); } @@ -14289,9 +14293,9 @@ static char *SLTU(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("SLTU %s, %s, %s", rd, rs, rt); } @@ -14313,9 +14317,9 @@ static char *SOV(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("SOV %s, %s, %s", rd, rs, rt); } @@ -14355,8 +14359,8 @@ static char *SQRT_D(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - const char *ft = FPR(ft_value); - const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value, info); + const char *fs = FPR(fs_value, info); return img_format("SQRT.D %s, %s", ft, fs); } @@ -14377,8 +14381,8 @@ static char *SQRT_S(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - const char *ft = FPR(ft_value); - const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value, info); + const char *fs = FPR(fs_value, info); return img_format("SQRT.S %s, %s", ft, fs); } @@ -14400,8 +14404,8 @@ static char *SRA(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 shift_value = extract_shift_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("SRA %s, %s, 0x%" PRIx64, rt, rs, shift_value); } @@ -14423,9 +14427,9 @@ static char *SRAV(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("SRAV %s, %s, %s", rd, rs, rt); } @@ -14447,8 +14451,8 @@ static char *SRL_16_(uint64 instruction, Dis_info *info) uint64 rs3_value = extract_rs3_6_5_4(instruction); uint64 shift3_value = extract_shift3_2_1_0(instruction); - const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); - const char *rs3 = GPR(decode_gpr_gpr3(rs3_value)); + const char *rt3 = GPR(decode_gpr_gpr3(rt3_value, info), info); + const char *rs3 = GPR(decode_gpr_gpr3(rs3_value, info), info); uint64 shift3 = encode_shift3_from_shift(shift3_value); return img_format("SRL %s, %s, 0x%" PRIx64, rt3, rs3, shift3); @@ -14471,8 +14475,8 @@ static char *SRL_32_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 shift_value = extract_shift_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("SRL %s, %s, 0x%" PRIx64, rt, rs, shift_value); } @@ -14494,9 +14498,9 @@ static char *SRLV(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("SRLV %s, %s, %s", rd, rs, rt); } @@ -14518,9 +14522,9 @@ static char *SUB(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("SUB %s, %s, %s", rd, rs, rt); } @@ -14542,9 +14546,9 @@ static char *SUB_D(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("SUB.D %s, %s, %s", fd, fs, ft); } @@ -14566,9 +14570,9 @@ static char *SUB_S(uint64 instruction, Dis_info *info) uint64 fs_value = extract_fs_20_19_18_17_16(instruction); uint64 fd_value = extract_fd_15_14_13_12_11(instruction); - const char *fd = FPR(fd_value); - const char *fs = FPR(fs_value); - const char *ft = FPR(ft_value); + const char *fd = FPR(fd_value, info); + const char *fs = FPR(fs_value, info); + const char *ft = FPR(ft_value, info); return img_format("SUB.S %s, %s, %s", fd, fs, ft); } @@ -14590,9 +14594,9 @@ static char *SUBQ_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("SUBQ.PH %s, %s, %s", rd, rs, rt); } @@ -14615,9 +14619,9 @@ static char *SUBQ_S_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("SUBQ_S.PH %s, %s, %s", rd, rs, rt); } @@ -14640,9 +14644,9 @@ static char *SUBQ_S_W(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("SUBQ_S.W %s, %s, %s", rd, rs, rt); } @@ -14665,9 +14669,9 @@ static char *SUBQH_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("SUBQH.PH %s, %s, %s", rd, rs, rt); } @@ -14690,9 +14694,9 @@ static char *SUBQH_R_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("SUBQH_R.PH %s, %s, %s", rd, rs, rt); } @@ -14715,9 +14719,9 @@ static char *SUBQH_R_W(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("SUBQH_R.W %s, %s, %s", rd, rs, rt); } @@ -14740,9 +14744,9 @@ static char *SUBQH_W(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("SUBQH.W %s, %s, %s", rd, rs, rt); } @@ -14764,9 +14768,9 @@ static char *SUBU_16_(uint64 instruction, Dis_info *info) uint64 rs3_value = extract_rs3_6_5_4(instruction); uint64 rd3_value = extract_rd3_3_2_1(instruction); - const char *rd3 = GPR(decode_gpr_gpr3(rd3_value)); - const char *rs3 = GPR(decode_gpr_gpr3(rs3_value)); - const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); + const char *rd3 = GPR(decode_gpr_gpr3(rd3_value, info), info); + const char *rs3 = GPR(decode_gpr_gpr3(rs3_value, info), info); + const char *rt3 = GPR(decode_gpr_gpr3(rt3_value, info), info); return img_format("SUBU %s, %s, %s", rd3, rs3, rt3); } @@ -14788,9 +14792,9 @@ static char *SUBU_32_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("SUBU %s, %s, %s", rd, rs, rt); } @@ -14812,9 +14816,9 @@ static char *SUBU_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("SUBU.PH %s, %s, %s", rd, rs, rt); } @@ -14836,9 +14840,9 @@ static char *SUBU_QB(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("SUBU.QB %s, %s, %s", rd, rs, rt); } @@ -14861,9 +14865,9 @@ static char *SUBU_S_PH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("SUBU_S.PH %s, %s, %s", rd, rs, rt); } @@ -14886,9 +14890,9 @@ static char *SUBU_S_QB(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("SUBU_S.QB %s, %s, %s", rd, rs, rt); } @@ -14911,9 +14915,9 @@ static char *SUBUH_QB(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("SUBUH.QB %s, %s, %s", rd, rs, rt); } @@ -14936,9 +14940,9 @@ static char *SUBUH_R_QB(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("SUBUH_R.QB %s, %s, %s", rd, rs, rt); } @@ -14960,8 +14964,8 @@ static char *SW_16_(uint64 instruction, Dis_info *info) uint64 rs3_value = extract_rs3_6_5_4(instruction); uint64 u_value = extract_u_3_2_1_0__s2(instruction); - const char *rtz3 = GPR(decode_gpr_gpr3_src_store(rtz3_value)); - const char *rs3 = GPR(decode_gpr_gpr3(rs3_value)); + const char *rtz3 = GPR(decode_gpr_gpr3_src_store(rtz3_value, info), info); + const char *rs3 = GPR(decode_gpr_gpr3(rs3_value, info), info); return img_format("SW %s, 0x%" PRIx64 "(%s)", rtz3, u_value, rs3); } @@ -14983,8 +14987,8 @@ static char *SW_4X4_(uint64 instruction, Dis_info *info) uint64 rs4_value = extract_rs4_4_2_1_0(instruction); uint64 u_value = extract_u_3_8__s2(instruction); - const char *rtz4 = GPR(decode_gpr_gpr4_zero(rtz4_value)); - const char *rs4 = GPR(decode_gpr_gpr4(rs4_value)); + const char *rtz4 = GPR(decode_gpr_gpr4_zero(rtz4_value, info), info); + const char *rs4 = GPR(decode_gpr_gpr4(rs4_value, info), info); return img_format("SW %s, 0x%" PRIx64 "(%s)", rtz4, u_value, rs4); } @@ -15005,7 +15009,7 @@ static char *SW_GP16_(uint64 instruction, Dis_info *info) uint64 u_value = extract_u_6_5_4_3_2_1_0__s2(instruction); uint64 rtz3_value = extract_rtz3_9_8_7(instruction); - const char *rtz3 = GPR(decode_gpr_gpr3_src_store(rtz3_value)); + const char *rtz3 = GPR(decode_gpr_gpr3_src_store(rtz3_value, info), info); return img_format("SW %s, 0x%" PRIx64 "($%d)", rtz3, u_value, 28); } @@ -15026,7 +15030,7 @@ static char *SW_GP_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 u_value = extract_u_20_to_2__s2(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("SW %s, 0x%" PRIx64 "($%d)", rt, u_value, 28); } @@ -15048,8 +15052,8 @@ static char *SW_S9_(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("SW %s, %" PRId64 "(%s)", rt, s_value, rs); } @@ -15070,7 +15074,7 @@ static char *SW_SP_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_9_8_7_6_5(instruction); uint64 u_value = extract_u_4_3_2_1_0__s2(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("SW %s, 0x%" PRIx64 "($%d)", rt, u_value, 29); } @@ -15092,8 +15096,8 @@ static char *SW_U12_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("SW %s, 0x%" PRIx64 "(%s)", rt, u_value, rs); } @@ -15114,7 +15118,7 @@ static char *SWC1_GP_(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 u_value = extract_u_17_to_2__s2(instruction); - const char *ft = FPR(ft_value); + const char *ft = FPR(ft_value, info); return img_format("SWC1 %s, 0x%" PRIx64 "($%d)", ft, u_value, 28); } @@ -15136,8 +15140,8 @@ static char *SWC1_S9_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - const char *ft = FPR(ft_value); - const char *rs = GPR(rs_value); + const char *ft = FPR(ft_value, info); + const char *rs = GPR(rs_value, info); return img_format("SWC1 %s, %" PRId64 "(%s)", ft, s_value, rs); } @@ -15159,8 +15163,8 @@ static char *SWC1_U12_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - const char *ft = FPR(ft_value); - const char *rs = GPR(rs_value); + const char *ft = FPR(ft_value, info); + const char *rs = GPR(rs_value, info); return img_format("SWC1 %s, 0x%" PRIx64 "(%s)", ft, u_value, rs); } @@ -15182,9 +15186,9 @@ static char *SWC1X(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ft_value = extract_ft_15_14_13_12_11(instruction); - const char *ft = FPR(ft_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *ft = FPR(ft_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("SWC1X %s, %s(%s)", ft, rs, rt); } @@ -15206,9 +15210,9 @@ static char *SWC1XS(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 ft_value = extract_ft_15_14_13_12_11(instruction); - const char *ft = FPR(ft_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *ft = FPR(ft_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("SWC1XS %s, %s(%s)", ft, rs, rt); } @@ -15230,7 +15234,7 @@ static char *SWC2(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - const char *rs = GPR(rs_value); + const char *rs = GPR(rs_value, info); return img_format("SWC2 CP%" PRIu64 ", %" PRId64 "(%s)", cs_value, s_value, rs); @@ -15253,8 +15257,8 @@ static char *SWE(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("SWE %s, %" PRId64 "(%s)", rt, s_value, rs); } @@ -15277,8 +15281,8 @@ static char *SWM(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); uint64 count3_value = extract_count3_14_13_12(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); uint64 count3 = encode_count3_from_count(count3_value); return img_format("SWM %s, %" PRId64 "(%s), 0x%" PRIx64, @@ -15301,7 +15305,7 @@ static char *SWPC_48_(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_41_40_39_38_37(instruction); int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); g_autofree char *s = ADDRESS(s_value, 6, info); return img_format("SWPC %s, %s", rt, s); @@ -15324,9 +15328,9 @@ static char *SWX(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("SWX %s, %s(%s)", rd, rs, rt); } @@ -15348,9 +15352,9 @@ static char *SWXS(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("SWXS %s, %s(%s)", rd, rs, rt); } @@ -15390,7 +15394,7 @@ static char *SYNCI(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - const char *rs = GPR(rs_value); + const char *rs = GPR(rs_value, info); return img_format("SYNCI %" PRId64 "(%s)", s_value, rs); } @@ -15411,7 +15415,7 @@ static char *SYNCIE(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - const char *rs = GPR(rs_value); + const char *rs = GPR(rs_value, info); return img_format("SYNCIE %" PRId64 "(%s)", s_value, rs); } @@ -15468,8 +15472,8 @@ static char *TEQ(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("TEQ %s, %s", rs, rt); } @@ -15706,8 +15710,8 @@ static char *TNE(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("TNE %s, %s", rs, rt); } @@ -15728,8 +15732,8 @@ static char *TRUNC_L_D(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - const char *ft = FPR(ft_value); - const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value, info); + const char *fs = FPR(fs_value, info); return img_format("TRUNC.L.D %s, %s", ft, fs); } @@ -15750,8 +15754,8 @@ static char *TRUNC_L_S(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - const char *ft = FPR(ft_value); - const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value, info); + const char *fs = FPR(fs_value, info); return img_format("TRUNC.L.S %s, %s", ft, fs); } @@ -15772,8 +15776,8 @@ static char *TRUNC_W_D(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - const char *ft = FPR(ft_value); - const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value, info); + const char *fs = FPR(fs_value, info); return img_format("TRUNC.W.D %s, %s", ft, fs); } @@ -15794,8 +15798,8 @@ static char *TRUNC_W_S(uint64 instruction, Dis_info *info) uint64 ft_value = extract_ft_25_24_23_22_21(instruction); uint64 fs_value = extract_fs_20_19_18_17_16(instruction); - const char *ft = FPR(ft_value); - const char *fs = FPR(fs_value); + const char *ft = FPR(ft_value, info); + const char *fs = FPR(fs_value, info); return img_format("TRUNC.W.S %s, %s", ft, fs); } @@ -15818,8 +15822,8 @@ static char *UALDM(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); uint64 count3_value = extract_count3_14_13_12(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); uint64 count3 = encode_count3_from_count(count3_value); return img_format("UALDM %s, %" PRId64 "(%s), 0x%" PRIx64, @@ -15843,8 +15847,8 @@ static char *UALH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("UALH %s, %" PRId64 "(%s)", rt, s_value, rs); } @@ -15867,8 +15871,8 @@ static char *UALWM(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); uint64 count3_value = extract_count3_14_13_12(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); uint64 count3 = encode_count3_from_count(count3_value); return img_format("UALWM %s, %" PRId64 "(%s), 0x%" PRIx64, @@ -15893,8 +15897,8 @@ static char *UASDM(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); uint64 count3_value = extract_count3_14_13_12(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); uint64 count3 = encode_count3_from_count(count3_value); return img_format("UASDM %s, %" PRId64 "(%s), 0x%" PRIx64, @@ -15918,8 +15922,8 @@ static char *UASH(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("UASH %s, %" PRId64 "(%s)", rt, s_value, rs); } @@ -15942,8 +15946,8 @@ static char *UASWM(uint64 instruction, Dis_info *info) int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction); uint64 count3_value = extract_count3_14_13_12(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); uint64 count3 = encode_count3_from_count(count3_value); return img_format("UASWM %s, %" PRId64 "(%s), 0x%" PRIx64, @@ -16002,7 +16006,7 @@ static char *WRDSP(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 mask_value = extract_mask_20_19_18_17_16_15_14(instruction); - const char *rt = GPR(rt_value); + const char *rt = GPR(rt_value, info); return img_format("WRDSP %s, 0x%" PRIx64, rt, mask_value); } @@ -16023,8 +16027,8 @@ static char *WRPGPR(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("WRPGPR %s, %s", rt, rs); } @@ -16045,8 +16049,8 @@ static char *XOR_16_(uint64 instruction, Dis_info *info) uint64 rt3_value = extract_rt3_9_8_7(instruction); uint64 rs3_value = extract_rs3_6_5_4(instruction); - const char *rs3 = GPR(decode_gpr_gpr3(rs3_value)); - const char *rt3 = GPR(decode_gpr_gpr3(rt3_value)); + const char *rs3 = GPR(decode_gpr_gpr3(rs3_value, info), info); + const char *rt3 = GPR(decode_gpr_gpr3(rt3_value, info), info); return img_format("XOR %s, %s", rs3, rt3); } @@ -16068,9 +16072,9 @@ static char *XOR_32_(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 rd_value = extract_rd_15_14_13_12_11(instruction); - const char *rd = GPR(rd_value); - const char *rs = GPR(rs_value); - const char *rt = GPR(rt_value); + const char *rd = GPR(rd_value, info); + const char *rs = GPR(rs_value, info); + const char *rt = GPR(rt_value, info); return img_format("XOR %s, %s, %s", rd, rs, rt); } @@ -16092,8 +16096,8 @@ static char *XORI(uint64 instruction, Dis_info *info) uint64 rs_value = extract_rs_20_19_18_17_16(instruction); uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("XORI %s, %s, 0x%" PRIx64, rt, rs, u_value); } @@ -16113,8 +16117,8 @@ static char *YIELD(uint64 instruction, Dis_info *info) uint64 rt_value = extract_rt_25_24_23_22_21(instruction); uint64 rs_value = extract_rs_20_19_18_17_16(instruction); - const char *rt = GPR(rt_value); - const char *rs = GPR(rs_value); + const char *rt = GPR(rt_value, info); + const char *rs = GPR(rs_value, info); return img_format("YIELD %s, %s", rt, rs); } @@ -21948,6 +21952,8 @@ int print_insn_nanomips(bfd_vma memaddr, struct disassemble_info *info) Dis_info disassm_info; disassm_info.m_pc = memaddr; + disassm_info.fprintf_func = info->fprintf_func; + disassm_info.stream = info->stream; status = (*info->read_memory_func)(memaddr, buffer, 2, info); if (status != 0) { From patchwork Sun Oct 30 22:28:21 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 13025265 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 5D072ECAAA1 for ; Sun, 30 Oct 2022 22:34:56 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1opGsK-00043u-RT; Sun, 30 Oct 2022 18:33:54 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1opGr8-0000uB-3Q for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:32:38 -0400 Received: from mail-wr1-x42d.google.com ([2a00:1450:4864:20::42d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1opGr6-0008VT-62 for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:32:37 -0400 Received: by mail-wr1-x42d.google.com with SMTP id j15so13681067wrq.3 for ; Sun, 30 Oct 2022 15:32:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=yO1r8Fwa563Hsdt0UFW2WgWZrxUFZcYN3UpLOzdbX6s=; b=iK2KmvfAW6L2RR261d31yxEFVOkIYUNR9bAu6AfkFhIRyqfJXnQtGUYVkp6CGJMoVq l4o0kQuUMe8iEC9m+RVUgLWfLU0reUPExH2xIWkiiVgDjEaeT0W6ZCccI04Ms6vo9fTD jVlaZzPrrPpjeoWISrhA8u1pHYsTzKWzu4PnRn51vkkqLKSqIIG4VKaUhtNeJbm58cXP f+2JWtJRfO2aQUGV/FHd3m7NkbDttTt/A8WlN+4bDvwh3h/Q4LfZyh8uJtBDWXBGBB16 iCQUUcGP5lNpQyx2JQIKVA7uHzxkxF94E2cp1ESn4bc3SkiI4BBxvaxevsoFFWoLK1zP LEJg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=yO1r8Fwa563Hsdt0UFW2WgWZrxUFZcYN3UpLOzdbX6s=; b=zupdkyt+m+NTmwR24ibUwvCfJ5UXCv5KKeyzrlblmWWGLyNybDxMYHuRXNZdzSBVrD ldsJVb3GDuMvldts8Yr09OCu6B8kA+DIX5e3I6RlxUYI7XkCYJ5e9AxyrX9L5nPLo51X KBIqvnUjLuTjL68CUZMWEhrtDmPdNCzy0NuqNnxYTDXskwfUk5SIS3NmVF7ObajyoDju eKqTsc2lecf3BlNhC++DyyitDwl//5Vp7aoY4yefl0DWniGXZZF4Z5PKhxW17jCxQEP6 tlrkJs1O0nkhlmkZZ+WIxetblaeXsFmZhJRI/X+8pN6HSftKT4e4VAbyABK3IYD2I4dG D06Q== X-Gm-Message-State: ACrzQf1+lk6SCp9Dt8RvhS+a1j3XlASYz3LtSOo9XSa3aC2dgRwKO/tD KUQ6yoD4+Vlbx7KZXltNSxYQrgN7KaXbQQ== X-Google-Smtp-Source: AMsMyM6saImwMarmTAEbv2Dq64H1Oi1hXPBktloIXobAsNATqZAk+koWnEHqPfgr3M7aKp7P5zPbcw== X-Received: by 2002:a5d:6481:0:b0:236:792e:790c with SMTP id o1-20020a5d6481000000b00236792e790cmr6087113wri.697.1667169154516; Sun, 30 Oct 2022 15:32:34 -0700 (PDT) Received: from localhost.localdomain ([185.126.107.38]) by smtp.gmail.com with ESMTPSA id bi19-20020a05600c3d9300b003c6c1686b10sm3832915wmb.7.2022.10.30.15.32.31 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 30 Oct 2022 15:32:33 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Aleksandar Rikalo , Huacai Chen , Stefan Pejic , Jiaxun Yang , Aurelien Jarno , Paul Burton , Milica Lazarevic , Richard Henderson Subject: [PULL 35/55] disas/nanomips: Replace exception handling Date: Sun, 30 Oct 2022 23:28:21 +0100 Message-Id: <20221030222841.42377-36-philmd@linaro.org> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221030222841.42377-1-philmd@linaro.org> References: <20221030222841.42377-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42d; envelope-from=philmd@linaro.org; helo=mail-wr1-x42d.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Qemu-devel" Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Milica Lazarevic Since there's no support for exception handling in C, the try-catch blocks have been deleted, and throw clauses are replaced. When a runtime error happens, we're printing out the error message. Disassembling of the current instruction interrupts. This behavior is achieved by adding sigsetjmp() to discard further disassembling after the error message prints and by adding the siglongjmp() function to imitate throwing an error. The goal was to maintain the same output as it was. Signed-off-by: Milica Lazarevic Reviewed-by: Richard Henderson Message-Id: <20220912122635.74032-22-milica.lazarevic@syrmia.com> Signed-off-by: Philippe Mathieu-Daudé --- disas/nanomips.cpp | 100 ++++++++++++++++++++------------------------- 1 file changed, 45 insertions(+), 55 deletions(-) diff --git a/disas/nanomips.cpp b/disas/nanomips.cpp index 73329462ee..1832c2d3cf 100644 --- a/disas/nanomips.cpp +++ b/disas/nanomips.cpp @@ -31,7 +31,6 @@ #include "disas/dis-asm.h" #include -#include #include #include @@ -133,10 +132,9 @@ static uint64 renumber_registers(uint64 index, uint64 *register_list, return register_list[index]; } - throw std::runtime_error(img_format( - "Invalid register mapping index %" PRIu64 - ", size of list = %zu", - index, register_list_size)); + info->fprintf_func(info->stream, "Invalid register mapping index %" PRIu64 + ", size of list = %zu", index, register_list_size); + siglongjmp(info->buf, 1); } @@ -466,8 +464,9 @@ static const char *GPR(uint64 reg, Dis_info *info) return gpr_reg[reg]; } - throw std::runtime_error(img_format("Invalid GPR register index %" PRIu64, - reg)); + info->fprintf_func(info->stream, "Invalid GPR register index %" PRIu64, + reg); + siglongjmp(info->buf, 1); } @@ -503,8 +502,9 @@ static const char *FPR(uint64 reg, Dis_info *info) return fpr_reg[reg]; } - throw std::runtime_error(img_format("Invalid FPR register index %" PRIu64, - reg)); + info->fprintf_func(info->stream, "Invalid FPR register index %" PRIu64, + reg); + siglongjmp(info->buf, 1); } @@ -518,8 +518,9 @@ static const char *AC(uint64 reg, Dis_info *info) return ac_reg[reg]; } - throw std::runtime_error(img_format("Invalid AC register index %" PRIu64, - reg)); + info->fprintf_func(info->stream, "Invalid AC register index %" PRIu64, + reg); + siglongjmp(info->buf, 1); } @@ -562,55 +563,38 @@ static int Disassemble(const uint16 *data, char **dis, TABLE_ENTRY_TYPE & type, const Pool *table, int table_size, Dis_info *info) { - try - { - for (int i = 0; i < table_size; i++) { - uint64 op_code = extract_op_code_value(data, - table[i].instructions_size); - if ((op_code & table[i].mask) == table[i].value) { - /* possible match */ - conditional_function cond = table[i].condition; - if ((cond == NULL) || cond(op_code)) { - try - { - if (table[i].type == pool) { - return Disassemble(data, dis, type, - table[i].next_table, - table[i].next_table_size, - info); - } else if ((table[i].type == instruction) || - (table[i].type == call_instruction) || - (table[i].type == branch_instruction) || - (table[i].type == return_instruction)) { - disassembly_function dis_fn = table[i].disassembly; - if (dis_fn == 0) { - *dis = g_strdup( - "disassembler failure - bad table entry"); - return -6; - } - type = table[i].type; - *dis = dis_fn(op_code, info); - return table[i].instructions_size; - } else { - *dis = g_strdup("reserved instruction"); - return -2; - } - } - catch (std::runtime_error & e) - { - *dis = g_strdup(e.what()); - return -3; /* runtime error */ + for (int i = 0; i < table_size; i++) { + uint64 op_code = extract_op_code_value(data, + table[i].instructions_size); + if ((op_code & table[i].mask) == table[i].value) { + /* possible match */ + conditional_function cond = table[i].condition; + if ((cond == NULL) || cond(op_code)) { + if (table[i].type == pool) { + return Disassemble(data, dis, type, + table[i].next_table, + table[i].next_table_size, + info); + } else if ((table[i].type == instruction) || + (table[i].type == call_instruction) || + (table[i].type == branch_instruction) || + (table[i].type == return_instruction)) { + disassembly_function dis_fn = table[i].disassembly; + if (dis_fn == 0) { + *dis = g_strdup( + "disassembler failure - bad table entry"); + return -6; } + type = table[i].type; + *dis = dis_fn(op_code, info); + return table[i].instructions_size; + } else { + *dis = g_strdup("reserved instruction"); + return -2; } } } } - catch (std::exception & e) - { - *dis = g_strdup(e.what()); - return -4; /* runtime error */ - } - *dis = g_strdup("failed to disassemble"); return -1; /* failed to disassemble */ } @@ -22003,6 +21987,12 @@ int print_insn_nanomips(bfd_vma memaddr, struct disassemble_info *info) (*info->fprintf_func)(info->stream, " "); } + /* Handle runtime errors. */ + if (sigsetjmp(disassm_info.buf, 0) != 0) { + info->insn_type = dis_noninsn; + return insn3 ? 6 : insn2 ? 4 : 2; + } + int length = nanomips_dis(&buf, &disassm_info, insn1, insn2, insn3); /* FIXME: Should probably use a hash table on the major opcode here. */ From patchwork Sun Oct 30 22:28:22 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 13025287 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 5DA83C38A02 for ; Sun, 30 Oct 2022 22:38:11 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1opGsR-0004aQ-2L; Sun, 30 Oct 2022 18:33:59 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1opGrE-0001br-7v for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:32:44 -0400 Received: from mail-wr1-x42c.google.com ([2a00:1450:4864:20::42c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1opGrC-00007S-Mv for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:32:44 -0400 Received: by mail-wr1-x42c.google.com with SMTP id bs21so13676740wrb.4 for ; Sun, 30 Oct 2022 15:32:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=v4Rx4XoRarxPNVQwv2Y9iLizuh95QlVzLtEAjG48efA=; b=QfWaCN0xtsi/AJ2C3jLE7zMOhOuN02i/5ZyXyNquBpnMk76l0hQ1Nf+pciu55Mm9Zd C5DufUY2PhAJ0hFh0El6XThOp4KxWWTI/m0GST9IdvuguqFxXo5LVtejU714qyVViqBS 51QAtbWcVhpGjM7v4NXc4g+N8wtySSeYDMVXI9X6ZzeIKD/289LJ5S47J4oukKQsJG+t 6dF15q6YsibzbX+d0vKKNrmX4cj0D6NwXGmO1fXwIR6EPdJfp9MVOvrIHFHS1Zt5mXeQ GjX7RlFZKgk+MwCG3tFWchreNi0B0ZkZtGp/OSA2Wc+64qyg/gqfUQnpVQ1ojK91VfUn UJgw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=v4Rx4XoRarxPNVQwv2Y9iLizuh95QlVzLtEAjG48efA=; b=ej9aC9crEHiNhbZwLOvxl+tjm2FPLeiPUJMuZPhHxVP1Yx6WXAIjAxNfpqDAaFqgga ZbDiDS6G593xJc09BAZDviUCnvciAEaG6Im0+zye3aMjESBNpXRLg/d43Y8yalErbURo iyakcq6/fW61kZTU9/E2vbzUnRN8Tt65w7f++7uyLekxp4+W3IuzRCeCwn/l4bErsgfu Lj8bIWPdE5Sb7Pn2COG13lafgqPxbz2aExaVnmtSwShY684RZ43BwPG3ej6xDH4JQizd Kc9MZMlqeNFLeB5neXlXJWvFrk3PX5gFzWAgJXJlqSnyqXgyZ93LPVc1xh8+E9M1fM26 h4Vw== X-Gm-Message-State: ACrzQf18IF6wwswgsG/yVf29RPJUyduzE5hBfI3uvWFqI977pbgCQpU0 vehAk6U1CwxfB0aIN9LdX5Zv+NShvH64iA== X-Google-Smtp-Source: AMsMyM4M3S/sS8rsK7MVU7du4956LxZx1hHbtt+RVS9dndJicsSwYmvNgKUPEvahPJykU5toCx6+fA== X-Received: by 2002:a5d:4a0a:0:b0:236:6c65:724d with SMTP id m10-20020a5d4a0a000000b002366c65724dmr6047158wrq.350.1667169161129; Sun, 30 Oct 2022 15:32:41 -0700 (PDT) Received: from localhost.localdomain ([185.126.107.38]) by smtp.gmail.com with ESMTPSA id v6-20020a05600c4d8600b003b50428cf66sm5380495wmp.33.2022.10.30.15.32.38 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 30 Oct 2022 15:32:40 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Aleksandar Rikalo , Huacai Chen , Stefan Pejic , Jiaxun Yang , Aurelien Jarno , Paul Burton , Milica Lazarevic , Thomas Huth , Richard Henderson Subject: [PULL 36/55] disas/nanomips: Replace Cpp enums for C enums Date: Sun, 30 Oct 2022 23:28:22 +0100 Message-Id: <20221030222841.42377-37-philmd@linaro.org> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221030222841.42377-1-philmd@linaro.org> References: <20221030222841.42377-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42c; envelope-from=philmd@linaro.org; helo=mail-wr1-x42c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Qemu-devel" Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Milica Lazarevic Change enums to typedef enums to keep naming clear. Signed-off-by: Milica Lazarevic Reviewed-by: Thomas Huth Reviewed-by: Richard Henderson Message-Id: <20220912122635.74032-23-milica.lazarevic@syrmia.com> Signed-off-by: Philippe Mathieu-Daudé --- disas/nanomips.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/disas/nanomips.cpp b/disas/nanomips.cpp index 1832c2d3cf..8b4bc910a4 100644 --- a/disas/nanomips.cpp +++ b/disas/nanomips.cpp @@ -40,16 +40,16 @@ typedef uint32_t uint32; typedef uint16_t uint16; typedef uint64_t img_address; -enum TABLE_ENTRY_TYPE { +typedef enum { instruction, call_instruction, branch_instruction, return_instruction, reserved_block, pool, -}; +} TABLE_ENTRY_TYPE; -enum TABLE_ATTRIBUTE_TYPE { +typedef enum { MIPS64_ = 0x00000001, XNP_ = 0x00000002, XMMS_ = 0x00000004, @@ -67,7 +67,7 @@ enum TABLE_ATTRIBUTE_TYPE { TLB_ = 0x00004000, MVH_ = 0x00008000, ALL_ATTRIBUTES = 0xffffffffull, -}; +} TABLE_ATTRIBUTE_TYPE; typedef struct Dis_info { img_address m_pc; From patchwork Sun Oct 30 22:28:23 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 13025269 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 36822ECAAA1 for ; Sun, 30 Oct 2022 22:36:12 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1opGsc-0005AV-Oe; Sun, 30 Oct 2022 18:34:14 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1opGrL-0002Ej-9m for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:32:51 -0400 Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1opGrJ-00008p-MJ for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:32:51 -0400 Received: by mail-wm1-x330.google.com with SMTP id v130-20020a1cac88000000b003bcde03bd44so9795381wme.5 for ; Sun, 30 Oct 2022 15:32:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=edMjqQRIIS2rwohGISueQ/HPPcnwOEJrBZdoj/lca6k=; b=bnAb7w1S1F86eJ1BtgA7m6ZPbaclbTyz+JZEilmxkX4/FDFqEtwByVfnxDN7B4RZG8 ZNlodvqVyD/OIv94H5hXRNAmzg0wDv1Lth6zy0/wbmnk1zEvCgNb0ip8dIu01KSIWTuv 3Vp9GJItoEaHDXMT0+cQUhKXEfjcC+rZml+XigRF4ZVuqIoG0hb9xutnvz1hzJaJiv0Z OHR4sQwk7CP8EJKPF5QWkvte0I4cgZh4HPrBSVaPUcZVLUIcqY00elw3mnr5sK9fX63i +UAzIw816YKY4IJZsRsEcslYoJ761yFx/qIlh7OMTqNha43arDXd5mCbfGBDPdgHZf2V kKhQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=edMjqQRIIS2rwohGISueQ/HPPcnwOEJrBZdoj/lca6k=; b=2CK/lHTRJpEjN3ZqciM33bQn9OJyI+NrJxO+DyUQPcvNxEm2urlubk+YOmRPVZ23x3 E6SdvnU7oi0E3fDg3pMkjSNpDtTgbhdOBOSBqksm+Td8h39w39FyxN2kDCI5I99zY67J JBky0D87VywEiY3Z+LRmOSqaaQecdIBwo5aIFmk2QYIaSeFInn4kZfyqgUvh3/FC1cJz 2LZJCyoJxdrhN5rY5waVNsVLYMf5c0O9K0zEI+lf6W8bw7NEGnQQEt4o8aw3qBADEDNW kV1NsH5nWidPZQ4Q9Yfsf4fDY32woDKZSPRdvV2KOVx5/HRuaTNTCFFbzpaC21tHj/hW Mc6g== X-Gm-Message-State: ACrzQf2G0kgYWn7Or3vCvlfeoXbCUZEKFywciLgUVtkShZWE2MzkqCpQ bRIqKX1xM/eKDMQrQpQTtWRJ6mHBUeIEgQ== X-Google-Smtp-Source: AMsMyM4OVeKuA7QIpvhChClW/xcpsR4qqkxoXtrxVAbex5jP/3jtxFwdJSMAZWeLpEZqdZ3HMXuk4A== X-Received: by 2002:a05:600c:468a:b0:3c6:f1ae:3e95 with SMTP id p10-20020a05600c468a00b003c6f1ae3e95mr6125971wmo.152.1667169167885; Sun, 30 Oct 2022 15:32:47 -0700 (PDT) Received: from localhost.localdomain ([185.126.107.38]) by smtp.gmail.com with ESMTPSA id x11-20020adff0cb000000b0023660f6cecfsm5237709wro.80.2022.10.30.15.32.46 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 30 Oct 2022 15:32:47 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Aleksandar Rikalo , Huacai Chen , Stefan Pejic , Jiaxun Yang , Aurelien Jarno , Paul Burton , Milica Lazarevic , Thomas Huth , Richard Henderson Subject: [PULL 37/55] disas/nanomips: Remove argument passing by ref Date: Sun, 30 Oct 2022 23:28:23 +0100 Message-Id: <20221030222841.42377-38-philmd@linaro.org> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221030222841.42377-1-philmd@linaro.org> References: <20221030222841.42377-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::330; envelope-from=philmd@linaro.org; helo=mail-wm1-x330.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Qemu-devel" Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Milica Lazarevic Replaced argument passing by reference with passing by address. Signed-off-by: Milica Lazarevic Reviewed-by: Thomas Huth Reviewed-by: Richard Henderson Message-Id: <20220912122635.74032-24-milica.lazarevic@syrmia.com> Signed-off-by: Philippe Mathieu-Daudé --- disas/nanomips.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/disas/nanomips.cpp b/disas/nanomips.cpp index 8b4bc910a4..9647f1a8e3 100644 --- a/disas/nanomips.cpp +++ b/disas/nanomips.cpp @@ -560,7 +560,7 @@ static uint64 extract_op_code_value(const uint16 *data, int size) * disassembly string - on error will constain error string */ static int Disassemble(const uint16 *data, char **dis, - TABLE_ENTRY_TYPE & type, const Pool *table, + TABLE_ENTRY_TYPE *type, const Pool *table, int table_size, Dis_info *info) { for (int i = 0; i < table_size; i++) { @@ -585,7 +585,7 @@ static int Disassemble(const uint16 *data, char **dis, "disassembler failure - bad table entry"); return -6; } - type = table[i].type; + *type = table[i].type; *dis = dis_fn(op_code, info); return table[i].instructions_size; } else { @@ -21914,7 +21914,7 @@ static int nanomips_dis(char **buf, uint16 bits[3] = {one, two, three}; TABLE_ENTRY_TYPE type; - int size = Disassemble(bits, buf, type, MAJOR, 2, info); + int size = Disassemble(bits, buf, &type, MAJOR, 2, info); return size; } From patchwork Sun Oct 30 22:28:24 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 13025290 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id DB114C38A02 for ; Sun, 30 Oct 2022 22:38:16 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1opGsr-0005fD-C7; Sun, 30 Oct 2022 18:34:26 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1opGrR-0002PT-BW for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:32:59 -0400 Received: from mail-wr1-x42a.google.com ([2a00:1450:4864:20::42a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1opGrP-000093-Mi for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:32:57 -0400 Received: by mail-wr1-x42a.google.com with SMTP id cl5so2020290wrb.9 for ; Sun, 30 Oct 2022 15:32:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=OAh3ZgWCQqxTmF/7LDpHBvUI6ozlW0DAI0FCTxY1dVk=; b=QkEO/fQW2w82G/qdL3BIMBaa+PqmDE75WccYQIiAL6M9AvGmv9xQ2gI1CjC5v7sOUC UJASeCtFPscP4TcWzBnsDFBW41fkcjxFCfkghqOGuyzp1pVA2OCXTAUzO6lCnOYPu46f +0+NOUdeVw2zCh16eXT3A256s8oZDN1CgIXESoDPxlpnV3iy+I2PZRDSndrPyekzLXfS bpEqeT1VJqOrDimE2IG8qOWDfJZTMeNxcUVKwL5wTLIy8GtXvRbn0GbN1c8G13fkmWqA W0P3v4ZG1zWSLW9FuE7fOY4OH2YTQdqNIZgOHlzgoNilHChpAyf1INFzRy+uJZRil7pE SweQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=OAh3ZgWCQqxTmF/7LDpHBvUI6ozlW0DAI0FCTxY1dVk=; b=b3G+oYus85bE2HyFiEtzYw+40ZrMJd9tcIbPqDAyiXJ5wEtx+U4RqEcNT7Oq0WxQec RArjUOMSZkO14qE+yVmCBARO2pJYKpXkHieZI4ErT69rSNUhp3NrSd9YdgpN8EjOs19Z bASprC+bH2l1SOywqDTDxpvbFIi263QI4jmLNti+7UqZyjb2G3sXPVrx/tn/mXGFMwOe sil43LbvBCH/rNwW5z2zq5KSh+/0ylvZJobno6PL7E6Hwj0PrkSq9y4QydzzLM+0MGai /LHz1IUMpLu516b6NauW551IQafJ/iWiH72FuvqpBy5b6xlBxTfE/Pnrcao7EbZ8bfzf tjmQ== X-Gm-Message-State: ACrzQf0cDmAEWkBNEBly038UjvbhgPgR/NS1HP7O0QZ7VNzOnoTNYVZc KFJ/u+8RsqwcXF3EdL3QsjdApIIJaDHbGA== X-Google-Smtp-Source: AMsMyM5EH0WeZwCxpPKIlspaj8DPK8p6RMxgFTORk8AL/DZ4/swecvM4/4I4gxcmfaJC95aR7yv3Jg== X-Received: by 2002:adf:b612:0:b0:236:5d1f:143a with SMTP id f18-20020adfb612000000b002365d1f143amr5873790wre.364.1667169173765; Sun, 30 Oct 2022 15:32:53 -0700 (PDT) Received: from localhost.localdomain ([185.126.107.38]) by smtp.gmail.com with ESMTPSA id y10-20020a5d620a000000b0023657e1b97esm5271966wru.11.2022.10.30.15.32.52 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 30 Oct 2022 15:32:53 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Aleksandar Rikalo , Huacai Chen , Stefan Pejic , Jiaxun Yang , Aurelien Jarno , Paul Burton , Milica Lazarevic , Richard Henderson Subject: [PULL 38/55] disas/nanomips: Rename nanomips.cpp to nanomips.c Date: Sun, 30 Oct 2022 23:28:24 +0100 Message-Id: <20221030222841.42377-39-philmd@linaro.org> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221030222841.42377-1-philmd@linaro.org> References: <20221030222841.42377-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42a; envelope-from=philmd@linaro.org; helo=mail-wr1-x42a.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Qemu-devel" Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Milica Lazarevic Now that everything has been converted to C code the nanomips.cpp file has been renamed. Therefore, meson.build file is also changed. Signed-off-by: Milica Lazarevic Reviewed-by: Richard Henderson Message-Id: <20220912122635.74032-25-milica.lazarevic@syrmia.com> Signed-off-by: Philippe Mathieu-Daudé --- disas/meson.build | 2 +- disas/{nanomips.cpp => nanomips.c} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename disas/{nanomips.cpp => nanomips.c} (100%) diff --git a/disas/meson.build b/disas/meson.build index ba22f7cbcd..1977f5cd92 100644 --- a/disas/meson.build +++ b/disas/meson.build @@ -5,7 +5,7 @@ common_ss.add(when: 'CONFIG_HPPA_DIS', if_true: files('hppa.c')) common_ss.add(when: 'CONFIG_M68K_DIS', if_true: files('m68k.c')) common_ss.add(when: 'CONFIG_MICROBLAZE_DIS', if_true: files('microblaze.c')) common_ss.add(when: 'CONFIG_MIPS_DIS', if_true: files('mips.c')) -common_ss.add(when: 'CONFIG_NANOMIPS_DIS', if_true: files('nanomips.cpp')) +common_ss.add(when: 'CONFIG_NANOMIPS_DIS', if_true: files('nanomips.c')) common_ss.add(when: 'CONFIG_NIOS2_DIS', if_true: files('nios2.c')) common_ss.add(when: 'CONFIG_RISCV_DIS', if_true: files('riscv.c')) common_ss.add(when: 'CONFIG_SH4_DIS', if_true: files('sh4.c')) diff --git a/disas/nanomips.cpp b/disas/nanomips.c similarity index 100% rename from disas/nanomips.cpp rename to disas/nanomips.c From patchwork Sun Oct 30 22:28:25 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 13025278 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id DF383ECAAA1 for ; Sun, 30 Oct 2022 22:37:06 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1opGsx-00061I-To; Sun, 30 Oct 2022 18:34:32 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1opGrX-0002Xm-D1 for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:33:04 -0400 Received: from mail-wr1-x42a.google.com ([2a00:1450:4864:20::42a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1opGrV-00009M-D4 for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:33:03 -0400 Received: by mail-wr1-x42a.google.com with SMTP id w14so13643482wru.8 for ; Sun, 30 Oct 2022 15:33:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=QXrzzSwjW9p/oLgYOQxN1n8Wdh2iZGdjqW5VzPc6Sa0=; b=QPw4hCFvgXMkARpqyqD9QFY10mRQ1fMODxR2AGyE73A/+A+RUnkRzzR/8bL4t8GThF jXEqwE2NNUXkQ3jGckW76mnk6Dpo/7C3rIP6sK6pD6WvGCCiPN8bgjXEjcMnAkoERjPr LFd0U2LcF39k36MtqHbGYNa02xPNVgSIGuuKTmurFJ8vbyUQFVdXDIEjfTLhw5SGd/iA cjdxYedgAtd5xx+49u5QHGGyUsET1H5ij/5A3TTOvc618g06egVhdPBrj8eWpWsxphWs zw7/aikcPjVbM96j+WjFCwd68IeEV+w4+NZCtHfyw0Wmw0T8pwYBJXxzUJPISw5uRFJK ePFw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=QXrzzSwjW9p/oLgYOQxN1n8Wdh2iZGdjqW5VzPc6Sa0=; b=7FoEFTIUE3V8w8L2Jf+h8H9iTCH9byhl8l2Kjh0hDgZtlmKggVGeBFeouXnOofVNpM JjhyKddeq2L2LiemBsSCGsvtlRC+Q765F1USPhIezxmBApOvOEuIcJTwGlVgkUNojB2L 4vLp33uQEo3glyQp5r7Xwz/AkEdRZGih5FEVRGhIpHNq8x0crX2NWL0oK0RytrXpx5PD j9XIRYBEscgr9xEiGbcoukWw45JwXsBMWwIJZeBgKqI7lXYnDHM38yNXBDYHh5VHacFj G3YEGrciEj2qBrhO0TtHDoaG+DX9gAhBYcCUZWQ/LIFni+Vd59nzzh4O4oaSvZcIBNec eGRQ== X-Gm-Message-State: ACrzQf0NRBp4RUX8C2HXhMiqhMdL6d8XWtjpY+5oUY4eDtJF1vtwQGCM X960FAgr/e1k9M2xbeZxfXtnBEvFozNi7g== X-Google-Smtp-Source: AMsMyM5WNcJbmZ1ghK1vafqxfXqzLUtRk3UjDWjoo/2jhYbRzJ8KuvQ7OojJRN1ruSfHsJKfqBTclg== X-Received: by 2002:adf:e7c8:0:b0:236:6a30:cb2e with SMTP id e8-20020adfe7c8000000b002366a30cb2emr6235457wrn.12.1667169179870; Sun, 30 Oct 2022 15:32:59 -0700 (PDT) Received: from localhost.localdomain ([185.126.107.38]) by smtp.gmail.com with ESMTPSA id m19-20020a056000025300b0022cdeba3f83sm5233529wrz.84.2022.10.30.15.32.58 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 30 Oct 2022 15:32:59 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Aleksandar Rikalo , Huacai Chen , Stefan Pejic , Jiaxun Yang , Aurelien Jarno , Paul Burton , David Daney , Marcin Nowakowski , =?utf-8?q?Philippe_Math?= =?utf-8?q?ieu-Daud=C3=A9?= , Richard Henderson Subject: [PULL 39/55] disas/mips: Fix branch displacement for BEQZC and BNEZC Date: Sun, 30 Oct 2022 23:28:25 +0100 Message-Id: <20221030222841.42377-40-philmd@linaro.org> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221030222841.42377-1-philmd@linaro.org> References: <20221030222841.42377-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42a; envelope-from=philmd@linaro.org; helo=mail-wr1-x42a.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Qemu-devel" Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: David Daney disas/mips.c got added in commit 6643d27ea0 ("MIPS disas support") apparently based on binutils tag 'gdb_6_1-branchpoint' [1]. Back then, MIPSr6 was not supported (added in binutils commit 7361da2c952 during 2014 [2]). Binutils codebase diverged so much over the last 18 years, it is not possible to simply cherry-pick their changes, so fix it BEQZC / BNEZC 21-bit signed branch displacement locally. [1] https://sourceware.org/git/?p=binutils-gdb.git;a=blob;f=opcodes/mips-dis.c;hb=refs/tags/gdb_6_1-branchpoint [2] https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=7361da2c952 Fixes: 31837be3ee ("target-mips: add compact and CP1 branches") Signed-off-by: David Daney Reviewed-by: Marcin Nowakowski [PMD: Added commit description] Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson Message-Id: <20221014112322.61119-1-philmd@fungible.com> Signed-off-by: Philippe Mathieu-Daudé --- disas/mips.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/disas/mips.c b/disas/mips.c index b9a5204304..5aacacb2c8 100644 --- a/disas/mips.c +++ b/disas/mips.c @@ -20,6 +20,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, see . */ #include "qemu/osdep.h" +#include "qemu/bitops.h" #include "disas/dis-asm.h" /* mips.h. Mips opcode list for GDB, the GNU debugger. @@ -1334,9 +1335,9 @@ const struct mips_opcode mips_builtin_opcodes[] = {"balc", "+p", 0xe8000000, 0xfc000000, UBD|WR_31, 0, I32R6}, {"bc", "+p", 0xc8000000, 0xfc000000, UBD|WR_31, 0, I32R6}, {"jic", "t,o", 0xd8000000, 0xffe00000, UBD|RD_t, 0, I32R6}, -{"beqzc", "s,+p", 0xd8000000, 0xfc000000, CBD|RD_s, 0, I32R6}, +{"beqzc", "s,+q", 0xd8000000, 0xfc000000, CBD|RD_s, 0, I32R6}, {"jialc", "t,o", 0xf8000000, 0xffe00000, UBD|RD_t, 0, I32R6}, -{"bnezc", "s,+p", 0xf8000000, 0xfc000000, CBD|RD_s, 0, I32R6}, +{"bnezc", "s,+q", 0xf8000000, 0xfc000000, CBD|RD_s, 0, I32R6}, {"beqzalc", "s,t,p", 0x20000000, 0xffe00000, CBD|RD_s|RD_t, 0, I32R6}, {"bovc", "s,t,p", 0x20000000, 0xfc000000, CBD|RD_s|RD_t, 0, I32R6}, {"beqc", "s,t,p", 0x20000000, 0xfc000000, CBD|RD_s|RD_t, 0, I32R6}, @@ -4462,6 +4463,13 @@ print_insn_args (const char *d, (*info->print_address_func) (info->target, info); break; + case 'q': + /* Sign extend the displacement with 21 bits. */ + delta = sextract32(l, OP_SH_DELTA, 21); + info->target = (delta << 2) + pc + INSNLEN; + (*info->print_address_func) (info->target, info); + break; + case 't': /* Coprocessor 0 reg name */ (*info->fprintf_func) (info->stream, "%s", mips_cp0_names[(l >> OP_SH_RT) & From patchwork Sun Oct 30 22:28:26 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 13025267 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 8D0CCECAAA1 for ; Sun, 30 Oct 2022 22:35:21 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1opGtF-0006UC-TC; Sun, 30 Oct 2022 18:34:51 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1opGrd-0002gp-RD for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:33:12 -0400 Received: from mail-wr1-x432.google.com ([2a00:1450:4864:20::432]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1opGrb-00009m-Kb for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:33:09 -0400 Received: by mail-wr1-x432.google.com with SMTP id o4so13673979wrq.6 for ; Sun, 30 Oct 2022 15:33:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=prCZWe1qUq4h9W9onhXJqZxcG/1SDlWv+xiRK3rSU4E=; b=jPLtpFcXxWSiepqJ2VrohNqcCtx2iTzaIRBwRw1bCKpdJj7MHKK0fkEXT/J5NY2RqA j2YyJ4QmAAWM1wg+uNQJvWhPo+A08alRibgLPbPtG+8MKr41zFs0s0jNo8NQ+fcF95mt HgLt3R5w0WfsCDFyo0hbZo4EzS0SxumA48k55zUFLraucgjrhZjJih4o83INWsejKHCg ZSyJ+zIX3FibQ/s5twoUPnSVxPWMsFuGygg+aiiOV0/uXi0AL+M698Kb3ecU1NMmVOx3 tLS4i8dIHddVtDOz3VJaF04oT24AfUsuVeZHqm4GMJUe8tbgLz/fYl5Nn+3OgpZXia0a 7I/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=prCZWe1qUq4h9W9onhXJqZxcG/1SDlWv+xiRK3rSU4E=; b=Tl44GMX1B4JuvqBo/f/wZI4hknAghyGGekCLxMJkPNHWtaii0vZQuZ8mP/chNPmzGK CQIt/GeH2KefKwq0SWXgOXgwwnqcClU9XL2nxGAh8ABxFz7/ww8CXSRinj0oSgvt3r2b 3RwK319nc66DkHNDvgd0Ycvf+aI4CZS5B+8jDDHawctFclBehgRK9y+ebZ2LcKhE6OxU mEEXi3CqDdDUtK2T6kKVK9B4iZjF0D1ktIOL2DOVUdCp6SjSS0IleI1D3wOMkZZd3Cqr xaqSlp1j7JFtJWWu7XgJoSOdRrfuGhhUdLm9CdLd0WGk99QVhEk38up2nlb8/JMwjtNe ZNHA== X-Gm-Message-State: ACrzQf1sKuE0IMy4cehlWCfCfnOfddY96Ug64VX8T81ikPAe1NACw6UM sPKxX/zOXI+ku2tnAkUPk4213hf9rDnaMg== X-Google-Smtp-Source: AMsMyM5COuYOjCfyhlZaToyVK1Tad7AlkwSweG0qI/YwdlpVvBN0dTqYY/OiFXWea3ynJMUZgoyTnQ== X-Received: by 2002:adf:e907:0:b0:236:5d8d:5525 with SMTP id f7-20020adfe907000000b002365d8d5525mr6270874wrm.431.1667169186123; Sun, 30 Oct 2022 15:33:06 -0700 (PDT) Received: from localhost.localdomain ([185.126.107.38]) by smtp.gmail.com with ESMTPSA id a17-20020a05600c349100b003b47ff307e1sm5452515wmq.31.2022.10.30.15.33.04 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 30 Oct 2022 15:33:05 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Aleksandar Rikalo , Huacai Chen , Stefan Pejic , Jiaxun Yang , Aurelien Jarno , Paul Burton , Bernhard Beschow , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Subject: [PULL 40/55] hw/i386/pc: Create DMA controllers in south bridges Date: Sun, 30 Oct 2022 23:28:26 +0100 Message-Id: <20221030222841.42377-41-philmd@linaro.org> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221030222841.42377-1-philmd@linaro.org> References: <20221030222841.42377-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::432; envelope-from=philmd@linaro.org; helo=mail-wr1-x432.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Qemu-devel" Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Bernhard Beschow Just like in the real hardware (and in PIIX4), create the DMA controllers in the south bridges. Signed-off-by: Bernhard Beschow Reviewed-by: Philippe Mathieu-Daudé Message-Id: <20221022150508.26830-2-shentey@gmail.com> Signed-off-by: Philippe Mathieu-Daudé --- hw/i386/pc.c | 3 --- hw/i386/pc_piix.c | 2 ++ hw/isa/Kconfig | 2 ++ hw/isa/lpc_ich9.c | 3 +++ hw/isa/piix3.c | 9 +++++++-- 5 files changed, 14 insertions(+), 5 deletions(-) diff --git a/hw/i386/pc.c b/hw/i386/pc.c index 768982ae9a..b39ecd4d0c 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -47,7 +47,6 @@ #include "multiboot.h" #include "hw/rtc/mc146818rtc.h" #include "hw/intc/i8259.h" -#include "hw/dma/i8257.h" #include "hw/timer/i8254.h" #include "hw/input/i8042.h" #include "hw/irq.h" @@ -1320,8 +1319,6 @@ void pc_basic_device_init(struct PCMachineState *pcms, pcspk_init(pcms->pcspk, isa_bus, pit); } - i8257_dma_init(isa_bus, 0); - /* Super I/O */ pc_superio_init(isa_bus, create_fdctrl, pcms->i8042_enabled, pcms->vmport != ON_OFF_AUTO_ON); diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c index 0b1a79c0fa..7a55b9ca8e 100644 --- a/hw/i386/pc_piix.c +++ b/hw/i386/pc_piix.c @@ -26,6 +26,7 @@ #include CONFIG_DEVICES #include "qemu/units.h" +#include "hw/dma/i8257.h" #include "hw/loader.h" #include "hw/i386/x86.h" #include "hw/i386/pc.h" @@ -225,6 +226,7 @@ static void pc_init1(MachineState *machine, pci_bus = NULL; isa_bus = isa_bus_new(NULL, get_system_memory(), system_io, &error_abort); + i8257_dma_init(isa_bus, 0); pcms->hpet_enabled = false; } isa_bus_irqs(isa_bus, x86ms->gsi); diff --git a/hw/isa/Kconfig b/hw/isa/Kconfig index 20de7e9294..60aad28800 100644 --- a/hw/isa/Kconfig +++ b/hw/isa/Kconfig @@ -33,6 +33,7 @@ config PC87312 config PIIX3 bool + select I8257 select ISA_BUS config PIIX4 @@ -68,6 +69,7 @@ config LPC_ICH9 bool # For historical reasons, SuperIO devices are created in the board # for ICH9. + select I8257 select ISA_BUS select ACPI_SMBUS select ACPI_X86_ICH diff --git a/hw/isa/lpc_ich9.c b/hw/isa/lpc_ich9.c index 4553b5925b..8694e58b21 100644 --- a/hw/isa/lpc_ich9.c +++ b/hw/isa/lpc_ich9.c @@ -34,6 +34,7 @@ #include "qapi/error.h" #include "qapi/visitor.h" #include "qemu/range.h" +#include "hw/dma/i8257.h" #include "hw/isa/isa.h" #include "migration/vmstate.h" #include "hw/irq.h" @@ -722,6 +723,8 @@ static void ich9_lpc_realize(PCIDevice *d, Error **errp) qdev_init_gpio_out_named(dev, lpc->gsi, ICH9_GPIO_GSI, GSI_NUM_PINS); isa_bus_irqs(isa_bus, lpc->gsi); + + i8257_dma_init(isa_bus, 0); } static bool ich9_rst_cnt_needed(void *opaque) diff --git a/hw/isa/piix3.c b/hw/isa/piix3.c index 48f9ab1096..44a9998752 100644 --- a/hw/isa/piix3.c +++ b/hw/isa/piix3.c @@ -25,6 +25,7 @@ #include "qemu/osdep.h" #include "qemu/range.h" #include "qapi/error.h" +#include "hw/dma/i8257.h" #include "hw/southbridge/piix.h" #include "hw/irq.h" #include "hw/isa/isa.h" @@ -295,9 +296,11 @@ static const MemoryRegionOps rcr_ops = { static void pci_piix3_realize(PCIDevice *dev, Error **errp) { PIIX3State *d = PIIX3_PCI_DEVICE(dev); + ISABus *isa_bus; - if (!isa_bus_new(DEVICE(d), get_system_memory(), - pci_address_space_io(dev), errp)) { + isa_bus = isa_bus_new(DEVICE(d), get_system_memory(), + pci_address_space_io(dev), errp); + if (!isa_bus) { return; } @@ -307,6 +310,8 @@ static void pci_piix3_realize(PCIDevice *dev, Error **errp) PIIX_RCR_IOPORT, &d->rcr_mem, 1); qemu_register_reset(piix3_reset, d); + + i8257_dma_init(isa_bus, 0); } static void build_pci_isa_aml(AcpiDevAmlIf *adev, Aml *scope) From patchwork Sun Oct 30 22:28:27 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 13025289 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 5666AFA3744 for ; Sun, 30 Oct 2022 22:38:13 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1opGtT-000799-Az; Sun, 30 Oct 2022 18:35:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1opGrj-00036l-Ns for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:33:16 -0400 Received: from mail-wr1-x42f.google.com ([2a00:1450:4864:20::42f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1opGrh-00009x-WC for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:33:15 -0400 Received: by mail-wr1-x42f.google.com with SMTP id h9so13723487wrt.0 for ; Sun, 30 Oct 2022 15:33:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=eFvPEfaDB6rbPJi8ArreGGK+PGu2rKPXlBmfG4xKsf8=; b=EFHqq4m4RpvrR7WI1fXTikr0U6aGZoYGIOT1OrfqgLvfHZLDEcleiHg/s2nBJbxTYv RoBGy7Tn4vztYhHdYP6mbZuCqlTXPpS/rBKJlyUiC3bdMiDY2rWmAQwX5Eq0+NpNtJLq Ay7H/nAqVBXJexZhAx+c18hRvh7WKtWbHJnM8hxiz9hNRA+xCoqSBA84yLEv7nqWwz3P vMFPa9fG0DoxI1i9ff8OjOs7rb70WvP4uypY8Zg4eUNAFWtT6BUOufneAkjC98zi+S6Q bknzOJxmGNVM/cmwClWYy9DltmxXZXYEvvaAZ5RjgNhAclPXmcMRGbyl3xUEYcBoKMD2 0GcA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=eFvPEfaDB6rbPJi8ArreGGK+PGu2rKPXlBmfG4xKsf8=; b=R95dt8ZNwPZRIad1ok6f8ZnP8ftZ7Hpzt/x8LETRPSR432/2wtC9sQwfKTiPhSsTri 8WoVseSZuQ+kgvLFB04DQqNfVoPRMMZlkjj0jg/AjxdwI0sNpvVmolzWh5AtS1d6yRgH rBrLvxs9g88rTygP/l+mAfWynscbgTVPzzGgr9vAXwYqdziMm5SHQYb73mbAI6gOQK5E 2NoEeFaY5ZTWiCANRa1AlSDO39S7jiDTLZeIJgdntytQFCAGVtlugpeBfpsCM5NO2DXD 2a8D949oF6H8fXWzSlS66GT4Zqc7h3Vh2YfZrsS7fL1AowW5BSCuL6QUM4uB/eUE3P7c 9pPA== X-Gm-Message-State: ACrzQf1tjc4xXfjRAefAErFlWXukEkAgE1wOBSS24c19lT1ibZZ5IuQu W7YkvhPy0gkHWx9P2LF9ip3xZSF/e/zVsA== X-Google-Smtp-Source: AMsMyM4fEb/w7aOwvP7CQyVJvY/7EdxsR3EPiSdKAmB/VcRMduqICb4QsF4fsRIqxd+WJbQZjqT1pg== X-Received: by 2002:adf:dc4a:0:b0:236:5ba2:df2b with SMTP id m10-20020adfdc4a000000b002365ba2df2bmr6066592wrj.260.1667169192502; Sun, 30 Oct 2022 15:33:12 -0700 (PDT) Received: from localhost.localdomain ([185.126.107.38]) by smtp.gmail.com with ESMTPSA id d2-20020a5d4f82000000b0022b315b4649sm5188291wru.26.2022.10.30.15.33.10 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 30 Oct 2022 15:33:11 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Aleksandar Rikalo , Huacai Chen , Stefan Pejic , Jiaxun Yang , Aurelien Jarno , Paul Burton , Bernhard Beschow , Peter Maydell , =?utf-8?q?Philippe_Mathieu-Daud?= =?utf-8?q?=C3=A9?= Subject: [PULL 41/55] hw/isa/piix3: Remove extra ';' outside of functions Date: Sun, 30 Oct 2022 23:28:27 +0100 Message-Id: <20221030222841.42377-42-philmd@linaro.org> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221030222841.42377-1-philmd@linaro.org> References: <20221030222841.42377-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42f; envelope-from=philmd@linaro.org; helo=mail-wr1-x42f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Qemu-devel" Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Bernhard Beschow Fixes the "extra-semi" clang-tidy check. Signed-off-by: Bernhard Beschow Reviewed-by: Peter Maydell Reviewed-by: Philippe Mathieu-Daudé Message-Id: <20221022150508.26830-4-shentey@gmail.com> Signed-off-by: Philippe Mathieu-Daudé --- hw/isa/piix3.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/hw/isa/piix3.c b/hw/isa/piix3.c index 44a9998752..04895ce2e5 100644 --- a/hw/isa/piix3.c +++ b/hw/isa/piix3.c @@ -375,7 +375,7 @@ static void piix3_realize(PCIDevice *dev, Error **errp) pci_bus_irqs(pci_bus, piix3_set_irq, pci_slot_get_pirq, piix3, PIIX_NUM_PIRQS); pci_bus_set_route_irq_fn(pci_bus, piix3_route_intx_pin_to_irq); -}; +} static void piix3_class_init(ObjectClass *klass, void *data) { @@ -410,7 +410,7 @@ static void piix3_xen_realize(PCIDevice *dev, Error **errp) */ pci_bus_irqs(pci_bus, xen_piix3_set_irq, xen_pci_slot_get_pirq, piix3, XEN_PIIX_NUM_PIRQS); -}; +} static void piix3_xen_class_init(ObjectClass *klass, void *data) { @@ -418,7 +418,7 @@ static void piix3_xen_class_init(ObjectClass *klass, void *data) k->config_write = piix3_write_config_xen; k->realize = piix3_xen_realize; -}; +} static const TypeInfo piix3_xen_info = { .name = TYPE_PIIX3_XEN_DEVICE, From patchwork Sun Oct 30 22:28:28 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 13025279 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 01C20ECAAA1 for ; Sun, 30 Oct 2022 22:37:10 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1opGtZ-0007gl-G1; Sun, 30 Oct 2022 18:35:10 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1opGrq-0003Gx-3h for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:33:26 -0400 Received: from mail-wm1-x333.google.com ([2a00:1450:4864:20::333]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1opGro-0000AM-5B for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:33:21 -0400 Received: by mail-wm1-x333.google.com with SMTP id r186-20020a1c44c3000000b003cf4d389c41so7018147wma.3 for ; Sun, 30 Oct 2022 15:33:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Iee/Kz8E/qiEV1xSHMcLrZIy2vXY3KpeoSMnpgU+NQE=; b=t7xtHtX0U95xUOEuz2ovXEMcpQesGPpPk5TR6YyPUwRHbP/tPbtRV3cRHqsEQMYh1E Q62N2MTb1T0+Crrs2WAUKhKCWikRS7Znvf4NGgLKkXvjH2Aj1Rz2IFyCkYVwLjsnveqh nvz97FpZXNadV0P/oTLl9lC3SHSomUShDlrKtQVMAliRJWLP6Lec1P3L+2NYDtapQZJZ E848TpKHGJARtM222rIm9L96fygVO1izSyTrHqiCRba6AZ87Cgj+pmW+WuJUWSNfPIX3 Z68wAr8Mrj6/J24+rCMNqyOKfIOVQ4keOyd01ZzLnagc3OVaHNtqTVE7FDCNLS3mzoo3 c/5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Iee/Kz8E/qiEV1xSHMcLrZIy2vXY3KpeoSMnpgU+NQE=; b=zllQbWS7pGM5EEmv4Xrh97+JmGE9B1uxyqi5FDQXiunr/jIHDG3hBookZ+J1Vr9StY kBq6yE++GZLIlIjNmx6xnBtskOPJbjc4nCFJIDZmAyG9JBFFtcLr1tXSGqrdwdl+koLb pN9N9Nxd8doLknyEh0FAE8dc3jXvGz4MClZZizvbHUTp65GM3UkAwOcCFJ/5QrbfbB0D g+6ndQ3QTmEZfHPW9itqFiZnGR+8QBGB/rXmFqKlzZo6ySRjOGimXU/bgtdwu0Y0PMGk SuRwU5mCR7OJ78cclOvsWe8KgpOssMlzE1ww9uMlKHxUej5Qbch3nsMoATmsDXKOmcb3 Vlbg== X-Gm-Message-State: ACrzQf0wN99MSUYG5T056rqC4kJUVbmEd6vayFcyIVCdj0gKtWhD97Xp 0oyH2yeaL6IA6/7FLi73Taj2rtxtW5hKIQ== X-Google-Smtp-Source: AMsMyM7b7WLCITc8hX1l5fWDazvk7nYc3bklhvErapIu0DCRvPnHs83Z2g77BPWlvPueDzv9lyOs0g== X-Received: by 2002:a05:600c:1c83:b0:3cf:4453:255b with SMTP id k3-20020a05600c1c8300b003cf4453255bmr6106714wms.20.1667169198204; Sun, 30 Oct 2022 15:33:18 -0700 (PDT) Received: from localhost.localdomain ([185.126.107.38]) by smtp.gmail.com with ESMTPSA id ck1-20020a5d5e81000000b002366553eca7sm5331169wrb.83.2022.10.30.15.33.16 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 30 Oct 2022 15:33:17 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Aleksandar Rikalo , Huacai Chen , Stefan Pejic , Jiaxun Yang , Aurelien Jarno , Paul Burton , Bernhard Beschow , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Subject: [PULL 42/55] hw/isa/piix3: Add size constraints to rcr_ops Date: Sun, 30 Oct 2022 23:28:28 +0100 Message-Id: <20221030222841.42377-43-philmd@linaro.org> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221030222841.42377-1-philmd@linaro.org> References: <20221030222841.42377-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::333; envelope-from=philmd@linaro.org; helo=mail-wm1-x333.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Qemu-devel" Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Bernhard Beschow According to the PIIX3 datasheet, the reset control register is one byte in size. Moreover, PIIX4 has it, so add it to PIIX3 as well. Signed-off-by: Bernhard Beschow Reviewed-by: Philippe Mathieu-Daudé Message-Id: <20221022150508.26830-5-shentey@gmail.com> Signed-off-by: Philippe Mathieu-Daudé --- hw/isa/piix3.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/hw/isa/piix3.c b/hw/isa/piix3.c index 04895ce2e5..72dbf688d9 100644 --- a/hw/isa/piix3.c +++ b/hw/isa/piix3.c @@ -290,7 +290,11 @@ static uint64_t rcr_read(void *opaque, hwaddr addr, unsigned len) static const MemoryRegionOps rcr_ops = { .read = rcr_read, .write = rcr_write, - .endianness = DEVICE_LITTLE_ENDIAN + .endianness = DEVICE_LITTLE_ENDIAN, + .impl = { + .min_access_size = 1, + .max_access_size = 1, + }, }; static void pci_piix3_realize(PCIDevice *dev, Error **errp) From patchwork Sun Oct 30 22:28:29 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 13025268 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 51C22FA3743 for ; Sun, 30 Oct 2022 22:36:04 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1opGtg-00086R-Bw; Sun, 30 Oct 2022 18:35:16 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1opGs0-0003MY-6K for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:33:34 -0400 Received: from mail-wr1-x431.google.com ([2a00:1450:4864:20::431]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1opGrx-0000Ai-IY for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:33:30 -0400 Received: by mail-wr1-x431.google.com with SMTP id g12so13656142wrs.10 for ; Sun, 30 Oct 2022 15:33:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=kaljxaQNlFmc4Z/p7eQ7X46FOizDdCb0oWN28wVwFGw=; b=uK4VSTLiBacY8D/ch8KmcTikej23tpTS1xeOaSX/+ahh3G67nDWaqYmn2klJTSWcZU RAf2nI4AtNu3AUER1tUta9JJO0cVNR7ELYURx/EJ58FXoq/zQQqlS6zmDa69zDvlRc0L xmSTGgBibBjK39B7kHAT4Uo2Ed8Iodf6vrXAHrz8NkChCHTZNDBZ0J8ntEUFofBuzdDf 4u8hb0rCOjzuyKOmqv/lXlDa5vBkvab2bsmE5G/I9WPD4+h4HQHr+lK6EPkWPvrME/GH O+u118uOqTiB9sRwE1dxDVlZsfbA+cVXzz1IDPC/HQTIf32+1YKtFznxooqDBNCcnNzy zlbA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=kaljxaQNlFmc4Z/p7eQ7X46FOizDdCb0oWN28wVwFGw=; b=Yi6QXGbtpe3pYibEIdAw1+5Qi7ygSAz0DEcZ3XgcjkvaxlUU/bLkUrUc3FvjmYmhha j0KwfmjgFszOgpSWJBNd0EN31eexIbKQuhI+LZ/cXEvT195lT7Kjn5Chqsz9elgMbwbn sVqOZTw+k92Awnv8O3jCw/63oixH58AmGmVGtso4UEZxc6mq3Z96Mr73uHgQdaZH/VEl 94n0cwFbCM1yokt/pbparAhIuj/OhXTtTDMzjXZnntqjew90PBqvhKxQwbR/REGNPaxr Mb2lK2DF8e1gxZftPDGPYT47Y9fMXA84hXgtLAxWlIlEzKWre0DljWVQXb/bhvqr4mkE d1vg== X-Gm-Message-State: ACrzQf2bU/zxgOH2FqMxRBIW7PwIpY+XvNvUp59HWwCTHt7B7sUu/SVR ffyWWxdujr7bv8nna98BWigjI0iZNFJiMQ== X-Google-Smtp-Source: AMsMyM4yyO274B9zGGg/L5gGFvhJmyBAPEXHySqCUR0DhR33JYDYhrCOUW4+k24LqED05/MK4FEMtg== X-Received: by 2002:adf:ebcf:0:b0:22c:9eb4:d6f6 with SMTP id v15-20020adfebcf000000b0022c9eb4d6f6mr6100972wrn.251.1667169207999; Sun, 30 Oct 2022 15:33:27 -0700 (PDT) Received: from localhost.localdomain ([185.126.107.38]) by smtp.gmail.com with ESMTPSA id bd26-20020a05600c1f1a00b003c6b70a4d69sm5376871wmb.42.2022.10.30.15.33.24 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 30 Oct 2022 15:33:27 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Aleksandar Rikalo , Huacai Chen , Stefan Pejic , Jiaxun Yang , Aurelien Jarno , Paul Burton , Bernhard Beschow , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Subject: [PULL 43/55] hw/isa/piix3: Modernize reset handling Date: Sun, 30 Oct 2022 23:28:29 +0100 Message-Id: <20221030222841.42377-44-philmd@linaro.org> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221030222841.42377-1-philmd@linaro.org> References: <20221030222841.42377-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::431; envelope-from=philmd@linaro.org; helo=mail-wr1-x431.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Qemu-devel" Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Bernhard Beschow Rather than registering the reset handler via a function which appends the handler to a global list, prefer to implement it as a virtual method - PIIX4 does the same already. Note that this means that piix3_reset can now also be called writing to the relevant configuration space register on a PCI bridge. Signed-off-by: Bernhard Beschow Reviewed-by: Philippe Mathieu-Daudé Message-Id: <20221022150508.26830-6-shentey@gmail.com> Signed-off-by: Philippe Mathieu-Daudé --- hw/isa/piix3.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/hw/isa/piix3.c b/hw/isa/piix3.c index 72dbf688d9..723ad0a896 100644 --- a/hw/isa/piix3.c +++ b/hw/isa/piix3.c @@ -31,7 +31,6 @@ #include "hw/isa/isa.h" #include "hw/xen/xen.h" #include "sysemu/xen.h" -#include "sysemu/reset.h" #include "sysemu/runstate.h" #include "migration/vmstate.h" #include "hw/acpi/acpi_aml_interface.h" @@ -156,9 +155,9 @@ static void piix3_write_config_xen(PCIDevice *dev, piix3_write_config(dev, address, val, len); } -static void piix3_reset(void *opaque) +static void piix3_reset(DeviceState *dev) { - PIIX3State *d = opaque; + PIIX3State *d = PIIX3_PCI_DEVICE(dev); uint8_t *pci_conf = d->dev.config; pci_conf[0x04] = 0x07; /* master, memory and I/O */ @@ -313,8 +312,6 @@ static void pci_piix3_realize(PCIDevice *dev, Error **errp) memory_region_add_subregion_overlap(pci_address_space_io(dev), PIIX_RCR_IOPORT, &d->rcr_mem, 1); - qemu_register_reset(piix3_reset, d); - i8257_dma_init(isa_bus, 0); } @@ -337,6 +334,7 @@ static void pci_piix3_class_init(ObjectClass *klass, void *data) PCIDeviceClass *k = PCI_DEVICE_CLASS(klass); AcpiDevAmlIfClass *adevc = ACPI_DEV_AML_IF_CLASS(klass); + dc->reset = piix3_reset; dc->desc = "ISA bridge"; dc->vmsd = &vmstate_piix3; dc->hotpluggable = false; From patchwork Sun Oct 30 22:28:30 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 13025274 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 3B227C38A02 for ; Sun, 30 Oct 2022 22:36:55 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1opGtk-000050-CX; Sun, 30 Oct 2022 18:35:20 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1opGs4-0003W6-RP for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:33:38 -0400 Received: from mail-wr1-x432.google.com ([2a00:1450:4864:20::432]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1opGs3-0000Fb-8g for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:33:36 -0400 Received: by mail-wr1-x432.google.com with SMTP id bk15so13631859wrb.13 for ; Sun, 30 Oct 2022 15:33:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=92o+6CBAVgkiKf8oTcJaZlQEwbuXO48JKqQmwQlE4NM=; b=lEKBuZdJcEluQ+wWzBveOuvCz93WdsS4nwYT4dU5R+pxAAdps5ie5t0HkRLckFkxbo RWMLn0GXpuRLBX95YPIpkbgQfDF4YTqxSRl6WirvNNcrJ08H9MqSMbXvufW3jcx9n7X0 BlWwkYrAerSYmysqbPFFagyZyX0Jh/IrPpLgJI41sdL11xRbGK5J5+fJlmtdWoJIboHN MgwDA+dbWCjhD1Sv6PLY8sTjaEg92thxu4Mh0SAaQVRTtzD0qbyTYImSfQcrjtMTyKHs MHKIC6FYzayafiuIBxX1W5TClLSVfbbS3UrpGI+X+iFGZE0fL2ST5P3yLLNOyq6fWnSW 5Ssw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=92o+6CBAVgkiKf8oTcJaZlQEwbuXO48JKqQmwQlE4NM=; b=3vbwQkCwlHYdCLVFYDt3bmS+ZR/qpCOQ15/5wb3kvW+OVJW0+uYo4cmZ5O+exkiLGK ZPLnuGWMt+olzzeZH59oQg8j6Q/h6ADVK1ybVV6eZ9d685TqGFHeo5Z616pqcUVSc9e5 hP5LxU+EpqVn/URkj6cJIpA1JWAQgur55uh1SMh8MBFqEZeAeXJ/P1mKpE4jUIoSQZqT 0/ex3F5mNL5bZBLi1HI2gfdt/o2vbbWYrJ+ArCbhEuJ3oI937EZ3YcIHBD6immHZVJev QKPCxgPBTA3RPg1Wxs8U0hrO7R4KDGdiBVoYXeweYcSmXODhRilFt/kLsarHMUW0nq/k a0Gw== X-Gm-Message-State: ACrzQf0HkYo8/eBX9im5N8RuIO1qaDzZnwJqQvhf0hCz+jr2I+GYA7K3 xa+V7jRu0w18Z8eoqAgxK43DNKbu4Kanag== X-Google-Smtp-Source: AMsMyM6nRdwRkspsrkevPTaA7g+OMpdcEm5vaGy9rylb8r6/YfuEMArA2H0j6+9X3qwjW5GaMOVbag== X-Received: by 2002:adf:aa8c:0:b0:236:6e59:99ff with SMTP id h12-20020adfaa8c000000b002366e5999ffmr5789416wrc.688.1667169213872; Sun, 30 Oct 2022 15:33:33 -0700 (PDT) Received: from localhost.localdomain ([185.126.107.38]) by smtp.gmail.com with ESMTPSA id r10-20020a05600c35ca00b003c6f1732f65sm2964076wmq.38.2022.10.30.15.33.32 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 30 Oct 2022 15:33:33 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Aleksandar Rikalo , Huacai Chen , Stefan Pejic , Jiaxun Yang , Aurelien Jarno , Paul Burton , Bernhard Beschow , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Subject: [PULL 44/55] hw/isa/piix3: Prefer pci_address_space() over get_system_memory() Date: Sun, 30 Oct 2022 23:28:30 +0100 Message-Id: <20221030222841.42377-45-philmd@linaro.org> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221030222841.42377-1-philmd@linaro.org> References: <20221030222841.42377-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::432; envelope-from=philmd@linaro.org; helo=mail-wr1-x432.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Qemu-devel" Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Bernhard Beschow get_system_memory() accesses global state while pci_address_space() uses whatever has been passed to the device instance, so avoid the global. Moreover, PIIX4 uses pci_address_space() here as well. Signed-off-by: Bernhard Beschow Reviewed-by: Philippe Mathieu-Daudé Message-Id: <20221022150508.26830-7-shentey@gmail.com> Signed-off-by: Philippe Mathieu-Daudé --- hw/isa/piix3.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/isa/piix3.c b/hw/isa/piix3.c index 723ad0a896..0bea4aefe7 100644 --- a/hw/isa/piix3.c +++ b/hw/isa/piix3.c @@ -301,7 +301,7 @@ static void pci_piix3_realize(PCIDevice *dev, Error **errp) PIIX3State *d = PIIX3_PCI_DEVICE(dev); ISABus *isa_bus; - isa_bus = isa_bus_new(DEVICE(d), get_system_memory(), + isa_bus = isa_bus_new(DEVICE(d), pci_address_space(dev), pci_address_space_io(dev), errp); if (!isa_bus) { return; From patchwork Sun Oct 30 22:28:31 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 13025272 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 82848ECAAA1 for ; Sun, 30 Oct 2022 22:36:52 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1opGtq-0000gQ-Fb; Sun, 30 Oct 2022 18:35:26 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1opGsA-0003ef-Qn for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:33:46 -0400 Received: from mail-wr1-x42f.google.com ([2a00:1450:4864:20::42f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1opGs9-0000LG-Ce for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:33:42 -0400 Received: by mail-wr1-x42f.google.com with SMTP id a14so13675362wru.5 for ; Sun, 30 Oct 2022 15:33:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=27+gO8KDs7eh/C7hO+t+IDu3gwk91f7L9C1dmHDUnx4=; b=kKbogMTeHuOPFwTeh39UgjMvx1q8oZzQHpVDcnTRItUaDFAHV8K3eXflWPeVEy4hE/ pI0oY0To+2os0wu6WxYwzRRw9DAyfrcUBosngwM8fm4ejoMTlg42BKFBq624FcogliiR Aa+ys5t7de+Nct9IhO4XX+eL4y2HzC+WUPYeKlf8n1p729M+Mr3R1OAkw5/ikAjTvrno jHzPXwBy2umjRQ3+QzPiJblBpNHrpDQueB0agjmm10cK/sNS+cXGd2f8+62K3v0xYGdk CGWUzyRuBALyyn+f8ooT2XxbvRpEp3bKA76NsLtr5OBTDMFq2y13ZRqJf/5Sk+bfENfv FJtw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=27+gO8KDs7eh/C7hO+t+IDu3gwk91f7L9C1dmHDUnx4=; b=yAZyFrGjubpdIjXBgjM1orMwLJ0gNwX2bPyKewMdJH5jWeI6ulqxgwJeyDEY4DyCJP ImZJ41vUx516knCifS7H1c+b5N7WgxuidwIzJasKWW82A0gl1P7j9jxey9TrpyaK3eai X18IHPF1o5a0oNkJ7jYCXOuC45tAXC90Xn3vQJkgBD/encq2PSPnpn0vX7Xamdrtqg8R m8bMAKYpXwWAHoxv4Y/HjOTBz9qPATQb+DRqFtsTgJWYBZLbS4W+Pks7Xw7xO+03Gcbx 7bnRqU8e6QMDwBTuQvsLyRFGsg2A5B1O2OJ1wC0TDb6+k0E/AgL8LyyMHbdDt1E9qVCG uWpw== X-Gm-Message-State: ACrzQf2o0jodEjSK4oZ7L0OiuZnCfigtmxpubt9BEazcIHKGL3ZqAiaO CPjEEB1FCgTmr8q3apMLjfcypEmKr4lrdg== X-Google-Smtp-Source: AMsMyM7VFONTfs/SsbjtVU8Lb/Wt5FFNEM9yGW/xe5gaMzK2bOXk2NsXPY1uZIR3kOmmP6uf+dZf5w== X-Received: by 2002:a05:6000:1f1a:b0:236:ce27:230a with SMTP id bv26-20020a0560001f1a00b00236ce27230amr499730wrb.469.1667169219885; Sun, 30 Oct 2022 15:33:39 -0700 (PDT) Received: from localhost.localdomain ([185.126.107.38]) by smtp.gmail.com with ESMTPSA id a15-20020a5d53cf000000b0023682011c1dsm5209907wrw.104.2022.10.30.15.33.38 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 30 Oct 2022 15:33:39 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Aleksandar Rikalo , Huacai Chen , Stefan Pejic , Jiaxun Yang , Aurelien Jarno , Paul Burton , Bernhard Beschow , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Subject: [PULL 45/55] hw/isa/piix4: Rename wrongly named method Date: Sun, 30 Oct 2022 23:28:31 +0100 Message-Id: <20221030222841.42377-46-philmd@linaro.org> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221030222841.42377-1-philmd@linaro.org> References: <20221030222841.42377-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42f; envelope-from=philmd@linaro.org; helo=mail-wr1-x42f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Qemu-devel" Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Bernhard Beschow This method post-loads the southbridge, not the IDE device. Signed-off-by: Bernhard Beschow Reviewed-by: Philippe Mathieu-Daudé Message-Id: <20221022150508.26830-8-shentey@gmail.com> Signed-off-by: Philippe Mathieu-Daudé --- hw/isa/piix4.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/isa/piix4.c b/hw/isa/piix4.c index 15f344dbb7..c88d3bf3bf 100644 --- a/hw/isa/piix4.c +++ b/hw/isa/piix4.c @@ -141,7 +141,7 @@ static void piix4_isa_reset(DeviceState *dev) pci_conf[0xae] = 0x00; } -static int piix4_ide_post_load(void *opaque, int version_id) +static int piix4_post_load(void *opaque, int version_id) { PIIX4State *s = opaque; @@ -156,7 +156,7 @@ static const VMStateDescription vmstate_piix4 = { .name = "PIIX4", .version_id = 3, .minimum_version_id = 2, - .post_load = piix4_ide_post_load, + .post_load = piix4_post_load, .fields = (VMStateField[]) { VMSTATE_PCI_DEVICE(dev, PIIX4State), VMSTATE_UINT8_V(rcr, PIIX4State, 3), From patchwork Sun Oct 30 22:28:32 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 13025288 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 2DA72ECAAA1 for ; Sun, 30 Oct 2022 22:38:11 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1opGtr-0000pv-Kb; Sun, 30 Oct 2022 18:35:27 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1opGsI-00043R-6V for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:33:50 -0400 Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1opGsG-0000La-1s for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:33:49 -0400 Received: by mail-wr1-x436.google.com with SMTP id h9so13724568wrt.0 for ; Sun, 30 Oct 2022 15:33:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=EIPy348rkZZiVPh95Imhce2HNMSkn2kK59cH0xc0lRQ=; b=RXBFsUeLl2iKBU1l75mntZeXOFt3ivvmefUFzUpvxcJ0UfuJCRts0giw8ESnlWzhC7 IUfVzUpBhnrtcFByRokFbsZlhdeS75vssn+axnv27jjdSRZFEmIL1B0LehW24BPGBHsa iqchWhy7a65TbIJU+PhGWwdu+Pv7qsGgrLnjy8b2ylq57JDggcUn94P0ntrOfF2Txt8i 6gJNRMBAZONeEsl6Y+Uc7dAmecL21zmh2Tsx90jIgeuqURnIrh4vG2IuZza4Da5wtB5Y W8Yq9viEoAWBo5GSzG1DdVFyab2h4VFze4cbOZVKft3JJgRyg+l5tnrYYBG9DCrku0ky locQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=EIPy348rkZZiVPh95Imhce2HNMSkn2kK59cH0xc0lRQ=; b=1yZk492amdIhlP8UCmjvLvDfjEigto1SCSRssFb6wUggu7oO0RQ9OR38EBvzDGw7qd Bj3fObn8TZRdJCdAuNzGrLpYjZHdwdYGHj1QGv08/GrYySDNbh3U/lsck/iEqCFsG7gm Z1ZihYIXdws9K3PERtpJDuv0vyYuYD6IBcj/kCS0r8seadOPvSVy4YRfQb3bIZbUAwnZ /dETD6sZt1zsBnVnRTUq4nEIlnEFMh5D/XmpRvSnbcDAmJUzxUvHu+tN7jWWS7bTVi++ LfHYnfJbCJDEfS79awoSBZvFxYq7pQdNyg/6W/EyLjC3pkmZc8NW8J4pRYP1muXwXqRD qQIw== X-Gm-Message-State: ACrzQf0218oekNiyBpcK5YBrUUzg/6I0I14m9UXscoxi59gCtbPDVOoq y0gt/eO/Q32eDN95hBxaLr6N+mReJwI5Bg== X-Google-Smtp-Source: AMsMyM5snXftnHvHhuvO7vFcVZhJ9eJQUCRz7gh0/L3atkyCQEiteV5wDdpFt4YdacDglu9X7+/8RQ== X-Received: by 2002:a5d:6147:0:b0:236:aa4:6eca with SMTP id y7-20020a5d6147000000b002360aa46ecamr6120136wrt.318.1667169226328; Sun, 30 Oct 2022 15:33:46 -0700 (PDT) Received: from localhost.localdomain ([185.126.107.38]) by smtp.gmail.com with ESMTPSA id 123-20020a1c1981000000b003c6c182bef9sm5980174wmz.36.2022.10.30.15.33.44 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 30 Oct 2022 15:33:45 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Aleksandar Rikalo , Huacai Chen , Stefan Pejic , Jiaxun Yang , Aurelien Jarno , Paul Burton , Bernhard Beschow , Mark Cave-Ayland Subject: [PULL 46/55] hw/ide/piix: Introduce TYPE_ macros for PIIX IDE controllers Date: Sun, 30 Oct 2022 23:28:32 +0100 Message-Id: <20221030222841.42377-47-philmd@linaro.org> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221030222841.42377-1-philmd@linaro.org> References: <20221030222841.42377-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::436; envelope-from=philmd@linaro.org; helo=mail-wr1-x436.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Qemu-devel" Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Bernhard Beschow Suggested-by: Mark Cave-Ayland Signed-off-by: Bernhard Beschow Reviewed-by: Philippe Mathieu-Daudé Message-Id: <20221022150508.26830-9-shentey@gmail.com> Signed-off-by: Philippe Mathieu-Daudé --- hw/i386/pc_piix.c | 3 ++- hw/ide/piix.c | 5 +++-- hw/isa/piix4.c | 3 ++- include/hw/ide/piix.h | 7 +++++++ 4 files changed, 14 insertions(+), 4 deletions(-) create mode 100644 include/hw/ide/piix.h diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c index 7a55b9ca8e..0ad0ed1603 100644 --- a/hw/i386/pc_piix.c +++ b/hw/i386/pc_piix.c @@ -40,6 +40,7 @@ #include "hw/usb.h" #include "net/net.h" #include "hw/ide/pci.h" +#include "hw/ide/piix.h" #include "hw/irq.h" #include "sysemu/kvm.h" #include "hw/kvm/clock.h" @@ -259,7 +260,7 @@ static void pc_init1(MachineState *machine, if (pcmc->pci_enabled) { PCIDevice *dev; - dev = pci_create_simple(pci_bus, piix3_devfn + 1, "piix3-ide"); + dev = pci_create_simple(pci_bus, piix3_devfn + 1, TYPE_PIIX3_IDE); pci_ide_create_devs(dev); idebus[0] = qdev_get_child_bus(&dev->qdev, "ide.0"); idebus[1] = qdev_get_child_bus(&dev->qdev, "ide.1"); diff --git a/hw/ide/piix.c b/hw/ide/piix.c index de1f4f0efb..267dbf37db 100644 --- a/hw/ide/piix.c +++ b/hw/ide/piix.c @@ -36,6 +36,7 @@ #include "sysemu/blockdev.h" #include "sysemu/dma.h" +#include "hw/ide/piix.h" #include "hw/ide/pci.h" #include "trace.h" @@ -202,7 +203,7 @@ static void piix3_ide_class_init(ObjectClass *klass, void *data) } static const TypeInfo piix3_ide_info = { - .name = "piix3-ide", + .name = TYPE_PIIX3_IDE, .parent = TYPE_PCI_IDE, .class_init = piix3_ide_class_init, }; @@ -224,7 +225,7 @@ static void piix4_ide_class_init(ObjectClass *klass, void *data) } static const TypeInfo piix4_ide_info = { - .name = "piix4-ide", + .name = TYPE_PIIX4_IDE, .parent = TYPE_PCI_IDE, .class_init = piix4_ide_class_init, }; diff --git a/hw/isa/piix4.c b/hw/isa/piix4.c index c88d3bf3bf..e05e65d3bc 100644 --- a/hw/isa/piix4.c +++ b/hw/isa/piix4.c @@ -28,6 +28,7 @@ #include "hw/irq.h" #include "hw/southbridge/piix.h" #include "hw/pci/pci.h" +#include "hw/ide/piix.h" #include "hw/isa/isa.h" #include "hw/intc/i8259.h" #include "hw/dma/i8257.h" @@ -277,7 +278,7 @@ static void piix4_init(Object *obj) PIIX4State *s = PIIX4_PCI_DEVICE(obj); object_initialize_child(obj, "rtc", &s->rtc, TYPE_MC146818_RTC); - object_initialize_child(obj, "ide", &s->ide, "piix4-ide"); + object_initialize_child(obj, "ide", &s->ide, TYPE_PIIX4_IDE); object_initialize_child(obj, "uhci", &s->uhci, "piix4-usb-uhci"); object_initialize_child(obj, "pm", &s->pm, TYPE_PIIX4_PM); diff --git a/include/hw/ide/piix.h b/include/hw/ide/piix.h new file mode 100644 index 0000000000..ef3ef3d62d --- /dev/null +++ b/include/hw/ide/piix.h @@ -0,0 +1,7 @@ +#ifndef HW_IDE_PIIX_H +#define HW_IDE_PIIX_H + +#define TYPE_PIIX3_IDE "piix3-ide" +#define TYPE_PIIX4_IDE "piix4-ide" + +#endif /* HW_IDE_PIIX_H */ From patchwork Sun Oct 30 22:28:33 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 13025286 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 17188ECAAA1 for ; Sun, 30 Oct 2022 22:38:03 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1opGts-0000yo-QU; Sun, 30 Oct 2022 18:35:28 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1opGsO-0004LG-9C for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:33:57 -0400 Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1opGsM-0000NC-Qb for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:33:56 -0400 Received: by mail-wr1-x436.google.com with SMTP id o4so13675299wrq.6 for ; Sun, 30 Oct 2022 15:33:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=365AgLXKeVngn2LD/McGHP2sx4vjBg7re+NZLf9MlNA=; b=Rb5nr8EpEpmJoqzLzOqmoX+rMf3/x2zwD9GF0hPng6h30RSj1SfY2c4z+rnq7/0a5y la0VIWlt4JE+7CvXh0IOqhHN62qraepsZmL8GKiSwgDefXuzwFiycYlCTB9aRAcQEqyu bdIcKukqWbjUcnLp41qENSjkXJ2agWFCFa+9/WM+cp0gfjmvux9Aqgs9l9tqM80ijP0x 4RWyIVZ97IFevg9cI9vwug393alBb7OwdiAnd0UBzE6OZ/h6kaUwBXjroxlnCrkF3hjg 1eYdQXmz3w33rArizAl9swD/afdKCxSeb7wwKs8P6UCD5BXMmW729nGrymmuieoHvIss NzzA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=365AgLXKeVngn2LD/McGHP2sx4vjBg7re+NZLf9MlNA=; b=cuaSq0qzqMz5QlCiEeDRGknYeNyRQqFnmgriJHl9gkpNpqUgyItD4JZz/xpEzF6bwe O8az7CqJdo+/GX3BF42/X9rK3SlB3OfY24L9PXz7bX2PG7Y2s04pHoJbPOlILeQOMXqa qiP1jIGSsFrZM62LGDhqsZNhV5j6zmJ1yfAufbiamktYfcYGy6r/KdMxg5MfB4kK8TJn JGpSzwoOHSTvvzVjwxJKZk5n1sDn85buxsu6pmbqviyciS0n3u/f2Xz7KdA04EuKQDKw ynipw3KcomG8P/zRUCVi0AzLNLamcDZmGSXjNFhvZG4M+8156ad2vDuiKRqr2JQfMyvC AmIg== X-Gm-Message-State: ACrzQf2RVN0YjFqGOjHZleR/1mzRV/nuqDDK19CJZ74J2cMMvlLpAzoh pVGuOh6gd9kA5kygvpgXJ/JPC2bFhWi09g== X-Google-Smtp-Source: AMsMyM4YRjLAqiD9sWkRDiVREE9ycvtJZmv6WQUesHVOqrdc4bNpkiscZSLdjsZ2jecpF6gzEqAMcg== X-Received: by 2002:a5d:47a6:0:b0:236:7854:246d with SMTP id 6-20020a5d47a6000000b002367854246dmr5881641wrb.300.1667169233150; Sun, 30 Oct 2022 15:33:53 -0700 (PDT) Received: from localhost.localdomain ([185.126.107.38]) by smtp.gmail.com with ESMTPSA id f7-20020adff987000000b0022e6178bd84sm5221626wrr.8.2022.10.30.15.33.51 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 30 Oct 2022 15:33:52 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Aleksandar Rikalo , Huacai Chen , Stefan Pejic , Jiaxun Yang , Aurelien Jarno , Paul Burton , Bernhard Beschow Subject: [PULL 47/55] hw/isa/piix3: Remove unused include Date: Sun, 30 Oct 2022 23:28:33 +0100 Message-Id: <20221030222841.42377-48-philmd@linaro.org> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221030222841.42377-1-philmd@linaro.org> References: <20221030222841.42377-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::436; envelope-from=philmd@linaro.org; helo=mail-wr1-x436.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Qemu-devel" Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Bernhard Beschow Ammends commit 988fb613215993dd0ce642b89ca8182c479d39dd. Signed-off-by: Bernhard Beschow Reviewed-by: Philippe Mathieu-Daudé Message-Id: <20221022150508.26830-19-shentey@gmail.com> Signed-off-by: Philippe Mathieu-Daudé --- hw/isa/piix3.c | 1 - 1 file changed, 1 deletion(-) diff --git a/hw/isa/piix3.c b/hw/isa/piix3.c index 0bea4aefe7..808fd4eadf 100644 --- a/hw/isa/piix3.c +++ b/hw/isa/piix3.c @@ -30,7 +30,6 @@ #include "hw/irq.h" #include "hw/isa/isa.h" #include "hw/xen/xen.h" -#include "sysemu/xen.h" #include "sysemu/runstate.h" #include "migration/vmstate.h" #include "hw/acpi/acpi_aml_interface.h" From patchwork Sun Oct 30 22:28:34 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 13025275 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 90B31C38A02 for ; Sun, 30 Oct 2022 22:36:57 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1opGu2-0001I1-9X; Sun, 30 Oct 2022 18:35:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1opGsV-00059D-9c for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:34:04 -0400 Received: from mail-wm1-x333.google.com ([2a00:1450:4864:20::333]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1opGsT-0000Ng-E9 for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:34:02 -0400 Received: by mail-wm1-x333.google.com with SMTP id 5so6236547wmo.1 for ; Sun, 30 Oct 2022 15:34:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ZmmXEXyVmeaeq801a3SSzA2lFB/U3WaewUO331bNFbI=; b=qUpcJejn3/q3zhAdMuycjc1yxm+FiwK3u0U1Hbj34OyPelPh0v3/a873DCkJ3ttFf+ dQOoTM8jCoCZh6XAUdfckG8kBCN/oEvtoeu9X6m0X+AX+0hRnS5wusvycuwwqOzP0jhp IZzve954fkIUEXvPlH4fiUNEnL4yhcboutmDvhGdFv71juLrV8QB4lpERLP9gGbpRTvj E8cDrWifVVn8nzzjK1e6wyyifFQl4E9QY/5SIWjzXyY52bZqLVL0GH1YoBKwwUVDjAj9 43aCt5c2+3gnH96WR3XLuSAAoyl7WEuPTCKXOYvGKIgku6+STeINYgIp8XgwIZQdyCoq 2Msg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ZmmXEXyVmeaeq801a3SSzA2lFB/U3WaewUO331bNFbI=; b=6LFkdnguMDxtMCG8QqW7UTHNCovQKAbYPHOFhP+KcF5uRzYZVXaak0ob0Z0nARp0y/ hQJ1EkXIAsU4k9On2oWs8gVMdfJ8jjfr2HkcVbYSK3tOibniV53ivOuXaBl+hmNO+R49 V5kVrjVZ8KtObLEtg4GmY1OnKrRmHyRyEgK5cLbNCmQFOjBOERuunkAtVeuy2hhfsTdo wC4krKeneXUyP5N3H7IEwsPbyuz6xR9pyxhasi4rpmaqktfOTOKOxObB7cGk+lO87Tuu 0wJOIyxsF2V9GnkP/sP7drqIu+SZ/D31F3ga1YbbKqFPWx7vOBg8bwIIII/s4pB/f1Q0 SVUQ== X-Gm-Message-State: ACrzQf01TQR8E6paOtT7ZJr7FeufE6Ail31+ouSjMDPj8UqY+76BZjOs OmRNRz2R5HX30LqLXq9JUbOsHevzK3F6VA== X-Google-Smtp-Source: AMsMyM71TLdJLJh8nJFjw4TzPphbpuwLy/tzo1t8GqPHXEoPYSuhNhqHRKazu6NRb7vnMnmqUNXPZQ== X-Received: by 2002:a05:600c:4586:b0:3c6:fbb0:bf2d with SMTP id r6-20020a05600c458600b003c6fbb0bf2dmr5984663wmo.13.1667169239866; Sun, 30 Oct 2022 15:33:59 -0700 (PDT) Received: from localhost.localdomain ([185.126.107.38]) by smtp.gmail.com with ESMTPSA id k6-20020a05600c1c8600b003b4e009deb2sm6078461wms.41.2022.10.30.15.33.58 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 30 Oct 2022 15:33:59 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Aleksandar Rikalo , Huacai Chen , Stefan Pejic , Jiaxun Yang , Aurelien Jarno , Paul Burton , Bernhard Beschow Subject: [PULL 48/55] hw/mips/malta: Reuse dev variable Date: Sun, 30 Oct 2022 23:28:34 +0100 Message-Id: <20221030222841.42377-49-philmd@linaro.org> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221030222841.42377-1-philmd@linaro.org> References: <20221030222841.42377-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::333; envelope-from=philmd@linaro.org; helo=mail-wm1-x333.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Qemu-devel" Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Bernhard Beschow While at it, move the assignments closer to where they are used. Signed-off-by: Bernhard Beschow Reviewed-by: Philippe Mathieu-Daudé Message-Id: <20221022150508.26830-26-shentey@gmail.com> Signed-off-by: Philippe Mathieu-Daudé --- hw/mips/malta.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/hw/mips/malta.c b/hw/mips/malta.c index 5099ed9592..6ac811763c 100644 --- a/hw/mips/malta.c +++ b/hw/mips/malta.c @@ -1237,7 +1237,6 @@ void mips_malta_init(MachineState *machine) MaltaState *s; PCIDevice *piix4; DeviceState *dev; - DeviceState *pm_dev; s = MIPS_MALTA(qdev_new(TYPE_MIPS_MALTA)); sysbus_realize_and_unref(SYS_BUS_DEVICE(s), &error_fatal); @@ -1403,13 +1402,13 @@ void mips_malta_init(MachineState *machine) TYPE_PIIX4_PCI_DEVICE); dev = DEVICE(piix4); isa_bus = ISA_BUS(qdev_get_child_bus(dev, "isa.0")); - pm_dev = DEVICE(object_resolve_path_component(OBJECT(dev), "pm")); - smbus = I2C_BUS(qdev_get_child_bus(pm_dev, "i2c")); /* Interrupt controller */ qdev_connect_gpio_out_named(dev, "intr", 0, i8259_irq); /* generate SPD EEPROM data */ + dev = DEVICE(object_resolve_path_component(OBJECT(piix4), "pm")); + smbus = I2C_BUS(qdev_get_child_bus(dev, "i2c")); generate_eeprom_spd(&smbus_eeprom_buf[0 * 256], ram_size); generate_eeprom_serial(&smbus_eeprom_buf[6 * 256]); smbus_eeprom_init(smbus, 8, smbus_eeprom_buf, smbus_eeprom_size); From patchwork Sun Oct 30 22:28:35 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 13025285 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 5D18DC38A02 for ; Sun, 30 Oct 2022 22:38:00 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1opGuQ-0001qI-AK; Sun, 30 Oct 2022 18:36:02 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1opGsd-0005Ig-5P for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:34:14 -0400 Received: from mail-wr1-x434.google.com ([2a00:1450:4864:20::434]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1opGsY-0000OG-Vg for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:34:09 -0400 Received: by mail-wr1-x434.google.com with SMTP id z14so13655069wrn.7 for ; Sun, 30 Oct 2022 15:34:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=AeceXebbTCqhMDIWf5l9/ntivZNvVvQcs82WFQga+Os=; b=V4tFbjwxvmJKhE5MKcOLVoR49P/MomlsVikisBs0OdQ+8+NpkRR/phsqKe1dmQ5D8O O+xJCxO/hwEOdvCTru+bCIOBFb2q2gD4L00O4CixBv8sd/5BCTJsdC5UY0+1l5+kYKOW r+8QeY4eEOIjDTPRwhmLjEcscNjkJmm4aZC+FZ0XPuLrZYIARYvibnLYtxwUrA/Bbjqw 5RsMdo3m+fnvDtNMam941/ZPgjMafv/mX7zY1lFI4mh5qkffEi/rcvtgAYcXda/lkXqv FKA1G0mL3EXFoeSMLgTALntYUPOEY0ZpFeiyn47z2/+2YC/jsnDtccmw58fnTfHhddja blcA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=AeceXebbTCqhMDIWf5l9/ntivZNvVvQcs82WFQga+Os=; b=SpUQNnickBi42KjhmfqCVuTBVVrNyY3HTVuBVVfko9XI4AkyrrW/GmCD0QCepAliwc N/DKcKE4Gksc9q+a1I1jW1pA8RpP2Vy3tyoJrOWnWCT9nnRl7XOsqgucs+LzNPQawe+x RVvEOmgA8lkqSWlbqGuR6+5bKB9p4i66wIq8HwlajCeTcEAoJKb1X4CNsXlyLCKHfN2T voBxTvBjAMNiwJO9rhDloPXlGSEq9MFzm85wPCk/U7c5GlgVxw4vSp4I6qBX4tpcbV4N 3ayQRiak3WlztDAX7emahB3iduGV6+K5hkYg9mH9vXsduMoJX2Vt3MePi6ME/7gVxePe QjQQ== X-Gm-Message-State: ACrzQf1vDsjBddq5aIuukL6Fe5QqT01dqD2zleHVmNvAr3xNZBr0dw/j 63ykrWffMbr/S5zGMBVDCpZIS1w/crm+lw== X-Google-Smtp-Source: AMsMyM5nxW6i+7zoiZxl7UKFYQVCGL4kO4G5iYCvDS6o2ikvsA5v4uaYHSQ/cJesdBbjVZVh4eHWeg== X-Received: by 2002:a05:6000:1a85:b0:230:f67b:da03 with SMTP id f5-20020a0560001a8500b00230f67bda03mr6334114wry.296.1667169245455; Sun, 30 Oct 2022 15:34:05 -0700 (PDT) Received: from localhost.localdomain ([185.126.107.38]) by smtp.gmail.com with ESMTPSA id bp7-20020a5d5a87000000b00236545edc91sm5288696wrb.76.2022.10.30.15.34.04 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 30 Oct 2022 15:34:05 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Aleksandar Rikalo , Huacai Chen , Stefan Pejic , Jiaxun Yang , Aurelien Jarno , Paul Burton , Bernhard Beschow Subject: [PULL 49/55] hw/isa/Kconfig: Fix dependencies of piix4 southbridge Date: Sun, 30 Oct 2022 23:28:35 +0100 Message-Id: <20221030222841.42377-50-philmd@linaro.org> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221030222841.42377-1-philmd@linaro.org> References: <20221030222841.42377-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::434; envelope-from=philmd@linaro.org; helo=mail-wr1-x434.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Qemu-devel" Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Bernhard Beschow Signed-off-by: Bernhard Beschow Message-Id: <20221022150508.26830-27-shentey@gmail.com> Signed-off-by: Philippe Mathieu-Daudé --- configs/devices/mips-softmmu/common.mak | 1 - hw/isa/Kconfig | 6 ++++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/configs/devices/mips-softmmu/common.mak b/configs/devices/mips-softmmu/common.mak index d2202c839e..416161f833 100644 --- a/configs/devices/mips-softmmu/common.mak +++ b/configs/devices/mips-softmmu/common.mak @@ -23,7 +23,6 @@ CONFIG_APM=y CONFIG_I8257=y CONFIG_PIIX4=y CONFIG_IDE_ISA=y -CONFIG_IDE_PIIX=y CONFIG_PFLASH_CFI01=y CONFIG_I8259=y CONFIG_MC146818RTC=y diff --git a/hw/isa/Kconfig b/hw/isa/Kconfig index 60aad28800..18b5c6bf3f 100644 --- a/hw/isa/Kconfig +++ b/hw/isa/Kconfig @@ -40,7 +40,13 @@ config PIIX4 bool # For historical reasons, SuperIO devices are created in the board # for PIIX4. + select ACPI_PIIX4 + select I8254 + select I8257 + select I8259 + select IDE_PIIX select ISA_BUS + select MC146818RTC select USB_UHCI config VT82C686 From patchwork Sun Oct 30 22:28:36 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 13025280 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id BC86DFA3743 for ; Sun, 30 Oct 2022 22:37:29 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1opGuR-0001y0-4O; Sun, 30 Oct 2022 18:36:03 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1opGsi-0005PJ-LH for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:34:20 -0400 Received: from mail-wr1-x42f.google.com ([2a00:1450:4864:20::42f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1opGsg-0000LG-28 for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:34:15 -0400 Received: by mail-wr1-x42f.google.com with SMTP id a14so13676280wru.5 for ; Sun, 30 Oct 2022 15:34:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=D4JFrtWXcU/SpTQigs0Qb72fyYGn0igOywH9P8OaWUU=; b=hplX4vP2EOdsWa3efO4oJhHL6GRD9waUhE7Tlvjt9lMrxWUwF9vIvXCxt3041a7OO5 NINuuo4EGDUDNfDm3GIn35g57zhm8zpMlQD9mkpbGj5Sc/JHNN3KXf5PmKxbLlGLe7tP ya5CVB68ESalHw+mfPoMry6o9WOEmbX6Cidki5N5vlQK+easPrE+v6oAt4fDg+2tS8qa HzfMKytDUHSALW/M/P2fB/SY2cayCLGLg3c3QEuLlmPxOUX7pxca//pMr9qkiA+RC0Bd v0961pRv2sarUcptsyHovh90bTlEah3WHmpaGClvFarOgDSPg53KzLRSDpRcUNeVVCo6 Flzg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=D4JFrtWXcU/SpTQigs0Qb72fyYGn0igOywH9P8OaWUU=; b=sc+sUs8n+nAirWtzD93lo0jxJpRD/PwO8H3HYot827xxAZeE3JlBAofVSiNSbBAbce Gix7Ejp5gtOdBWVjOP11TB194PI8TnXgDXe+6KC3hYpJ73UiHNOZ4DKPI3A/2ufej/7U 2XTSgcllTEqZmVfWLM4Yj8/DpDOjkXU/JK50OpEI0crM5GAx4lSBaHQrrPJ5sNQ0kNeY 04nGZvbBnNeaAoHiCFBuJgNXUuPCqah73jb0PTgYzTAwi7+ClvVUgLZkgGqk50NHUilb rFqpHWKHOXC26BikP4qdmKfaB/jJhxj/hPPaVxLtKwd/Zk7dbmbQEV16YlwAOdqIqTXt +c9w== X-Gm-Message-State: ACrzQf2rlyE03g/eC9I5vYXhBOGTYEis4xSYno4+ZELyyQRpDHaOoMsj GCVmiSz6z00SnkoHGNPMZcwE4Sb+SW1Ezg== X-Google-Smtp-Source: AMsMyM6m3xUcXsynwkZvdaetB0rGYW38FnuzHrJILJvzOFbVX7Al4pBYPW7NGk9rlXPztheOg7zDkw== X-Received: by 2002:a05:6000:1b0e:b0:236:5c9e:7110 with SMTP id f14-20020a0560001b0e00b002365c9e7110mr6224171wrz.650.1667169252175; Sun, 30 Oct 2022 15:34:12 -0700 (PDT) Received: from localhost.localdomain ([185.126.107.38]) by smtp.gmail.com with ESMTPSA id bj12-20020a0560001e0c00b0022e55f40bc7sm5268101wrb.82.2022.10.30.15.34.10 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 30 Oct 2022 15:34:11 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Aleksandar Rikalo , Huacai Chen , Stefan Pejic , Jiaxun Yang , Aurelien Jarno , Paul Burton , Bernhard Beschow Subject: [PULL 50/55] hw/isa/piix4: Add missing initialization Date: Sun, 30 Oct 2022 23:28:36 +0100 Message-Id: <20221030222841.42377-51-philmd@linaro.org> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221030222841.42377-1-philmd@linaro.org> References: <20221030222841.42377-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42f; envelope-from=philmd@linaro.org; helo=mail-wr1-x42f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Qemu-devel" Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Bernhard Beschow PIIX3 clears its reset control register, so do the same in PIIX4. Signed-off-by: Bernhard Beschow Message-Id: <20221022150508.26830-28-shentey@gmail.com> Signed-off-by: Philippe Mathieu-Daudé --- hw/isa/piix4.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/hw/isa/piix4.c b/hw/isa/piix4.c index e05e65d3bc..9126eb9edf 100644 --- a/hw/isa/piix4.c +++ b/hw/isa/piix4.c @@ -140,6 +140,8 @@ static void piix4_isa_reset(DeviceState *dev) pci_conf[0xab] = 0x00; pci_conf[0xac] = 0x00; pci_conf[0xae] = 0x00; + + d->rcr = 0; } static int piix4_post_load(void *opaque, int version_id) From patchwork Sun Oct 30 22:28:37 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 13025284 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 11D88C38A02 for ; Sun, 30 Oct 2022 22:37:49 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1opGuS-00024t-4Y; Sun, 30 Oct 2022 18:36:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1opGso-0005Yu-J3 for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:34:23 -0400 Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1opGsm-0000NC-9F for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:34:21 -0400 Received: by mail-wr1-x436.google.com with SMTP id o4so13675998wrq.6 for ; Sun, 30 Oct 2022 15:34:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=JUlrjLC/LAC7Ijn15DnykEeyXV+ARRHqV/ZNxwn5z5k=; b=A0EGfOIA1Sc0wB0vKN+9GjKghF3F9CJyQch4EuwrEYx3Km2d/kuVmjvFOIrXZHOXrG KAKaN71dy2hniBo4BMdyIOTtwNJoPh6P3T5Ys2Q53D9kxzQeYnjZqb9h1Pi/w+Hxq09i gE2mweNUinNus6UufRj8z2gxGfjdXkhmvW+i0pTG9zAi20om1WR/tFyC3JKTAaP+Vty9 B6PomGf1+SqeAoglMfo7BgviPDWp/wLuhqbZVv7AgbA/RMNItN7tDxl//KVbt0c0d5o3 xrPSjn73t+SydSX+HpUGbkOzko8r3tHYx3QOcnIIcx1025BlB9K79CtF0rebSvL1yzYL POUg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=JUlrjLC/LAC7Ijn15DnykEeyXV+ARRHqV/ZNxwn5z5k=; b=0sTa6UkK4h3nbX2HrwE1q31oCbnbgTs1bCsCZ/piV70FUJw0ajzlW+RFF78sHc/65M NdFFm/PBPDQbpkwJlkwyCCnrb2KxHK7OPGu5s17P1f7ysydtIJ50xFSsGImO38Qw8/9w CXWkOj+xg6096a9T4c0jjl6vixeJD0GwWSMwBcJW9nIvETruzKJOc3OGL9YV3ATpwPI4 o8mhAVuqAgDP+XgV+DKMU4VOG/FjOpr2egNSi8uBKjk4Ka2zjBBBG+ffE6wxx7VKQ4wp wHcYhZVV3+CJWSToVyr6W7sY6vWJbQtYj9ESEXt+tKPhhoOvoca+7FrkBYewID6rnzgi ok4w== X-Gm-Message-State: ACrzQf2UavrVIxrV1+jumvAP/F/8HtCbPGo+3rjgQXgUTTKut3nWwJ8z 8JtyYjd7s/SCz0TaBda5e1z7ef4D73rfKQ== X-Google-Smtp-Source: AMsMyM6DnOSLvsJDJzLuz/TUwnM+dWdj6LcD48clGIRa8YVHSS7Kq7f8tHgvbNzdawqc6M/+o1aeVA== X-Received: by 2002:a5d:61c9:0:b0:236:781a:8d7e with SMTP id q9-20020a5d61c9000000b00236781a8d7emr6106517wrv.576.1667169258338; Sun, 30 Oct 2022 15:34:18 -0700 (PDT) Received: from localhost.localdomain ([185.126.107.38]) by smtp.gmail.com with ESMTPSA id t16-20020adff610000000b0023538fb27c1sm5227015wrp.85.2022.10.30.15.34.16 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 30 Oct 2022 15:34:17 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Aleksandar Rikalo , Huacai Chen , Stefan Pejic , Jiaxun Yang , Aurelien Jarno , Paul Burton , Bernhard Beschow , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Subject: [PULL 51/55] hw/isa/piix4: Move pci_ide_create_devs() call to board code Date: Sun, 30 Oct 2022 23:28:37 +0100 Message-Id: <20221030222841.42377-52-philmd@linaro.org> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221030222841.42377-1-philmd@linaro.org> References: <20221030222841.42377-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::436; envelope-from=philmd@linaro.org; helo=mail-wr1-x436.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Qemu-devel" Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Bernhard Beschow For the VIA south bridges there was a comment to have the call in board code. Move it there for PIIX4 as well for consistency. Signed-off-by: Bernhard Beschow Reviewed-by: Philippe Mathieu-Daudé Message-Id: <20221022150508.26830-29-shentey@gmail.com> Signed-off-by: Philippe Mathieu-Daudé --- hw/isa/piix4.c | 1 - hw/mips/malta.c | 10 ++++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/hw/isa/piix4.c b/hw/isa/piix4.c index 9126eb9edf..8fc1db6dc9 100644 --- a/hw/isa/piix4.c +++ b/hw/isa/piix4.c @@ -257,7 +257,6 @@ static void piix4_realize(PCIDevice *dev, Error **errp) if (!qdev_realize(DEVICE(&s->ide), BUS(pci_bus), errp)) { return; } - pci_ide_create_devs(PCI_DEVICE(&s->ide)); /* USB */ qdev_prop_set_int32(DEVICE(&s->uhci), "addr", dev->devfn + 2); diff --git a/hw/mips/malta.c b/hw/mips/malta.c index 6ac811763c..5a4e2abbdf 100644 --- a/hw/mips/malta.c +++ b/hw/mips/malta.c @@ -39,7 +39,7 @@ #include "hw/pci/pci.h" #include "qemu/log.h" #include "hw/mips/bios.h" -#include "hw/ide.h" +#include "hw/ide/pci.h" #include "hw/irq.h" #include "hw/loader.h" #include "elf.h" @@ -1400,11 +1400,13 @@ void mips_malta_init(MachineState *machine) /* Southbridge */ piix4 = pci_create_simple_multifunction(pci_bus, PCI_DEVFN(10, 0), true, TYPE_PIIX4_PCI_DEVICE); - dev = DEVICE(piix4); - isa_bus = ISA_BUS(qdev_get_child_bus(dev, "isa.0")); + isa_bus = ISA_BUS(qdev_get_child_bus(DEVICE(piix4), "isa.0")); + + dev = DEVICE(object_resolve_path_component(OBJECT(piix4), "ide")); + pci_ide_create_devs(PCI_DEVICE(dev)); /* Interrupt controller */ - qdev_connect_gpio_out_named(dev, "intr", 0, i8259_irq); + qdev_connect_gpio_out_named(DEVICE(piix4), "intr", 0, i8259_irq); /* generate SPD EEPROM data */ dev = DEVICE(object_resolve_path_component(OBJECT(piix4), "pm")); From patchwork Sun Oct 30 22:28:38 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 13025282 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 21733FA3745 for ; Sun, 30 Oct 2022 22:37:30 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1opGuS-0002CL-Sz; Sun, 30 Oct 2022 18:36:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1opGt2-0006FJ-FJ for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:34:37 -0400 Received: from mail-wr1-x430.google.com ([2a00:1450:4864:20::430]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1opGss-0000Po-Mc for qemu-devel@nongnu.org; Sun, 30 Oct 2022 18:34:35 -0400 Received: by mail-wr1-x430.google.com with SMTP id g12so13657846wrs.10 for ; Sun, 30 Oct 2022 15:34:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=goKoxPsgu6fb0v9OXKt6oq3b6m96eLVrsKKxut7D+Ho=; b=rsmw6eMbikVNZzTvtnof/90P4rE3rUeTYNNXUvlZB3tbG67gTDvPE+S+j9eEWlbN1f 0ZczidapS4H1PfcT8dAmoH5ADgo+FCxf+pesZryfoZf6BvXes2WZKYbtDN8Korr69JNw 9WFMHKGHdu5jmfboP9cS4gdizfKSyJa0zVJ7f1DS04tdrkHHmrLBo7sM/2WBM1Ro5ojL caX9Qzh+/QebKEydDVbQIcgsf+LbGpU87Wmix4SQxG2k5rv6mqVeE43KwvRRADFwOMBs PRyXhNCLfz8eTkn5cmrL3Rnvozu/rUiZ9hij8j/tYyU0SIhoC/LTh+FmVWw68eEqIk6D gZTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=goKoxPsgu6fb0v9OXKt6oq3b6m96eLVrsKKxut7D+Ho=; b=Z5kxHfZfbzA5HiQuckSaipbAHP3dGAf0aP3Hk4VQAHsxCPjrHKx0602HnNFJyrdApD n6yvLBAHjIxqC1DMGygFaaUlAjSf+Pv325HvUQiGUiYxWsIQUJeWxVCukMHi4eMDEOMT QDPHcuYHsOMxy70rizGkBQMU1X7ZB/D6/gsAPqZVaXr1INKhd398m7nch6mhO/WUp+wg Z4vtX87elZCopa7HLqeYiT+PcS32EwidXPjqmy6SgiUeA6fMa0jx7GSdKQJ5kGS8smr8 /14h/xaXX29QhIn6JwlqeGcmUvSaa6HlFKplefo6GB7YdOs57F+k0TC3fEXhAVAed2gr woqg== X-Gm-Message-State: ACrzQf1VrMV4SZxL3tTB8t2+Q2wRJcIWYnAGzf02465hFGvEqbrlV/uh 5xT5uYPCaPWw7fpgEka5+QsVMwN/Sld2bw== X-Google-Smtp-Source: AMsMyM6CNC4wVX6X7gGUEz79aT1CW46Zw3pLWAOCQ4rfjEVZWFihwGT+8a5x5rvL6eXieseVB1VieA== X-Received: by 2002:adf:f989:0:b0:236:5730:62f1 with SMTP id f9-20020adff989000000b00236573062f1mr5998100wrr.98.1667169264808; Sun, 30 Oct 2022 15:34:24 -0700 (PDT) Received: from localhost.localdomain ([185.126.107.38]) by smtp.gmail.com with ESMTPSA id iv9-20020a05600c548900b003a84375d0d1sm5536087wmb.44.2022.10.30.15.34.23 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 30 Oct 2022 15:34:24 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Aleksandar Rikalo , Huacai Chen , Stefan Pejic , Jiaxun Yang , Aurelien Jarno , Paul Burton Subject: [PULL 52/55] hw/mips/boston: Don't set link_up for xilinx-pcie Date: Sun, 30 Oct 2022 23:28:38 +0100 Message-Id: <20221030222841.42377-53-philmd@linaro.org> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221030222841.42377-1-philmd@linaro.org> References: <20221030222841.42377-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::430; envelope-from=philmd@linaro.org; helo=mail-wr1-x430.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Qemu-devel" Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Jiaxun Yang PCIe port 0 and 1 had link_up set as false previously, that makes those two ports effectively useless. It can be annoying for users to find that the device they plug on those buses won't work at all. As link_up is true by default, just don't set it again in boston platform code. Signed-off-by: Jiaxun Yang Message-Id: <20221024143540.97545-1-jiaxun.yang@flygoat.com> Signed-off-by: Philippe Mathieu-Daudé --- hw/mips/boston.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/hw/mips/boston.c b/hw/mips/boston.c index d2ab9da1a0..aa7942bbc0 100644 --- a/hw/mips/boston.c +++ b/hw/mips/boston.c @@ -424,7 +424,7 @@ static inline XilinxPCIEHost * xilinx_pcie_init(MemoryRegion *sys_mem, uint32_t bus_nr, hwaddr cfg_base, uint64_t cfg_size, hwaddr mmio_base, uint64_t mmio_size, - qemu_irq irq, bool link_up) + qemu_irq irq) { DeviceState *dev; MemoryRegion *cfg, *mmio; @@ -436,7 +436,6 @@ xilinx_pcie_init(MemoryRegion *sys_mem, uint32_t bus_nr, qdev_prop_set_uint64(dev, "cfg_size", cfg_size); qdev_prop_set_uint64(dev, "mmio_base", mmio_base); qdev_prop_set_uint64(dev, "mmio_size", mmio_size); - qdev_prop_set_bit(dev, "link_up", link_up); sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal); @@ -729,21 +728,21 @@ static void boston_mach_init(MachineState *machine) boston_memmap[BOSTON_PCIE0].size, boston_memmap[BOSTON_PCIE0_MMIO].base, boston_memmap[BOSTON_PCIE0_MMIO].size, - get_cps_irq(&s->cps, 2), false); + get_cps_irq(&s->cps, 2)); xilinx_pcie_init(sys_mem, 1, boston_memmap[BOSTON_PCIE1].base, boston_memmap[BOSTON_PCIE1].size, boston_memmap[BOSTON_PCIE1_MMIO].base, boston_memmap[BOSTON_PCIE1_MMIO].size, - get_cps_irq(&s->cps, 1), false); + get_cps_irq(&s->cps, 1)); pcie2 = xilinx_pcie_init(sys_mem, 2, boston_memmap[BOSTON_PCIE2].base, boston_memmap[BOSTON_PCIE2].size, boston_memmap[BOSTON_PCIE2_MMIO].base, boston_memmap[BOSTON_PCIE2_MMIO].size, - get_cps_irq(&s->cps, 0), true); + get_cps_irq(&s->cps, 0)); platreg = g_new(MemoryRegion, 1); memory_region_init_io(platreg, NULL, &boston_platreg_ops, s,