[prev in list] [next in list] [prev in thread] [next in thread]
List: gcc-patches
Subject: PATCH: PR target/49600: Bad SSE2 int->float split in i386.md
From: "H.J. Lu" <hongjiu.lu () intel ! com>
Date: 2011-06-30 22:50:05
Message-ID: 20110630225005.GA1839 () intel ! com
[Download RAW message or body]
In one SSE2 int->float split, when TARGET_USE_VECTOR_CONVERTS is true,
TARGET_INTER_UNIT_MOVES is false and GENERAL_REG_P (op1) is true. we
will get gcc_unreachable. This patch removes TARGET_INTER_UNIT_MOVES
check. OK for trunk?
Thanks.
H.J.
---
2011-06-30 H.J. Lu <hongjiu.lu@intel.com>
PR target/49600
* config/i386/i386.md (SSE2 int->float split): Don't check
TARGET_INTER_UNIT_MOVES.
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index e4b96bc..96bdfbb 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -5022,7 +5022,7 @@
if (GET_CODE (op1) == SUBREG)
op1 = SUBREG_REG (op1);
- if (GENERAL_REG_P (op1) && TARGET_INTER_UNIT_MOVES)
+ if (GENERAL_REG_P (op1))
{
operands[4] = simplify_gen_subreg (V4SImode, operands[0], <MODE>mode, 0);
emit_insn (gen_sse2_loadld (operands[4],
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic