	@ 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]

	@ Bug reported by user.  GAS used to issue an error message
	@ "r15 not allowed here" for these two instructions because
	@ it thought that the "r2" operand was a PC-relative branch
	@ to a label called "r2".
	ldrex	r0, r2
	strex	r1, r0, r2

	@ movs shouldn't be extened to accept UINT16 can't fit into ARM modified
	@ immediate format.
	movs	r0, #0x0999
