1/* rdma.s Test file for AArch64 v8.1 Advanced-SIMD instructions. 2 3 Copyright (C) 2012-2016 Free Software Foundation, Inc. Contributed by ARM Ltd. 4 5 This file is part of GAS. 6 7 GAS is free software; you can redistribute it and/or modify 8 it under the terms of the GNU General Public License as published by 9 the Free Software Foundation; either version 3 of the license, or 10 (at your option) any later version. 11 12 GAS is distributed in the hope that it will be useful, 13 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 GNU General Public License for more details. 16 17 You should have received a copy of the GNU General Public License 18 along with this program; see the file COPYING3. If not, 19 see <http://www.gnu.org/licenses/>. */ 20 21 22 .text 23 .ifdef DIRECTIVE 24 .arch_extension rdma 25 .endif 26 27 .macro vect_inst I T 28 \I v0.\()\T, v1.\()\T, v2.\()\T 29 .endm 30 31 .text 32 .irp inst, sqrdmlah, sqrdmlsh 33 .irp type, 4h, 8h, 2s, 4s 34 vect_inst \inst \type 35 .endr 36 .endr 37 38 .macro scalar_inst I R 39 \I \R\()0, \R\()1, \R\()2 40 .endm 41 42 .text 43 .irp inst, sqrdmlah, sqrdmlsh 44 .irp reg, s,h 45 scalar_inst \inst \reg 46 .endr 47 .endr 48 49 .macro vect_indexed_inst I S T N 50 \I v0.\S\T, v1.\S\T, v2.\T[\N] 51 .endm 52 53 .text 54 .irp inst, sqrdmlah, sqrdmlsh 55 .irp size, 4, 8 56 .irp index 0,1,2,3 57 vect_indexed_inst \inst \size h \index 58 .endr 59 .endr 60 .irp size, 2, 4 61 .irp index 0,1,2,3 62 vect_indexed_inst \inst \size s \index 63 .endr 64 .endr 65 .endr 66 67 .macro scalar_indexed_inst I T N 68 \I \T\()0, \T\()1, v2.\T[\N] 69 .endm 70 71 .text 72 .irp inst, sqrdmlah, sqrdmlsh 73 .irp type h,s 74 .irp index 0,1,2,3 75 scalar_indexed_inst \inst \type \index 76 .endr 77 .endr 78 .endr 79