aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorStan Cox <coxs@gnu.org>1996-02-29 16:47:21 +0000
committerStan Cox <coxs@gnu.org>1996-02-29 16:47:21 +0000
commit7e10a91972739b7acd03e19b74bc338f10fd30d8 (patch)
tree0a9106641079e87e032d8fba73075ed50dbb3cf6 /gcc
parent24f34136caed396aca8caca8816d6d25fc0bc152 (diff)
downloadgcc-7e10a91972739b7acd03e19b74bc338f10fd30d8.zip
gcc-7e10a91972739b7acd03e19b74bc338f10fd30d8.tar.gz
gcc-7e10a91972739b7acd03e19b74bc338f10fd30d8.tar.bz2
(cmpxf*): Allow for (compare (reg:XF) (mem:XF)).
From-SVN: r11383
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/i386/i386.md17
1 files changed, 10 insertions, 7 deletions
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index d8b7522..a83e1e7 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -382,9 +382,9 @@
(define_insn ""
[(set (cc0)
(match_operator 2 "VOIDmode_compare_op"
- [(match_operand:XF 0 "register_operand" "f")
- (match_operand:XF 1 "register_operand" "f")]))
- (clobber (match_scratch:HI 3 "=a"))]
+ [(match_operand:XF 0 "nonimmediate_operand" "f,fm")
+ (match_operand:XF 1 "nonimmediate_operand" "fm,f")]))
+ (clobber (match_scratch:HI 3 "=a,a"))]
"TARGET_80387
&& (GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM)"
"* return output_float_compare (insn, operands);")
@@ -5605,10 +5605,12 @@ to memory, but better safe than sorry. */
(define_expand "casesi"
[(set (match_dup 5)
- (minus:SI (match_operand:SI 0 "general_operand" "")
+ (match_operand:SI 0 "general_operand" ""))
+ (set (match_dup 6)
+ (minus:SI (match_dup 5)
(match_operand:SI 1 "general_operand" "")))
(set (cc0)
- (compare:CC (match_dup 5)
+ (compare:CC (match_dup 6)
(match_operand:SI 2 "general_operand" "")))
(set (pc)
(if_then_else (gtu (cc0)
@@ -5618,14 +5620,15 @@ to memory, but better safe than sorry. */
(parallel
[(set (pc)
(minus:SI (reg:SI 3)
- (mem:SI (plus:SI (mult:SI (match_dup 5)
+ (mem:SI (plus:SI (mult:SI (match_dup 6)
(const_int 4))
(label_ref (match_operand 3 "" ""))))))
- (clobber (match_scratch:SI 6 ""))])]
+ (clobber (match_scratch:SI 7 ""))])]
"flag_pic"
"
{
operands[5] = gen_reg_rtx (SImode);
+ operands[6] = gen_reg_rtx (SImode);
current_function_uses_pic_offset_table = 1;
}")