aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKai Tietz <ktietz@redhat.com>2014-06-04 00:01:19 +0200
committerKai Tietz <ktietz@gcc.gnu.org>2014-06-04 00:01:19 +0200
commit3ce7abdd2f20ef1111e7241627bb8021910cd3e8 (patch)
treedd2e69be9881fdc13f5b168dd3da939b401cc984
parent47e78f984ef151c621587a4dcdebc48dd577a36a (diff)
downloadgcc-3ce7abdd2f20ef1111e7241627bb8021910cd3e8.zip
gcc-3ce7abdd2f20ef1111e7241627bb8021910cd3e8.tar.gz
gcc-3ce7abdd2f20ef1111e7241627bb8021910cd3e8.tar.bz2
i386.c (ix86_function_value_regno_p): Disallow DX_REG for 64-bit ms-abi.
* config/i386/i386.c (ix86_function_value_regno_p): Disallow DX_REG for 64-bit ms-abi. From-SVN: r211204
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/i386/i386.c3
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0d61afe..544cf00 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2014-06-03 Kai Tietz <ktietz@redhat.com>
+
+ * config/i386/i386.c (ix86_function_value_regno_p): Disallow DX_REG
+ for 64-bit ms-abi.
+
2014-06-03 Dehao Chen <dehao@google.com>
* tree-cfg.c (gimple_merge_blocks): Only reset count when BBs are in
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 84f79dd..e9a6b04 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -7774,8 +7774,9 @@ ix86_function_value_regno_p (const unsigned int regno)
switch (regno)
{
case AX_REG:
- case DX_REG:
return true;
+ case DX_REG:
+ return (!TARGET_64BIT || ix86_abi != MS_ABI);
case DI_REG:
case SI_REG:
return TARGET_64BIT && ix86_abi != MS_ABI;