⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 m32rx.s

📁 GNU binutils是GNU交叉工具链中的一个源码包
💻 S
字号:
# Test new instructionsbranchpoint:		.text	.global bclbcl:	bcl branchpoint	.text	.global bnclbncl:	bncl branchpoint	.text	.global cmpzcmpz:	cmpz fp	.text	.global cmpeqcmpeq:	cmpeq fp, fp	.text	.global maclh1maclh1:	maclh1 fp, fp		.text	.global macsl0msblo:	msblo fp, fp		.text	.global mulwu1mulwu1:	mulwu1 fp, fp		.text	.global macwu1macwu1:	macwu1 fp, fp		.text	.global saddsadd:	sadd		.text	.global satbsatb:	satb fp, fp		.text	.global mulhimulhi:	mulhi fp, fp, a1		.text	.global mullomullo:	mullo fp, fp, a0		.text	.global divhdivh:	divh fp, fp		.text	.global machimachi:	machi fp, fp, a1		.text	.global maclomaclo:	maclo fp, fp, a0		.text	.global mvfachimvfachi:	mvfachi fp, a1		.text	.global mvfacmimvfacmi:	mvfacmi fp, a1		.text	.global mvfaclomvfaclo:	mvfaclo fp, a1		.text	.global mvtachimvtachi:	mvtachi fp, a1		.text	.global mvtaclomvtaclo:	mvtaclo fp, a0		.text	.global racrac:	rac a1		.text	.global rac_dsrac_ds:	rac a1, a0		.text	.global rac_dsirac_dsi:	rac a0, a1, #1		.text	.global rachrach:	rach a1		.text	.global rach_dsrach_ds:	rach a0, a1		.text	.global rach_dsirach_dsi:	rach a1, a0, #2	# Test explicitly parallel and implicitly parallel instructions# Including apparent instruction sequence reordering.	.text	.global bc__addbc__add:	bc bcl || add fp, fp# Use bc.s here as bc is relaxable and thus a nop will be emitted.	bc.s bcl	add fp, fp	.text	.global bcl__addibcl__addi:		bcl bcl || addi fp, #77	addi fp, #77# Use bcl.s here as bcl is relaxable and thus the parallelization won't happen.	bcl.s bcl	.text	.global bl__addvbl__addv:	bl bcl || addv fp, fp	addv fp, fp# Use bl.s here as bl is relaxable and thus the parallelization won't happen.	bl.s bcl		.text	.global bnc__addxbnc__addx:	bnc bcl || addx fp, fp# Use bnc.s here as bnc is relaxable and thus the parallelization attempt won't# happen.  Things still won't be parallelized, but we want this test to try.	bnc.s bcl	addx fp, fp	.text	.global bncl__andbncl__and:	bncl bcl || and fp, fp	and fp, fp	bncl.s bcl	.text	.global bra__cmpbra__cmp:	bra bcl || cmp fp, fp	cmp fp, fp# Use bra.s here as bra is relaxable and thus the parallelization won't happen.	bra.s bcl		.text	.global jl__cmpeqjl__cmpeq:	jl fp || cmpeq fp, fp	cmpeq fp, fp	jl fp		.text	.global jmp__cmpujmp__cmpu:	jmp fp || cmpu fp, fp	cmpu fp, fp	jmp fp		.text	.global ld__cmpzld__cmpz:	ld fp, @fp || cmpz r1	cmpz r1	ld fp, @fp 		.text	.global ld__ldild__ldi:	ld fp, @r1+ || ldi r2, #77	ld fp, @r1+ 	ldi r2, #77		.text	.global ldb__mvldb__mv:	ldb fp, @fp || mv r2, fp	ldb fp, @fp 	mv r2, fp	.text	.global ldh__negldh__neg:	ldh fp, @fp || neg r2, fp	ldh fp, @fp	neg r2, fp	.text	.global ldub__nopldub__nop:	ldub fp, @fp || nop	ldub fp, @fp 	nop	.text	.global lduh__notlduh__not:	lduh fp, @fp || not r2, fp	lduh fp, @fp	not r2, fp	.text	.global lock__orlock__or:	lock fp, @fp || or r2, fp	lock fp, @fp	or r2, fp	.text	.global mvfc__submvfc__sub:	mvfc fp, cr1 || sub r2, fp	mvfc fp, cr1	sub r2, fp	.text	.global mvtc__subvmvtc__subv:	mvtc fp, cr2 || subv r2, fp	mvtc fp, cr2	subv r2, fp	.text	.global rte__subxrte__subx:	rte || sub r2, fp	rte	subx r2, fp	.text	.global sll__xorsll__xor:	sll fp, r1 || xor r2, fp	sll fp, r1	xor r2, fp	.text	.global slli__machislli__machi:	slli fp, #22 || machi r2, fp	slli fp, #22	machi r2, fp	.text	.global sra__maclh1sra__maclh1:	sra fp, fp || maclh1 r2, fp	sra fp, fp	maclh1 r2, fp	.text	.global srai__maclosrai__maclo:	srai fp, #22 || maclo r2, fp	srai fp, #22	maclo r2, fp	.text	.global srl__macwhisrl__macwhi:	srl fp, fp || macwhi r2, fp	srl fp, fp	macwhi r2, fp	.text	.global srli__macwlosrli__macwlo:	srli fp, #22 || macwlo r2, fp	srli fp, #22	macwlo r2, fp		.text	.global st__macwu1st__macwu1:	st fp, @fp || macwu1 r2, fp	st fp, @fp	macwu1 r2, fp	.text	.global st__msblost__msblo:	st fp, @+fp || msblo r2, fp	st fp, @+fp 	msblo r2, fp	.text	.global st__mulst__mul:	st fp, @-fp || mul r2, fp	st fp, @-fp	mul r2, fp	.text	.global stb__mulhistb__mulhi:	stb fp, @fp || mulhi r2, fp	stb fp, @fp	mulhi r2, fp		.text	.global sth__mullosth__mullo:	sth fp, @fp || mullo r2, fp	sth fp, @fp 	mullo r2, fp	.text	.global trap__mulwhitrap__mulwhi:	trap #2 || mulwhi r2, fp	trap #2	mulwhi r2, fp	.text	.global unlock__mulwlounlock__mulwlo:	unlock fp, @fp || mulwlo r2, fp	unlock fp, @fp	mulwlo r2, fp	.text	.global add__mulwu1add__mulwu1:	add fp, fp || mulwu1 r2, fp	add fp, fp	mulwu1 r2, fp	.text	.global addi__mvfachiaddi__mvfachi:	addi fp, #77 || mvfachi r2, a0	addi fp, #77	mvfachi r2, a0	.text	.global addv__mvfacloaddv__mvfaclo:	addv fp, fp || mvfaclo r2, a1	addv fp, fp	mvfaclo r2, a1	.text	.global addx__mvfacmiaddx__mvfacmi:	addx fp, fp || mvfacmi r2, a0	addx fp, fp	mvfacmi r2, a0	.text	.global and__mvtachiand__mvtachi:	and fp, fp || mvtachi r2, a0	and fp, fp	mvtachi r2, a0		.text	.global cmp__mvtaclocmp__mvtaclo:	cmp fp, fp || mvtaclo r2, a0	cmp fp, fp	mvtaclo r2, a0	.text	.global cmpeq__raccmpeq__rac:	cmpeq fp, fp || rac a1	cmpeq fp, fp	rac a1	.text	.global cmpu__rachcmpu__rach:	cmpu fp, fp || rach a0, a1	cmpu fp, fp	rach a1, a1, #1	.text	.global cmpz__saddcmpz__sadd:	cmpz fp || sadd	cmpz fp	sadd	# Test private instructions		.text	.global scsc:	sc	sadd		.text	.global sncsnc:	snc	sadd 		.text	.global jcjc:	jc fp		.text	.global jncjnc:	jnc fp			.text	.global pcmpbzpcmpbz:	pcmpbz fp		.text	.global satsat:	sat fp, fp		.text	.global sathsath:	sath fp, fp # Test parallel versions of the private instructions		.text	.global jc__pcmpbzjc__pcmpbz:	jc fp || pcmpbz fp	jc fp 	pcmpbz fp		.text	.global jnc__ldijnc__ldi:	jnc fp || ldi fp, #77	jnc fp	ldi fp, #77		.text	.global sc__mvsc__mv:	sc || mv fp, r2	sc 	mv fp, r2	.text	.global snc__negsnc__neg:	snc || neg fp, r2	snc 	neg fp, r2	# Test automatic and explicit parallelisation of instructions	.text	.global nop__saddnop__sadd:	nop	sadd	.text	.global sadd__nopsadd__nop:	sadd	nop	.text	.global sadd__nop_reversesadd__nop_reverse:	sadd || nop	.text	.global add__notadd__not:	add  r0, r1	not  r3, r5	.text	.global add__not__dest_clashadd__not_dest_clash:	add  r3, r4	not  r3, r5	.text	.global add__not__src_clashadd__not__src_clash:	add  r3, r4	not  r5, r3	.text	.global add__not__no_clashadd__not__no_clash:	add  r3, r4	not  r4, r5	.text	.global mul__sramul__sra:	mul  r1, r2	sra  r3, r4		.text	.global mul__sra__reverse_src_clashmul__sra__reverse_src_clash:	mul  r1, r3	sra  r3, r4		.text	.global bc__add_bc__add_:	bc.s label	add r1, r2	.text	.global add__bcadd__bc:	add r3, r4	bc.s  label	.text	.global bc__add__forced_parallelbc__add__forced_parallel:	bc label || add r5, r6	.text	.global add__bc__forced_paralleladd__bc__forced_parallel:	add r7, r8 || bc labellabel:	nop; Additional testcases.; These insns were added to the chip later.	.textmulwhi:	mulwhi fp, fp, a0	mulwhi fp, fp, a1	mulwlo:	mulwlo fp, fp, a0	mulwlo fp, fp, a1macwhi:	macwhi fp, fp, a0	macwhi fp, fp, a1macwlo:	macwlo fp, fp, a0	macwlo fp, fp, a1

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -