comparison src/os_cpu/linux_zero/vm/os_linux_zero.hpp @ 1266:3b687c53c266

6927165: Zero S/390 fixes Summary: Fixes two failures on 31-bit S/390. Reviewed-by: twisti Contributed-by: Gary Benson <gbenson@redhat.com>
author twisti
date Thu, 18 Feb 2010 06:54:48 -0800
parents 354d3184f6b2
children c18cbe5936b8
comparison
equal deleted inserted replaced
1265:b4b440360f1e 1266:3b687c53c266
1 /* 1 /*
2 * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. 2 * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved.
3 * Copyright 2007, 2008 Red Hat, Inc. 3 * Copyright 2007, 2008, 2010 Red Hat, Inc.
4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * 5 *
6 * This code is free software; you can redistribute it and/or modify it 6 * This code is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License version 2 only, as 7 * under the terms of the GNU General Public License version 2 only, as
8 * published by the Free Software Foundation. 8 * published by the Free Software Foundation.
37 double tmp; 37 double tmp;
38 asm volatile ("lfd %0, 0(%1)\n" 38 asm volatile ("lfd %0, 0(%1)\n"
39 "stfd %0, 0(%2)\n" 39 "stfd %0, 0(%2)\n"
40 : "=f"(tmp) 40 : "=f"(tmp)
41 : "b"(src), "b"(dst)); 41 : "b"(src), "b"(dst));
42 #elif defined(S390) && !defined(_LP64)
43 double tmp;
44 asm volatile ("ld %0, 0(%1)\n"
45 "std %0, 0(%2)\n"
46 : "=r"(tmp)
47 : "a"(src), "a"(dst));
42 #else 48 #else
43 *(jlong *) dst = *(jlong *) src; 49 *(jlong *) dst = *(jlong *) src;
44 #endif // PPC && !_LP64 50 #endif
45 } 51 }