if (__builtin_constant_p (rn)) \
__asm__ __volatile__ ( \
".machine push; .machine \"power9\"; mffscrni %0,%1; .machine pop" \
- : "=f" (__fr.fenv) : "i" (rn)); \
+ : "=f" (__fr.fenv) : "n" (rn)); \
else \
{ \
__fr.l = (rn); \
/* Set/clear a particular FPSCR bit (for instance,
reset_fpscr_bit(FPSCR_VE);
prevents INVALID exceptions from being raised). */
-#define set_fpscr_bit(x) asm volatile ("mtfsb1 %0" : : "i"(x))
-#define reset_fpscr_bit(x) asm volatile ("mtfsb0 %0" : : "i"(x))
+#define set_fpscr_bit(x) asm volatile ("mtfsb1 %0" : : "n"(x))
+#define reset_fpscr_bit(x) asm volatile ("mtfsb0 %0" : : "n"(x))
typedef union
{
if (__glibc_likely (GLRO(dl_hwcap2) & PPC_FEATURE2_ARCH_3_00))
__fe_mffscrn (round);
else
- asm volatile ("mtfsfi 7,%0" : : "i" (round));
+ asm volatile ("mtfsfi 7,%0" : : "n" (round));
#endif
}
#ifdef __powerpc64__
__asm__ ("ld %0,%1(%2)\n"
: "=r" (tcb_hwcap)
- : "i" (__HWCAPOFF), "b" (__tp));
+ : "n" (__HWCAPOFF), "b" (__tp));
#else
uint64_t h1, h2;
__asm__ ("lwz %0,%1(%2)\n"
: "=r" (h1)
- : "i" (__HWCAPOFF), "b" (__tp));
+ : "n" (__HWCAPOFF), "b" (__tp));
__asm__ ("lwz %0,%1(%2)\n"
: "=r" (h2)
- : "i" (__HWCAP2OFF), "b" (__tp));
+ : "n" (__HWCAP2OFF), "b" (__tp));
tcb_hwcap = (h1 >> 32) << 32 | (h2 >> 32);
#endif
/* Same test for the platform number. */
__asm__ ("lwz %0,%1(%2)\n"
: "=r" (tcb_at_platform)
- : "i" (__ATPLATOFF), "b" (__tp));
+ : "n" (__ATPLATOFF), "b" (__tp));
at_platform_string = (const char *) getauxval (AT_PLATFORM);
at_platform = _dl_string_platform (at_platform_string);
__asm__ ("lwz %0,%1(%2)\n"
: "=r" (tmp)
- : "i" (__ATPLATOFF), "b" (tp));
+ : "n" (__ATPLATOFF), "b" (tp));
return tmp;
}