Message ID | 20231120140635.3642601-1-jremus@linux.ibm.com |
---|---|
Headers |
Return-Path: <binutils-bounces+ouuuleilei=gmail.com@sourceware.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9910:0:b0:403:3b70:6f57 with SMTP id i16csp2222672vqn; Mon, 20 Nov 2023 06:06:49 -0800 (PST) X-Google-Smtp-Source: AGHT+IHWxaDoeQxc7vggMIofyTcjGHOfH+ibce6goq94Vwie9T58oaP/LO0zOv6+rvLwOTMFAA+v X-Received: by 2002:a05:622a:1487:b0:421:c7a8:d376 with SMTP id t7-20020a05622a148700b00421c7a8d376mr10920434qtx.6.1700489209689; Mon, 20 Nov 2023 06:06:49 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1700489209; cv=pass; d=google.com; s=arc-20160816; b=kIOESfG4IXiadY3XVuzsCya+BjyMpj0xZmJioWjtkpmNKTTLQSnzaY5Ldlt+gq9mPi GcOTX6w9KoxiO3+7INUGW2TYOgKFipacJ3WJnnI9+8UPE7YQtwS88V/1ju7wRaZy0Klg 1veL1+6/JlNbXb5HEdJcEjcFI0pgeqtEpcAtNHScPvpEQvKsVm5v9EWL8K7uolQzR8NO bnFc0RN+oZyje6yvH4MJvptvvMGjuFgm3/DPrMPPkSwh2YqQioNfhZdDmfBpahidNaV6 5wjdIBNix4o96cl0EKjveAslIRZ+hD23WTT9PR/Zth6hUTsjqLGmj2MyxLsxzeJi+tdf bcNg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:message-id:date:subject:cc:to:from:dkim-signature :arc-filter:dmarc-filter:delivered-to; bh=ygIOggxvu7zcGcjGKbLlaOg59DOhey2rKk9i1TOVax4=; fh=6sWHPsCQUoLz5ZcbqIohOjwdU7jjRT/citiAJwaEf0c=; b=KahC96UAQ9RqLFn7rg/6d0N95it/VxUE7oUdYUP+UoARumxZVlqwrVwFRq0srAYi1e 8sQjXz8CRINVm438cymteVS+u3QRI46O1Bydd8x88pc9H7/sajmorpN5/EX7+DTAcazN xc+M1cr5jlnITCEI1XbwdURM2R/bXPsJD46VWzVbd6yAqXHZddlaX/HphCAIAd9KxG/z p8SEcc3I0uCpL8zQXo1AQionrg0pJ9HpgOwOSJJeGQ8Ry7g7wTl+VcsMsOOadq9b1KdE kOx/1ZWvqZpxmoJGtlXTjtDZ9z5/zddy0FG6XLRlsIG1ut4mkZCb8+W0RSDxLIUzAtLg a12Q== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@ibm.com header.s=pp1 header.b=BxT6BIS2; arc=pass (i=1); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org"; dmarc=pass (p=REJECT sp=NONE dis=NONE) header.from=ibm.com Received: from server2.sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id c20-20020ac87d94000000b0041820a6d5f2si7027054qtd.714.2023.11.20.06.06.49 for <ouuuleilei@gmail.com> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Nov 2023 06:06:49 -0800 (PST) Received-SPF: pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@ibm.com header.s=pp1 header.b=BxT6BIS2; arc=pass (i=1); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org"; dmarc=pass (p=REJECT sp=NONE dis=NONE) header.from=ibm.com Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 75686385773E for <ouuuleilei@gmail.com>; Mon, 20 Nov 2023 14:06:49 +0000 (GMT) X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) by sourceware.org (Postfix) with ESMTPS id 7F28538582B6 for <binutils@sourceware.org>; Mon, 20 Nov 2023 14:06:43 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 7F28538582B6 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=linux.ibm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linux.ibm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 7F28538582B6 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=148.163.158.5 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1700489205; cv=none; b=CHgIvhh46b8YhplS1z5/Kk8VVJjhBbef4Ebpl1tKsWS0MH8otjiupq3A6+X95GKWlRaXT6ZWrw+SLp+DQeM7v1MSrL2zq0x7YUNRJP7J6aS2A0EC1FdpcQbezZS9H9vhmkp/V8CfjFpydfzc3WdXPE1/ihUuBLTL3fPQ8DP3EDE= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1700489205; c=relaxed/simple; bh=ErlFK15xcREfHMdQ0X1H+twzGOmb3FQp3NHCmziwGYw=; h=DKIM-Signature:From:To:Subject:Date:Message-Id:MIME-Version; b=hk1B3GdLij6yqWwC89SGrTNnGeMyzaQ0NmSGIUG5kyW8LJJZ4/AtvD4t9kYBtmMUYjYWfCPxyF7lnmohVnk5IGgj2AtTAzuqnRyrzb8VKplrLUak92c5uX0r1gn7PdLWvprn9eR6GstGHv0O0AQycpGFY1cjxt1FpbpZLv+m43Y= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from pps.filterd (m0353724.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 3AKDAAwD005011 for <binutils@sourceware.org>; Mon, 20 Nov 2023 14:06:43 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from : to : cc : subject : date : message-id : mime-version : content-transfer-encoding; s=pp1; bh=ygIOggxvu7zcGcjGKbLlaOg59DOhey2rKk9i1TOVax4=; b=BxT6BIS2FvgULxjtqDUsiiN5TjUMZvhczeZ1vCA2EJDOWTpsSEi46aERK0ouNcZ6imXZ 506tnK6Mt83+n86h6cA7g2azm/QPCjUGSGeRBVcOYJlVfbc4VjofVzVVDOYd2bUw/JVD 32xQKKFPFQme5MvTyF2Fp9fkdTE7B54PJ8SSmbkZsu86hn1qItu7mwS7QUXPH7LDqqex g8st1cISf/onVd+LtUzg47GwJXvd5N8p3wthOjEaVOALTRwG+1zuxudct4QMSGrZWJZh YB7ANfQZUPVnbb2UJHbeLXLapATlaW0F161/21sJ60/1OtWqU/8NekZmn3Bzk+IjXwCO JQ== Received: from ppma13.dal12v.mail.ibm.com (dd.9e.1632.ip4.static.sl-reverse.com [50.22.158.221]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3ug83jsgxa-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for <binutils@sourceware.org>; Mon, 20 Nov 2023 14:06:42 +0000 Received: from pps.filterd (ppma13.dal12v.mail.ibm.com [127.0.0.1]) by ppma13.dal12v.mail.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 3AKDPpxU013979 for <binutils@sourceware.org>; Mon, 20 Nov 2023 14:06:42 GMT Received: from smtprelay05.fra02v.mail.ibm.com ([9.218.2.225]) by ppma13.dal12v.mail.ibm.com (PPS) with ESMTPS id 3uf9tk16a6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for <binutils@sourceware.org>; Mon, 20 Nov 2023 14:06:41 +0000 Received: from smtpav07.fra02v.mail.ibm.com (smtpav07.fra02v.mail.ibm.com [10.20.54.106]) by smtprelay05.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 3AKE6dvn18678428 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 20 Nov 2023 14:06:39 GMT Received: from smtpav07.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id E95BC20043; Mon, 20 Nov 2023 14:06:38 +0000 (GMT) Received: from smtpav07.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id C8C7520040; Mon, 20 Nov 2023 14:06:38 +0000 (GMT) Received: from tuxmaker.boeblingen.de.ibm.com (unknown [9.152.85.9]) by smtpav07.fra02v.mail.ibm.com (Postfix) with ESMTP; Mon, 20 Nov 2023 14:06:38 +0000 (GMT) From: Jens Remus <jremus@linux.ibm.com> To: binutils@sourceware.org Cc: Jens Remus <jremus@linux.ibm.com>, Andreas Krebbel <krebbel@linux.ibm.com> Subject: [PATCH 0/6] s390: Add missing extended mnemonics Date: Mon, 20 Nov 2023 15:06:29 +0100 Message-Id: <20231120140635.3642601-1-jremus@linux.ibm.com> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-TM-AS-GCONF: 00 X-Proofpoint-ORIG-GUID: CO0mYmHnZeiMZhEXtgSW8PpcqSnKyymF X-Proofpoint-GUID: CO0mYmHnZeiMZhEXtgSW8PpcqSnKyymF X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-11-20_13,2023-11-20_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 adultscore=0 clxscore=1011 suspectscore=0 mlxlogscore=277 spamscore=0 lowpriorityscore=0 impostorscore=0 priorityscore=1501 bulkscore=0 phishscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311060000 definitions=main-2311200097 X-Spam-Status: No, score=-3.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_EF, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, 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: binutils@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Binutils mailing list <binutils.sourceware.org> List-Unsubscribe: <https://sourceware.org/mailman/options/binutils>, <mailto:binutils-request@sourceware.org?subject=unsubscribe> List-Archive: <https://sourceware.org/pipermail/binutils/> List-Post: <mailto:binutils@sourceware.org> List-Help: <mailto:binutils-request@sourceware.org?subject=help> List-Subscribe: <https://sourceware.org/mailman/listinfo/binutils>, <mailto:binutils-request@sourceware.org?subject=subscribe> Errors-To: binutils-bounces+ouuuleilei=gmail.com@sourceware.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783092173450111134 X-GMAIL-MSGID: 1783092173450111134 |
Series |
s390: Add missing extended mnemonics
|
|
Message
Jens Remus
Nov. 20, 2023, 2:06 p.m. UTC
This patch series adds the following extended mnemonics (grouped by function) to the s390 target architecture: - jc, jcth - lfi, llgfi, llghi - notr, notgr - risbhgz, risblgz - rnsbgt, rosbgt, rxsbgt Additionally the patch series aligns the definition of optional last operands to the specification in the z/Architecture Principles of Operation. Option optparm is added to the following existing (extended) mnemonics: - risbg, risbgz, risbgn, risbgnz - risbhg, risblg - rnsbg, rosbg, rxsbg Patches 1-3 are preparatory changes. Patch 4 aligns the optional operand definition. Patch 5 adds the missing extended mnemonics. Patch 6 corrects an instruction name. Patch 1 implements an enhancement to use regular expressions with back references to validate the disassembly of instructions with relative addressing. This removes the need to update most relative addresses in the golden master files the disassembly is checked against when inserting new tests. Patch 3 enhances the definition of the operand indices, so that new operands can be inserted into the operand table without having to renumber any indices. This minimizes future hunks that insert new operands, such as those introduced by patch 5. Thanks and regards, Jens Jens Remus (6): s390: Position independent verification of relative addressing s390: Add brasl edge test cases from ESA to z/Architecture s390: Make operand table indices relative to each other s390: Align optional operand definition to specs s390: Add missing extended mnemonics s390: Correct prno instruction name gas/config/tc-s390.c | 12 +- gas/testsuite/gas/s390/esa-g5.d | 105 +++++----- gas/testsuite/gas/s390/esa-g5.s | 1 + gas/testsuite/gas/s390/esa-z900.d | 96 ++++----- gas/testsuite/gas/s390/zarch-arch13.d | 4 + gas/testsuite/gas/s390/zarch-arch13.s | 4 + gas/testsuite/gas/s390/zarch-z10.d | 272 ++++++++++++++------------ gas/testsuite/gas/s390/zarch-z10.s | 18 ++ gas/testsuite/gas/s390/zarch-z196.d | 14 +- gas/testsuite/gas/s390/zarch-z196.s | 11 ++ gas/testsuite/gas/s390/zarch-z9-109.d | 2 + gas/testsuite/gas/s390/zarch-z9-109.s | 2 + gas/testsuite/gas/s390/zarch-z900.d | 19 +- gas/testsuite/gas/s390/zarch-z900.s | 7 + gas/testsuite/gas/s390/zarch-zEC12.d | 24 ++- gas/testsuite/gas/s390/zarch-zEC12.s | 3 + opcodes/s390-opc.c | 190 ++++++++++-------- opcodes/s390-opc.txt | 36 +++- 18 files changed, 474 insertions(+), 346 deletions(-)
Comments
Hi Jens, > This patch series adds the following extended mnemonics (grouped by > function) to the s390 target architecture: > - jc, jcth > - lfi, llgfi, llghi > - notr, notgr > - risbhgz, risblgz > - rnsbgt, rosbgt, rxsbgt > > Additionally the patch series aligns the definition of optional last > operands to the specification in the z/Architecture Principles of > Operation. Option optparm is added to the following existing (extended) > mnemonics: > - risbg, risbgz, risbgn, risbgnz > - risbhg, risblg > - rnsbg, rosbg, rxsbg > > Patches 1-3 are preparatory changes. Patch 4 aligns the optional operand > definition. Patch 5 adds the missing extended mnemonics. Patch 6 corrects > an instruction name. > > Patch 1 implements an enhancement to use regular expressions with back > references to validate the disassembly of instructions with relative > addressing. This removes the need to update most relative addresses in > the golden master files the disassembly is checked against when > inserting new tests. > > Patch 3 enhances the definition of the operand indices, so that new > operands can be inserted into the operand table without having to > renumber any indices. This minimizes future hunks that insert new > operands, such as those introduced by patch 5. Patch series approved - please apply. Do these new instructions have a name to cover them as a whole ? I am thinking that it would be nice to have an entry in the gas/NEWS file that says something like "add support for the XXX extension to the s390x architecture". One other, minor thing. I tried to look at the documentation that you referenced in patch 5: > Add extended mnemonics specified in the z/Architecture Principles of > Operation [1] and z/Architecture Reference Summary [2], that were > previously missing from the opcode table. > [1] IBM z/Architecture Principles of Operation, SA22-7832-13, > https://www.ibm.com/support/pages/zarchitecture-principles-operation > [2] IBM z/Architecture Reference Summary, SA22-7871-11, > https://www.ibm.com/support/pages/zarchitecture-reference-summary I found that link [2] diverts to a "500: Internal Server Error" page and link [1] would not let me download the document without first registering for an IBMid, which I can do, but it is not really Open Source friendly... Cheers Nick
Hello Nick, Am 22.11.2023 um 13:13 schrieb Nick Clifton: >> This patch series adds the following extended mnemonics (grouped by >> function) to the s390 target architecture: >> - jc, jcth >> - lfi, llgfi, llghi >> - notr, notgr >> - risbhgz, risblgz >> - rnsbgt, rosbgt, rxsbgt ... >> Patches 1-3 are preparatory changes. Patch 4 aligns the optional operand >> definition. Patch 5 adds the missing extended mnemonics. Patch 6 corrects >> an instruction name. ... > Patch series approved - please apply. Thanks! Andreas will take care. > Do these new instructions have a name to cover them as a whole ? > I am thinking that it would be nice to have an entry in the gas/NEWS > file that says something like "add support for the XXX extension to the > s390x architecture". No, these extended mnemonics were simply missed to be added over time. I did a cross check against the latest version of the IBM z/Architecture Principles of Operation specification to identify them. Extended mnemonics are purely syntactic sugar and actually assemble into a base mnemonic. The identical instruction could be coded by using the existing base mnemonic instead of the new extended mnemonic. The disassembler for s390 tries to disassemble into the extended mnemonic, if it is not a simple alias, which makes the disassembly more human readable. > One other, minor thing. I tried to look at the documentation that > you referenced in patch 5: > > > Add extended mnemonics specified in the z/Architecture Principles of > > Operation [1] and z/Architecture Reference Summary [2], that were > > previously missing from the opcode table. > > > [1] IBM z/Architecture Principles of Operation, SA22-7832-13, > > https://www.ibm.com/support/pages/zarchitecture-principles-operation > > [2] IBM z/Architecture Reference Summary, SA22-7871-11, > > https://www.ibm.com/support/pages/zarchitecture-reference-summary > > I found that link [2] diverts to a "500: Internal Server Error" page > and link [1] would not let me download the document without first > registering for an IBMid, which I can do, but it is not really Open > Source friendly... Thanks for the hint! I have sent a V2 of my patches 3 and 4 with direct links to the documentation. These should work without an IBMid. Regards, Jens
On 11/22/23 17:25, Jens Remus wrote: > Hello Nick, > > Am 22.11.2023 um 13:13 schrieb Nick Clifton: >>> This patch series adds the following extended mnemonics (grouped by >>> function) to the s390 target architecture: >>> - jc, jcth >>> - lfi, llgfi, llghi >>> - notr, notgr >>> - risbhgz, risblgz >>> - rnsbgt, rosbgt, rxsbgt > > ... > >>> Patches 1-3 are preparatory changes. Patch 4 aligns the optional operand >>> definition. Patch 5 adds the missing extended mnemonics. Patch 6 corrects >>> an instruction name. > > ... > >> Patch series approved - please apply. > > Thanks! Andreas will take care. Committed to mainline. Thanks! Andreas