Home | History | Annotate | Download | only in mips
      1 
      2 	.sdata
      3 shared:	.word	11
      4 
      5 	.data
      6 unshared:
      7 	.word	1
      8 	.word	2
      9 	.word	3
     10 	.word	4
     11 
     12 	.text
     13 func:
     14 	.set noreorder
     15 	li	$4, 0x12345678	# 0000 lui	a0,0x1234
     16 				# 0004 ori	a0,a0,0x5678
     17 	la	$4, shared	# 0008 addiu	a0,gp,shared
     18 	la	$4, unshared	# 000c lui	a0,hi(unshared)
     19 				# 0010 addiu	a0,a0,lo(unshared)
     20 	la	$4, end		# 0014 lui	a0,hi(end)
     21 				# 0018 addiu	a0,a0,lo(end)
     22 	j	end		# 001c j	end
     23 	jal	end		# 0020 jal	end
     24 	lw	$4, shared	# 0024 lw	a0,shared(gp)
     25 	lw	$4, unshared	# 0028 lui	a0,hi(unshared)
     26 				# 002c lw	a0,lo(unshared)(a0)
     27 	lw	$4, end		# 0030 lui	a0,hi(end)
     28 				# 0034 lw	a0,lo(end)(a0)
     29 	ld	$4, shared	# 0038 ld	a0,shared(gp)
     30 	ld	$4, unshared	# 003c lui	a0,hi(unshared)
     31 				# 0040 ld	a0,lo(unshared)(a0)
     32 	ld	$4, end		# 0044 lui	a0,hi(end)
     33 				# 0048 ld	a0,lo(end)(a0)
     34 	sw	$4, shared	# 004c sw	a0,shared(gp)
     35 	sw	$4, unshared	# 0050 lui	at,hi(unshared)
     36 				# 0054 sw	a0,lo(unshared)(at)
     37 	sd	$4, shared	# 0058 sd	a0,shared(gp)
     38 	sd	$4, unshared	# 005c lui	at,hi(unshared)
     39 				# 0060 sd	a0,lo(unshared)(at)
     40 	ulh	$4, unshared	# 0064 lui	at,hi(unshared)
     41 				# 0068 addiu	at,at,lo(unshared)
     42 				# 006c lb	a0,0(at)
     43 				# 0070 lbu	at,1(at)
     44 				# 0074 sll	a0,a0,8
     45 				# 0078 or	a0,a0,at
     46 	ush	$4, unshared	# 007c lui	at,hi(unshared)
     47 				# 0080 addiu	at,at,lo(unshared)
     48 				# 0084 sb	a0,1(at)
     49 				# 0088 srl	a0,a0,8
     50 				# 008c sb	a0,0(at)
     51 				# 0090 lbu	at,1(at)
     52 				# 0094 sll	a0,a0,8
     53 				# 0098 or	a0,a0,at
     54 	ulw	$4, unshared	# 009c lui	at,hi(unshared)
     55 				# 00a0 addiu	at,at,lo(unshared)
     56 				# 00a4 lwl	a0,0(at)
     57 				# 00a8 lwr	a0,3(at)
     58 	usw	$4, unshared	# 00ac lui	at,hi(unshared)
     59 				# 00b0 addiu	at,at,lo(unshared)
     60 				# 00b4 swl	a0,0(at)
     61 				# 00b8 swr	a0,3(at)
     62 	li.d	$4, 1.0		# 00bc li	a0,0xffc0
     63 				# 00c0 dsll32	a0,a0,14 # giving 0x3ff00000...
     64 	li.d	$4, 1.9		# 00c4 lui	at,hi(F1.9)
     65 				# 00c8 ld	a0,lo(F1.9)(at)
     66 	li.d	$f0, 1.0	# 00cc lui	at,0x3ff0
     67 				# 00d0 mtc1	at,$f1
     68 				# 00d4 mtc1	zero,$f0
     69 	li.d	$f0, 1.9	# 00d8 ldc1	$f0,L1.9(gp)
     70 	seq	$4, $5, -100	# 00dc daddiu	a0,a1,100
     71 				# 00e0 sltiu	a0,a0,1
     72 	sne	$4, $5, -100	# 00e4 daddiu	a0,a1,100
     73 				# 00e8 sltu	a0,zero,a0
     74 	move	$4, $5		# 00ec move	a0,a1
     75 
     76 	dla	$4, shared	# 00f0 addiu	a0,gp,shared
     77 	dla	$4, unshared	# 00f4 lui	a0,hi(unshared)
     78 				# 00f8 addiu	a0,a0,lo(unshared)
     79 	uld	$4, unshared	# 00fc lui	at,hi(unshared)
     80 				# 0100 addiu	at,at,lo(unshared)
     81 				# 0104 ldl	a0,0(at)
     82 				# 0108 ldr	a0,7(at)
     83 	usd	$4, unshared	# 010c lui	at,hi(unshared)
     84 				# 0110 addiu	at,at,lo(unshared)
     85 				# 0114 sdl	a0,0(at)
     86 				# 0118 sdr	a0,7(at)
     87 
     88 	bgt	$4, 0x7fffffff, end	# 011c li	at,0x8000
     89 					# 0120 dsll	at,at,0x10
     90 					# 0124 slt	at,a0,at
     91 					# 0128 beqz	at,end
     92 	bgtu	$4, 0xffffffff, end	# 012c li	at,0x8000
     93 					# 0130 dsll	at,at,17
     94 					# 0134 sltu	at,a0,at
     95 					# 0138 beqz	at,end
     96 	ble	$4, 0x7fffffff, end	# 013c li	at,0x8000
     97 					# 0140 dsll	at,at,0x10
     98 					# 0144 slt	at,a0,at
     99 					# 0148 bnez	at,end
    100 	bleu	$4, 0xffffffff, end	# 014c li	at,0x8000
    101 					# 0150 dsll	at,at,17
    102 					# 0154 sltu	at,a0,at
    103 					# 0158 bnez	at,end
    104 
    105 # Should produce warnings given -mfp32
    106 #	add.d	$f1, $f2, $f3
    107 
    108 end:
    109 
    110 # Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ...
    111 	.space	8
    112