aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRask Ingemann Lambertsen <rask@sygehus.dk>2007-08-15 15:36:21 +0200
committerRask Ingemann Lambertsen <rask@gcc.gnu.org>2007-08-15 13:36:21 +0000
commita6783d12406f39457233f7ed022d8c62d19000ae (patch)
tree6fd3302b4a12e584e86426a1938f5b1419af16e8
parent6da1739222e54ef2c012004c22e326f9d15740e9 (diff)
downloadgcc-a6783d12406f39457233f7ed022d8c62d19000ae.zip
gcc-a6783d12406f39457233f7ed022d8c62d19000ae.tar.gz
gcc-a6783d12406f39457233f7ed022d8c62d19000ae.tar.bz2
i386.md (subsi3_carry_zext): Remove "m" constraint for "register_operand".
* config/i386/i386.md (subsi3_carry_zext): Remove "m" constraint for "register_operand". (*iorsi_1_zext): Likewise. (*iorsi_1_zext_imm): Likewise. * config/i386/sse.md: (*sse4_1_extractps): Use "nonimmediate_operand" with "rm"/"xm" constraint. (sse2_vmsqrtv2df2): Likewise. From-SVN: r127515
-rw-r--r--gcc/ChangeLog10
-rw-r--r--gcc/config/i386/i386.md10
-rw-r--r--gcc/config/i386/sse.md4
3 files changed, 17 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index dd6567a..9d65315 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,13 @@
+2007-08-15 Rask Ingemann Lambertsen <rask@sygehus.dk>
+
+ * config/i386/i386.md (subsi3_carry_zext): Remove "m" constraint for
+ "register_operand".
+ (*iorsi_1_zext): Likewise.
+ (*iorsi_1_zext_imm): Likewise.
+ * config/i386/sse.md: (*sse4_1_extractps): Use "nonimmediate_operand"
+ with "rm"/"xm" constraint.
+ (sse2_vmsqrtv2df2): Likewise.
+
2007-08-15 Jakub Jelinek <jakub@redhat.com>
PR middle-end/33074
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index f316cec..cc98b41 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -6722,11 +6722,11 @@
(set_attr "mode" "SI")])
(define_insn "subsi3_carry_zext"
- [(set (match_operand:DI 0 "register_operand" "=rm,r")
+ [(set (match_operand:DI 0 "register_operand" "=r")
(zero_extend:DI
- (minus:SI (match_operand:SI 1 "register_operand" "0,0")
+ (minus:SI (match_operand:SI 1 "register_operand" "0")
(plus:SI (match_operand:SI 3 "ix86_carry_flag_operator" "")
- (match_operand:SI 2 "general_operand" "ri,rm")))))
+ (match_operand:SI 2 "general_operand" "rim")))))
(clobber (reg:CC FLAGS_REG))]
"TARGET_64BIT && ix86_binary_operator_ok (MINUS, SImode, operands)"
"sbb{l}\t{%2, %k0|%k0, %2}"
@@ -8738,7 +8738,7 @@
;; See comment for addsi_1_zext why we do use nonimmediate_operand
(define_insn "*iorsi_1_zext"
- [(set (match_operand:DI 0 "register_operand" "=rm")
+ [(set (match_operand:DI 0 "register_operand" "=r")
(zero_extend:DI
(ior:SI (match_operand:SI 1 "nonimmediate_operand" "%0")
(match_operand:SI 2 "general_operand" "rim"))))
@@ -8749,7 +8749,7 @@
(set_attr "mode" "SI")])
(define_insn "*iorsi_1_zext_imm"
- [(set (match_operand:DI 0 "register_operand" "=rm")
+ [(set (match_operand:DI 0 "register_operand" "=r")
(ior:DI (zero_extend:DI (match_operand:SI 1 "register_operand" "%0"))
(match_operand:DI 2 "x86_64_zext_immediate_operand" "Z")))
(clobber (reg:CC FLAGS_REG))]
diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md
index 3275372..72048ad 100644
--- a/gcc/config/i386/sse.md
+++ b/gcc/config/i386/sse.md
@@ -1532,7 +1532,7 @@
})
(define_insn "*sse4_1_extractps"
- [(set (match_operand:SF 0 "register_operand" "=rm")
+ [(set (match_operand:SF 0 "nonimmediate_operand" "=rm")
(vec_select:SF
(match_operand:V4SF 1 "register_operand" "x")
(parallel [(match_operand:SI 2 "const_0_to_3_operand" "n")])))]
@@ -1694,7 +1694,7 @@
(define_insn "sse2_vmsqrtv2df2"
[(set (match_operand:V2DF 0 "register_operand" "=x")
(vec_merge:V2DF
- (sqrt:V2DF (match_operand:V2DF 1 "register_operand" "xm"))
+ (sqrt:V2DF (match_operand:V2DF 1 "nonimmediate_operand" "xm"))
(match_operand:V2DF 2 "register_operand" "0")
(const_int 1)))]
"TARGET_SSE2"