summaryrefslogtreecommitdiff
path: root/gcc/combine.c
diff options
context:
space:
mode:
authorhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>2012-08-08 13:39:33 +0000
committerhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>2012-08-08 13:39:33 +0000
commit44f67683401d7c457b3fd2e145cd0ae6fdb8ca20 (patch)
tree5a809c37df1938d156b3f35a25564342c3c68d22 /gcc/combine.c
parent41bc572755ec5eb8283063bdbd8fa7a8d81a6497 (diff)
downloadgcc-44f67683401d7c457b3fd2e145cd0ae6fdb8ca20.tar.gz
Don't return identity for CONST or symbolic reference
gcc/ PR rtl-optimization/54157 * combine.c (gen_lowpart_for_combine): Don't return identity for CONST or symbolic reference. gcc/testsuite/ PR rtl-optimization/54157 * gcc.target/i386/pr54157.c: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190228 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/combine.c')
-rw-r--r--gcc/combine.c7
1 files changed, 0 insertions, 7 deletions
diff --git a/gcc/combine.c b/gcc/combine.c
index 495e1297e93..2b91eb9ccb3 100644
--- a/gcc/combine.c
+++ b/gcc/combine.c
@@ -10634,13 +10634,6 @@ gen_lowpart_for_combine (enum machine_mode omode, rtx x)
if (omode == imode)
return x;
- /* Return identity if this is a CONST or symbolic reference. */
- if (omode == Pmode
- && (GET_CODE (x) == CONST
- || GET_CODE (x) == SYMBOL_REF
- || GET_CODE (x) == LABEL_REF))
- return x;
-
/* We can only support MODE being wider than a word if X is a
constant integer or has a mode the same size. */
if (GET_MODE_SIZE (omode) > UNITS_PER_WORD