---
name: "__setfpucw"
section: "3"
platform: "linux"
package: "man-pages"
version: "6.19-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/__setfpucw"
---

# \_\_setfpucw(3)

set FPU control word on i386 architecture (obsolete)

## NAME

\_\_setfpucw - set FPU control word on i386 architecture (obsolete)

## LIBRARY

Standard C library (*libc*, *-lc*)

## SYNOPSIS

```
#include <i386/fpu_control.h>
```

**\[\[deprecated\]\] void \_\_setfpucw(unsigned short** *control\_word***);**

## DESCRIPTION

**\_\_setfpucw**() transfers *control\_word* to the registers of the FPU (floating-point unit) on the i386 architecture. This was used to control floating-point precision, rounding and floating-point exceptions.

## STANDARDS

GNU.

## HISTORY

Removed in glibc 2.1.

## NOTES

There are new functions from C99, with prototypes in *\<fenv.h\>*, to control FPU rounding modes, like [**fegetround**(3)](/fegetround/3.md), [**fesetround**(3)](/fesetround/3.md), and the floating-point environment, like [**fegetenv**(3)](/fegetenv/3.md), [**feholdexcept**(3)](/feholdexcept/3.md), [**fesetenv**(3)](/fesetenv/3.md), [**feupdateenv**(3)](/feupdateenv/3.md), and FPU exception handling, like [**feclearexcept**(3)](/feclearexcept/3.md), [**fegetexceptflag**(3)](/fegetexceptflag/3.md), [**feraiseexcept**(3)](/feraiseexcept/3.md), [**fesetexceptflag**(3)](/fesetexceptflag/3.md), and [**fetestexcept**(3)](/fetestexcept/3.md).

If direct access to the FPU control word is still needed, the **\_FPU\_GETCW** and **\_FPU\_SETCW** macros from *\<fpu\_control.h\>* can be used.

## EXAMPLES

**\_\_setfpucw(0x1372)**

Set FPU control word on the i386 architecture to

- •

  extended precision

- •

  rounding to nearest

- •

  exceptions on overflow, zero divide and NaN

## SEE ALSO

[**feclearexcept**(3)](/feclearexcept/3.md)

*\<fpu\_control.h\>*
