Home | History | Annotate | Download | only in aarch64
      1 /* illegal.s Test file for AArch64 instructions that should be rejected
      2    by the assembler.
      3 
      4    Copyright (C) 2011-2016 Free Software Foundation, Inc.  Contributed by ARM Ltd.
      5 
      6    This file is part of GAS.
      7 
      8    GAS is free software; you can redistribute it and/or modify
      9    it under the terms of the GNU General Public License as published by
     10    the Free Software Foundation; either version 3 of the license, or
     11    (at your option) any later version.
     12 
     13    GAS is distributed in the hope that it will be useful,
     14    but WITHOUT ANY WARRANTY; without even the implied warranty of
     15    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     16    GNU General Public License for more details.
     17 
     18    You should have received a copy of the GNU General Public License
     19    along with this program; see the file COPYING3. If not,
     20    see <http://www.gnu.org/licenses/>.  */
     21 
     22 .text
     23 	// For urecpe and ursqrte, only 2s and 4s are accepted qualifiers.
     24 	urecpe	v0.1d, v7.1d
     25 	urecpe	v0.2d, v7.2d
     26 	ursqrte	v0.1d, v7.1d
     27 	ursqrte	v0.2d, v7.2d
     28 
     29 	// For AdvSIMD (across) instructions, there are restraints on the register type and qualifiers.
     30 	saddlv	b7, v31.8b
     31 	saddlv	d7, v31.2s
     32 	saddlv	q7, v31.2d
     33 	smaxv	s7, v31.2s
     34 	sminv	d7, v31.2d
     35 	fmaxv	h7, v31.2h
     36 	fmaxv	s7, v31.4h
     37 	fminv	d7, v31.2d
     38 
     39 	abs b0, b31
     40 	neg b0, b31
     41 	abs h0, h31
     42 	neg h0, h31
     43 	abs s0, s31
     44 	neg s0, s31
     45 
     46 	fcvt	s0, s0
     47 
     48 	bfm	w0, w1, 8, 43
     49 	ubfm	w0, x1, 8, 31
     50 
     51 	aese	v1.8b, v2.8b
     52 	sha1h	s7, d31
     53 	sha1h	q7, d31
     54 	sha1su1 v7.4s, v7.2s
     55 	sha256su0 v7.2d, v7.2d
     56 	sha1c	q7, q3, v7.4s
     57 	sha1p	s7, q8, v9.4s
     58 	sha1m	v8.4s, v7.4s, q8
     59 	sha1su0	v0.2d, v1.2d, v2.2d
     60 	sha256h	q7, s2, v8.4s
     61 
     62 	pmull	v7.8b, v15.8b, v31.8b
     63 	pmull	v7.1q, v15.1q, v31.1d
     64 	pmull2	v7.8h, v15.8b, v31.8b
     65 	pmull2	v7.1q, v15.2d, v31.1q
     66 
     67 	ld2	{v1.4h, v0.4h}, [x1]
     68 	strb	x0, [sp, x1, lsl #0]
     69 	strb	w7, [x30, x0, lsl]
     70 	strb	w7, [x30, x0, lsl #1]
     71 	ldtr	x7, [x15, 266]
     72 	sttr	x7, [x15, #1]!
     73 	stxrb	x2, w1, [sp]
     74 	stxp	w2, x3, w4, [x0]
     75 	ldxp	w3, x4, [x30]
     76 
     77 	st2	{v4.2d, v5.2d}, [x3, #3]
     78 	st2	{v4.2d, v5.2d, v6.2d}, [x3]
     79 	st1	{v4.2d, v6.2d, v8.2d}, [x3]
     80 	st3	{v4.2d, v6.2d}, [x3]
     81 	st4	{v4.2d, v6.2d}, [x3]
     82 	st2	{v4.2d, v6.2d, v8.2d, v10.2d}, [x3]
     83 	st2	{v4.2d, v6.2d, v8.2d, v10.2d}, [x3], 48
     84 
     85 	ext	v0.8b, v1.8b, v2.8b, 8
     86 	ext	v0.16b, v1.16b, v2.16b, 20
     87 
     88 	tbz	w0, #40, 0x17c
     89 
     90 	svc
     91 
     92 	fmov	v1.D[0], x0
     93 	fmov	v2.S[2], x0
     94 	fmov	v2.S[1], x0
     95 	fmov	v2.D[1], w0
     96 
     97 	smaddl	w0, w1, w2, x3
     98 	smaddl	x0, x1, w2, x3
     99 	smaddl	x0, w1, x2, x3
    100 	smaddl	x0, w1, w2, w3
    101 
    102 	ld1	{v1.s, v2.s}[1], [x3]
    103 	st1	{v2.s, v3.s}[1], [x4]
    104 	ld2	{v1.s, v2.s, v3.s}[1], [x3]
    105 	st2	{v2.s, v2.s, v3.s}[1], [x4]
    106 	ld3	{v1.s, v2.s, v3.s, v4.s}[1], [x3]
    107 	st3	{v2.s, v3.s, v4.s, v5.s}[1], [x4]
    108 	ld4	{v1.s}[1], [x3]
    109 	st4	{v2.s}[1], [x4]
    110 
    111 	ld2	{v1.b, v3.b}[1], [x3]
    112 	st2	{v2.b, v4.b}[1], [x4]
    113 	ld3	{v1.b, v3.b, v5.b}[1], [x3]
    114 	st3	{v2.b, v4.b, v6.b}[1], [x4]
    115 	ld4	{v1.b, v3.b, v5.b, v7.b}[1], [x3]
    116 	st4	{v2.b, v4.b, v6.b, v8.b}[1], [x4]
    117 
    118 	ld1	{v1.q}[1], [x3]
    119 
    120 	ld1r	{v1.4s, v3.4s}, [x3]
    121 	ld1r	{v1.4s, v2.4s, v3.4s}, [x3]
    122 	ld2r	{v1.4s, v2.4s, v3.4s}, [x3]
    123 	ld3r	{v1.4s, v2.4s, v3.4s, v4.4s}, [x3]
    124 	ld4r	{v1.4s}, [x3]
    125 
    126 	ld1r	{v1.4s, v3.4s}, [x3], x4
    127 	ld1r	{v1.4s, v2.4s, v3.4s}, [x3], x4
    128 	ld2r	{v1.4s, v2.4s, v3.4s}, [x3], x4
    129 	ld3r	{v1.4s, v2.4s, v3.4s, v4.4s}, [x3], x4
    130 	ld4r	{v1.4s}, [x3], x4
    131 
    132 	ld1r	{v1.4s}, [x3], #1
    133 	ld1r	{v1.4s, v2.4s}, [x3], #8
    134 	ld2r	{v1.4s, v2.4s}, [x3], #4
    135 	ld3r	{v1.4s, v2.4s, v3.4s}, [x3], #16
    136 	ld4r	{v1.4s, v2.4s, v3.4s, v4.4s}, [x3], #32
    137 
    138 	addp	s1, v2.2s
    139 	addp	s1, v2.2d
    140 	addp	d1, v2.2s
    141 	fmaxp	s1, v2.4s
    142 
    143 	add	s1, s2, s3
    144 	cmhi	d1, d2, s3
    145 
    146 	shll	v0.8h, v1.8b, 16
    147 	shll2	v0.2d, v1.4s, 16
    148 
    149 	dup	s1, v2.d[1]
    150 	dup	s1, v2.s[4]
    151 	mov	s1, v2.h[1]
    152 
    153 	clrex	#16
    154 
    155 	msr     daif, w5
    156 	mrs	w15, midr_el1
    157 	mrs	x0, dummy
    158 
    159 	sshr	v0.4s, v1.4s, #0
    160 	sshr	v0.4s, v1.4s, #33
    161 	sshr	v0.4h, v1.4h, #20
    162 
    163 	shl	v0.4s, v1.4s, #32
    164 	fcvtzs	v0.2h, v1.2h, #2
    165 	uqshrn	v0.2s, v1.2d, 33
    166 	uqrshrn	v0.2s, v1.2s, 32
    167 	sshll	v8.8h, v2.8b, #8
    168 
    169 	sysl	x7, #10, C15, C7, #11
    170 	sysl	w7, #1, C15, C7, #1
    171 
    172 	dsb	dummy
    173 	dmb	#16
    174 	isb	osh
    175 
    176 	prfm	0x2f, LABEL1
    177 	prfm	pldl3strm, [sp, #8]!
    178 	prfm	pldl3strm, [sp], #8
    179 	prfm	pldl3strm, [sp, w0, sxtw #3]!
    180 	prfm	pldl3strm, =0x100
    181 
    182 	sttr	x0, LABEL1
    183 	sttr	x0, [sp, #16]!
    184 	sttr	x0, [sp], #16
    185 	sttr	x0, [sp, x1]
    186 
    187 	ldur	x0, LABEL1
    188 	ldur	x0, [sp, #16]!
    189 	ldur	x0, [sp], #16
    190 	ldur	x0, [sp, x1]
    191 
    192 	ldr	b0, =0x100
    193 	ldr	h0, LABEL1
    194 
    195 	ic	ivau
    196 	ic	ivau, w0
    197 	ic	ialluis, xzr
    198 	ic	ialluis, x0
    199 	sys	#0, c0, c0, 0, w0
    200 	msr	spsel, #16
    201 	msr	cptr_el2, #15
    202 
    203 	movz	x1,#:abs_g2:u48, lsl #16
    204 	movz	x1, 0xddee, lsl #8
    205 	movz	w1,#:abs_g2:u48
    206 	movz	w1,#:abs_g3:u48
    207 	movk	x1,#:abs_g1_s:s12
    208 
    209 	movi	v0.4s, #256
    210 	movi	v0.2d, #0xabcdef
    211 
    212 	bic	v0.4s, #255, msl #8
    213 	bic	v0.4s, #512
    214 	bic	v0.4s, #1, lsl #31
    215 //	bic	v0.4h, #1, lsl #16
    216 
    217 	orr	v0.4s, #255, msl #8
    218 	orr	v0.4s, #512
    219 
    220 	movi	v0.4s, #127, lsl #4
    221 	movi	v0.4s, #127, msl #24
    222 //	movi	v0.4h, #127, lsl #16
    223 
    224 	mvni	v0.4s, #127, lsl #4
    225 	mvni	v0.4s, #127, msl #24
    226 //	mvni	v0.4h, #127, lsl #16
    227 
    228 	fmov	v0.2s, #3.1415926
    229 	fmov	v0.4s, #3.1415926
    230 	fmov	v0.2d, #3.1415926
    231 	fmov	x0, #1.0
    232 	fmov	w0, w1
    233 
    234 	msr	#5, #0
    235 	msr	SPSel, #2
    236 
    237 	tbl	v0.16b, {v1.16b, v3.16b, v5.16b}, v2.16b
    238 	tbx	v0.8b, {v1.16b, v3.16b, v5.16b, v7.16b}, v2.8b
    239 
    240 	// Alternating register list forms are no longer available A64 ISA
    241 
    242 	.macro ldst2_reg_list_post_imm_reg_64 inst type postreg
    243 	\inst\()2 {v0.\type, v2.\type}, [x0], #16
    244 	\inst\()2 {v0.\type, v1.\type, v2.\type, v3.\type}, [x0], #32
    245 	.ifnb \postreg
    246 	\inst\()2 {v0.\type, v2.\type}, [x0], \postreg
    247 	\inst\()2 {v0.\type, v1.\type, v2.\type, v3.\type}, [x0], \postreg
    248 	.endif
    249 	.endm
    250 
    251 	.macro ldst2_reg_list_post_imm_reg_128 inst type postreg
    252 	\inst\()2 {v0.\type, v2.\type}, [x0], #32
    253 	\inst\()2 {v0.\type, v1.\type, v2.\type, v3.\type}, [x0], #64
    254 	.ifnb \postreg
    255 	\inst\()2 {v0.\type, v2.\type}, [x0], \postreg
    256 	\inst\()2 {v0.\type, v1.\type, v2.\type, v3.\type}, [x0], \postreg
    257 	.endif
    258 	.endm
    259 
    260 	.irp instr ld,st
    261 	.irp bits_64 8b, 4h, 2s
    262 	ldst2_reg_list_post_imm_reg_64 \instr \bits_64 x7
    263 	.endr
    264 	.endr
    265 
    266 	.irp instr ld,st
    267 	.irp bits_128 16b, 8h, 4s, 2d
    268 	ldst2_reg_list_post_imm_reg_128 \instr \bits_128 x7
    269 	.endr
    270 	.endr
    271 
    272 	.macro ldst34_reg_list_post_imm_reg_64 inst type postreg
    273 	\inst\()3 {v0.\type, v2.\type, v4.\type}, [x0], #24
    274 	\inst\()4 {v0.\type, v2.\type, v4.\type, v6.\type}, [x0], #32
    275 	\inst\()3 {v0.\type, v2.\type, v4.\type}, [x0], \postreg
    276 	\inst\()4 {v0.\type, v2.\type, v4.\type, v6.\type}, [x0], \postreg
    277 	.endm
    278 
    279 	.macro ldst34_reg_list_post_imm_reg_128 inst type postreg
    280 	\inst\()3 {v0.\type, v2.\type, v4.\type}, [x0], #48
    281 	\inst\()4 {v0.\type, v2.\type, v4.\type, v6.\type}, [x0], #64
    282 	\inst\()3 {v0.\type, v2.\type, v4.\type}, [x0], \postreg
    283 	\inst\()4 {v0.\type, v2.\type, v4.\type, v6.\type}, [x0], \postreg
    284 	.endm
    285 
    286 	.irp instr ld,st
    287 	.irp bits_64 8b, 4h, 2s
    288 	ldst34_reg_list_post_imm_reg_64 \instr \bits_64 x7
    289 	.endr
    290 	.endr
    291 
    292 	.irp instr ld,st
    293 	.irp bits_128 16b, 8h, 4s, 2d
    294 	ldst34_reg_list_post_imm_reg_128 \instr \bits_128 x7
    295 	.endr
    296 	.endr
    297 
    298 	// LD1R expects one register only.
    299 
    300 	ld1r {v0.8b, v1.8b}, [x0], #1
    301 	ld1r {v0.16b, v1.16b}, [x0], #1
    302 	ld1r {v0.4h, v1.4h}, [x0], #2
    303 	ld1r {v0.8h, v1.8h}, [x0], #2
    304 	ld1r {v0.2s, v1.2s}, [x0], #4
    305 	ld1r {v0.4s, v1.4s}, [x0], #4
    306 	ld1r {v0.1d, v1.1d}, [x0], #8
    307 	ld1r {v0.2d, v1.2d}, [x0], #8
    308 
    309 	.macro ldstn_index_rep_H_altreg_imm inst index type rep
    310 	\inst\()2\rep {v0.\type, v2.\type}\index, [x0], #4
    311 	\inst\()3\rep {v0.\type, v2.\type, v4.\type}\index, [x0], #6
    312 	\inst\()4\rep {v0.\type, v2.\type, v4.\type, v6.\type}\index, [x0], #8
    313 	.endm
    314 
    315 	.irp instr, ld, st
    316 	ldstn_index_rep_H_altreg_imm  \instr index="[1]" type=h rep=""
    317 	.ifnc \instr, st
    318 	.irp types 4h, 8h
    319 	ldstn_index_rep_H_altreg_imm  \instr index="" type=\types rep="r"
    320 	.endr
    321 	.endif
    322 	.endr
    323 
    324 	.macro ldstn_index_rep_S_altreg_imm inst index type rep
    325 	\inst\()2\rep {v0.\type, v2.\type}\index, [x0], #8
    326 	\inst\()3\rep {v0.\type, v2.\type, v4.\type}\index, [x0], #12
    327 	\inst\()4\rep {v0.\type, v2.\type, v4.\type, v6.\type}\index, [x0], #16
    328 	.endm
    329 
    330 	.irp instr, ld, st
    331 	ldstn_index_rep_S_altreg_imm  \instr index="[1]" type=s rep=""
    332 	.ifnc \instr, st
    333 	.irp types 2s, 4s
    334 	ldstn_index_rep_S_altreg_imm  \instr index="" type=\types rep="r"
    335 	.endr
    336 	.endif
    337 	.endr
    338 
    339 	.macro ldstn_index_rep_D_altreg_imm inst index type rep
    340 	\inst\()2\rep {v0.\type, v2.\type}\index, [x0], #16
    341 	\inst\()3\rep {v0.\type, v2.\type, v4.\type}\index, [x0], #24
    342 	\inst\()4\rep {v0.\type, v2.\type, v4.\type, v6.\type}\index, [x0], #32
    343 	.endm
    344 
    345 	.irp instr, ld, st
    346 	ldstn_index_rep_D_altreg_imm  \instr index="[1]" type=d rep=""
    347 	.ifnc \instr, st
    348 	.irp types 1d, 2d
    349 	ldstn_index_rep_D_altreg_imm  \instr index="" type=\types rep="r"
    350 	.endr
    351 	.endif
    352 	.endr
    353 
    354 	.irp type 8b, 16b, 4h, 8h, 2s, 4s, 1d, 2d
    355 	ld1r {v0.\type, v1.\type}, [x0], x7
    356 	.endr
    357 
    358 	.macro ldstn_index_rep_reg_altreg inst index type rep postreg
    359 	\inst\()2\rep {v0.\type, v2.\type}\index, [x0], \postreg
    360 	\inst\()3\rep {v0.\type, v2.\type, v4.\type}\index, [x0], \postreg
    361 	\inst\()4\rep {v0.\type, v2.\type, v4.\type, v6.\type}\index, [x0], \postreg
    362 	.endm
    363 
    364 	.irp instr, ld, st
    365 	.irp itypes b,h,s,d
    366 	ldstn_index_rep_reg_altreg  \instr index="[1]" type=\itypes rep="" postreg=x7
    367 	.endr
    368 	.ifnc \instr, st
    369 	.irp types 8b, 16b, 4h, 8h, 2s, 4s, 1d, 2d
    370 	ldstn_index_rep_reg_altreg  \instr index="" type=\types rep="r" postreg=x7
    371 	.endr
    372 	.endif
    373 	.endr
    374 
    375 	.macro ldnstn_reg_list type inst index rep
    376 	.ifb \index
    377 	.ifnb \rep
    378 	\inst\()1\rep {v0.\type, v1.\type}\index, [x0]
    379 	.endif
    380 	.endif
    381 
    382 	.ifnc \type, B
    383 	\inst\()2\rep {v0.\type, v2.\type}\index, [x0]
    384 	.endif
    385 
    386 	.ifnc \type, B
    387 	\inst\()3\rep {v0.\type, v2.\type, v4.\type}\index, [x0]
    388 	.endif
    389 
    390 	.ifnc \type, B
    391 	\inst\()4\rep {v0.\type, v2.\type, v4.\type, v6.\type}\index, [x0]
    392 	.endif
    393 
    394 	.endm
    395 
    396 	ldnstn_reg_list type="8B", inst="ld" index="" rep=""
    397 	ldnstn_reg_list type="8B", inst="st" index="" rep=""
    398 
    399 	ldnstn_reg_list type="16B", inst="ld" index="" rep=""
    400 	ldnstn_reg_list type="16B", inst="st" index="" rep=""
    401 
    402 	ldnstn_reg_list type="4H", inst="ld" index="" rep=""
    403 	ldnstn_reg_list type="4H", inst="st" index="" rep=""
    404 
    405 	ldnstn_reg_list type="8H", inst="ld" index="" rep=""
    406 	ldnstn_reg_list type="8H", inst="st" index="" rep=""
    407 
    408 	ldnstn_reg_list type="2S", inst="ld" index="" rep=""
    409 	ldnstn_reg_list type="2S", inst="st" index="" rep=""
    410 
    411 	ldnstn_reg_list type="4S", inst="ld" index="" rep=""
    412 	ldnstn_reg_list type="4S", inst="st" index="" rep=""
    413 
    414 	ldnstn_reg_list type="2D", inst="ld" index="" rep=""
    415 	ldnstn_reg_list type="2D", inst="st" index="" rep=""
    416 
    417 	ldnstn_reg_list type="B", inst="ld" index="[1]" rep=""
    418 	ldnstn_reg_list type="B", inst="st" index="[1]" rep=""
    419 
    420 	ldnstn_reg_list type="B", inst="ld" index="[1]" rep=""
    421 	ldnstn_reg_list type="B", inst="st" index="[1]" rep=""
    422 
    423 	ldnstn_reg_list type="H", inst="ld" index="[1]" rep=""
    424 	ldnstn_reg_list type="H", inst="st" index="[1]" rep=""
    425 
    426 	ldnstn_reg_list type="H", inst="ld" index="[1]" rep=""
    427 	ldnstn_reg_list type="H", inst="st" index="[1]" rep=""
    428 
    429 	ldnstn_reg_list type="S", inst="ld" index="[1]" rep=""
    430 	ldnstn_reg_list type="S", inst="st" index="[1]" rep=""
    431 
    432 	ldnstn_reg_list type="S", inst="ld" index="[1]" rep=""
    433 	ldnstn_reg_list type="S", inst="st" index="[1]" rep=""
    434 
    435 	ldnstn_reg_list type="D", inst="ld" index="[1]" rep=""
    436 	ldnstn_reg_list type="D", inst="st" index="[1]" rep=""
    437 
    438 	ldnstn_reg_list type="8B", inst="ld" index="" rep="r"
    439 
    440 	ldnstn_reg_list type="16B", inst="ld" index="" rep="r"
    441 
    442 	ldnstn_reg_list type="4H", inst="ld" index="" rep="r"
    443 
    444 	ldnstn_reg_list type="8H", inst="ld" index="" rep="r"
    445 
    446 	ldnstn_reg_list type="2S", inst="ld" index="" rep="r"
    447 
    448 	ldnstn_reg_list type="4S", inst="ld" index="" rep="r"
    449 
    450 	ldnstn_reg_list type="1D", inst="ld" index="" rep="r"
    451 
    452 	ldnstn_reg_list type="2D", inst="ld" index="" rep="r"
    453 
    454 	pmull	v0.1q, v1.1d, v2.1d
    455 	pmull2	v0.1q, v1.2d, v2.2d
    456 
    457 	// #<fbits> out of range
    458 	.irp instr, scvtf, ucvtf
    459 	\instr	d0, w1, 33
    460 	\instr	s0, w0, 33
    461 	\instr	d0, x1, 65
    462 	\instr	s0, x1, 65
    463 	.endr
    464 	.irp instr, fcvtzs, fcvtzu
    465 	\instr	w1, d0, 33
    466 	\instr	w0, s0, 33
    467 	\instr	x1, d0, 65
    468 	\instr	x1, s0, 65
    469 	.endr
    470 
    471 	// Invalid instruction.
    472 	mockup-op
    473 
    474 
    475 	ldrh	w0, [x1, x2, lsr #1]
    476 
    477 	add	w0, w1, w2, ror #1
    478 	sub	w0, w1, w2, asr #32
    479 	eor	w0, w1, w2, ror #32
    480 
    481 	add	x0, x1, #20, LSL #16
    482 	add	x0, x1, #20, UXTX #12
    483 	add	x0, x1, #20, LSR
    484 	add	x0, x1, #20, LSL
    485 
    486 	ldnp	h7, h15, [x0, #2]
    487 	ldnp	b15, b31, [x0], #4
    488 	ldnp	h0, h1, [x0, #6]!
    489 
    490 	uqrshrn	h0, s1, #63
    491 	sqshl	b7, b15, #8
    492 
    493 	bfxil	w7, w15, #15, #30
    494 	bfi	x3, x7, #31, #48
    495 
    496 	str	x1,page_table_count
    497 
    498 	prfm    PLDL3KEEP, [x9, x15, sxtx #2]
    499 
    500 	mrs	x5, S1_0_C17_C8_0
    501 	msr	S3_1_C13_C15_1, x7
    502 	msr	S3_1_C11_C15_-1, x7
    503 	msr	S3_1_11_15_1, x7
    504 
    505 	// MOVI (alias of ORR immediate) is no longer supported.
    506 	movi	w1, #15
    507 .set u48, 0xaabbccddeeff
    508 
    509 	uxtb	x7, x15
    510 	uxth	x7, x15
    511 	uxtw	x7, x15
    512 	sxtb	w15, xzr
    513 	sxth	w15, xzr
    514 	sxtw	w15, xzr
    515 
    516 	mov	w0, v0.b[0]
    517 	mov	w0, v0.h[0]
    518 	mov	w0, v0.d[0]
    519 	mov	x0, v0.b[0]
    520 	mov	x0, v0.h[0]
    521 	mov	x0, v0.s[0]
    522 
    523 	uabdl2	v20.4S, v12.8H, v29.8
    524 
    525 	movi	d1, 0xffff, lsl #16
    526 
    527 	ST3 {v18.D-v20.D}[0],[x28],x
    528 	ST1 {v7.B}[2],[x4],x
    529 	ST1 {v22.1D-v25.1D},[x10],x
    530 
    531 	ldr	w0, [x0]!
    532 	ldr	w0, [x0], {127}
    533 
    534 	orr	x0, x0, #0xff, lsl #1
    535 	orr	x0. x0, #0xff, lsl #1
    536 	orr	x0, x0, #0xff lsl #1
    537 
    538 	mov	x0, ##5
    539 
    540 	msr	daifset, x0
    541 	msr	daifclr, x0
    542 
    543 	fmov	s0, #0x11
    544 	fmov	s0, #0xC0280000C1400000
    545 	fmov	d0, #0xC02f800000000000
    546 
    547 	// No 16-byte relocation
    548 	ldr	q0, =one_label
    549 
    550 	ands	w0, w24, #0xffeefffffffffffd
    551 
    552 one_label:
    553 
    554 	cinc	w0, w1, al
    555 	cinc	w0, w1, nv
    556 	cset	w0, al
    557 	cset	w0, nv
    558 	cinv	w0, w1, al
    559 	cinv	w0, w1, nv
    560 	csetm	w0, al
    561 	csetm	w0, nv
    562 	cneg	w0, w1, al
    563 	cneg	w0, w1, nv
    564 
    565 	mrs	x5, S4_0_C12_C8_0
    566 	mrs	x6, S0_8_C11_C7_5
    567 	mrs	x7, S1_1_C16_C6_6
    568 	mrs	x8, S2_2_C15_C16_7
    569 	mrs	x9, S3_3_C14_C15_8
    570