From: Mihailo Stojanovic Date: Fri, 23 Aug 2019 19:09:07 +0000 (+0000) Subject: mips.md (mips_get_fcsr, [...]): Use SI machine mode for unspec_volatile operand. X-Git-Tag: releases/gcc-9.3.0~691 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e5bd4faa8bbe50e66105e1a14d38f3e884de74ef;p=thirdparty%2Fgcc.git mips.md (mips_get_fcsr, [...]): Use SI machine mode for unspec_volatile operand. * config/mips/mips.md (mips_get_fcsr, *mips_get_fcsr): Use SI machine mode for unspec_volatile operand. * gcc.target/mips/get-fcsr-3.c: New test. From-SVN: r274864 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index cfc39d66abc4..44d83990d6d9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2019-08-23 Mihailo Stojanovic + + Backport from mainline + 2019-08-23 Mihailo Stojanovic + + * config/mips/mips.md (mips_get_fcsr, *mips_get_fcsr): Use SI + machine mode for unspec_volatile operand. + 2019-08-23 Martin Liska PR ipa/91508 diff --git a/gcc/config/mips/mips.md b/gcc/config/mips/mips.md index 2ae1f7e0440b..a9b0c86be07a 100644 --- a/gcc/config/mips/mips.md +++ b/gcc/config/mips/mips.md @@ -7588,7 +7588,7 @@ ;; __builtin_mips_get_fcsr: move the FCSR into operand 0. (define_expand "mips_get_fcsr" [(set (match_operand:SI 0 "register_operand") - (unspec_volatile [(const_int 0)] UNSPEC_GET_FCSR))] + (unspec_volatile:SI [(const_int 0)] UNSPEC_GET_FCSR))] "TARGET_HARD_FLOAT_ABI" { if (TARGET_MIPS16) @@ -7600,7 +7600,7 @@ (define_insn "*mips_get_fcsr" [(set (match_operand:SI 0 "register_operand" "=d") - (unspec_volatile [(const_int 0)] UNSPEC_GET_FCSR))] + (unspec_volatile:SI [(const_int 0)] UNSPEC_GET_FCSR))] "TARGET_HARD_FLOAT" "cfc1\t%0,$31") diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 8073e23f7382..bf696ab1730f 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2019-08-23 Mihailo Stojanovic + + * gcc.target/mips/get-fcsr-3.c: New test. + 2019-08-20 Eric Botcazou * gcc.c-torture/execute/20190820-1.c: New test. diff --git a/gcc/testsuite/gcc.target/mips/get-fcsr-3.c b/gcc/testsuite/gcc.target/mips/get-fcsr-3.c new file mode 100644 index 000000000000..7bb97b6fbcda --- /dev/null +++ b/gcc/testsuite/gcc.target/mips/get-fcsr-3.c @@ -0,0 +1,9 @@ +/* { dg-options "-mabi=64 -mhard-float" } */ + +NOMIPS16 unsigned int +foo (void) +{ + return __builtin_mips_get_fcsr () & 0x1; +} + +/* { dg-final { scan-assembler "cfc1" } } */