brintos

brintos / llvm-project-archived public Read only

0
0
Text · 16.9 KiB · fc3215b Raw
416 lines · plain
1// RUN: llvm-mc -triple=aarch64-none-linux-gnu -mattr=+crypto -mattr=+neon -show-encoding < %s | FileCheck %s2 3// Check that the assembler can handle the documented syntax for AArch644 5//------------------------------------------------------------------------------6// Instructions with 3 different vector data types7//------------------------------------------------------------------------------8 9//------------------------------------------------------------------------------10// Long11//------------------------------------------------------------------------------12 13//------------------------------------------------------------------------------14// Long - Variant 115//------------------------------------------------------------------------------16 17        saddl v0.8h, v1.8b, v2.8b18        saddl v0.4s, v1.4h, v2.4h19        saddl v0.2d, v1.2s, v2.2s20 21// CHECK: saddl	v0.8h, v1.8b, v2.8b     // encoding: [0x20,0x00,0x22,0x0e]22// CHECK: saddl	v0.4s, v1.4h, v2.4h     // encoding: [0x20,0x00,0x62,0x0e]23// CHECK: saddl	v0.2d, v1.2s, v2.2s     // encoding: [0x20,0x00,0xa2,0x0e]24 25        saddl2 v0.4s, v1.8h, v2.8h26        saddl2 v0.8h, v1.16b, v2.16b27        saddl2 v0.2d, v1.4s, v2.4s28 29// CHECK: saddl2	v0.4s, v1.8h, v2.8h     // encoding: [0x20,0x00,0x62,0x4e]30// CHECK: saddl2	v0.8h, v1.16b, v2.16b   // encoding: [0x20,0x00,0x22,0x4e]31// CHECK: saddl2	v0.2d, v1.4s, v2.4s     // encoding: [0x20,0x00,0xa2,0x4e]32 33        uaddl v0.8h, v1.8b, v2.8b34        uaddl v0.4s, v1.4h, v2.4h35        uaddl v0.2d, v1.2s, v2.2s36 37// CHECK: uaddl	v0.8h, v1.8b, v2.8b     // encoding: [0x20,0x00,0x22,0x2e]38// CHECK: uaddl	v0.4s, v1.4h, v2.4h     // encoding: [0x20,0x00,0x62,0x2e]39// CHECK: uaddl	v0.2d, v1.2s, v2.2s     // encoding: [0x20,0x00,0xa2,0x2e]40 41        uaddl2 v0.8h, v1.16b, v2.16b42        uaddl2 v0.4s, v1.8h, v2.8h43        uaddl2 v0.2d, v1.4s, v2.4s44 45// CHECK: uaddl2	v0.8h, v1.16b, v2.16b   // encoding: [0x20,0x00,0x22,0x6e]46// CHECK: uaddl2	v0.4s, v1.8h, v2.8h     // encoding: [0x20,0x00,0x62,0x6e]47// CHECK: uaddl2	v0.2d, v1.4s, v2.4s     // encoding: [0x20,0x00,0xa2,0x6e]48 49        ssubl v0.8h, v1.8b, v2.8b50        ssubl v0.4s, v1.4h, v2.4h51        ssubl v0.2d, v1.2s, v2.2s52 53// CHECK: ssubl	v0.8h, v1.8b, v2.8b     // encoding: [0x20,0x20,0x22,0x0e]54// CHECK: ssubl	v0.4s, v1.4h, v2.4h     // encoding: [0x20,0x20,0x62,0x0e]55// CHECK: ssubl	v0.2d, v1.2s, v2.2s     // encoding: [0x20,0x20,0xa2,0x0e]56 57        ssubl2 v0.8h, v1.16b, v2.16b58        ssubl2 v0.4s, v1.8h, v2.8h59        ssubl2 v0.2d, v1.4s, v2.4s60 61// CHECK: ssubl2	v0.8h, v1.16b, v2.16b   // encoding: [0x20,0x20,0x22,0x4e]62// CHECK: ssubl2	v0.4s, v1.8h, v2.8h     // encoding: [0x20,0x20,0x62,0x4e]63// CHECK: ssubl2	v0.2d, v1.4s, v2.4s     // encoding: [0x20,0x20,0xa2,0x4e]64 65        usubl v0.8h, v1.8b, v2.8b66        usubl v0.4s, v1.4h, v2.4h67        usubl v0.2d, v1.2s, v2.2s68 69// CHECK: usubl	v0.8h, v1.8b, v2.8b     // encoding: [0x20,0x20,0x22,0x2e]70// CHECK: usubl	v0.4s, v1.4h, v2.4h     // encoding: [0x20,0x20,0x62,0x2e]71// CHECK: usubl	v0.2d, v1.2s, v2.2s     // encoding: [0x20,0x20,0xa2,0x2e]72 73        usubl2 v0.8h, v1.16b, v2.16b74        usubl2 v0.4s, v1.8h, v2.8h75        usubl2 v0.2d, v1.4s, v2.4s76 77// CHECK: usubl2	v0.8h, v1.16b, v2.16b   // encoding: [0x20,0x20,0x22,0x6e]78// CHECK: usubl2	v0.4s, v1.8h, v2.8h     // encoding: [0x20,0x20,0x62,0x6e]79// CHECK: usubl2	v0.2d, v1.4s, v2.4s     // encoding: [0x20,0x20,0xa2,0x6e]80 81        sabal v0.8h, v1.8b, v2.8b82        sabal v0.4s, v1.4h, v2.4h83        sabal v0.2d, v1.2s, v2.2s84 85// CHECK: sabal	v0.8h, v1.8b, v2.8b     // encoding: [0x20,0x50,0x22,0x0e]86// CHECK: sabal	v0.4s, v1.4h, v2.4h     // encoding: [0x20,0x50,0x62,0x0e]87// CHECK: sabal	v0.2d, v1.2s, v2.2s     // encoding: [0x20,0x50,0xa2,0x0e]88 89        sabal2 v0.8h, v1.16b, v2.16b90        sabal2 v0.4s, v1.8h, v2.8h91        sabal2 v0.2d, v1.4s, v2.4s92 93// CHECK: sabal2	v0.8h, v1.16b, v2.16b   // encoding: [0x20,0x50,0x22,0x4e]94// CHECK: sabal2	v0.4s, v1.8h, v2.8h     // encoding: [0x20,0x50,0x62,0x4e]95// CHECK: sabal2	v0.2d, v1.4s, v2.4s     // encoding: [0x20,0x50,0xa2,0x4e]96 97        uabal v0.8h, v1.8b, v2.8b98        uabal v0.4s, v1.4h, v2.4h99        uabal v0.2d, v1.2s, v2.2s100 101// CHECK: uabal	v0.8h, v1.8b, v2.8b     // encoding: [0x20,0x50,0x22,0x2e]102// CHECK: uabal	v0.4s, v1.4h, v2.4h     // encoding: [0x20,0x50,0x62,0x2e]103// CHECK: uabal	v0.2d, v1.2s, v2.2s     // encoding: [0x20,0x50,0xa2,0x2e]104 105        uabal2 v0.8h, v1.16b, v2.16b106        uabal2 v0.4s, v1.8h, v2.8h107        uabal2 v0.2d, v1.4s, v2.4s108 109// CHECK: uabal2	v0.8h, v1.16b, v2.16b   // encoding: [0x20,0x50,0x22,0x6e]110// CHECK: uabal2	v0.4s, v1.8h, v2.8h     // encoding: [0x20,0x50,0x62,0x6e]111// CHECK: uabal2	v0.2d, v1.4s, v2.4s     // encoding: [0x20,0x50,0xa2,0x6e]112 113        sabdl v0.8h, v1.8b, v2.8b114        sabdl v0.4s, v1.4h, v2.4h115        sabdl v0.2d, v1.2s, v2.2s116 117// CHECK: sabdl	v0.8h, v1.8b, v2.8b     // encoding: [0x20,0x70,0x22,0x0e]118// CHECK: sabdl	v0.4s, v1.4h, v2.4h     // encoding: [0x20,0x70,0x62,0x0e]119// CHECK: sabdl	v0.2d, v1.2s, v2.2s     // encoding: [0x20,0x70,0xa2,0x0e]120 121        sabdl2 v0.8h, v1.16b, v2.16b122        sabdl2 v0.4s, v1.8h, v2.8h123        sabdl2 v0.2d, v1.4s, v2.4s124 125// CHECK: sabdl2	v0.8h, v1.16b, v2.16b   // encoding: [0x20,0x70,0x22,0x4e]126// CHECK: sabdl2	v0.4s, v1.8h, v2.8h     // encoding: [0x20,0x70,0x62,0x4e]127// CHECK: sabdl2	v0.2d, v1.4s, v2.4s     // encoding: [0x20,0x70,0xa2,0x4e]128 129        uabdl v0.8h, v1.8b, v2.8b130        uabdl v0.4s, v1.4h, v2.4h131        uabdl v0.2d, v1.2s, v2.2s132 133// CHECK: uabdl	v0.8h, v1.8b, v2.8b     // encoding: [0x20,0x70,0x22,0x2e]134// CHECK: uabdl	v0.4s, v1.4h, v2.4h     // encoding: [0x20,0x70,0x62,0x2e]135// CHECK: uabdl	v0.2d, v1.2s, v2.2s     // encoding: [0x20,0x70,0xa2,0x2e]136 137        uabdl2 v0.8h, v1.16b, v2.16b138        uabdl2 v0.4s, v1.8h, v2.8h139        uabdl2 v0.2d, v1.4s, v2.4s140 141// CHECK: uabdl2	v0.8h, v1.16b, v2.16b   // encoding: [0x20,0x70,0x22,0x6e]142// CHECK: uabdl2	v0.4s, v1.8h, v2.8h     // encoding: [0x20,0x70,0x62,0x6e]143// CHECK: uabdl2	v0.2d, v1.4s, v2.4s     // encoding: [0x20,0x70,0xa2,0x6e]144 145        smlal v0.8h, v1.8b, v2.8b146        smlal v0.4s, v1.4h, v2.4h147        smlal v0.2d, v1.2s, v2.2s148 149// CHECK: smlal	v0.8h, v1.8b, v2.8b     // encoding: [0x20,0x80,0x22,0x0e]150// CHECK: smlal	v0.4s, v1.4h, v2.4h     // encoding: [0x20,0x80,0x62,0x0e]151// CHECK: smlal	v0.2d, v1.2s, v2.2s     // encoding: [0x20,0x80,0xa2,0x0e]152 153        smlal2 v0.8h, v1.16b, v2.16b154        smlal2 v0.4s, v1.8h, v2.8h155        smlal2 v0.2d, v1.4s, v2.4s156 157// CHECK: smlal2	v0.8h, v1.16b, v2.16b   // encoding: [0x20,0x80,0x22,0x4e]158// CHECK: smlal2	v0.4s, v1.8h, v2.8h     // encoding: [0x20,0x80,0x62,0x4e]159// CHECK: smlal2	v0.2d, v1.4s, v2.4s     // encoding: [0x20,0x80,0xa2,0x4e]160 161        umlal v0.8h, v1.8b, v2.8b162        umlal v0.4s, v1.4h, v2.4h163        umlal v0.2d, v1.2s, v2.2s164 165// CHECK: umlal	v0.8h, v1.8b, v2.8b     // encoding: [0x20,0x80,0x22,0x2e]166// CHECK: umlal	v0.4s, v1.4h, v2.4h     // encoding: [0x20,0x80,0x62,0x2e]167// CHECK: umlal	v0.2d, v1.2s, v2.2s     // encoding: [0x20,0x80,0xa2,0x2e]168 169        umlal2 v0.8h, v1.16b, v2.16b170        umlal2 v0.4s, v1.8h, v2.8h171        umlal2 v0.2d, v1.4s, v2.4s172 173// CHECK: umlal2	v0.8h, v1.16b, v2.16b   // encoding: [0x20,0x80,0x22,0x6e]174// CHECK: umlal2	v0.4s, v1.8h, v2.8h     // encoding: [0x20,0x80,0x62,0x6e]175// CHECK: umlal2	v0.2d, v1.4s, v2.4s     // encoding: [0x20,0x80,0xa2,0x6e]176 177        smlsl v0.8h, v1.8b, v2.8b178        smlsl v0.4s, v1.4h, v2.4h179        smlsl v0.2d, v1.2s, v2.2s180 181// CHECK: smlsl	v0.8h, v1.8b, v2.8b     // encoding: [0x20,0xa0,0x22,0x0e]182// CHECK: smlsl	v0.4s, v1.4h, v2.4h     // encoding: [0x20,0xa0,0x62,0x0e]183// CHECK: smlsl	v0.2d, v1.2s, v2.2s     // encoding: [0x20,0xa0,0xa2,0x0e]184 185        smlsl2 v0.8h, v1.16b, v2.16b186        smlsl2 v0.4s, v1.8h, v2.8h187        smlsl2 v0.2d, v1.4s, v2.4s188 189// CHECK: smlsl2	v0.8h, v1.16b, v2.16b   // encoding: [0x20,0xa0,0x22,0x4e]190// CHECK: smlsl2	v0.4s, v1.8h, v2.8h     // encoding: [0x20,0xa0,0x62,0x4e]191// CHECK: smlsl2	v0.2d, v1.4s, v2.4s     // encoding: [0x20,0xa0,0xa2,0x4e]192 193        umlsl v0.8h, v1.8b, v2.8b194        umlsl v0.4s, v1.4h, v2.4h195        umlsl v0.2d, v1.2s, v2.2s196 197// CHECK: umlsl	v0.8h, v1.8b, v2.8b     // encoding: [0x20,0xa0,0x22,0x2e]198// CHECK: umlsl	v0.4s, v1.4h, v2.4h     // encoding: [0x20,0xa0,0x62,0x2e]199// CHECK: umlsl	v0.2d, v1.2s, v2.2s     // encoding: [0x20,0xa0,0xa2,0x2e]200 201        umlsl2 v0.8h, v1.16b, v2.16b202        umlsl2 v0.4s, v1.8h, v2.8h203        umlsl2 v0.2d, v1.4s, v2.4s204 205// CHECK: umlsl2	v0.8h, v1.16b, v2.16b   // encoding: [0x20,0xa0,0x22,0x6e]206// CHECK: umlsl2	v0.4s, v1.8h, v2.8h     // encoding: [0x20,0xa0,0x62,0x6e]207// CHECK: umlsl2	v0.2d, v1.4s, v2.4s     // encoding: [0x20,0xa0,0xa2,0x6e]208 209        smull v0.8h, v1.8b, v2.8b210        smull v0.4s, v1.4h, v2.4h211        smull v0.2d, v1.2s, v2.2s212 213// CHECK: smull	v0.8h, v1.8b, v2.8b     // encoding: [0x20,0xc0,0x22,0x0e]214// CHECK: smull	v0.4s, v1.4h, v2.4h     // encoding: [0x20,0xc0,0x62,0x0e]215// CHECK: smull	v0.2d, v1.2s, v2.2s     // encoding: [0x20,0xc0,0xa2,0x0e]216 217        smull2 v0.8h, v1.16b, v2.16b218        smull2 v0.4s, v1.8h, v2.8h219        smull2 v0.2d, v1.4s, v2.4s220 221// CHECK: smull2	v0.8h, v1.16b, v2.16b   // encoding: [0x20,0xc0,0x22,0x4e]222// CHECK: smull2	v0.4s, v1.8h, v2.8h     // encoding: [0x20,0xc0,0x62,0x4e]223// CHECK: smull2	v0.2d, v1.4s, v2.4s     // encoding: [0x20,0xc0,0xa2,0x4e]224 225        umull v0.8h, v1.8b, v2.8b226        umull v0.4s, v1.4h, v2.4h227        umull v0.2d, v1.2s, v2.2s228 229// CHECK: umull	v0.8h, v1.8b, v2.8b     // encoding: [0x20,0xc0,0x22,0x2e]230// CHECK: umull	v0.4s, v1.4h, v2.4h     // encoding: [0x20,0xc0,0x62,0x2e]231// CHECK: umull	v0.2d, v1.2s, v2.2s     // encoding: [0x20,0xc0,0xa2,0x2e]232 233        umull2 v0.8h, v1.16b, v2.16b234        umull2 v0.4s, v1.8h, v2.8h235        umull2 v0.2d, v1.4s, v2.4s236 237// CHECK: umull2	v0.8h, v1.16b, v2.16b   // encoding: [0x20,0xc0,0x22,0x6e]238// CHECK: umull2	v0.4s, v1.8h, v2.8h     // encoding: [0x20,0xc0,0x62,0x6e]239// CHECK: umull2	v0.2d, v1.4s, v2.4s     // encoding: [0x20,0xc0,0xa2,0x6e]240 241//------------------------------------------------------------------------------242// Long - Variant 2243//------------------------------------------------------------------------------244 245        sqdmlal v0.4s, v1.4h, v2.4h246        sqdmlal v0.2d, v1.2s, v2.2s247 248// CHECK: sqdmlal	v0.4s, v1.4h, v2.4h     // encoding: [0x20,0x90,0x62,0x0e]249// CHECK: sqdmlal	v0.2d, v1.2s, v2.2s     // encoding: [0x20,0x90,0xa2,0x0e]250 251        sqdmlal2 v0.4s, v1.8h, v2.8h252        sqdmlal2 v0.2d, v1.4s, v2.4s253 254// CHECK: sqdmlal2	v0.4s, v1.8h, v2.8h // encoding: [0x20,0x90,0x62,0x4e]255// CHECK: sqdmlal2	v0.2d, v1.4s, v2.4s // encoding: [0x20,0x90,0xa2,0x4e]256 257        sqdmlsl v0.4s, v1.4h, v2.4h258        sqdmlsl v0.2d, v1.2s, v2.2s259 260// CHECK: sqdmlsl	v0.4s, v1.4h, v2.4h     // encoding: [0x20,0xb0,0x62,0x0e]261// CHECK: sqdmlsl	v0.2d, v1.2s, v2.2s     // encoding: [0x20,0xb0,0xa2,0x0e]262 263        sqdmlsl2 v0.4s, v1.8h, v2.8h264        sqdmlsl2 v0.2d, v1.4s, v2.4s265 266// CHECK: sqdmlsl2	v0.4s, v1.8h, v2.8h // encoding: [0x20,0xb0,0x62,0x4e]267// CHECK: sqdmlsl2	v0.2d, v1.4s, v2.4s // encoding: [0x20,0xb0,0xa2,0x4e]268 269        sqdmull v0.4s, v1.4h, v2.4h270        sqdmull v0.2d, v1.2s, v2.2s271 272// CHECK: sqdmull	v0.4s, v1.4h, v2.4h     // encoding: [0x20,0xd0,0x62,0x0e]273// CHECK: sqdmull	v0.2d, v1.2s, v2.2s     // encoding: [0x20,0xd0,0xa2,0x0e]274 275        sqdmull2 v0.4s, v1.8h, v2.8h276        sqdmull2 v0.2d, v1.4s, v2.4s277 278// CHECK: sqdmull2	v0.4s, v1.8h, v2.8h // encoding: [0x20,0xd0,0x62,0x4e]279// CHECK: sqdmull2	v0.2d, v1.4s, v2.4s // encoding: [0x20,0xd0,0xa2,0x4e]280 281//------------------------------------------------------------------------------282// Long - Variant 3283//------------------------------------------------------------------------------284 285        pmull v0.8h, v1.8b, v2.8b286        pmull v0.1q, v1.1d, v2.1d287 288// CHECK: pmull	v0.8h, v1.8b, v2.8b     // encoding: [0x20,0xe0,0x22,0x0e]289// CHECK: pmull	v0.1q, v1.1d, v2.1d     // encoding: [0x20,0xe0,0xe2,0x0e]290 291        pmull2 v0.8h, v1.16b, v2.16b292        pmull2 v0.1q, v1.2d, v2.2d293 294// CHECK: pmull2	v0.8h, v1.16b, v2.16b   // encoding: [0x20,0xe0,0x22,0x4e]295// CHECK: pmull2	v0.1q, v1.2d, v2.2d     // encoding: [0x20,0xe0,0xe2,0x4e]296 297//------------------------------------------------------------------------------298// Widen299//------------------------------------------------------------------------------300 301        saddw v0.8h, v1.8h, v2.8b302        saddw v0.4s, v1.4s, v2.4h303        saddw v0.2d, v1.2d, v2.2s304 305// CHECK: saddw	v0.8h, v1.8h, v2.8b     // encoding: [0x20,0x10,0x22,0x0e]306// CHECK: saddw	v0.4s, v1.4s, v2.4h     // encoding: [0x20,0x10,0x62,0x0e]307// CHECK: saddw	v0.2d, v1.2d, v2.2s     // encoding: [0x20,0x10,0xa2,0x0e]308 309        saddw2 v0.8h, v1.8h, v2.16b310        saddw2 v0.4s, v1.4s, v2.8h311        saddw2 v0.2d, v1.2d, v2.4s312 313// CHECK: saddw2	v0.8h, v1.8h, v2.16b    // encoding: [0x20,0x10,0x22,0x4e]314// CHECK: saddw2	v0.4s, v1.4s, v2.8h     // encoding: [0x20,0x10,0x62,0x4e]315// CHECK: saddw2	v0.2d, v1.2d, v2.4s     // encoding: [0x20,0x10,0xa2,0x4e]316 317        uaddw v0.8h, v1.8h, v2.8b318        uaddw v0.4s, v1.4s, v2.4h319        uaddw v0.2d, v1.2d, v2.2s320 321// CHECK: uaddw	v0.8h, v1.8h, v2.8b     // encoding: [0x20,0x10,0x22,0x2e]322// CHECK: uaddw	v0.4s, v1.4s, v2.4h     // encoding: [0x20,0x10,0x62,0x2e]323// CHECK: uaddw	v0.2d, v1.2d, v2.2s     // encoding: [0x20,0x10,0xa2,0x2e]324 325        uaddw2 v0.8h, v1.8h, v2.16b326        uaddw2 v0.4s, v1.4s, v2.8h327        uaddw2 v0.2d, v1.2d, v2.4s328 329// CHECK: uaddw2	v0.8h, v1.8h, v2.16b    // encoding: [0x20,0x10,0x22,0x6e]330// CHECK: uaddw2	v0.4s, v1.4s, v2.8h     // encoding: [0x20,0x10,0x62,0x6e]331// CHECK: uaddw2	v0.2d, v1.2d, v2.4s     // encoding: [0x20,0x10,0xa2,0x6e]332 333        ssubw v0.8h, v1.8h, v2.8b334        ssubw v0.4s, v1.4s, v2.4h335        ssubw v0.2d, v1.2d, v2.2s336 337// CHECK: ssubw	v0.8h, v1.8h, v2.8b     // encoding: [0x20,0x30,0x22,0x0e]338// CHECK: ssubw	v0.4s, v1.4s, v2.4h     // encoding: [0x20,0x30,0x62,0x0e]339// CHECK: ssubw	v0.2d, v1.2d, v2.2s     // encoding: [0x20,0x30,0xa2,0x0e]340 341        ssubw2 v0.8h, v1.8h, v2.16b342        ssubw2 v0.4s, v1.4s, v2.8h343        ssubw2 v0.2d, v1.2d, v2.4s344 345// CHECK: ssubw2	v0.8h, v1.8h, v2.16b    // encoding: [0x20,0x30,0x22,0x4e]346// CHECK: ssubw2	v0.4s, v1.4s, v2.8h     // encoding: [0x20,0x30,0x62,0x4e]347// CHECK: ssubw2	v0.2d, v1.2d, v2.4s     // encoding: [0x20,0x30,0xa2,0x4e]348 349        usubw v0.8h, v1.8h, v2.8b350        usubw v0.4s, v1.4s, v2.4h351        usubw v0.2d, v1.2d, v2.2s352 353// CHECK: usubw	v0.8h, v1.8h, v2.8b     // encoding: [0x20,0x30,0x22,0x2e]354// CHECK: usubw	v0.4s, v1.4s, v2.4h     // encoding: [0x20,0x30,0x62,0x2e]355// CHECK: usubw	v0.2d, v1.2d, v2.2s     // encoding: [0x20,0x30,0xa2,0x2e]356 357        usubw2 v0.8h, v1.8h, v2.16b358        usubw2 v0.4s, v1.4s, v2.8h359        usubw2 v0.2d, v1.2d, v2.4s360 361// CHECK: usubw2	v0.8h, v1.8h, v2.16b    // encoding: [0x20,0x30,0x22,0x6e]362// CHECK: usubw2	v0.4s, v1.4s, v2.8h     // encoding: [0x20,0x30,0x62,0x6e]363// CHECK: usubw2	v0.2d, v1.2d, v2.4s     // encoding: [0x20,0x30,0xa2,0x6e]364 365//------------------------------------------------------------------------------366// Narrow367//------------------------------------------------------------------------------368 369        addhn v0.8b, v1.8h, v2.8h370        addhn v0.4h, v1.4s, v2.4s371        addhn v0.2s, v1.2d, v2.2d372 373// CHECK: addhn	v0.8b, v1.8h, v2.8h     // encoding: [0x20,0x40,0x22,0x0e]374// CHECK: addhn	v0.4h, v1.4s, v2.4s     // encoding: [0x20,0x40,0x62,0x0e]375// CHECK: addhn	v0.2s, v1.2d, v2.2d     // encoding: [0x20,0x40,0xa2,0x0e]376 377        addhn2 v0.16b, v1.8h, v2.8h378        addhn2 v0.8h, v1.4s, v2.4s379        addhn2 v0.4s, v1.2d, v2.2d380 381// CHECK: addhn2	v0.16b, v1.8h, v2.8h    // encoding: [0x20,0x40,0x22,0x4e]382// CHECK: addhn2	v0.8h, v1.4s, v2.4s     // encoding: [0x20,0x40,0x62,0x4e]383// CHECK: addhn2	v0.4s, v1.2d, v2.2d     // encoding: [0x20,0x40,0xa2,0x4e]384 385        raddhn v0.8b, v1.8h, v2.8h386        raddhn v0.4h, v1.4s, v2.4s387        raddhn v0.2s, v1.2d, v2.2d388 389// CHECK: raddhn	v0.8b, v1.8h, v2.8h     // encoding: [0x20,0x40,0x22,0x2e]390// CHECK: raddhn	v0.4h, v1.4s, v2.4s     // encoding: [0x20,0x40,0x62,0x2e]391// CHECK: raddhn	v0.2s, v1.2d, v2.2d     // encoding: [0x20,0x40,0xa2,0x2e]392 393        raddhn2 v0.16b, v1.8h, v2.8h394        raddhn2 v0.8h, v1.4s, v2.4s395        raddhn2 v0.4s, v1.2d, v2.2d396 397// CHECK: raddhn2	v0.16b, v1.8h, v2.8h    // encoding: [0x20,0x40,0x22,0x6e]398// CHECK: raddhn2	v0.8h, v1.4s, v2.4s     // encoding: [0x20,0x40,0x62,0x6e]399// CHECK: raddhn2	v0.4s, v1.2d, v2.2d     // encoding: [0x20,0x40,0xa2,0x6e]400 401        rsubhn v0.8b, v1.8h, v2.8h402        rsubhn v0.4h, v1.4s, v2.4s403        rsubhn v0.2s, v1.2d, v2.2d404 405// CHECK: rsubhn	v0.8b, v1.8h, v2.8h     // encoding: [0x20,0x60,0x22,0x2e]406// CHECK: rsubhn	v0.4h, v1.4s, v2.4s     // encoding: [0x20,0x60,0x62,0x2e]407// CHECK: rsubhn	v0.2s, v1.2d, v2.2d     // encoding: [0x20,0x60,0xa2,0x2e]408 409        rsubhn2 v0.16b, v1.8h, v2.8h410        rsubhn2 v0.8h, v1.4s, v2.4s411        rsubhn2 v0.4s, v1.2d, v2.2d412 413// CHECK: rsubhn2	v0.16b, v1.8h, v2.8h    // encoding: [0x20,0x60,0x22,0x6e]414// CHECK: rsubhn2	v0.8h, v1.4s, v2.4s     // encoding: [0x20,0x60,0x62,0x6e]415// CHECK: rsubhn2	v0.4s, v1.2d, v2.2d     // encoding: [0x20,0x60,0xa2,0x6e]416