Home | History | Annotate | Download | only in arm
      1 	@ We do not bother testing simple cases, e.g. immediates where
      2 	@ registers belong, trailing junk at end of line.
      3 	.text
      4 x:
      5 	@ pc not allowed
      6 	bfc	pc,#0,#1
      7 	bfi	pc,r0,#0,#1
      8 	movw	pc,#0
      9 	movt	pc,#0
     10 
     11 	@ bitfield range limits
     12 	bfc	r0,#0,#0
     13 	bfc	r0,#32,#0
     14 	bfc	r0,#0,#33
     15 	bfc	r0,#33,#1
     16 	bfc	r0,#32,#1
     17 	bfc	r0,#28,#10
     18 
     19 	bfi	r0,r1,#0,#0
     20 	bfi	r0,r1,#32,#0
     21 	bfi	r0,r1,#0,#33
     22 	bfi	r0,r1,#33,#1
     23 	bfi	r0,r1,#32,#1
     24 	bfi	r0,r1,#28,#10
     25 
     26 	sbfx	r0,r1,#0,#0
     27 	sbfx	r0,r1,#32,#0
     28 	sbfx	r0,r1,#0,#33
     29 	sbfx	r0,r1,#33,#1
     30 	sbfx	r0,r1,#32,#1
     31 	sbfx	r0,r1,#28,#10
     32 
     33 	ubfx	r0,r1,#0,#0
     34 	ubfx	r0,r1,#32,#0
     35 	ubfx	r0,r1,#0,#33
     36 	ubfx	r0,r1,#33,#1
     37 	ubfx	r0,r1,#32,#1
     38 	ubfx	r0,r1,#28,#10
     39 
     40 	@ bfi accepts only #0 in Rm position
     41 	bfi	r0,#1,#2,#3
     42 
     43 	@ mov16 range limits
     44 	movt	r0,#65537
     45 	movw	r0,#65537
     46 	movt	r0,#-1
     47 	movw	r0,#-1
     48 
     49 	@ ldsttv4 Rd == Rn (warning)
     50 	ldrht	r0,[r0]
     51 	ldrsbt	r0,[r0]
     52 	ldrsht	r0,[r0]
     53 	strht	r0,[r0]
     54 
     55 	@ Bug reported by user.  GAS used to issue an error message
     56 	@ "r15 not allowed here" for these two instructions because
     57 	@ it thought that the "r2" operand was a PC-relative branch
     58 	@ to a label called "r2".
     59 	ldrex	r0, r2
     60 	strex	r1, r0, r2
     61