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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [binutils-2.18.50/] [gas/] [testsuite/] [gas/] [mips/] [sb1-ext-mdmx.s] - Rev 38

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

# Source file to test assembly of SB-1 MDMX subset instructions and extensions.
#
# SB-1 implements only the .ob MDMX instructions, and adds three additional
# MDMX-ish instructions (pabsdiff, pabsdiffc, pavg).
 
	.set noreorder
	.set noat
 
	.globl text_label .text
text_label:
 
	# The normal MDMX instructions:
 
	movf.l		$v1, $v12, $fcc5
 
	movn.l		$v1, $v12, $18
 
	movt.l		$v1, $v12, $fcc5
 
	movz.l		$v1, $v12, $18
 
	add.ob		$v1, $v12, 18
	add.ob		$v1, $v12, $v18
	add.ob		$v1, $v12, $v18[6]
 
	adda.ob		$v12, 18
	adda.ob		$v12, $v18
	adda.ob		$v12, $v18[6]
 
	addl.ob		$v12, 18
	addl.ob		$v12, $v18
	addl.ob		$v12, $v18[6]
 
	alni.ob		$v1, $v12, $v18, 6
 
	alnv.ob		$v1, $v12, $v18, $21
 
	and.ob		$v1, $v12, 18
	and.ob		$v1, $v12, $v18
	and.ob		$v1, $v12, $v18[6]
 
	c.eq.ob		$v12, 18
	c.eq.ob		$v12, $v18
	c.eq.ob		$v12, $v18[6]
 
	c.le.ob		$v12, 18
	c.le.ob		$v12, $v18
	c.le.ob		$v12, $v18[6]
 
	c.lt.ob		$v12, 18
	c.lt.ob		$v12, $v18
	c.lt.ob		$v12, $v18[6]
 
	max.ob		$v1, $v12, 18
	max.ob		$v1, $v12, $v18
	max.ob		$v1, $v12, $v18[6]
 
	min.ob		$v1, $v12, 18
	min.ob		$v1, $v12, $v18
	min.ob		$v1, $v12, $v18[6]
 
	mul.ob		$v1, $v12, 18
	mul.ob		$v1, $v12, $v18
	mul.ob		$v1, $v12, $v18[6]
 
	mula.ob		$v12, 18
	mula.ob		$v12, $v18
	mula.ob		$v12, $v18[6]
 
	mull.ob		$v12, 18
	mull.ob		$v12, $v18
	mull.ob		$v12, $v18[6]
 
	muls.ob		$v12, 18
	muls.ob		$v12, $v18
	muls.ob		$v12, $v18[6]
 
	mulsl.ob	$v12, 18
	mulsl.ob	$v12, $v18
	mulsl.ob	$v12, $v18[6]
 
	nor.ob		$v1, $v12, 18
	nor.ob		$v1, $v12, $v18
	nor.ob		$v1, $v12, $v18[6]
 
	or.ob		$v1, $v12, 18
	or.ob		$v1, $v12, $v18
	or.ob		$v1, $v12, $v18[6]
 
	pickf.ob	$v1, $v12, 18
	pickf.ob	$v1, $v12, $v18
	pickf.ob	$v1, $v12, $v18[6]
 
	pickt.ob	$v1, $v12, 18
	pickt.ob	$v1, $v12, $v18
	pickt.ob	$v1, $v12, $v18[6]
 
	rach.ob		$v1
 
	racl.ob		$v1
 
	racm.ob		$v1
 
	rnau.ob		$v1, 18
	rnau.ob		$v1, $v18
	rnau.ob		$v1, $v18[6]
 
	rneu.ob		$v1, 18
	rneu.ob		$v1, $v18
	rneu.ob		$v1, $v18[6]
 
	rzu.ob		$v1, 18
	rzu.ob		$v1, $v18
	rzu.ob		$v1, $v18[6]
 
	shfl.mixh.ob	$v1, $v12, $v18
 
	shfl.mixl.ob	$v1, $v12, $v18
 
	shfl.pach.ob	$v1, $v12, $v18
 
	shfl.upsl.ob	$v1, $v12, $v18
 
	sll.ob		$v1, $v12, 18
	sll.ob		$v1, $v12, $v18
	sll.ob		$v1, $v12, $v18[6]
 
	srl.ob		$v1, $v12, 18
	srl.ob		$v1, $v12, $v18
	srl.ob		$v1, $v12, $v18[6]
 
	sub.ob		$v1, $v12, 18
	sub.ob		$v1, $v12, $v18
	sub.ob		$v1, $v12, $v18[6]
 
	suba.ob		$v12, 18
	suba.ob		$v12, $v18
	suba.ob		$v12, $v18[6]
 
	subl.ob		$v12, 18
	subl.ob		$v12, $v18
	subl.ob		$v12, $v18[6]
 
	wach.ob		$v12
 
	wacl.ob		$v12, $v18
 
	xor.ob		$v1, $v12, 18
	xor.ob		$v1, $v12, $v18
	xor.ob		$v1, $v12, $v18[6]
 
 
	# The extensions:
 
	pabsdiff.ob	$v1, $v12, 18
	pabsdiff.ob	$v1, $v12, $v18
	pabsdiff.ob	$v1, $v12, $v18[6]
 
	pabsdiffc.ob	$v12, 18
	pabsdiffc.ob	$v12, $v18
	pabsdiffc.ob	$v12, $v18[6]
 
	pavg.ob		$v1, $v12, 18
	pavg.ob		$v1, $v12, $v18
	pavg.ob		$v1, $v12, $v18[6]
 
 
# Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ...
      .space  8
 

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.