Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/tests/lib/csu/arch/ia64 Add stack align test stub for ia64 n...
details: https://anonhg.NetBSD.org/src/rev/b06a1a19237d
branches: trunk
changeset: 794491:b06a1a19237d
user: cherry <cherry%NetBSD.org@localhost>
date: Sun Mar 16 09:20:05 2014 +0000
description:
Add stack align test stub for ia64 native csu
diffstat:
tests/lib/csu/arch/ia64/h_initfini_align.S | 37 ++++++++++++++++++++++++++++++
1 files changed, 37 insertions(+), 0 deletions(-)
diffs (41 lines):
diff -r e61fd69e0ae7 -r b06a1a19237d tests/lib/csu/arch/ia64/h_initfini_align.S
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/lib/csu/arch/ia64/h_initfini_align.S Sun Mar 16 09:20:05 2014 +0000
@@ -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
Home |
Main Index |
Thread Index |
Old Index