aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/i386/i386.c7
2 files changed, 5 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 5f6d4a3..e4ca979 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2014-09-22 Richard Sandiford <richard.sandiford@arm.com>
+ * config/i386/i386.c (ix86_cannot_change_mode_class): Remove
+ GET_MODE_SIZE (to) < GET_MODE_SIZE (from) test.
+
+2014-09-22 Richard Sandiford <richard.sandiford@arm.com>
+
* hard-reg-set.h: Include hash-table.h.
(target_hard_regs): Add a finalize method and a x_simplifiable_subregs
field.
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index c932436..ed3d85e 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -37522,13 +37522,6 @@ ix86_cannot_change_mode_class (enum machine_mode from, enum machine_mode to,
the vec_dupv4hi pattern. */
if (GET_MODE_SIZE (from) < 4)
return true;
-
- /* Vector registers do not support subreg with nonzero offsets, which
- are otherwise valid for integer registers. Since we can't see
- whether we have a nonzero offset from here, prohibit all
- nonparadoxical subregs changing size. */
- if (GET_MODE_SIZE (to) < GET_MODE_SIZE (from))
- return true;
}
return false;