Module Name:    src
Committed By:   cherry
Date:           Sun Mar 16 09:20:05 UTC 2014

Added Files:
        src/tests/lib/csu/arch/ia64: h_initfini_align.S

Log Message:
Add stack align test stub for ia64 native csu


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 src/tests/lib/csu/arch/ia64/h_initfini_align.S

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Added files:

Index: src/tests/lib/csu/arch/ia64/h_initfini_align.S
diff -u /dev/null src/tests/lib/csu/arch/ia64/h_initfini_align.S:1.1
--- /dev/null	Sun Mar 16 09:20:05 2014
+++ src/tests/lib/csu/arch/ia64/h_initfini_align.S	Sun Mar 16 09:20:05 2014
@@ -0,0 +1,37 @@
+/*	$NetBSD: h_initfini_align.S,v 1.1 2014/03/16 09:20:05 cherry Exp $	*/
+
+#include <machine/asm.h>
+
+RCSID("$NetBSD: h_initfini_align.S,v 1.1 2014/03/16 09:20:05 cherry Exp $")
+
+ENTRY(check_stack_alignment, 0)
+	.prologue
+	.regstk 0, 2, 0, 0
+
+	alloc loc0 = ar.pfs, 0, 2, 0, 0
+
+	.body
+	mov ret0 = 1
+	;;
+	
+	/* ar.bspstore has an 8-byte alignment requirement */
+ 	mov loc1 = ar.bsp
+	;;
+	
+	and loc1 = 7, loc1
+	;;
+	
+	cmp.eq	p1, p0 = 0, loc1
+	(p0)	mov ret0 = 0
+	;;
+	
+	/* sp has a 16-byte alignment requirement */
+	(p1)	mov loc1 = sp
+	;;
+	(p1)	and loc1 = 15, loc1
+	;;
+	
+	(p1)	cmp.eq p1, p0 = 0, loc1
+	(p0)	mov ret0 = 0
+
+	br.ret.sptk.few rp

Reply via email to