From 7f6095bfec82b178084b22b33941d4f06155e514 Mon Sep 17 00:00:00 2001 From: Thomas Preud'homme Date: Sat, 10 Dec 2011 07:22:09 +0100 Subject: Add support for arm hardfloat calling convention See Procedure Call Standard for the ARM Architecture (AAPCS) for more details. --- tccgen.c | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) (limited to 'tccgen.c') diff --git a/tccgen.c b/tccgen.c index 5b9f50a..7295267 100644 --- a/tccgen.c +++ b/tccgen.c @@ -972,18 +972,26 @@ ST_FUNC void vrotb(int n) vtop[0] = tmp; } -/* rotate n first stack elements to the top - I1 ... In -> In I1 ... I(n-1) [top is right] +/* rotate the n elements before entry e towards the top + I1 ... In ... -> In I1 ... I(n-1) ... [top is right] */ -ST_FUNC void vrott(int n) +ST_FUNC void vrote(SValue *e, int n) { int i; SValue tmp; - tmp = vtop[0]; + tmp = *e; for(i = 0;i < n - 1; i++) - vtop[-i] = vtop[-i - 1]; - vtop[-n + 1] = tmp; + e[-i] = e[-i - 1]; + e[-n + 1] = tmp; +} + +/* rotate n first stack elements to the top + I1 ... In -> In I1 ... I(n-1) [top is right] + */ +ST_FUNC void vrott(int n) +{ + vrote(vtop, n); } /* pop stack value */ -- cgit v1.3.1