diff --git a/gcc/config/i386/i386-builtin.def b/gcc/config/i386/i386-builtin.def index 26c23780b1c6e28a956ee7225652e401a54b3924..d4fa87cb4766f8e035487110ff501bbb4640a584 100644 --- a/gcc/config/i386/i386-builtin.def +++ b/gcc/config/i386/i386-builtin.def @@ -94,10 +94,10 @@ BDESC (0, 0, CODE_FOR_nothing, "__builtin_ia32_rdpmc", IX86_BUILTIN_RDPMC, UNKNO BDESC (0, 0, CODE_FOR_pause, "__builtin_ia32_pause", IX86_BUILTIN_PAUSE, UNKNOWN, (int) VOID_FTYPE_VOID) /* 80387 (for use internally for atomic compound assignment). */ -BDESC (0, 0, CODE_FOR_fnstenv, "__builtin_ia32_fnstenv", IX86_BUILTIN_FNSTENV, UNKNOWN, (int) VOID_FTYPE_PVOID) -BDESC (0, 0, CODE_FOR_fldenv, "__builtin_ia32_fldenv", IX86_BUILTIN_FLDENV, UNKNOWN, (int) VOID_FTYPE_PCVOID) -BDESC (0, 0, CODE_FOR_fnstsw, "__builtin_ia32_fnstsw", IX86_BUILTIN_FNSTSW, UNKNOWN, (int) USHORT_FTYPE_VOID) -BDESC (0, 0, CODE_FOR_fnclex, "__builtin_ia32_fnclex", IX86_BUILTIN_FNCLEX, UNKNOWN, (int) VOID_FTYPE_VOID) +BDESC (0, 0, CODE_FOR_fnstenv, "__builtin_ia32_fnstenv ", IX86_BUILTIN_FNSTENV, UNKNOWN, (int) VOID_FTYPE_PVOID) +BDESC (0, 0, CODE_FOR_fldenv, "__builtin_ia32_fldenv ", IX86_BUILTIN_FLDENV, UNKNOWN, (int) VOID_FTYPE_PCVOID) +BDESC (0, 0, CODE_FOR_fnstsw, "__builtin_ia32_fnstsw ", IX86_BUILTIN_FNSTSW, UNKNOWN, (int) USHORT_FTYPE_VOID) +BDESC (0, 0, CODE_FOR_fnclex, "__builtin_ia32_fnclex ", IX86_BUILTIN_FNCLEX, UNKNOWN, (int) VOID_FTYPE_VOID) /* MMX */ BDESC (OPTION_MASK_ISA_MMX, 0, CODE_FOR_mmx_emms, "__builtin_ia32_emms", IX86_BUILTIN_EMMS, UNKNOWN, (int) VOID_FTYPE_VOID) diff --git a/gcc/testsuite/gcc.target/i386/pr117165.c b/gcc/testsuite/gcc.target/i386/pr117165.c new file mode 100644 index 0000000000000000000000000000000000000000..d1f9663eb3333653defa45ff6f914e8f6d1bd37e --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/pr117165.c @@ -0,0 +1,27 @@ +/* PR target/117165 */ +/* { dg-do compile } */ +/* { dg-options "-msoft-float" } */ + +void +foo () +{ + __builtin_ia32_fnstsw (); /* { dg-error "implicit declaration of function" } */ +} + +void +bar () +{ + __builtin_ia32_fnclex (); /* { dg-error "implicit declaration of function" } */ +} + +void +baz () +{ + __builtin_ia32_fnstenv (0); /* { dg-error "implicit declaration of function" } */ +} + +void +qux () +{ + __builtin_ia32_fldenv (0); /* { dg-error "implicit declaration of function" } */ +}