From patchwork Mon Dec 5 12:35:35 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Szabolcs Nagy X-Patchwork-Id: 86558 Delivered-To: patch@linaro.org Received: by 10.140.20.101 with SMTP id 92csp1451941qgi; Mon, 5 Dec 2016 04:36:11 -0800 (PST) X-Received: by 10.84.129.111 with SMTP id 102mr125801366plb.103.1480941371264; Mon, 05 Dec 2016 04:36:11 -0800 (PST) Return-Path: Received: from sourceware.org (server1.sourceware.org. [209.132.180.131]) by mx.google.com with ESMTPS id y3si14488534pgo.229.2016.12.05.04.36.11 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 05 Dec 2016 04:36:11 -0800 (PST) Received-SPF: pass (google.com: domain of binutils-return-94709-patch=linaro.org@sourceware.org designates 209.132.180.131 as permitted sender) client-ip=209.132.180.131; Authentication-Results: mx.google.com; dkim=pass header.i=@sourceware.org; spf=pass (google.com: domain of binutils-return-94709-patch=linaro.org@sourceware.org designates 209.132.180.131 as permitted sender) smtp.mailfrom=binutils-return-94709-patch=linaro.org@sourceware.org DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:message-id:date:from:mime-version:to:cc :subject:content-type; q=dns; s=default; b=QOj5CCfLFbuFJhNKFI6NW 57saFgKF3qByrjUSVQVExhpI8kpdTSDgThL9Jy1CYiV3mzB0ZRUli9uYL7xcll94 ZZvwKhANX4fvxweVzm+bD2GnqZIWntVoaafHxf0CNf9Oaw/HOuJ3Vq2LgE4bCVpi NvzYr1sFzykKLS4XnYGqPo= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:message-id:date:from:mime-version:to:cc :subject:content-type; s=default; bh=Z9rgf1nCgwSqjiJYGbeSMGPThJQ =; b=ZqnaidHvBxwufr3fszV69EanWRxFFyJUyq0pqTdhpwdFWNvtsMUKH+jnl9C DVNAW4sHCFRoJHrj4D9STr1CoQItXZAVEMqv0rym2MJw8dBcpsOVbCIhjKvLip36 1dE5jqGPafFJT5SoYLQgsPc56JOiRH9cJuh5TD7sMoMW433A= Received: (qmail 40736 invoked by alias); 5 Dec 2016 12:35:53 -0000 Mailing-List: contact binutils-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: binutils-owner@sourceware.org Delivered-To: mailing list binutils@sourceware.org Received: (qmail 39303 invoked by uid 89); 5 Dec 2016 12:35:52 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.6 required=5.0 tests=AWL, BAYES_05, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_PASS autolearn=ham version=3.3.2 spammy=Szabolcs, szabolcs, Nagy, nagy X-HELO: EUR01-DB5-obe.outbound.protection.outlook.com Received: from mail-db5eur01on0060.outbound.protection.outlook.com (HELO EUR01-DB5-obe.outbound.protection.outlook.com) (104.47.2.60) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 05 Dec 2016 12:35:41 +0000 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Szabolcs.Nagy@arm.com; Received: from [10.2.206.73] (217.140.96.140) by DB6PR0802MB2151.eurprd08.prod.outlook.com (10.172.227.9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.761.9; Mon, 5 Dec 2016 12:35:38 +0000 Message-ID: <58455F17.1020609@arm.com> Date: Mon, 5 Dec 2016 12:35:35 +0000 From: Szabolcs Nagy User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.8.0 MIME-Version: 1.0 To: Binutils CC: Subject: [ARM] Add ARMv8.3 command line option and feature flag X-ClientProxiedBy: AM4PR0101CA0036.eurprd01.prod.exchangelabs.com (10.167.254.46) To DB6PR0802MB2151.eurprd08.prod.outlook.com (10.172.227.9) X-MS-Office365-Filtering-Correlation-Id: 76c8bd6a-d3c4-4338-8b29-08d41d0b3839 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:DB6PR0802MB2151; X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2151; 3:jIe3eZ2gIvqVz5WhvtoKMYdYqW09prrlLae2m3lhovKAWiUtXTQuBPyruvLzm7yCXDENADo5HMhs7VPlpAwcqketPBjsEdL3Hh2+lAcSrPZEAQ+AUcE1LO1nEKeqW1rndvNgc3e/qkJltFmbkXeuC1nkCcP+n2tPq8qdRab/0s4Ayq/jmXG3vXkEzaracr07CWu+Hy2mAjUbBRBKsfT+4k+v3FuIvBE/feOK/gH10715rOL8ZZc4e7dDcs5h9LdsHWBpxJ56+Pzc/gejVXGpJA==; 25:KoNGGPslODCtauvDCqiEbCw/1pVunT1/rw1msytFTUFY6tqgegzcsPpkUQHAZP8eUmV075MvV4DumL6WAsAMhfyVpuVcxwZm+j7gURxz9IdUhD8pLnTJK0RCqsf/nA7qmFb8xcJu/6nzjinkEraLXR+ldSlswI3TKbGKg2DGEDr3y5XO6lsajKZadiMynM3mhz0hSSk0zchCPHkpODnVIIYzb3eW8mExzi7/m6fgcE12qeiP+oG81rJhchY3CaTtsOmwwR7h6028b0wOCuKKiiDpmdj0Apl++ihw1yCSFd1dmtduGLtO6zvI1bTS4izy20UNQSguKvMXZT3y8/emuXqUzJM+Jti6RCYf+m6h2b6BtVEk+J2jroK1OBhtUX/GY1AjoyNgI1yc9Q2vJ4HSb7d9lERWWTxbzxFDhrOALrpj7h3dBrwqsftPmIO6rbSvyxjUwcpWD+sYt+B3vU7+jOI+rVxAXXm3461A6ppgexKQmXeDeK6HfwOHFh3Aap2eY1FFuZKWSsgyIv8uOmzaCA== X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2151; 31:FPvktPv9hY3E4hbO3VnODXLIjox7pg8zPAIPH9IvIEkivFKYIyW1IVXcZBSPwf2s7tw036XrwyUElGt25TgPQEtGWKuMrgCPbmeJafONrrVavSXDeSmt8XymUd2pn3R+fQ+dYej/iEelGkBJUQAc6rHWf9nBHnReZlGPDLDc+1ulM6429RWueEy8Sv29XhZFCfV1c2Bo9Kn1KgK/SdXFw6dsAy6MPQDIm+u0+JX6aiZ0sJWY9KEXaxFoAQ7vG8trU7HVyh2Sux/jVf1y+nEeQ0KD2y1nL08doee5+BtHQ9g=; 20:ia3szpHlP/X5JrwIwl3xE5SGKXXrCAtkTlM5ZLdWQo6Uwng88qbjo6M8zwp9mB5NYRaA0l2+LO6W8WlfTqOdHYdLoyElFkoSqtrHnlgmNMyCUhpkSxp8QnotG7IckAhmgU1I+nbsu39GGAZymTTzuq9DI4CdmqvL5dW/emLiCDE= NoDisclaimer: True X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(180628864354917)(11711142671493); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(102415395)(6040375)(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001)(6055026)(6041248)(20161123555025)(20161123560025)(20161123564025)(20161123562025)(6072148); SRVR:DB6PR0802MB2151; BCL:0; PCL:0; RULEID:; SRVR:DB6PR0802MB2151; X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2151; 4:w+GuaO16dV8Ke6hxMyu0oF0h/isXqoefUMThrbwXicNDfl6QHDVmkdOQdoz/ptt9nMIBgVLW37L851Kg9uOECgHmwht3DRQdURG8NFasIIpHKBwBD7Wdp8PBWqNrCwD87JUf79RX8IY+BHyH2TJwSinbbaXlwT75ajBs8EsIqR11bEehJWg1WG2x3BHb5XHnJf/qBVvZMgE4doly0COkIG7YrFAR7e+VP60VXvIpmTno6Wdtg7HGGstWX6cI3nzxdYTn0c67KWhdvDS4u/Q/HdKuedZyygHd4v5Gv5CBPtm3dd6cH3qQ/qZJ30u3OHXmy7KlbnOqIRzFDJ55piteMIsTuBS+oHX/1sZY9QaMyzOnDC3K4ONepgCm85wmJuPwg2uj2vUVDepfPCpACeR0km3zZIPNQYnhWgnyU/zi+2l9j/oqYak7jljrKVFR0ah6EUty842BkyJmPufLSZY/r5dTq0UmdT+nWpgXW6eXWyk64nXpyrW5xOAS8Q4svwprBG0Wok9sp0T9Z3qtLFlTSaVZheCtRCjh/yn1eArJVi1pQ+OnOH2tLUwOBgxoYQJ14JmHPotvzakkvhSQeMGW/Z49fGVl2/IsoKL9XThMyH7BBV6rX4DUiAVN+r3E9P230baUuxX+FeijMuRQr0ibQX3jejtx1dtBjZ0LT5rX+1Q6kXOW2EwMK7ot/QJgDePo X-Forefront-PRVS: 0147E151B5 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(6049001)(7916002)(377424004)(199003)(189002)(5000100001)(39450400002)(733004)(33656002)(39410400001)(6486002)(77096006)(5660300001)(84326002)(59896002)(36756003)(80316001)(21490400002)(101416001)(65816999)(87266999)(99136001)(86362001)(65956001)(90366009)(64126003)(270700001)(65806001)(4610100001)(54356999)(66066001)(38730400001)(39850400001)(50986999)(568964002)(512874002)(97736004)(7736002)(83506001)(7846002)(3846002)(6116002)(68736007)(6666003)(6916009)(5890100001)(110136003)(305945005)(4001350100001)(8676002)(106356001)(2476003)(81166006)(105586002)(4326007)(189998001)(92566002)(2906002)(39840400001)(450100001)(81156014)(42186005)(39860400001); DIR:OUT; SFP:1101; SCL:1; SRVR:DB6PR0802MB2151; H:[10.2.206.73]; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: arm.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DB6PR0802MB2151; 23:y8AqBCJsIu8wpyTn7XDn6CVUj2P1ipTlMmV1zAl?= =?us-ascii?Q?KBqsVsVv9mvibKFs4qROGEGwgc9t7hN2912fjzDfV1vizwnBU6/tQOjGA2BS?= =?us-ascii?Q?bciVu9dQEUgEhB6RAQ96ssmoX8r0OOL7F1/X6B9cGuBFkEgWxf5xXbfHonrl?= =?us-ascii?Q?NIB5iHXdHxO5MS/9OxtXYCIi8/5AMw2PO9yn+MzKIIpXOZSoFgJ5pb1X7+T9?= =?us-ascii?Q?LpZz2t1BQEk2iG/9SrVkqpD5Jtc7QFMK5NZgHxAz3eZSqwUUHDx/MRQlFEB0?= =?us-ascii?Q?kQqAvaRMKHBi6rWQohHCS9PvxuUIjqz++UWiAg68Ufg1AQ4j2B4LgMbBb8ly?= =?us-ascii?Q?xABl1A/PG+KhvU8gsTpkqbUL6IasV2RydHysVu1udbUvZ7NZbEu1jR/Z0RuT?= =?us-ascii?Q?HcCP5b5ekIjvyq7R+JLEwrcVBQxw83MiPNmsrMFhC9rwMeYaQX+s9loC/356?= =?us-ascii?Q?PS4MB9y8+DD/7iEGkff4K5rbAOxrCjwqmK2L462Q+WTVJVv+zcq/ZbErZhi8?= =?us-ascii?Q?zsMSqOqHUfW+BFk8EfOneABM5rvn4DU6VhYO5yVy2NB77l/BqnBwfxsomwZv?= =?us-ascii?Q?j2IWkKGxYbHQglZVKsOsqhmseT77j+s59OSOjPgzgqU9Pqfsql/BAiTlmSmm?= =?us-ascii?Q?omfGHNHzf7JgwDUN7iaw1E7H1HjZRVCacXcxD6Z5lTVdomck2KaGwxmoFYZF?= =?us-ascii?Q?zyQdC7A87dD/YJ/SpvJieD033wkhJwcHoLN2YuPrJw4u5LOBhPxlhrlDlBvN?= =?us-ascii?Q?yJHgDSNsqV6nC8GbM7o7juPLBHEZSMuHS4t7bYyl8V5Qvp0LKIQ7q0VJXZko?= =?us-ascii?Q?xJw82UVfyRKX2J6xLZlUgQCEfGwWaKZwZHEZY9ElYeTHR7nzhbFPc4t4wL0/?= =?us-ascii?Q?o9EEvzZ9zVCvKvZ2dWYIab/WkWGk5J8Mp7B6RQaOXYx+FiLcdYoOGCQ+mEkq?= =?us-ascii?Q?0ZUEkaFVYoU5J+zvhYExDscwukUPOtmui2JhqPrHIt3DSH4A/kbz7w7Xytr7?= =?us-ascii?Q?Z8Sw7+AYtvGJMVOjaAhQqJrR6kn0XhUgHJnEmAXC2n92JO43KP+5PVtQVECh?= =?us-ascii?Q?Qx49duoNThq6ZTwbB9MuzSqNr5qjN0H9kO1widQsUPRcHGx1MWHeMjjCwiJo?= =?us-ascii?Q?cG8Zi6VJtJZsM6IfxQ72OIexNYVZpSYk6Gyi90kAOYKPgZnoVI8mKoTdiD2v?= =?us-ascii?Q?ruJZpgDY1LTMlna0DX0pvBxaF1Jf+tU2/K26tPcDLMqvUDk5LN7Je8761FiX?= =?us-ascii?Q?vDvU8S+x7p20t8MATTLbUa80b9ksoTL3P7L8VBAr0Y/LPS/kn7LTdgPj5+zt?= =?us-ascii?Q?Hmmifq+XISOCwIfYVgX7mXaGQxQDyXrYKeJYtSdhCvXxFpaQ7m+uL3GGGf9B?= =?us-ascii?Q?UjaOoe/I22DdClXCJC0QrYwOqJaf7rR6cjUKU/YrDfI/Y7GBXP0955MoqFWY?= =?us-ascii?Q?MKWXsf4S6SxnwsGyyIdNCEj4NSwDRVj0jJoWEw4TziXTowrjjzhlxjmHWclA?= =?us-ascii?Q?gGWSTR+fdP1AaiNdxnhZ6b6Gepw8SDkMVJxrcqRsMF2j7SnfenjEES7R88z1?= =?us-ascii?Q?T67n5yZhNF8w+oWPhRwkWYAxXlmnrGO0xrqvknVI=3D?= X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2151; 6:IW8YCqkCTRy6HvncHukdnJlRJ9Uxt015uZb0Wb6ciTUaGZQktNHsVj3NPTOcTVRNzayUvU3OAEw5HioOV+cKpkK9SpU3OFySq3EpRaof/+wnUfzX5KDOA0lHnMD86MLwgBBZMHzNe9AxiAnExSIoW4b5SCC4bRfLcqg30YPFrGvh/WN1XB5OFNAQBZdM+lkMafPUM+dwnfLcHcq4KKF0pqCyHQsAxOtHyBWf0sEz6mKKMNiuWDNqKxxGbhfYAfk2VyVgAX0fOVt+qu7439LlHoXFnx25y17pk/IB79f6PXFY4PvqXkcUj0koRHFT8i3qWxWuCCxPcNz6gahiLvFxw2pwD9+axvo6B3edLsGpwx+pYVHpDr/3Vc4JX+11E9qSoIINjv7hBFy6vtvE6tdzwBo1lOE1BBgW7OsxZkqo+yuikxhpocNyBW3aO9TdC0v7CZ0QzvUK7esVvWxeE6df9Q==; 5:c/BN+cRxVR1psUMs+H95mHKJndapWYDy0jAxWLPMKEfv5qnZFZEIFOnBrsSYvBl7EAXbj9TYY5phaJci4vW5jdwJP8vyuLUNX9pOjHhbtU9lEm7DG7r+P6GaiFVUj19jK9MP8um2yAXvmWJEhssB0YXfLE+zqr2xaSRujllqJqA=; 24:kGdcPjRgbmZ4NqMIoZW0VnfHYBaLJXiwhi2kUe25ILt7cB8xsKpa8LT9AGh69EMNaIgsvUkOUNJNNORiNF2cCeOcPW97V3AUHAUwuA2t+II= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2151; 7:5CD0iPuKhAR1B9dtLxE6Zm2AJl+02DbmVqEy5+fZHUBeYlXF5j/pcL6WjPHxMqDLBC8gXGPujgvKkt40SuqjIKMFuZWwVNQwnXISnYXY96bd/2rPE3mKqXNd9SXZNLAfc7qhn58gBPuXaVWl/utITd4N5HX4xjkD97BdXOuLdTPbPkrspAT9A/4RY3X0ssuQsUH7h25UqdKKPcSBtc5hrp5Mdh16yfsNd5dv/KCjXE0x0TZ/3U+E8R/wQxKRceVTcZSKDH7EXPiOkJ3N3Ilk8xWl6FEcCKjjyU20gE6c7R3HzcFauiImVj7lxOerD3jrwgDkoBR9V9m4+sAvAAut0g7GO/zE4rw9mpF32rwepBReNQgXpDOzfFJPPO5krssBpF0uSsPTDTP67hw+0nn63xEpr4lmlMPgMe4ircR2s4Pa4V0HrD4YflfUMS8F+6TkNclFLrwGc+GZ9awvV5X/fg== X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2016 12:35:38.9512 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0802MB2151 X-IsSubscribed: yes ARMv8.3 is an architectural extension of ARMv8. Add the feature macro and -march=armv8.3-a gas command line option for the ARM target. https://community.arm.com/groups/processors/blog/2016/10/27/armv8-a-architecture-2016-additions gas/ 2016-12-05 Szabolcs Nagy * config/tc-arm.c (arm_archs): Add "armv8.3-a". * doc/c-arm.texi (-march): Add "armv8.3-a". include/opcode/ 2016-12-05 Szabolcs Nagy * arm.h (ARM_EXT2_V8_3A, ARM_AEXT2_V8_3A): New. (ARM_ARCH_V8_3A): New. diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c index f28bf52..2fb39a2 100644 --- a/gas/config/tc-arm.c +++ b/gas/config/tc-arm.c @@ -25563,6 +25563,7 @@ static const struct arm_arch_option_table arm_archs[] = ARM_ARCH_OPT ("armv8-a", ARM_ARCH_V8A, FPU_ARCH_VFP), ARM_ARCH_OPT ("armv8.1-a", ARM_ARCH_V8_1A, FPU_ARCH_VFP), ARM_ARCH_OPT ("armv8.2-a", ARM_ARCH_V8_2A, FPU_ARCH_VFP), + ARM_ARCH_OPT ("armv8.3-a", ARM_ARCH_V8_3A, FPU_ARCH_VFP), ARM_ARCH_OPT ("xscale", ARM_ARCH_XSCALE, FPU_ARCH_VFP), ARM_ARCH_OPT ("iwmmxt", ARM_ARCH_IWMMXT, FPU_ARCH_VFP), ARM_ARCH_OPT ("iwmmxt2", ARM_ARCH_IWMMXT2,FPU_ARCH_VFP), diff --git a/gas/doc/c-arm.texi b/gas/doc/c-arm.texi index 0cf7390..08b1706 100644 --- a/gas/doc/c-arm.texi +++ b/gas/doc/c-arm.texi @@ -230,6 +230,7 @@ names are recognized: @code{armv8-a}, @code{armv8.1-a}, @code{armv8.2-a}, +@code{armv8.3-a}, @code{iwmmxt} @code{iwmmxt2} and diff --git a/include/opcode/arm.h b/include/opcode/arm.h index feace5c..8422603 100644 --- a/include/opcode/arm.h +++ b/include/opcode/arm.h @@ -64,6 +64,7 @@ #define ARM_EXT2_FP16_INST 0x00000020 /* ARM V8.2A FP16 instructions. */ #define ARM_EXT2_V8M_MAIN 0x00000040 /* ARMv8-M Mainline. */ #define ARM_EXT2_RAS 0x00000080 /* RAS extension. */ +#define ARM_EXT2_V8_3A 0x00000100 /* ARM V8.3A. */ /* Co-processor space extensions. */ #define ARM_CEXT_XSCALE 0x00000001 /* Allow MIA etc. */ @@ -149,6 +150,7 @@ #define ARM_AEXT2_V8A (ARM_EXT2_V6T2_V8M | ARM_EXT2_ATOMICS) #define ARM_AEXT2_V8_1A (ARM_AEXT2_V8A | ARM_EXT2_PAN) #define ARM_AEXT2_V8_2A (ARM_AEXT2_V8_1A | ARM_EXT2_V8_2A | ARM_EXT2_RAS) +#define ARM_AEXT2_V8_3A (ARM_AEXT2_V8_2A | ARM_EXT2_V8_3A) #define ARM_AEXT_V8M_BASE (ARM_AEXT_V6SM | ARM_EXT_DIV) #define ARM_AEXT_V8M_MAIN ARM_AEXT_V7M #define ARM_AEXT2_V8M (ARM_EXT2_V8M | ARM_EXT2_ATOMICS | ARM_EXT2_V6T2_V8M) @@ -269,6 +271,8 @@ CRC_EXT_ARMV8 | FPU_NEON_EXT_RDMA) #define ARM_ARCH_V8_2A ARM_FEATURE (ARM_AEXT_V8A, ARM_AEXT2_V8_2A, \ CRC_EXT_ARMV8 | FPU_NEON_EXT_RDMA) +#define ARM_ARCH_V8_3A ARM_FEATURE (ARM_AEXT_V8A, ARM_AEXT2_V8_3A, \ + CRC_EXT_ARMV8 | FPU_NEON_EXT_RDMA) #define ARM_ARCH_V8M_BASE ARM_FEATURE_CORE (ARM_AEXT_V8M_BASE, ARM_AEXT2_V8M) #define ARM_ARCH_V8M_MAIN ARM_FEATURE_CORE (ARM_AEXT_V8M_MAIN, \ ARM_AEXT2_V8M_MAIN)