OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [binutils-2.20.1/] [gas/] [testsuite/] [gas/] [mips/] [mips16.s] - Rev 304

Go to most recent revision | Compare with Previous | Blame | View Log

# Test the mips16 instruction set.
 
	.set	mips16
 
	.macro	ldst op, reg, base
	\op	\reg,0(\base)
	\op	\reg,1(\base)
	\op	\reg,2(\base)
	\op	\reg,3(\base)
	\op	\reg,4(\base)
	\op	\reg,8(\base)
	\op	\reg,16(\base)
	\op	\reg,32(\base)
	\op	\reg,64(\base)
	\op	\reg,128(\base)
	\op	\reg,256(\base)
	\op	\reg,512(\base)
	\op	\reg,1024(\base)
	\op	\reg,2048(\base)
	\op	\reg,-1(\base)
	\op	\reg,-2(\base)
	\op	\reg,-3(\base)
	\op	\reg,-4(\base)
	\op	\reg,-8(\base)
	\op	\reg,-16(\base)
	\op	\reg,-32(\base)
	\op	\reg,-64(\base)
	\op	\reg,-128(\base)
	\op	\reg,-256(\base)
	\op	\reg,-512(\base)
	\op	\reg,-1024(\base)
	\op	\reg,-2048(\base)
	.endm
 
	.p2align 3
data1:
	.word	0
insns1:
	ldst	ld, $2, $3
	ld	$2,data1
	ld	$2,data2
	ld	$2,bar
	ld	$2,quux
	ldst	ld, $2, $sp
	ldst	lwu, $2, $3
	ldst	lw, $2, $3
	lw	$2,data1
	lw	$2,data2
	lw	$2,bar
	lw	$2,quux
	ldst	lw, $2, $sp
	ldst	lh, $2, $3
	ldst	lhu, $2, $3
	ldst	lb, $2, $3
	ldst	lbu, $2, $3
	ldst	sd, $2, $3
	ldst	sd, $2, $sp
	ldst	sd, $31, $sp
	ldst	sw, $2, $3
	ldst	sw, $2, $sp
	ldst	sw, $31, $sp
	ldst	sh, $2, $3
	ldst	sb, $2, $3
 
	li	$2,0
	li	$2,1
	li	$2,256
 
	move	$2,$30
	move	$20,$2
 
	daddu	$2,$3,0
	daddu	$2,$3,1
	daddu	$2,$3,-1
	daddu	$2,$3,16
	daddu	$2,$3,-16
	daddu	$2,$3,$4
	daddu	$2,0
	daddu	$2,1
	daddu	$2,-1
	daddu	$2,32
	daddu	$2,-32
	daddu	$2,128
	daddu	$2,-128
	dla	$2,data1
	dla	$2,data2
	dla	$2,bar
	dla	$2,quux
	daddu	$sp,0
	daddu	$sp,1
	daddu	$sp,-1
	daddu	$sp,256
	daddu	$sp,-256
	daddu	$2,$sp,0
	daddu	$2,$sp,1
	daddu	$2,$sp,-1
	daddu	$2,$sp,32
	daddu	$2,$sp,-32
	daddu	$2,$sp,128
	daddu	$2,$sp,-128
 
	addu	$2,$3,0
	addu	$2,$3,1
	addu	$2,$3,-1
	addu	$2,$3,16
	addu	$2,$3,-16
	addu	$2,$3,$4
	addu	$2,0
	addu	$2,1
	addu	$2,-1
	addu	$2,32
	addu	$2,-32
	addu	$2,128
	addu	$2,-128
	la	$2,data1
	la	$2,data2
	la	$2,bar
	la	$2,quux
	addu	$sp,0
	addu	$sp,1
	addu	$sp,-1
	addu	$sp,256
	addu	$sp,-256
	addu	$2,$sp,0
	addu	$2,$sp,1
	addu	$2,$sp,-1
	addu	$2,$sp,32
	addu	$2,$sp,-32
	addu	$2,$sp,128
	addu	$2,$sp,-128
 
data2:
	.word	0
insns2:	
	dsubu	$2,$3,$4
	subu	$2,$3,$4
	neg	$2,$3
 
	and	$2,$3
	or	$2,$3
	xor	$2,$3
	not	$2,$3
 
	slt	$2,0
	slt	$2,1
	slt	$2,-1
	slt	$2,255
	slt	$2,256
	slt	$2,$3
	sltu	$2,0
	sltu	$2,1
	sltu	$2,-1
	sltu	$2,255
	sltu	$2,256
	sltu	$2,$3
	cmp	$2,0
	cmp	$2,1
	cmp	$2,255
	cmp	$2,256
	cmp	$2,$3
 
	dsll	$2,$3,0
	dsll	$2,$3,1
	dsll	$2,$3,8
	dsll	$2,$3,9
	dsll	$2,$3,63
	dsll	$2,$3
	dsrl	$2,0
	dsrl	$2,1
	dsrl	$2,8
	dsrl	$2,9
	dsrl	$2,63
	dsrl	$2,$3
	dsra	$2,0
	dsra	$2,1
	dsra	$2,8
	dsra	$2,9
	dsra	$2,63
	dsra	$2,$3
 
	mflo	$2
	mfhi	$3
 
	sll	$2,$3,0
	sll	$2,$3,1
	sll	$2,$3,8
	sll	$2,$3,9
	sll	$2,$3,31
	sll	$2,$3
	srl	$2,$3,0
	srl	$2,$3,1
	srl	$2,$3,8
	srl	$2,$3,9
	srl	$2,$3,31
	srl	$2,$3
	sra	$2,$3,0
	sra	$2,$3,1
	sra	$2,$3,8
	sra	$2,$3,9
	sra	$2,$3,31
	sra	$2,$3
 
	dmult	$2,$3
	dmultu	$2,$3
	ddiv	$2,$3
	ddivu	$2,$3
 
	mult	$2,$3
	multu	$2,$3
	div	$2,$3
	divu	$2,$3
 
	jr	$2
	jr	$31
	jalr	$31,$2
 
	beqz	$2,insns1
	beqz	$2,insns2
	beqz	$2,bar
	beqz	$2,quux
	bnez	$2,insns1
	bnez	$2,insns2
	bnez	$2,bar
	bnez	$2,quux
	bteqz	insns1
	bteqz	insns2
	bteqz	bar
	bteqz	quux
	btnez	insns1
	btnez	insns2
	btnez	bar
	btnez	quux
	b	insns1
	b	insns2
	b	bar
	b	quux
 
	break	0
	break	1
	break	63
 
	jal	extern
 
	entry
	entry	$4
	entry	$4-$6,$16
	entry	$16-$17,$31
	entry	$31
	exit
	exit	$16
	exit	$16-$17,$31
	exit	$31
 
	.p2align 3
bar:	
 
	.skip	200
quux:	
 

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.