brintos

brintos / llvm-project-archived public Read only

0
0
Text · 21.6 KiB · 4638c53 Raw
451 lines · plain
1// RUN: llvm-mc -triple=aarch64-none-linux-gnu -mattr=+neon,+fullfp16 -show-encoding < %s | FileCheck %s2 3// Check that the assembler can handle the documented syntax for AArch644 5//------------------------------------------------------------------------------6// Vector shift right by immediate7//------------------------------------------------------------------------------8         sshr v0.8b, v1.8b, #39         sshr v0.4h, v1.4h, #310         sshr v0.2s, v1.2s, #311         sshr v0.16b, v1.16b, #312         sshr v0.8h, v1.8h, #313         sshr v0.4s, v1.4s, #314         sshr v0.2d, v1.2d, #315// CHECK:	sshr	v0.8b, v1.8b, #3        // encoding: [0x20,0x04,0x0d,0x0f]16// CHECK:	sshr	v0.4h, v1.4h, #3        // encoding: [0x20,0x04,0x1d,0x0f]17// CHECK:	sshr	v0.2s, v1.2s, #3        // encoding: [0x20,0x04,0x3d,0x0f]18// CHECK:	sshr	v0.16b, v1.16b, #3      // encoding: [0x20,0x04,0x0d,0x4f]19// CHECK:	sshr	v0.8h, v1.8h, #3        // encoding: [0x20,0x04,0x1d,0x4f]20// CHECK:	sshr	v0.4s, v1.4s, #3        // encoding: [0x20,0x04,0x3d,0x4f]21// CHECK:	sshr	v0.2d, v1.2d, #3        // encoding: [0x20,0x04,0x7d,0x4f]22 23//------------------------------------------------------------------------------24// Vector  shift right by immediate25//------------------------------------------------------------------------------26         ushr v0.8b, v1.8b, #327         ushr v0.4h, v1.4h, #328         ushr v0.2s, v1.2s, #329         ushr v0.16b, v1.16b, #330         ushr v0.8h, v1.8h, #331         ushr v0.4s, v1.4s, #332         ushr v0.2d, v1.2d, #333 34// CHECK: 	ushr	v0.8b, v1.8b, #3        // encoding: [0x20,0x04,0x0d,0x2f]35// CHECK: 	ushr	v0.4h, v1.4h, #3        // encoding: [0x20,0x04,0x1d,0x2f]36// CHECK:	ushr	v0.2s, v1.2s, #3        // encoding: [0x20,0x04,0x3d,0x2f]37// CHECK:	ushr	v0.16b, v1.16b, #3      // encoding: [0x20,0x04,0x0d,0x6f]38// CHECK:	ushr	v0.8h, v1.8h, #3        // encoding: [0x20,0x04,0x1d,0x6f]39// CHECK:	ushr	v0.4s, v1.4s, #3        // encoding: [0x20,0x04,0x3d,0x6f]40// CHECK:	ushr	v0.2d, v1.2d, #3        // encoding: [0x20,0x04,0x7d,0x6f]41 42//------------------------------------------------------------------------------43// Vector shift right and accumulate by immediate44//------------------------------------------------------------------------------45         ssra v0.8b, v1.8b, #346         ssra v0.4h, v1.4h, #347         ssra v0.2s, v1.2s, #348         ssra v0.16b, v1.16b, #349         ssra v0.8h, v1.8h, #350         ssra v0.4s, v1.4s, #351         ssra v0.2d, v1.2d, #352 53// CHECK:	ssra	v0.8b, v1.8b, #3        // encoding: [0x20,0x14,0x0d,0x0f]54// CHECK:	ssra	v0.4h, v1.4h, #3        // encoding: [0x20,0x14,0x1d,0x0f]55// CHECK:	ssra	v0.2s, v1.2s, #3        // encoding: [0x20,0x14,0x3d,0x0f]56// CHECK:	ssra	v0.16b, v1.16b, #3      // encoding: [0x20,0x14,0x0d,0x4f]57// CHECK:	ssra	v0.8h, v1.8h, #3        // encoding: [0x20,0x14,0x1d,0x4f]58// CHECK:	ssra	v0.4s, v1.4s, #3        // encoding: [0x20,0x14,0x3d,0x4f]59// CHECK:	ssra	v0.2d, v1.2d, #3        // encoding: [0x20,0x14,0x7d,0x4f]60 61//------------------------------------------------------------------------------62// Vector  shift right and accumulate by immediate63//------------------------------------------------------------------------------64         usra v0.8b, v1.8b, #365         usra v0.4h, v1.4h, #366         usra v0.2s, v1.2s, #367         usra v0.16b, v1.16b, #368         usra v0.8h, v1.8h, #369         usra v0.4s, v1.4s, #370         usra v0.2d, v1.2d, #371 72// CHECK:	usra	v0.8b, v1.8b, #3        // encoding: [0x20,0x14,0x0d,0x2f]73// CHECK:	usra	v0.4h, v1.4h, #3        // encoding: [0x20,0x14,0x1d,0x2f]74// CHECK:	usra	v0.2s, v1.2s, #3        // encoding: [0x20,0x14,0x3d,0x2f]75// CHECK:	usra	v0.16b, v1.16b, #3      // encoding: [0x20,0x14,0x0d,0x6f]76// CHECK:	usra	v0.8h, v1.8h, #3        // encoding: [0x20,0x14,0x1d,0x6f]77// CHECK:	usra	v0.4s, v1.4s, #3        // encoding: [0x20,0x14,0x3d,0x6f]78// CHECK:	usra	v0.2d, v1.2d, #3        // encoding: [0x20,0x14,0x7d,0x6f]79 80//------------------------------------------------------------------------------81// Vector rounding shift right by immediate82//------------------------------------------------------------------------------83         srshr v0.8b, v1.8b, #384         srshr v0.4h, v1.4h, #385         srshr v0.2s, v1.2s, #386         srshr v0.16b, v1.16b, #387         srshr v0.8h, v1.8h, #388         srshr v0.4s, v1.4s, #389         srshr v0.2d, v1.2d, #390 91// CHECK:	srshr	v0.8b, v1.8b, #3        // encoding: [0x20,0x24,0x0d,0x0f]92// CHECK:	srshr	v0.4h, v1.4h, #3        // encoding: [0x20,0x24,0x1d,0x0f]93// CHECK:	srshr	v0.2s, v1.2s, #3        // encoding: [0x20,0x24,0x3d,0x0f]94// CHECK:	srshr	v0.16b, v1.16b, #3      // encoding: [0x20,0x24,0x0d,0x4f]95// CHECK:	srshr	v0.8h, v1.8h, #3        // encoding: [0x20,0x24,0x1d,0x4f]96// CHECK:	srshr	v0.4s, v1.4s, #3        // encoding: [0x20,0x24,0x3d,0x4f]97// CHECK:	srshr	v0.2d, v1.2d, #3        // encoding: [0x20,0x24,0x7d,0x4f]98 99 100//------------------------------------------------------------------------------101// Vecotr rounding shift right by immediate102//------------------------------------------------------------------------------103         urshr v0.8b, v1.8b, #3104         urshr v0.4h, v1.4h, #3105         urshr v0.2s, v1.2s, #3106         urshr v0.16b, v1.16b, #3107         urshr v0.8h, v1.8h, #3108         urshr v0.4s, v1.4s, #3109         urshr v0.2d, v1.2d, #3110 111// CHECK:	urshr	v0.8b, v1.8b, #3        // encoding: [0x20,0x24,0x0d,0x2f]112// CHECK:	urshr	v0.4h, v1.4h, #3        // encoding: [0x20,0x24,0x1d,0x2f]113// CHECK:	urshr	v0.2s, v1.2s, #3        // encoding: [0x20,0x24,0x3d,0x2f]114// CHECK:	urshr	v0.16b, v1.16b, #3      // encoding: [0x20,0x24,0x0d,0x6f]115// CHECK:	urshr	v0.8h, v1.8h, #3        // encoding: [0x20,0x24,0x1d,0x6f]116// CHECK:	urshr	v0.4s, v1.4s, #3        // encoding: [0x20,0x24,0x3d,0x6f]117// CHECK:	urshr	v0.2d, v1.2d, #3        // encoding: [0x20,0x24,0x7d,0x6f]118 119 120//------------------------------------------------------------------------------121// Vector rounding shift right and accumulate by immediate122//------------------------------------------------------------------------------123         srsra v0.8b, v1.8b, #3124         srsra v0.4h, v1.4h, #3125         srsra v0.2s, v1.2s, #3126         srsra v0.16b, v1.16b, #3127         srsra v0.8h, v1.8h, #3128         srsra v0.4s, v1.4s, #3129         srsra v0.2d, v1.2d, #3130 131// CHECK:	srsra	v0.8b, v1.8b, #3        // encoding: [0x20,0x34,0x0d,0x0f]132// CHECK:	srsra	v0.4h, v1.4h, #3        // encoding: [0x20,0x34,0x1d,0x0f]133// CHECK:	srsra	v0.2s, v1.2s, #3        // encoding: [0x20,0x34,0x3d,0x0f]134// CHECK:	srsra	v0.16b, v1.16b, #3      // encoding: [0x20,0x34,0x0d,0x4f]135// CHECK:	srsra	v0.8h, v1.8h, #3        // encoding: [0x20,0x34,0x1d,0x4f]136// CHECK:	srsra	v0.4s, v1.4s, #3        // encoding: [0x20,0x34,0x3d,0x4f]137// CHECK:	srsra	v0.2d, v1.2d, #3        // encoding: [0x20,0x34,0x7d,0x4f]138 139 140//------------------------------------------------------------------------------141// Vector rounding shift right and accumulate by immediate142//------------------------------------------------------------------------------143         ursra v0.8b, v1.8b, #3144         ursra v0.4h, v1.4h, #3145         ursra v0.2s, v1.2s, #3146         ursra v0.16b, v1.16b, #3147         ursra v0.8h, v1.8h, #3148         ursra v0.4s, v1.4s, #3149         ursra v0.2d, v1.2d, #3150 151// CHECK:	ursra	v0.8b, v1.8b, #3        // encoding: [0x20,0x34,0x0d,0x2f]152// CHECK:	ursra	v0.4h, v1.4h, #3        // encoding: [0x20,0x34,0x1d,0x2f]153// CHECK:	ursra	v0.2s, v1.2s, #3        // encoding: [0x20,0x34,0x3d,0x2f]154// CHECK:	ursra	v0.16b, v1.16b, #3      // encoding: [0x20,0x34,0x0d,0x6f]155// CHECK:	ursra	v0.8h, v1.8h, #3        // encoding: [0x20,0x34,0x1d,0x6f]156// CHECK:	ursra	v0.4s, v1.4s, #3        // encoding: [0x20,0x34,0x3d,0x6f]157// CHECK:	ursra	v0.2d, v1.2d, #3        // encoding: [0x20,0x34,0x7d,0x6f]158 159 160//------------------------------------------------------------------------------161// Vector shift right and insert by immediate162//------------------------------------------------------------------------------163         sri v0.8b, v1.8b, #3164         sri v0.4h, v1.4h, #3165         sri v0.2s, v1.2s, #3166         sri v0.16b, v1.16b, #3167         sri v0.8h, v1.8h, #3168         sri v0.4s, v1.4s, #3169         sri v0.2d, v1.2d, #3170 171// CHECK:	sri	v0.8b, v1.8b, #3        // encoding: [0x20,0x44,0x0d,0x2f]172// CHECK:	sri	v0.4h, v1.4h, #3        // encoding: [0x20,0x44,0x1d,0x2f]173// CHECK:	sri	v0.2s, v1.2s, #3        // encoding: [0x20,0x44,0x3d,0x2f]174// CHECK:	sri	v0.16b, v1.16b, #3      // encoding: [0x20,0x44,0x0d,0x6f]175// CHECK:	sri	v0.8h, v1.8h, #3        // encoding: [0x20,0x44,0x1d,0x6f]176// CHECK:	sri	v0.4s, v1.4s, #3        // encoding: [0x20,0x44,0x3d,0x6f]177 178 179//------------------------------------------------------------------------------180// Vector shift left and insert by immediate181//------------------------------------------------------------------------------182         sli v0.8b, v1.8b, #3183         sli v0.4h, v1.4h, #3184         sli v0.2s, v1.2s, #3185         sli v0.16b, v1.16b, #3186         sli v0.8h, v1.8h, #3187         sli v0.4s, v1.4s, #3188         sli v0.2d, v1.2d, #3189 190// CHECK:	sli	v0.8b, v1.8b, #3        // encoding: [0x20,0x54,0x0b,0x2f]191// CHECK:	sli	v0.4h, v1.4h, #3        // encoding: [0x20,0x54,0x13,0x2f]192// CHECK:	sli	v0.2s, v1.2s, #3        // encoding: [0x20,0x54,0x23,0x2f]193// CHECK:	sli	v0.16b, v1.16b, #3      // encoding: [0x20,0x54,0x0b,0x6f]194// CHECK:	sli	v0.8h, v1.8h, #3        // encoding: [0x20,0x54,0x13,0x6f]195// CHECK:	sli	v0.4s, v1.4s, #3        // encoding: [0x20,0x54,0x23,0x6f]196// CHECK:	sli	v0.2d, v1.2d, #3        // encoding: [0x20,0x54,0x43,0x6f]197 198//------------------------------------------------------------------------------199// Vector saturating shift left unsigned by immediate200//------------------------------------------------------------------------------201         sqshlu v0.8b, v1.8b, #3202         sqshlu v0.4h, v1.4h, #3203         sqshlu v0.2s, v1.2s, #3204         sqshlu v0.16b, v1.16b, #3205         sqshlu v0.8h, v1.8h, #3206         sqshlu v0.4s, v1.4s, #3207         sqshlu v0.2d, v1.2d, #3208 209// CHECK:	sqshlu	v0.8b, v1.8b, #3        // encoding: [0x20,0x64,0x0b,0x2f]210// CHECK:	sqshlu	v0.4h, v1.4h, #3        // encoding: [0x20,0x64,0x13,0x2f]211// CHECK:	sqshlu	v0.2s, v1.2s, #3        // encoding: [0x20,0x64,0x23,0x2f]212// CHECK:	sqshlu	v0.16b, v1.16b, #3      // encoding: [0x20,0x64,0x0b,0x6f]213// CHECK:	sqshlu	v0.8h, v1.8h, #3        // encoding: [0x20,0x64,0x13,0x6f]214// CHECK:	sqshlu	v0.4s, v1.4s, #3        // encoding: [0x20,0x64,0x23,0x6f]215// CHECK:	sqshlu	v0.2d, v1.2d, #3        // encoding: [0x20,0x64,0x43,0x6f]216 217 218//------------------------------------------------------------------------------219// Vector saturating shift left by immediate220//------------------------------------------------------------------------------221         sqshl v0.8b, v1.8b, #3222         sqshl v0.4h, v1.4h, #3223         sqshl v0.2s, v1.2s, #3224         sqshl v0.16b, v1.16b, #3225         sqshl v0.8h, v1.8h, #3226         sqshl v0.4s, v1.4s, #3227         sqshl v0.2d, v1.2d, #3228 229// CHECK:	sqshl	v0.8b, v1.8b, #3        // encoding: [0x20,0x74,0x0b,0x0f]230// CHECK:	sqshl	v0.4h, v1.4h, #3        // encoding: [0x20,0x74,0x13,0x0f]231// CHECK:	sqshl	v0.2s, v1.2s, #3        // encoding: [0x20,0x74,0x23,0x0f]232// CHECK:	sqshl	v0.16b, v1.16b, #3      // encoding: [0x20,0x74,0x0b,0x4f]233// CHECK:	sqshl	v0.8h, v1.8h, #3        // encoding: [0x20,0x74,0x13,0x4f]234// CHECK:	sqshl	v0.4s, v1.4s, #3        // encoding: [0x20,0x74,0x23,0x4f]235// CHECK:	sqshl	v0.2d, v1.2d, #3        // encoding: [0x20,0x74,0x43,0x4f]236 237 238 239//------------------------------------------------------------------------------240// Vector saturating shift left by immediate241//------------------------------------------------------------------------------242         uqshl v0.8b, v1.8b, #3243         uqshl v0.4h, v1.4h, #3244         uqshl v0.2s, v1.2s, #3245         uqshl v0.16b, v1.16b, #3246         uqshl v0.8h, v1.8h, #3247         uqshl v0.4s, v1.4s, #3248         uqshl v0.2d, v1.2d, #3249 250// CHECK:	uqshl	v0.8b, v1.8b, #3        // encoding: [0x20,0x74,0x0b,0x2f]251// CHECK:	uqshl	v0.4h, v1.4h, #3        // encoding: [0x20,0x74,0x13,0x2f]252// CHECK:	uqshl	v0.2s, v1.2s, #3        // encoding: [0x20,0x74,0x23,0x2f]253// CHECK:	uqshl	v0.16b, v1.16b, #3      // encoding: [0x20,0x74,0x0b,0x6f]254// CHECK:	uqshl	v0.8h, v1.8h, #3        // encoding: [0x20,0x74,0x13,0x6f]255// CHECK:	uqshl	v0.4s, v1.4s, #3        // encoding: [0x20,0x74,0x23,0x6f]256// CHECK:	uqshl	v0.2d, v1.2d, #3        // encoding: [0x20,0x74,0x43,0x6f]257 258 259//------------------------------------------------------------------------------260// Vector shift right narrow by immediate261//------------------------------------------------------------------------------262         shrn v0.8b, v1.8h, #3263         shrn v0.4h, v1.4s, #3264         shrn v0.2s, v1.2d, #3265         shrn2 v0.16b, v1.8h, #3266         shrn2 v0.8h, v1.4s, #3267         shrn2 v0.4s, v1.2d, #3268 269// CHECK:	shrn	v0.8b, v1.8h, #3        // encoding: [0x20,0x84,0x0d,0x0f]270// CHECK:	shrn	v0.4h, v1.4s, #3        // encoding: [0x20,0x84,0x1d,0x0f]271// CHECK:	shrn	v0.2s, v1.2d, #3        // encoding: [0x20,0x84,0x3d,0x0f]272// CHECK:	shrn2	v0.16b, v1.8h, #3       // encoding: [0x20,0x84,0x0d,0x4f]273// CHECK:	shrn2	v0.8h, v1.4s, #3        // encoding: [0x20,0x84,0x1d,0x4f]274// CHECK:	shrn2	v0.4s, v1.2d, #3        // encoding: [0x20,0x84,0x3d,0x4f]275 276//------------------------------------------------------------------------------277// Vector saturating shift right unsigned narrow by immediate278//------------------------------------------------------------------------------279         sqshrun v0.8b, v1.8h, #3280         sqshrun v0.4h, v1.4s, #3281         sqshrun v0.2s, v1.2d, #3282         sqshrun2 v0.16b, v1.8h, #3283         sqshrun2 v0.8h, v1.4s, #3284         sqshrun2 v0.4s, v1.2d, #3285 286// CHECK:	sqshrun	v0.8b, v1.8h, #3        // encoding: [0x20,0x84,0x0d,0x2f]287// CHECK:	sqshrun	v0.4h, v1.4s, #3        // encoding: [0x20,0x84,0x1d,0x2f]288// CHECK:	sqshrun	v0.2s, v1.2d, #3        // encoding: [0x20,0x84,0x3d,0x2f]289// CHECK:	sqshrun2	v0.16b, v1.8h, #3 	// encoding: [0x20,0x84,0x0d,0x6f]290// CHECK:	sqshrun2	v0.8h, v1.4s, #3 	// encoding: [0x20,0x84,0x1d,0x6f]291// CHECK:	sqshrun2	v0.4s, v1.2d, #3 	// encoding: [0x20,0x84,0x3d,0x6f]292 293//------------------------------------------------------------------------------294// Vector rounding shift right narrow by immediate295//------------------------------------------------------------------------------296         rshrn v0.8b, v1.8h, #3297         rshrn v0.4h, v1.4s, #3298         rshrn v0.2s, v1.2d, #3299         rshrn2 v0.16b, v1.8h, #3300         rshrn2 v0.8h, v1.4s, #3301         rshrn2 v0.4s, v1.2d, #3302 303// CHECK:	rshrn	v0.8b, v1.8h, #3        // encoding: [0x20,0x8c,0x0d,0x0f]304// CHECK:	rshrn	v0.4h, v1.4s, #3        // encoding: [0x20,0x8c,0x1d,0x0f]305// CHECK:	rshrn	v0.2s, v1.2d, #3        // encoding: [0x20,0x8c,0x3d,0x0f]306// CHECK:	rshrn2	v0.16b, v1.8h, #3       // encoding: [0x20,0x8c,0x0d,0x4f]307// CHECK:	rshrn2	v0.8h, v1.4s, #3        // encoding: [0x20,0x8c,0x1d,0x4f]308// CHECK:	rshrn2	v0.4s, v1.2d, #3        // encoding: [0x20,0x8c,0x3d,0x4f]309 310 311//------------------------------------------------------------------------------312// Vector saturating shift right rounded unsigned narrow by immediate313//------------------------------------------------------------------------------314         sqrshrun v0.8b, v1.8h, #3315         sqrshrun v0.4h, v1.4s, #3316         sqrshrun v0.2s, v1.2d, #3317         sqrshrun2 v0.16b, v1.8h, #3318         sqrshrun2 v0.8h, v1.4s, #3319         sqrshrun2 v0.4s, v1.2d, #3320 321// CHECK:	sqrshrun	v0.8b, v1.8h, #3    // encoding: [0x20,0x8c,0x0d,0x2f]322// CHECK:	sqrshrun	v0.4h, v1.4s, #3    // encoding: [0x20,0x8c,0x1d,0x2f]323// CHECK:	sqrshrun	v0.2s, v1.2d, #3    // encoding: [0x20,0x8c,0x3d,0x2f]324// CHECK:	sqrshrun2	v0.16b, v1.8h, #3   // encoding: [0x20,0x8c,0x0d,0x6f]325// CHECK:	sqrshrun2	v0.8h, v1.4s, #3    // encoding: [0x20,0x8c,0x1d,0x6f]326// CHECK:	sqrshrun2	v0.4s, v1.2d, #3    // encoding: [0x20,0x8c,0x3d,0x6f]327 328 329//------------------------------------------------------------------------------330// Vector saturating shift right narrow by immediate331//------------------------------------------------------------------------------332         sqshrn v0.8b, v1.8h, #3333         sqshrn v0.4h, v1.4s, #3334         sqshrn v0.2s, v1.2d, #3335         sqshrn2 v0.16b, v1.8h, #3336         sqshrn2 v0.8h, v1.4s, #3337         sqshrn2 v0.4s, v1.2d, #3338 339// CHECK:	sqshrn	v0.8b, v1.8h, #3        // encoding: [0x20,0x94,0x0d,0x0f]340// CHECK:	sqshrn	v0.4h, v1.4s, #3        // encoding: [0x20,0x94,0x1d,0x0f]341// CHECK:	sqshrn	v0.2s, v1.2d, #3        // encoding: [0x20,0x94,0x3d,0x0f]342// CHECK:	sqshrn2	v0.16b, v1.8h, #3       // encoding: [0x20,0x94,0x0d,0x4f]343// CHECK:	sqshrn2	v0.8h, v1.4s, #3        // encoding: [0x20,0x94,0x1d,0x4f]344// CHECK:	sqshrn2	v0.4s, v1.2d, #3        // encoding: [0x20,0x94,0x3d,0x4f]345 346 347//------------------------------------------------------------------------------348// Vector saturating shift right narrow by immediate349//------------------------------------------------------------------------------350         uqshrn v0.8b, v1.8h, #3351         uqshrn v0.4h, v1.4s, #3352         uqshrn v0.2s, v1.2d, #3353         uqshrn2 v0.16b, v1.8h, #3354         uqshrn2 v0.8h, v1.4s, #3355         uqshrn2 v0.4s, v1.2d, #3356 357// CHECK:	uqshrn	v0.8b, v1.8h, #3        // encoding: [0x20,0x94,0x0d,0x2f]358// CHECK:	uqshrn	v0.4h, v1.4s, #3        // encoding: [0x20,0x94,0x1d,0x2f]359// CHECK:	uqshrn	v0.2s, v1.2d, #3        // encoding: [0x20,0x94,0x3d,0x2f]360// CHECK:	uqshrn2	v0.16b, v1.8h, #3       // encoding: [0x20,0x94,0x0d,0x6f]361// CHECK:	uqshrn2	v0.8h, v1.4s, #3        // encoding: [0x20,0x94,0x1d,0x6f]362// CHECK:	uqshrn2	v0.4s, v1.2d, #3        // encoding: [0x20,0x94,0x3d,0x6f]363 364//------------------------------------------------------------------------------365// Vector saturating shift right rounded narrow by immediate366//------------------------------------------------------------------------------367         sqrshrn v0.8b, v1.8h, #3368         sqrshrn v0.4h, v1.4s, #3369         sqrshrn v0.2s, v1.2d, #3370         sqrshrn2 v0.16b, v1.8h, #3371         sqrshrn2 v0.8h, v1.4s, #3372         sqrshrn2 v0.4s, v1.2d, #3373 374// CHECK:	sqrshrn	v0.8b, v1.8h, #3        // encoding: [0x20,0x9c,0x0d,0x0f]375// CHECK:	sqrshrn	v0.4h, v1.4s, #3        // encoding: [0x20,0x9c,0x1d,0x0f]376// CHECK:	sqrshrn	v0.2s, v1.2d, #3        // encoding: [0x20,0x9c,0x3d,0x0f]377// CHECK:	sqrshrn2	v0.16b, v1.8h, #3   // encoding: [0x20,0x9c,0x0d,0x4f]378// CHECK:	sqrshrn2	v0.8h, v1.4s, #3    // encoding: [0x20,0x9c,0x1d,0x4f]379// CHECK:	sqrshrn2	v0.4s, v1.2d, #3    // encoding: [0x20,0x9c,0x3d,0x4f]380 381 382//------------------------------------------------------------------------------383// Vector saturating shift right rounded narrow by immediate384//------------------------------------------------------------------------------385         uqrshrn v0.8b, v1.8h, #3386         uqrshrn v0.4h, v1.4s, #3387         uqrshrn v0.2s, v1.2d, #3388         uqrshrn2 v0.16b, v1.8h, #3389         uqrshrn2 v0.8h, v1.4s, #3390         uqrshrn2 v0.4s, v1.2d, #3391 392// CHECK:	uqrshrn	v0.8b, v1.8h, #3        // encoding: [0x20,0x9c,0x0d,0x2f]393// CHECK:	uqrshrn	v0.4h, v1.4s, #3        // encoding: [0x20,0x9c,0x1d,0x2f]394// CHECK:	uqrshrn	v0.2s, v1.2d, #3        // encoding: [0x20,0x9c,0x3d,0x2f]395// CHECK:	uqrshrn2	v0.16b, v1.8h, #3   // encoding: [0x20,0x9c,0x0d,0x6f]396// CHECK:	uqrshrn2	v0.8h, v1.4s, #3    // encoding: [0x20,0x9c,0x1d,0x6f]397// CHECK:	uqrshrn2	v0.4s, v1.2d, #3    // encoding: [0x20,0x9c,0x3d,0x6f]398 399 400//------------------------------------------------------------------------------401// Fixed-point convert to floating-point402//------------------------------------------------------------------------------403         scvtf v0.4h, v1.4h, #3404         scvtf v0.8h, v1.8h, #3405         scvtf v0.2s, v1.2s, #3406         scvtf v0.4s, v1.4s, #3407         scvtf v0.2d, v1.2d, #3408         ucvtf v0.4h, v1.4h, #3409         ucvtf v0.8h, v1.8h, #3410         ucvtf v0.2s, v1.2s, #3411         ucvtf v0.4s, v1.4s, #3412         ucvtf v0.2d, v1.2d, #3413 414// CHECK: scvtf v0.4h, v1.4h, #3        // encoding: [0x20,0xe4,0x1d,0x0f]415// CHECK: scvtf v0.8h, v1.8h, #3        // encoding: [0x20,0xe4,0x1d,0x4f]416// CHECK:	scvtf	v0.2s, v1.2s, #3        // encoding: [0x20,0xe4,0x3d,0x0f]417// CHECK:	scvtf	v0.4s, v1.4s, #3        // encoding: [0x20,0xe4,0x3d,0x4f]418// CHECK:	scvtf	v0.2d, v1.2d, #3        // encoding: [0x20,0xe4,0x7d,0x4f]419// CHECK:	ucvtf v0.4h, v1.4h, #3        // encoding: [0x20,0xe4,0x1d,0x2f]420// CHECK:	ucvtf v0.8h, v1.8h, #3        // encoding: [0x20,0xe4,0x1d,0x6f]421// CHECK:	ucvtf	v0.2s, v1.2s, #3        // encoding: [0x20,0xe4,0x3d,0x2f]422// CHECK:	ucvtf	v0.4s, v1.4s, #3        // encoding: [0x20,0xe4,0x3d,0x6f]423// CHECK:	ucvtf	v0.2d, v1.2d, #3        // encoding: [0x20,0xe4,0x7d,0x6f]424 425//------------------------------------------------------------------------------426// Floating-point convert to fixed-point427//------------------------------------------------------------------------------428         fcvtzs v0.4h, v1.4h, #3429         fcvtzs v0.8h, v1.8h, #3430         fcvtzs v0.2s, v1.2s, #3431         fcvtzs v0.4s, v1.4s, #3432         fcvtzs v0.2d, v1.2d, #3433         fcvtzu v0.4h, v1.4h, #3434         fcvtzu v0.8h, v1.8h, #3435         fcvtzu v0.2s, v1.2s, #3436         fcvtzu v0.4s, v1.4s, #3437         fcvtzu v0.2d, v1.2d, #3438 439 440// CHECK:	fcvtzs  v0.4h, v1.4h, #3        // encoding: [0x20,0xfc,0x1d,0x0f]441// CHECK:	fcvtzs  v0.8h, v1.8h, #3        // encoding: [0x20,0xfc,0x1d,0x4f]442// CHECK:	fcvtzs	v0.2s, v1.2s, #3        // encoding: [0x20,0xfc,0x3d,0x0f]443// CHECK:	fcvtzs	v0.4s, v1.4s, #3        // encoding: [0x20,0xfc,0x3d,0x4f]444// CHECK:	fcvtzs	v0.2d, v1.2d, #3        // encoding: [0x20,0xfc,0x7d,0x4f]445// CHECK:	fcvtzu  v0.4h, v1.4h, #3        // encoding: [0x20,0xfc,0x1d,0x2f]446// CHECK:	fcvtzu  v0.8h, v1.8h, #3        // encoding: [0x20,0xfc,0x1d,0x6f]447// CHECK:	fcvtzu	v0.2s, v1.2s, #3        // encoding: [0x20,0xfc,0x3d,0x2f]448// CHECK:	fcvtzu	v0.4s, v1.4s, #3        // encoding: [0x20,0xfc,0x3d,0x6f]449// CHECK:	fcvtzu	v0.2d, v1.2d, #3        // encoding: [0x20,0xfc,0x7d,0x6f]450 451