Home | History | Annotate | Download | only in arm
      1 	@ ARM instructions defined for source compatibility with Thumb.
      2 	.macro	shift op opls ops oplss
      3 	\oplss	r9,r0
      4 	\opls	r0,r0,r9
      5 	\ops	r0,#17
      6 	\op	r0,r9,#17
      7 	.endm
      8 	.text
      9 	.global l
     10 l:
     11 	cpyls	r0,r0
     12 	cpy	r9,r0
     13 	cpy	r0,r9
     14 	cpy	ip,lr
     15 
     16 	shift	lsl lslls lsls lsllss
     17 	shift	lsr lsrls lsrs lsrlss
     18 	shift	asr asrls asrs asrlss
     19 	shift	ror rorls rors rorlss
     20 
     21 	neg	r0,r9
     22 	negs	r9,r0
     23 	negls	r0,r0
     24 	neglss	r9,r9
     25 
     26 	push	{r1,r2,r3}
     27 	pushls	{r2,r4,r6,r8,pc}
     28 	pop	{r1,r2,r3}
     29 	popls	{r2,r4,r6,r8,pc}
     30 
     31 	@ Two-argument forms of ARM arithmetic instructions.
     32 	and	r0,r1
     33 	eor	r0,r1
     34 	sub	r0,r1
     35 	rsb	r0,r1
     36 
     37 	add	r0,r1
     38 	adc	r0,r1
     39 	sbc	r0,r1
     40 	rsc	r0,r1
     41 
     42 	orr	r0,r1
     43 	bic	r0,r1
     44 	mul	r0,r1
     45 	nop
     46 
     47 	rrx	r0,r9
     48 	rrxs	r9,r0
     49 	nop
     50 	nop
     51