aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorUros Bizjak <ubizjak@gmail.com>2017-01-04 16:42:36 +0100
committerUros Bizjak <uros@gcc.gnu.org>2017-01-04 16:42:36 +0100
commit58adb11b3021a6495d990ba7840f09022e2a6dfd (patch)
treeebcd9be14c2bd55dab8801d9191c900bbcccc406 /gcc/config
parent2a792efe7f9c17b3a89a1e281cb9cbe814c91e16 (diff)
downloadgcc-58adb11b3021a6495d990ba7840f09022e2a6dfd.zip
gcc-58adb11b3021a6495d990ba7840f09022e2a6dfd.tar.gz
gcc-58adb11b3021a6495d990ba7840f09022e2a6dfd.tar.bz2
i386.md (HI/SImode test with imm to QImode splitters): Use gen_int_mode instead of gen_lopwart for const_int operands.
* config/i386/i386.md (HI/SImode test with imm to QImode splitters): Use gen_int_mode instead of gen_lopwart for const_int operands. From-SVN: r244058
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/i386/i386.md6
-rw-r--r--gcc/config/i386/sse.md8
2 files changed, 7 insertions, 7 deletions
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index c947955..807dc65 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -8092,7 +8092,7 @@
(const_int 0)]))]
{
operands[2] = gen_lowpart (QImode, operands[2]);
- operands[3] = gen_lowpart (QImode, operands[3]);
+ operands[3] = gen_int_mode (INTVAL (operands[3]), QImode);
})
;; %%% This used to optimize known byte-wide and operations to memory,
@@ -8574,7 +8574,7 @@
{
operands[0] = gen_lowpart (QImode, operands[0]);
operands[1] = gen_lowpart (QImode, operands[1]);
- operands[2] = gen_lowpart (QImode, operands[2]);
+ operands[2] = gen_int_mode (INTVAL (operands[2]), QImode);
})
(define_insn "*andndi3_doubleword"
@@ -8933,7 +8933,7 @@
{
operands[0] = gen_lowpart (QImode, operands[0]);
operands[1] = gen_lowpart (QImode, operands[1]);
- operands[2] = gen_lowpart (QImode, operands[2]);
+ operands[2] = gen_int_mode (INTVAL (operands[2]), QImode);
})
(define_expand "xorqi_ext_1_cc"
diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md
index 123fe37..32b4901 100644
--- a/gcc/config/i386/sse.md
+++ b/gcc/config/i386/sse.md
@@ -1181,8 +1181,8 @@
(match_operand:DF 3 "memory_operand")))]
"TARGET_SSE2 && TARGET_SSE_UNALIGNED_LOAD_OPTIMAL
&& ix86_operands_ok_for_move_multiple (operands, true, DFmode)"
- [(set (match_dup 2) (match_dup 4))]
- "operands[4] = adjust_address (operands[1], V2DFmode, 0);")
+ [(set (match_dup 2) (match_dup 5))]
+ "operands[5] = adjust_address (operands[1], V2DFmode, 0);")
(define_peephole2
[(set (match_operand:DF 0 "sse_reg_operand")
@@ -1193,8 +1193,8 @@
"TARGET_SSE2 && TARGET_SSE_UNALIGNED_LOAD_OPTIMAL
&& REGNO (operands[4]) == REGNO (operands[2])
&& ix86_operands_ok_for_move_multiple (operands, true, DFmode)"
- [(set (match_dup 2) (match_dup 4))]
- "operands[4] = adjust_address (operands[1], V2DFmode, 0);")
+ [(set (match_dup 2) (match_dup 5))]
+ "operands[5] = adjust_address (operands[1], V2DFmode, 0);")
;; Merge movlpd/movhpd to movupd for TARGET_SSE_UNALIGNED_STORE_OPTIMAL targets.
(define_peephole2