From patchwork Sun Dec 24 10:24:19 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mike Frysinger X-Patchwork-Id: 82818 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 348C33858429 for ; Sun, 24 Dec 2023 10:24:53 +0000 (GMT) X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) by sourceware.org (Postfix) with ESMTP id BCCDB3858D3C for ; Sun, 24 Dec 2023 10:24:20 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org BCCDB3858D3C Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gentoo.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gentoo.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org BCCDB3858D3C Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=140.211.166.183 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1703413462; cv=none; b=rq/qHg4yHsjNDeLPvybRTcoyQfVb1isVVaUGgjj7JVnxZjuHEzQVYU8cv2tRecK9PPhmEwREt4QZxFAOBrEMNfq7C5cNPRfNR0QptlqKSPSlhlJ/mZetcnyZxYSTe1e2TMIwqsn1zjguljGhVyHkMonxIIvuPqeIOKpZd1xiQiE= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1703413462; c=relaxed/simple; bh=spC4oQAUpH8MODeuaX0/7lYH2LWJtGBmDBifydbWBWk=; h=From:To:Subject:Date:Message-ID:MIME-Version; b=L26xlOEpB24lBwMCETXLm6pWCOBx6Lz2Fs2JaHKceRd3Af1U9uHEGLpksRxuF2z29Sc03qIePMDVSeAh2e3CEGgFHAcZ3nAPxVum1E2j1Zc8NcEGEoI9C5Z9YW3rXN3zGlXYdhrt1jYKwIa21/4lVcAXu8DiEZz8yicM5pNe4JI= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by smtp.gentoo.org (Postfix, from userid 559) id 54E3533D9AD; Sun, 24 Dec 2023 10:24:20 +0000 (UTC) From: Mike Frysinger To: gdb-patches@sourceware.org Subject: [PATCH] sim: frv: fix cmpb uninitialized variable usage Date: Sun, 24 Dec 2023 05:24:19 -0500 Message-ID: <20231224102419.24315-1-vapier@gentoo.org> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 X-Spam-Status: No, score=-11.3 required=5.0 tests=BAYES_00, GIT_PATCH_0, JMQ_SPF_NEUTRAL, KAM_DMARC_STATUS, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_PASS, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces+patchwork=sourceware.org@sourceware.org This code sets up the cc variable based on the comparison of other registers, but it does so incrementally with bit operations, and it never initializes the cc variable. Initialize it to 0 which the cmpba insn is already doing. --- cpu/frv.cpu | 1 + sim/frv/sem.c | 1 + 2 files changed, 2 insertions(+) diff --git a/cpu/frv.cpu b/cpu/frv.cpu index cdb169eddc1c..d2fe7c602cc3 100644 --- a/cpu/frv.cpu +++ b/cpu/frv.cpu @@ -4266,6 +4266,7 @@ "cmpb$pack $GRi,$GRj,$ICCi_1" (+ pack (GRk-null) OP_00 GRi ICCi_1 OPE2_0C GRj) (sequence ((QI cc)) + (set cc 0) (set-n cc (eq (and GRi #xff000000) (and GRj #xff000000))) (set-z cc (eq (and GRi #x00ff0000) (and GRj #x00ff0000))) (set-v cc (eq (and GRi #x0000ff00) (and GRj #x0000ff00))) diff --git a/sim/frv/sem.c b/sim/frv/sem.c index 20ac47be7642..cf47aff7c39b 100644 --- a/sim/frv/sem.c +++ b/sim/frv/sem.c @@ -3055,6 +3055,7 @@ SEM_FN_NAME (frvbf,cmpb) (SIM_CPU *current_cpu, SEM_ARG sem_arg) { QI tmp_cc; + tmp_cc = 0; if (EQBI (EQSI (ANDSI (GET_H_GR (FLD (f_GRi)), 0xff000000), ANDSI (GET_H_GR (FLD (f_GRj)), 0xff000000)), 0)) { tmp_cc = ANDQI (tmp_cc, 7); } else {