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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [binutils-2.18.50/] [gas/] [testsuite/] [gas/] [ia64/] [dv-imply.s] - Rev 156

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

//	
// Test various implies relations	
//	
.text
// User-supplied hint	
	.pred.rel.imply p1, p2
(p1)	mov		r4 = 2
(p2)	br.cond.sptk		L
	mov		r4 = 7
	rfi	
 
// Symmetric to previous example
	.pred.rel.imply p1, p2
	mov		r4 = 2
(p2)	br.cond.sptk	L
(p1)	mov		r4 = 7	
	rfi
 
// Verify that the implies relationship caused by the unconditional compare 
// prevents RAW on r4.  
(p3)	cmp.eq.unc	p1, p2 = r1, r2;;	// p1,p2 imply p3
(p1)	mov		r4 = 2
(p3)	br.cond.sptk	L	
	mov		r4 = 7
	rfi
 
// An instance of cmp.rel.or should not affect an implies relation.
(p3)	cmp.eq.unc	p1, p2 = r1, r2		// p1,p2 imply p3
	cmp.eq.or	p3, p4 = r5, r6;;	// doesn't affect implies rel
(p1)	mov		r4 = 2
(p3)	br.cond.sptk	L	
	mov		r4 = 7
	rfi
 
// An instance of cmp.rel.and only affects imply targets
	.pred.rel.imply p1,p3
	cmp.ne.and	p1, p2 = r5, r6		// doesn't affect imply source
(p1)	mov		r4 = 2
(p3)	br.cond.sptk	L	
	mov		r4 = 7
	rfi
 
// FIXME -- add tests for and.orcm and or.andcm	
L:	

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.