	@ We do not bother testing simple cases, e.g. immediates where
	@ registers belong, trailing junk at end of line.
	.text
x:
	@ pc not allowed
	bfc	pc,#0,#1
	bfi	pc,r0,#0,#1
	movw	pc,#0
	movt	pc,#0

	@ bitfield range limits
	bfc	r0,#0,#0
	bfc	r0,#32,#0
	bfc	r0,#0,#33
	bfc	r0,#33,#1
	bfc	r0,#32,#1
	bfc	r0,#28,#10

	bfi	r0,r1,#0,#0
	bfi	r0,r1,#32,#0
	bfi	r0,r1,#0,#33
	bfi	r0,r1,#33,#1
	bfi	r0,r1,#32,#1
	bfi	r0,r1,#28,#10

	sbfx	r0,r1,#0,#0
	sbfx	r0,r1,#32,#0
	sbfx	r0,r1,#0,#33
	sbfx	r0,r1,#33,#1
	sbfx	r0,r1,#32,#1
	sbfx	r0,r1,#28,#10

	ubfx	r0,r1,#0,#0
	ubfx	r0,r1,#32,#0
	ubfx	r0,r1,#0,#33
	ubfx	r0,r1,#33,#1
	ubfx	r0,r1,#32,#1
	ubfx	r0,r1,#28,#10

	@ bfi accepts only #0 in Rm position
	bfi	r0,#1,#2,#3

	@ mov16 range limits
	movt	r0,#65537
	movw	r0,#65537
	movt	r0,#-1
	movw	r0,#-1

	@ ldsttv4 Rd == Rn (warning)
	ldrht	r0,[r0]
	ldrsbt	r0,[r0]
	ldrsht	r0,[r0]
	strht	r0,[r0]
