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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-stable/] [binutils-2.20.1/] [gas/] [testsuite/] [gas/] [arm/] [group-reloc-ldc-encoding-bad.s] - Rev 205

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

@ LDC group relocation tests that are supposed to fail during encoding.
 
	.text
 
@ LDC/LDCL/LDC2/LDC2L/STC/STCL/STC2/STC2L
 
	.macro ldctest load store cst
 
	\load	0, c0, [r0, #:pc_g0:(f + \cst)]
	\load	0, c0, [r0, #:pc_g1:(f + \cst)]
	\load	0, c0, [r0, #:pc_g2:(f + \cst)]
 
	\load	0, c0, [r0, #:sb_g0:(f + \cst)]
	\load	0, c0, [r0, #:sb_g1:(f + \cst)]
	\load	0, c0, [r0, #:sb_g2:(f + \cst)]
 
	\store	0, c0, [r0, #:pc_g0:(f + \cst)]
	\store	0, c0, [r0, #:pc_g1:(f + \cst)]
	\store	0, c0, [r0, #:pc_g2:(f + \cst)]
 
	\store	0, c0, [r0, #:sb_g0:(f + \cst)]
	\store	0, c0, [r0, #:sb_g1:(f + \cst)]
	\store	0, c0, [r0, #:sb_g2:(f + \cst)]
 
	\load	0, c0, [r0, #:pc_g0:(f - \cst)]
	\load	0, c0, [r0, #:pc_g1:(f - \cst)]
	\load	0, c0, [r0, #:pc_g2:(f - \cst)]
 
	\load	0, c0, [r0, #:sb_g0:(f - \cst)]
	\load	0, c0, [r0, #:sb_g1:(f - \cst)]
	\load	0, c0, [r0, #:sb_g2:(f - \cst)]
 
	\store	0, c0, [r0, #:pc_g0:(f - \cst)]
	\store	0, c0, [r0, #:pc_g1:(f - \cst)]
	\store	0, c0, [r0, #:pc_g2:(f - \cst)]
 
	\store	0, c0, [r0, #:sb_g0:(f - \cst)]
	\store	0, c0, [r0, #:sb_g1:(f - \cst)]
	\store	0, c0, [r0, #:sb_g2:(f - \cst)]
 
	.endm
 
	ldctest ldc stc 0x1
	ldctest ldcl stcl 0x1
	ldctest ldc2 stc2 0x1
	ldctest ldc2l stc2l 0x1
 
	ldctest ldc stc 0x808
	ldctest ldcl stcl 0x808
	ldctest ldc2 stc2 0x808
	ldctest ldc2l stc2l 0x808
 
@ LDFS/STFS/LDFD/STFD/LDFE/STFE/LDFP/STFP
 
	.fpu	fpa
 
	.macro	fpa_test load store cst
 
	\load	f0, [r0, #:pc_g0:(f + \cst)]
	\load	f0, [r0, #:pc_g1:(f + \cst)]
	\load	f0, [r0, #:pc_g2:(f + \cst)]
 
	\load	f0, [r0, #:sb_g0:(f + \cst)]
	\load	f0, [r0, #:sb_g1:(f + \cst)]
	\load	f0, [r0, #:sb_g2:(f + \cst)]
 
	\store	f0, [r0, #:pc_g0:(f + \cst)]
	\store	f0, [r0, #:pc_g1:(f + \cst)]
	\store	f0, [r0, #:pc_g2:(f + \cst)]
 
	\store	f0, [r0, #:sb_g0:(f + \cst)]
	\store	f0, [r0, #:sb_g1:(f + \cst)]
	\store	f0, [r0, #:sb_g2:(f + \cst)]
 
	\load	f0, [r0, #:pc_g0:(f - \cst)]
	\load	f0, [r0, #:pc_g1:(f - \cst)]
	\load	f0, [r0, #:pc_g2:(f - \cst)]
 
	\load	f0, [r0, #:sb_g0:(f - \cst)]
	\load	f0, [r0, #:sb_g1:(f - \cst)]
	\load	f0, [r0, #:sb_g2:(f - \cst)]
 
	\store	f0, [r0, #:pc_g0:(f - \cst)]
	\store	f0, [r0, #:pc_g1:(f - \cst)]
	\store	f0, [r0, #:pc_g2:(f - \cst)]
 
	\store	f0, [r0, #:sb_g0:(f - \cst)]
	\store	f0, [r0, #:sb_g1:(f - \cst)]
	\store	f0, [r0, #:sb_g2:(f - \cst)]
 
	.endm
 
	fpa_test ldfs stfs 0x1
	fpa_test ldfd stfd 0x1
	fpa_test ldfe stfe 0x1
	fpa_test ldfp stfp 0x1
 
	fpa_test ldfs stfs 0x808
	fpa_test ldfd stfd 0x808
	fpa_test ldfe stfe 0x808
	fpa_test ldfp stfp 0x808
 
@ FLDS/FSTS
 
	.fpu	vfp
 
	.macro vfp_test load store reg cst
 
	\load	\reg, [r0, #:pc_g0:(f + \cst)]
	\load	\reg, [r0, #:pc_g1:(f + \cst)]
	\load	\reg, [r0, #:pc_g2:(f + \cst)]
 
	\load	\reg, [r0, #:sb_g0:(f + \cst)]
	\load	\reg, [r0, #:sb_g1:(f + \cst)]
	\load	\reg, [r0, #:sb_g2:(f + \cst)]
 
	\store	\reg, [r0, #:pc_g0:(f + \cst)]
	\store	\reg, [r0, #:pc_g1:(f + \cst)]
	\store	\reg, [r0, #:pc_g2:(f + \cst)]
 
	\store	\reg, [r0, #:sb_g0:(f + \cst)]
	\store	\reg, [r0, #:sb_g1:(f + \cst)]
	\store	\reg, [r0, #:sb_g2:(f + \cst)]
 
	\load	\reg, [r0, #:pc_g0:(f - \cst)]
	\load	\reg, [r0, #:pc_g1:(f - \cst)]
	\load	\reg, [r0, #:pc_g2:(f - \cst)]
 
	\load	\reg, [r0, #:sb_g0:(f - \cst)]
	\load	\reg, [r0, #:sb_g1:(f - \cst)]
	\load	\reg, [r0, #:sb_g2:(f - \cst)]
 
	\store	\reg, [r0, #:pc_g0:(f - \cst)]
	\store	\reg, [r0, #:pc_g1:(f - \cst)]
	\store	\reg, [r0, #:pc_g2:(f - \cst)]
 
	\store	\reg, [r0, #:sb_g0:(f - \cst)]
	\store	\reg, [r0, #:sb_g1:(f - \cst)]
	\store	\reg, [r0, #:sb_g2:(f - \cst)]
 
	.endm
 
	vfp_test flds fsts s0 0x1
	vfp_test flds fsts s0 0x808
 
@ FLDD/FSTD
 
	vfp_test fldd fstd d0 0x1
	vfp_test fldd fstd d0 0x808
 
@ VLDR/VSTR
 
	vfp_test vldr vstr d0 0x1
	vfp_test vldr vstr d0 0x808
 
@ CFLDRS/CFLDRD/CFLDR32/CFLDR64/CFSTRS/CFSTRD/CFSTR32/CFSTR64
 
	.cpu	ep9312
 
	vfp_test cfldrs cfstrs mvf0 0x1
	vfp_test cfldrd cfstrd mvd0 0x1
	vfp_test cfldr32 cfstr32 mvfx0 0x1
	vfp_test cfldr64 cfstr64 mvdx0 0x1
 
	vfp_test cfldrs cfstrs mvf0 0x808
	vfp_test cfldrd cfstrd mvd0 0x808
	vfp_test cfldr32 cfstr32 mvfx0 0x808
	vfp_test cfldr64 cfstr64 mvdx0 0x808
 
 

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.