Checking patch sysdeps/i386/fpu/fclrexcpt.c... error: while searching for: unsigned int xnew_exc; /* Get the current MXCSR. */ __asm__ ("stmxcsr %0" : "=m" (xnew_exc)); /* Clear the relevant bits. */ xnew_exc &= ~excepts; /* Put the new data in effect. */ __asm__ ("ldmxcsr %0" : : "m" (xnew_exc)); } /* Success. */ error: patch failed: sysdeps/i386/fpu/fclrexcpt.c:44 error: sysdeps/i386/fpu/fclrexcpt.c: patch does not apply Checking patch sysdeps/i386/fpu/fedisblxcpt.c... error: while searching for: unsigned int xnew_exc; /* Get the current control word. */ __asm__ ("stmxcsr %0" : "=m" (xnew_exc)); xnew_exc |= excepts << 7; __asm__ ("ldmxcsr %0" : : "m" (xnew_exc)); } return old_exc; error: patch failed: sysdeps/i386/fpu/fedisblxcpt.c:41 error: sysdeps/i386/fpu/fedisblxcpt.c: patch does not apply Checking patch sysdeps/i386/fpu/feenablxcpt.c... error: while searching for: unsigned int xnew_exc; /* Get the current control word. */ __asm__ ("stmxcsr %0" : "=m" (xnew_exc)); xnew_exc &= ~(excepts << 7); __asm__ ("ldmxcsr %0" : : "m" (xnew_exc)); } return old_exc; error: patch failed: sysdeps/i386/fpu/feenablxcpt.c:41 error: sysdeps/i386/fpu/feenablxcpt.c: patch does not apply Checking patch sysdeps/i386/fpu/fegetenv.c... error: while searching for: __asm__ ("fldenv %0" : : "m" (*envp)); if (CPU_FEATURE_USABLE (SSE)) __asm__ ("stmxcsr %0" : "=m" (envp->__eip)); /* Success. */ return 0; error: patch failed: sysdeps/i386/fpu/fegetenv.c:30 error: sysdeps/i386/fpu/fegetenv.c: patch does not apply Checking patch sysdeps/i386/fpu/fegetmode.c... error: while searching for: { _FPU_GETCW (modep->__control_word); if (CPU_FEATURE_USABLE (SSE)) __asm__ ("stmxcsr %0" : "=m" (modep->__mxcsr)); return 0; } error: patch failed: sysdeps/i386/fpu/fegetmode.c:26 error: sysdeps/i386/fpu/fegetmode.c: patch does not apply Checking patch sysdeps/i386/fpu/feholdexcpt.c... error: while searching for: unsigned int xwork; /* Get the current control word. */ __asm__ ("stmxcsr %0" : "=m" (envp->__eip)); /* Set all exceptions to non-stop and clear them. */ xwork = (envp->__eip | 0x1f80) & ~0x3f; __asm__ ("ldmxcsr %0" : : "m" (xwork)); } return 0; error: patch failed: sysdeps/i386/fpu/feholdexcpt.c:33 error: sysdeps/i386/fpu/feholdexcpt.c: patch does not apply Checking patch sysdeps/i386/fpu/fesetenv.c... error: while searching for: if (CPU_FEATURE_USABLE (SSE)) { unsigned int mxcsr; __asm__ ("stmxcsr %0" : "=m" (mxcsr)); if (envp == FE_DFL_ENV) { error: patch failed: sysdeps/i386/fpu/fesetenv.c:80 error: sysdeps/i386/fpu/fesetenv.c: patch does not apply Checking patch sysdeps/i386/fpu/fesetexcept.c... error: while searching for: { /* Get the control word of the SSE unit. */ unsigned int mxcsr; __asm__ ("stmxcsr %0" : "=m" (mxcsr)); /* Set relevant flags. */ mxcsr |= excepts; /* Put the new data in effect. */ __asm__ ("ldmxcsr %0" : : "m" (mxcsr)); } else { error: patch failed: sysdeps/i386/fpu/fesetexcept.c:33 error: sysdeps/i386/fpu/fesetexcept.c: patch does not apply Checking patch sysdeps/i386/fpu/fesetmode.c... error: while searching for: if (CPU_FEATURE_USABLE (SSE)) { unsigned int mxcsr; __asm__ ("stmxcsr %0" : "=m" (mxcsr)); /* Preserve SSE exception flags but restore other state in MXCSR. */ mxcsr &= FE_ALL_EXCEPT_X86; error: patch failed: sysdeps/i386/fpu/fesetmode.c:37 error: sysdeps/i386/fpu/fesetmode.c: patch does not apply Checking patch sysdeps/i386/fpu/fesetround.c... error: while searching for: { unsigned int xcw; __asm__ ("stmxcsr %0" : "=m" (xcw)); xcw &= ~0x6000; xcw |= round << 3; __asm__ ("ldmxcsr %0" : : "m" (xcw)); } return 0; error: patch failed: sysdeps/i386/fpu/fesetround.c:39 error: sysdeps/i386/fpu/fesetround.c: patch does not apply Checking patch sysdeps/i386/fpu/feupdateenv.c... error: while searching for: /* If the CPU supports SSE we test the MXCSR as well. */ if (CPU_FEATURE_USABLE (SSE)) __asm__ ("stmxcsr %0" : "=m" (xtemp)); temp = (temp | xtemp) & FE_ALL_EXCEPT; error: patch failed: sysdeps/i386/fpu/feupdateenv.c:31 error: sysdeps/i386/fpu/feupdateenv.c: patch does not apply Checking patch sysdeps/i386/fpu/fgetexcptflg.c... error: while searching for: unsigned int sse_exc; /* Get the current MXCSR. */ __asm__ ("stmxcsr %0" : "=m" (sse_exc)); *flagp |= sse_exc & excepts & FE_ALL_EXCEPT; } error: patch failed: sysdeps/i386/fpu/fgetexcptflg.c:37 error: sysdeps/i386/fpu/fgetexcptflg.c: patch does not apply Checking patch sysdeps/i386/fpu/fsetexcptflg.c... error: while searching for: __asm__ ("fldenv %0" : : "m" (temp)); /* And now similarly for SSE. */ __asm__ ("stmxcsr %0" : "=m" (mxcsr)); /* Clear or set relevant flags. */ mxcsr ^= (mxcsr ^ *flagp) & excepts; /* Put the new data in effect. */ __asm__ ("ldmxcsr %0" : : "m" (mxcsr)); } else { error: patch failed: sysdeps/i386/fpu/fsetexcptflg.c:50 error: sysdeps/i386/fpu/fsetexcptflg.c: patch does not apply Checking patch sysdeps/i386/fpu/ftestexcept.c... error: while searching for: /* If the CPU supports SSE we test the MXCSR as well. */ if (CPU_FEATURE_USABLE (SSE)) __asm__ ("stmxcsr %0" : "=m" (xtemp)); return (temp | xtemp) & excepts & FE_ALL_EXCEPT; } error: patch failed: sysdeps/i386/fpu/ftestexcept.c:31 error: sysdeps/i386/fpu/ftestexcept.c: patch does not apply Checking patch sysdeps/i386/setfpucw.c... error: while searching for: unsigned int xnew_exc; /* Get the current MXCSR. */ __asm__ ("stmxcsr %0" : "=m" (xnew_exc)); xnew_exc &= ~((0xc00 << 3) | (FE_ALL_EXCEPT << 7)); xnew_exc |= ((set & 0xc00) << 3) | ((set & FE_ALL_EXCEPT) << 7); __asm__ ("ldmxcsr %0" : : "m" (xnew_exc)); } } error: patch failed: sysdeps/i386/setfpucw.c:43 error: sysdeps/i386/setfpucw.c: patch does not apply Checking patch sysdeps/x86/fpu/fenv_private.h... error: while searching for: need not care for both the 387 and the sse unit, only the one we're actually using. */ #if defined __AVX__ || defined SSE2AVX # define STMXCSR "vstmxcsr" # define LDMXCSR "vldmxcsr" #else # define STMXCSR "stmxcsr" # define LDMXCSR "ldmxcsr" #endif static __always_inline void libc_feholdexcept_sse (fenv_t *e) { unsigned int mxcsr; asm (STMXCSR " %0" : "=m" (mxcsr)); e->__mxcsr = mxcsr; mxcsr = (mxcsr | 0x1f80) & ~0x3f; asm volatile (LDMXCSR " %0" : : "m" (mxcsr)); } static __always_inline void error: patch failed: sysdeps/x86/fpu/fenv_private.h:18 error: sysdeps/x86/fpu/fenv_private.h: patch does not apply Checking patch sysdeps/x86/fpu/sfp-machine.h... error: while searching for: # define FP_RND_MASK 0x6000 # ifdef __AVX__ # define AVX_INSN_PREFIX "v" # else # define AVX_INSN_PREFIX "" # endif # define FP_INIT_ROUNDMODE \ do { \ __asm__ __volatile__ (AVX_INSN_PREFIX "stmxcsr\t%0" : "=m" (_fcw)); \ } while (0) #else # define _FP_W_TYPE_SIZE 32 error: patch failed: sysdeps/x86/fpu/sfp-machine.h:39 error: sysdeps/x86/fpu/sfp-machine.h: patch does not apply Checking patch sysdeps/x86/fpu/test-fenv-sse-2.c... error: while searching for: get_sse_mxcsr (void) { uint32_t temp; __asm__ __volatile__ ("stmxcsr %0" : "=m" (temp)); return temp; } static void set_sse_mxcsr (uint32_t val) { __asm__ __volatile__ ("ldmxcsr %0" : : "m" (val)); } static void error: patch failed: sysdeps/x86/fpu/test-fenv-sse-2.c:29 error: sysdeps/x86/fpu/test-fenv-sse-2.c: patch does not apply Checking patch sysdeps/x86_64/fpu/fclrexcpt.c... error: while searching for: __asm__ ("fldenv %0" : : "m" (temp)); /* And the same procedure for SSE. */ __asm__ ("stmxcsr %0" : "=m" (mxcsr)); /* Clear the relevant bits. */ mxcsr &= ~excepts; /* And put them into effect. */ __asm__ ("ldmxcsr %0" : : "m" (mxcsr)); /* Success. */ return 0; error: patch failed: sysdeps/x86_64/fpu/fclrexcpt.c:38 error: sysdeps/x86_64/fpu/fclrexcpt.c: patch does not apply Checking patch sysdeps/x86_64/fpu/fedisblxcpt.c... error: while searching for: __asm__ ("fldcw %0" : : "m" (new_exc)); /* And now the same for the SSE MXCSR register. */ __asm__ ("stmxcsr %0" : "=m" (new)); /* The SSE exception masks are shifted by 7 bits. */ new |= excepts << 7; __asm__ ("ldmxcsr %0" : : "m" (new)); return old_exc; } error: patch failed: sysdeps/x86_64/fpu/fedisblxcpt.c:35 error: sysdeps/x86_64/fpu/fedisblxcpt.c: patch does not apply Checking patch sysdeps/x86_64/fpu/feenablxcpt.c... error: while searching for: __asm__ ("fldcw %0" : : "m" (new_exc)); /* And now the same for the SSE MXCSR register. */ __asm__ ("stmxcsr %0" : "=m" (new)); /* The SSE exception masks are shifted by 7 bits. */ new &= ~(excepts << 7); __asm__ ("ldmxcsr %0" : : "m" (new)); return old_exc; } error: patch failed: sysdeps/x86_64/fpu/feenablxcpt.c:35 error: sysdeps/x86_64/fpu/feenablxcpt.c: patch does not apply Checking patch sysdeps/x86_64/fpu/fegetenv.c... error: while searching for: /* fnstenv changes the exception mask, so load back the stored environment. */ "fldenv %0\n" "stmxcsr %1" : "=m" (*envp), "=m" (envp->__mxcsr)); /* Success. */ return 0; error: patch failed: sysdeps/x86_64/fpu/fegetenv.c:25 error: sysdeps/x86_64/fpu/fegetenv.c: patch does not apply Checking patch sysdeps/x86_64/fpu/fegetmode.c... error: while searching for: fegetmode (femode_t *modep) { _FPU_GETCW (modep->__control_word); __asm__ ("stmxcsr %0" : "=m" (modep->__mxcsr)); return 0; } error: patch failed: sysdeps/x86_64/fpu/fegetmode.c:23 error: sysdeps/x86_64/fpu/fegetmode.c: patch does not apply Checking patch sysdeps/x86_64/fpu/feholdexcpt.c... error: while searching for: /* Store the environment. Recall that fnstenv has a side effect of masking all exceptions. Then clear all exceptions. */ __asm__ ("fnstenv %0\n\t" "stmxcsr %1\n\t" "fnclex" : "=m" (*envp), "=m" (envp->__mxcsr)); /* Set the SSE MXCSR register. */ mxcsr = (envp->__mxcsr | 0x1f80) & ~0x3f; __asm__ ("ldmxcsr %0" : : "m" (mxcsr)); return 0; } error: patch failed: sysdeps/x86_64/fpu/feholdexcpt.c:26 error: sysdeps/x86_64/fpu/feholdexcpt.c: patch does not apply Checking patch sysdeps/x86_64/fpu/fesetenv.c... error: while searching for: Therefore, we get the current environment and replace the values we want to use from the environment specified by the parameter. */ __asm__ ("fnstenv %0\n" "stmxcsr %1" : "=m" (temp), "=m" (temp.__mxcsr)); if (envp == FE_DFL_ENV) { error: patch failed: sysdeps/x86_64/fpu/fesetenv.c:36 error: sysdeps/x86_64/fpu/fesetenv.c: patch does not apply Checking patch sysdeps/x86_64/fpu/fesetexcept.c... error: while searching for: { unsigned int mxcsr; __asm__ ("stmxcsr %0" : "=m" (mxcsr)); mxcsr |= excepts & FE_ALL_EXCEPT; __asm__ ("ldmxcsr %0" : : "m" (mxcsr)); return 0; } error: patch failed: sysdeps/x86_64/fpu/fesetexcept.c:23 error: sysdeps/x86_64/fpu/fesetexcept.c: patch does not apply Checking patch sysdeps/x86_64/fpu/fesetmode.c... error: while searching for: { fpu_control_t cw; unsigned int mxcsr; __asm__ ("stmxcsr %0" : "=m" (mxcsr)); /* Preserve SSE exception flags but restore other state in MXCSR. */ mxcsr &= FE_ALL_EXCEPT_X86; error: patch failed: sysdeps/x86_64/fpu/fesetmode.c:28 error: sysdeps/x86_64/fpu/fesetmode.c: patch does not apply Checking patch sysdeps/x86_64/fpu/fesetround.c... error: while searching for: /* And now the MSCSR register for SSE, the precision is at different bit positions in the different units, we need to shift it 3 bits. */ asm ("stmxcsr %0" : "=m" (mxcsr)); mxcsr &= ~ 0x6000; mxcsr |= round << 3; asm ("ldmxcsr %0" : : "m" (mxcsr)); return 0; } error: patch failed: sysdeps/x86_64/fpu/fesetround.c:36 error: sysdeps/x86_64/fpu/fesetround.c: patch does not apply Checking patch sysdeps/x86_64/fpu/feupdateenv.c... error: while searching for: unsigned int xtemp; /* Save current exceptions. */ __asm__ ("fnstsw %0\n\tstmxcsr %1" : "=m" (temp), "=m" (xtemp)); temp = (temp | xtemp) & FE_ALL_EXCEPT; /* Install new environment. */ error: patch failed: sysdeps/x86_64/fpu/feupdateenv.c:25 error: sysdeps/x86_64/fpu/feupdateenv.c: patch does not apply Checking patch sysdeps/x86_64/fpu/fgetexcptflg.c... error: while searching for: /* Get the current exceptions for the x87 FPU and SSE unit. */ __asm__ ("fnstsw %0\n" "stmxcsr %1" : "=m" (temp), "=m" (mxscr)); *flagp = (temp | mxscr) & FE_ALL_EXCEPT & excepts; error: patch failed: sysdeps/x86_64/fpu/fgetexcptflg.c:26 error: sysdeps/x86_64/fpu/fgetexcptflg.c: patch does not apply Checking patch sysdeps/x86_64/fpu/fraiseexcpt.c... error: while searching for: /* One example of an invalid operation is 0.0 / 0.0. */ float f = 0.0; __asm__ __volatile__ ("divss %0, %0 " : "+x" (f)); (void) &f; } error: patch failed: sysdeps/x86_64/fpu/fraiseexcpt.c:33 error: sysdeps/x86_64/fpu/fraiseexcpt.c: patch does not apply Checking patch sysdeps/x86_64/fpu/fsetexcptflg.c... error: while searching for: __asm__ ("fldenv %0" : : "m" (temp)); /* And now similarly for SSE. */ __asm__ ("stmxcsr %0" : "=m" (mxcsr)); /* Clear or set relevant flags. */ mxcsr ^= (mxcsr ^ *flagp) & excepts; /* Put the new data in effect. */ __asm__ ("ldmxcsr %0" : : "m" (mxcsr)); /* Success. */ return 0; error: patch failed: sysdeps/x86_64/fpu/fsetexcptflg.c:44 error: sysdeps/x86_64/fpu/fsetexcptflg.c: patch does not apply Checking patch sysdeps/x86_64/fpu/ftestexcept.c... error: while searching for: /* Get current exceptions. */ __asm__ ("fnstsw %0\n" "stmxcsr %1" : "=m" (temp), "=m" (mxscr)); return (temp | mxscr) & excepts & FE_ALL_EXCEPT; } error: patch failed: sysdeps/x86_64/fpu/ftestexcept.c:26 error: sysdeps/x86_64/fpu/ftestexcept.c: patch does not apply