tools/testing/selftests/powerpc/pmu/loop.S

Source file repositories/reference/linux-study-clean/tools/testing/selftests/powerpc/pmu/loop.S

File Facts

System
Linux kernel
Corpus path
tools/testing/selftests/powerpc/pmu/loop.S
Extension
.S
Size
1300 bytes
Lines
79
Domain
Support Tooling And Documentation
Bucket
tools
Inferred role
Support Tooling And Documentation: tools
Status
atlas-only

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

#include <ppc-asm.h>

	.text

FUNC_START(thirty_two_instruction_loop)
	cmpdi	r3,0
	beqlr
	addi	r4,r3,1
	addi	r4,r4,1
	addi	r4,r4,1
	addi	r4,r4,1
	addi	r4,r4,1
	addi	r4,r4,1
	addi	r4,r4,1
	addi	r4,r4,1
	addi	r4,r4,1
	addi	r4,r4,1
	addi	r4,r4,1
	addi	r4,r4,1
	addi	r4,r4,1
	addi	r4,r4,1
	addi	r4,r4,1
	addi	r4,r4,1
	addi	r4,r4,1
	addi	r4,r4,1
	addi	r4,r4,1
	addi	r4,r4,1
	addi	r4,r4,1
	addi	r4,r4,1
	addi	r4,r4,1
	addi	r4,r4,1
	addi	r4,r4,1
	addi	r4,r4,1
	addi	r4,r4,1
	addi	r4,r4,1	# 28 addi's
	subi	r3,r3,1
	b	FUNC_NAME(thirty_two_instruction_loop)
FUNC_END(thirty_two_instruction_loop)

FUNC_START(thirty_two_instruction_loop_with_ll_sc)
	cmpdi	r3,0
	beqlr
	addi	r5,r5,1
	addi	r5,r5,1
	addi	r5,r5,1		# 5
	addi	r5,r5,1
	addi	r5,r5,1
	addi	r5,r5,1
	addi	r5,r5,1
1:	ldarx	r6,0,r4		# 10
	addi	r5,r5,1
	addi	r5,r5,1
	addi	r5,r5,1
	addi	r5,r5,1
	addi	r5,r5,1		# 15
	addi	r5,r5,1
	addi	r5,r5,1
	stdcx.	r6,0,r4
	bne-	1b
	addi	r5,r5,1		# 20
	addi	r5,r5,1
	addi	r5,r5,1
	addi	r5,r5,1
	addi	r5,r5,1
	addi	r5,r5,1		# 25
	addi	r5,r5,1
	addi	r5,r5,1
	addi	r5,r5,1
	addi	r5,r5,1
	addi	r5,r5,1		# 30

Annotation

Implementation Notes