1/* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License, Version 1.0 only 6 * (the "License"). You may not use this file except in compliance 7 * with the License. 8 * 9 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10 * or http://www.opensolaris.org/os/licensing. 11 * See the License for the specific language governing permissions 12 * and limitations under the License. 13 * 14 * When distributing Covered Code, include this CDDL HEADER in each 15 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16 * If applicable, add the following below this CDDL HEADER, with the 17 * fields enclosed by brackets "[]" replaced with your own identifying 18 * information: Portions Copyright [yyyy] [name of copyright owner] 19 * 20 * CDDL HEADER END 21 */ 22/* 23 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 24 * Use is subject to license terms. 25 */ 26 27 .ident "%Z%%M% %I% %E% SMI" 28 29 .file "%M%" 30 31#include <SYS.h> 32 33 ENTRY(_getcw) 34 fstcw (%rdi) 35 ret 36 SET_SIZE(_getcw) 37 38 ENTRY(_putcw) 39 subq $8,%rsp 40 movq %rdi,(%rsp) 41 fldcw (%rsp) 42 addq $8,%rsp 43 ret 44 SET_SIZE(_putcw) 45 46 ENTRY(_getsw) 47 fstsw (%rdi) 48 ret 49 SET_SIZE(_getsw) 50 51 ENTRY(_putsw) 52 andq $0x3f,%rdi 53 jnz 1f 54 fnclex 55 ret 561: 57 subq $32,%rsp 58 fnstsw %ax 59 fnstenv (%rsp) 60 andw $0xffc0,%ax 61 orw %ax,%di 62 movw %di,4(%rsp) 63 fldenv (%rsp) 64 addq $32,%rsp 65 ret 66 SET_SIZE(_putsw) 67 68 ENTRY(_getmxcsr) 69 stmxcsr (%rdi) 70 ret 71 SET_SIZE(_getmxcsr) 72 73 ENTRY(_putmxcsr) 74 subq $8,%rsp 75 movq %rdi,(%rsp) 76 ldmxcsr (%rsp) 77 addq $8,%rsp 78 ret 79 SET_SIZE(_putmxcsr) 80