Commit 6343a50e by Zack Weinberg Committed by Zack Weinberg

resource.c (find_free_register): Mark class_str argument const.

1999-10-04 21:58 -0700  Zack Weinberg  <zack@bitmover.com>

	* resource.c (find_free_register): Mark class_str argument const.
	* resource.h: Update prototype to match.

	* i386.h (PREDICATE_CODES): Add entry for long_memory_operand.
	* i386.md: Give all anonymous insns names.

From-SVN: r29821
parent ff54d46b
1999-10-04 21:58 -0700 Zack Weinberg <zack@bitmover.com>
* resource.c (find_free_register): Mark class_str argument const.
* resource.h: Update prototype to match.
* i386.h (PREDICATE_CODES): Add entry for long_memory_operand.
* i386.md: Give all anonymous insns names.
Mon Oct 4 21:12:02 1999 Jeffrey A Law (law@cygnus.com) Mon Oct 4 21:12:02 1999 Jeffrey A Law (law@cygnus.com)
* flow.c (merge_blocks): Avoid assing BASIC_BLOCK for non-existent * flow.c (merge_blocks): Avoid assing BASIC_BLOCK for non-existent
......
...@@ -2395,7 +2395,8 @@ do { long l; \ ...@@ -2395,7 +2395,8 @@ do { long l; \
LSHIFTRT, ROTATERT}}, \ LSHIFTRT, ROTATERT}}, \
{"memory_displacement_operand", {MEM}}, \ {"memory_displacement_operand", {MEM}}, \
{"cmpsi_operand", {CONST_INT, CONST_DOUBLE, CONST, SYMBOL_REF, \ {"cmpsi_operand", {CONST_INT, CONST_DOUBLE, CONST, SYMBOL_REF, \
LABEL_REF, SUBREG, REG, MEM, AND}}, LABEL_REF, SUBREG, REG, MEM, AND}}, \
{"long_memory_operand", {MEM}},
/* Variables in i386.c */ /* Variables in i386.c */
extern const char *ix86_cpu_string; /* for -mcpu=<xxx> */ extern const char *ix86_cpu_string; /* for -mcpu=<xxx> */
......
...@@ -70,6 +70,10 @@ ...@@ -70,6 +70,10 @@
;; 9 This is an `fnstsw' operation. ;; 9 This is an `fnstsw' operation.
;; 10 This is a `sahf' operation. ;; 10 This is a `sahf' operation.
;; 11 This is a `fstcw' operation ;; 11 This is a `fstcw' operation
;;
;; Insns whose names begin with "x86_" are emitted by gen_FOO calls
;; from i386.c.
;; Processor type. This attribute must exactly match the processor_type ;; Processor type. This attribute must exactly match the processor_type
;; enumeration in i386.h. ;; enumeration in i386.h.
...@@ -953,7 +957,7 @@ ...@@ -953,7 +957,7 @@
"* return output_fp_compare (insn, operands, 0, 0);" "* return output_fp_compare (insn, operands, 0, 0);"
[(set_attr "type" "fcmp")]) [(set_attr "type" "fcmp")])
(define_insn "" (define_insn "*cmpfp_2_sf_1"
[(set (match_operand:HI 0 "register_operand" "=a") [(set (match_operand:HI 0 "register_operand" "=a")
(unspec:HI (unspec:HI
[(compare:CCFP [(compare:CCFP
...@@ -972,7 +976,7 @@ ...@@ -972,7 +976,7 @@
"* return output_fp_compare (insn, operands, 0, 0);" "* return output_fp_compare (insn, operands, 0, 0);"
[(set_attr "type" "fcmp")]) [(set_attr "type" "fcmp")])
(define_insn "" (define_insn "*cmpfp_2_df_1"
[(set (match_operand:HI 0 "register_operand" "=a") [(set (match_operand:HI 0 "register_operand" "=a")
(unspec:HI (unspec:HI
[(compare:CCFP [(compare:CCFP
...@@ -991,7 +995,7 @@ ...@@ -991,7 +995,7 @@
"* return output_fp_compare (insn, operands, 0, 0);" "* return output_fp_compare (insn, operands, 0, 0);"
[(set_attr "type" "fcmp")]) [(set_attr "type" "fcmp")])
(define_insn "" (define_insn "*cmpfp_2_xf_1"
[(set (match_operand:HI 0 "register_operand" "=a") [(set (match_operand:HI 0 "register_operand" "=a")
(unspec:HI (unspec:HI
[(compare:CCFP [(compare:CCFP
...@@ -1012,7 +1016,7 @@ ...@@ -1012,7 +1016,7 @@
"* return output_fp_compare (insn, operands, 0, 1);" "* return output_fp_compare (insn, operands, 0, 1);"
[(set_attr "type" "fcmp")]) [(set_attr "type" "fcmp")])
(define_insn "" (define_insn "*cmpfp_2u_1"
[(set (match_operand:HI 0 "register_operand" "=a") [(set (match_operand:HI 0 "register_operand" "=a")
(unspec:HI (unspec:HI
[(compare:CCFPU [(compare:CCFPU
...@@ -1031,7 +1035,7 @@ ...@@ -1031,7 +1035,7 @@
;; can get rid of this once we teach reload to do memory input reloads ;; can get rid of this once we teach reload to do memory input reloads
;; via pushes. ;; via pushes.
(define_insn "" (define_insn "*ficom_1"
[(set (reg:CCFP 18) [(set (reg:CCFP 18)
(compare:CCFP (compare:CCFP
(match_operand 0 "register_operand" "f,f") (match_operand 0 "register_operand" "f,f")
...@@ -2372,7 +2376,7 @@ ...@@ -2372,7 +2376,7 @@
;; emit moves. ;; emit moves.
;; %%% Kill these when call knows how to work out a DFmode push earlier. ;; %%% Kill these when call knows how to work out a DFmode push earlier.
(define_insn "" (define_insn "*dummy_extendsfdf2"
[(set (match_operand:DF 0 "push_operand" "=<") [(set (match_operand:DF 0 "push_operand" "=<")
(float_extend:DF (match_operand:SF 1 "nonimmediate_operand" "f")))] (float_extend:DF (match_operand:SF 1 "nonimmediate_operand" "f")))]
"0" "0"
...@@ -2385,7 +2389,7 @@ ...@@ -2385,7 +2389,7 @@
[(set (reg:SI 7) (plus:SI (reg:SI 7) (const_int -8))) [(set (reg:SI 7) (plus:SI (reg:SI 7) (const_int -8)))
(set (mem:DF (reg:SI 7)) (float_extend:DF (match_dup 1)))]) (set (mem:DF (reg:SI 7)) (float_extend:DF (match_dup 1)))])
(define_insn "" (define_insn "*dummy_extendsfxf2"
[(set (match_operand:XF 0 "push_operand" "=<") [(set (match_operand:XF 0 "push_operand" "=<")
(float_extend:XF (match_operand:SF 1 "nonimmediate_operand" "f")))] (float_extend:XF (match_operand:SF 1 "nonimmediate_operand" "f")))]
"0" "0"
...@@ -2398,7 +2402,7 @@ ...@@ -2398,7 +2402,7 @@
[(set (reg:SI 7) (plus:SI (reg:SI 7) (const_int -12))) [(set (reg:SI 7) (plus:SI (reg:SI 7) (const_int -12)))
(set (mem:DF (reg:SI 7)) (float_extend:XF (match_dup 1)))]) (set (mem:DF (reg:SI 7)) (float_extend:XF (match_dup 1)))])
(define_insn "" (define_insn "*dummy_extenddfxf2"
[(set (match_operand:XF 0 "push_operand" "=<") [(set (match_operand:XF 0 "push_operand" "=<")
(float_extend:XF (match_operand:DF 1 "nonimmediate_operand" "f")))] (float_extend:XF (match_operand:DF 1 "nonimmediate_operand" "f")))]
"0" "0"
...@@ -3117,7 +3121,7 @@ ...@@ -3117,7 +3121,7 @@
[(set_attr "type" "alu")]) [(set_attr "type" "alu")])
;; %%% Conditionally split these post-reload for better scheduling. ;; %%% Conditionally split these post-reload for better scheduling.
(define_insn "" (define_insn "*addsi_lea_1"
[(set (match_operand:SI 0 "register_operand" "=r") [(set (match_operand:SI 0 "register_operand" "=r")
(plus:SI (plus:SI (match_operand:SI 1 "register_operand" "r") (plus:SI (plus:SI (match_operand:SI 1 "register_operand" "r")
(match_operand:SI 2 "register_operand" "%r")) (match_operand:SI 2 "register_operand" "%r"))
...@@ -3130,7 +3134,7 @@ ...@@ -3130,7 +3134,7 @@
}" }"
[(set_attr "type" "lea")]) [(set_attr "type" "lea")])
(define_insn "" (define_insn "*addsi_lea_2"
[(set (match_operand:SI 0 "register_operand" "=r") [(set (match_operand:SI 0 "register_operand" "=r")
(plus:SI (mult:SI (match_operand:SI 1 "reg_no_sp_operand" "r") (plus:SI (mult:SI (match_operand:SI 1 "reg_no_sp_operand" "r")
(match_operand:SI 2 "const248_operand" "I")) (match_operand:SI 2 "const248_operand" "I"))
...@@ -3143,7 +3147,7 @@ ...@@ -3143,7 +3147,7 @@
}" }"
[(set_attr "type" "lea")]) [(set_attr "type" "lea")])
(define_insn "" (define_insn "*addsi_lea_3"
[(set (match_operand:SI 0 "register_operand" "=r") [(set (match_operand:SI 0 "register_operand" "=r")
(plus:SI (plus:SI (mult:SI (match_operand:SI 1 "reg_no_sp_operand" "r") (plus:SI (plus:SI (mult:SI (match_operand:SI 1 "reg_no_sp_operand" "r")
(match_operand:SI 2 "const248_operand" "I")) (match_operand:SI 2 "const248_operand" "I"))
...@@ -3855,7 +3859,7 @@ ...@@ -3855,7 +3859,7 @@
"{cltd|cdq}\;idiv{l}\\t%2" "{cltd|cdq}\;idiv{l}\\t%2"
[(set_attr "type" "multi")]) [(set_attr "type" "multi")])
(define_insn "" (define_insn "*divmodsi_noext"
[(set (match_operand:SI 0 "register_operand" "=a") [(set (match_operand:SI 0 "register_operand" "=a")
(div:SI (match_operand:SI 1 "register_operand" "A") (div:SI (match_operand:SI 1 "register_operand" "A")
(match_operand:SI 2 "nonimmediate_operand" "rm"))) (match_operand:SI 2 "nonimmediate_operand" "rm")))
...@@ -3920,7 +3924,7 @@ ...@@ -3920,7 +3924,7 @@
"xor{l}\\t%3, %3\;div{l}\\t%2" "xor{l}\\t%3, %3\;div{l}\\t%2"
[(set_attr "type" "multi")]) [(set_attr "type" "multi")])
(define_insn "" (define_insn "*udivmodsi4_noext"
[(set (match_operand:SI 0 "register_operand" "=a") [(set (match_operand:SI 0 "register_operand" "=a")
(udiv:SI (match_operand:SI 1 "register_operand" "0") (udiv:SI (match_operand:SI 1 "register_operand" "0")
(match_operand:SI 2 "nonimmediate_operand" "rm"))) (match_operand:SI 2 "nonimmediate_operand" "rm")))
...@@ -3964,7 +3968,7 @@ ...@@ -3964,7 +3968,7 @@
"" ""
"operands[4] = gen_reg_rtx (HImode);") "operands[4] = gen_reg_rtx (HImode);")
(define_insn "*udivmodhi_1" (define_insn "*udivmodhi_noext"
[(set (match_operand:HI 0 "register_operand" "=a") [(set (match_operand:HI 0 "register_operand" "=a")
(udiv:HI (match_operand:HI 1 "register_operand" "0") (udiv:HI (match_operand:HI 1 "register_operand" "0")
(match_operand:HI 2 "nonimmediate_operand" "rm"))) (match_operand:HI 2 "nonimmediate_operand" "rm")))
...@@ -4084,7 +4088,7 @@ ...@@ -4084,7 +4088,7 @@
[(set_attr "type" "icmp")]) [(set_attr "type" "icmp")])
;; Combine likes to form bit extractions for some tests. Humor it. ;; Combine likes to form bit extractions for some tests. Humor it.
(define_insn "" (define_insn "*testqi_ext_3"
[(set (reg:CCNO 17) [(set (reg:CCNO 17)
(compare:CCNO (zero_extract:SI (compare:CCNO (zero_extract:SI
(match_operand 0 "nonimmediate_operand" "rm") (match_operand 0 "nonimmediate_operand" "rm")
...@@ -4693,7 +4697,7 @@ ...@@ -4693,7 +4697,7 @@
"neg{l}\\t%0" "neg{l}\\t%0"
[(set_attr "type" "negnot")]) [(set_attr "type" "negnot")])
(define_insn "" (define_insn "*negsi2_cmpno"
[(set (reg:CCNO 17) [(set (reg:CCNO 17)
(compare:CCNO (neg:SI (match_operand:SI 1 "nonimmediate_operand" "0")) (compare:CCNO (neg:SI (match_operand:SI 1 "nonimmediate_operand" "0"))
(const_int 0))) (const_int 0)))
...@@ -4703,7 +4707,7 @@ ...@@ -4703,7 +4707,7 @@
"neg{l}\\t%0" "neg{l}\\t%0"
[(set_attr "type" "negnot")]) [(set_attr "type" "negnot")])
(define_insn "" (define_insn "*negsi2_cmp"
[(set (reg:CC 17) [(set (reg:CC 17)
(compare:CC (neg:SI (match_operand:SI 1 "nonimmediate_operand" "0")) (compare:CC (neg:SI (match_operand:SI 1 "nonimmediate_operand" "0"))
(const_int 0))) (const_int 0)))
...@@ -4721,7 +4725,7 @@ ...@@ -4721,7 +4725,7 @@
"neg{w}\\t%0" "neg{w}\\t%0"
[(set_attr "type" "negnot")]) [(set_attr "type" "negnot")])
(define_insn "" (define_insn "*neghi2_cmpno"
[(set (reg:CCNO 17) [(set (reg:CCNO 17)
(compare:CCNO (neg:HI (match_operand:HI 1 "nonimmediate_operand" "0")) (compare:CCNO (neg:HI (match_operand:HI 1 "nonimmediate_operand" "0"))
(const_int 0))) (const_int 0)))
...@@ -4731,7 +4735,7 @@ ...@@ -4731,7 +4735,7 @@
"neg{w}\\t%0" "neg{w}\\t%0"
[(set_attr "type" "negnot")]) [(set_attr "type" "negnot")])
(define_insn "" (define_insn "*neghi2_cmp"
[(set (reg:CC 17) [(set (reg:CC 17)
(compare:CC (neg:HI (match_operand:HI 1 "nonimmediate_operand" "0")) (compare:CC (neg:HI (match_operand:HI 1 "nonimmediate_operand" "0"))
(const_int 0))) (const_int 0)))
...@@ -4749,7 +4753,7 @@ ...@@ -4749,7 +4753,7 @@
"neg{b}\\t%0" "neg{b}\\t%0"
[(set_attr "type" "negnot")]) [(set_attr "type" "negnot")])
(define_insn "" (define_insn "*negqi2_cmpno"
[(set (reg:CCNO 17) [(set (reg:CCNO 17)
(compare:CCNO (neg:QI (match_operand:QI 1 "nonimmediate_operand" "0")) (compare:CCNO (neg:QI (match_operand:QI 1 "nonimmediate_operand" "0"))
(const_int 0))) (const_int 0)))
...@@ -4759,7 +4763,7 @@ ...@@ -4759,7 +4763,7 @@
"neg{b}\\t%0" "neg{b}\\t%0"
[(set_attr "type" "negnot")]) [(set_attr "type" "negnot")])
(define_insn "" (define_insn "*negqi2_cmp"
[(set (reg:CC 17) [(set (reg:CC 17)
(compare:CC (neg:QI (match_operand:QI 1 "nonimmediate_operand" "0")) (compare:CC (neg:QI (match_operand:QI 1 "nonimmediate_operand" "0"))
(const_int 0))) (const_int 0)))
...@@ -4785,7 +4789,7 @@ ...@@ -4785,7 +4789,7 @@
[(set_attr "type" "fsgn") [(set_attr "type" "fsgn")
(set_attr "ppro_uops" "few")]) (set_attr "ppro_uops" "few")])
(define_insn "" (define_insn "*negextendsfdf2"
[(set (match_operand:DF 0 "register_operand" "=f") [(set (match_operand:DF 0 "register_operand" "=f")
(neg:DF (float_extend:DF (neg:DF (float_extend:DF
(match_operand:SF 1 "register_operand" "0"))))] (match_operand:SF 1 "register_operand" "0"))))]
...@@ -4802,7 +4806,7 @@ ...@@ -4802,7 +4806,7 @@
[(set_attr "type" "fsgn") [(set_attr "type" "fsgn")
(set_attr "ppro_uops" "few")]) (set_attr "ppro_uops" "few")])
(define_insn "" (define_insn "*negextenddfxf2"
[(set (match_operand:XF 0 "register_operand" "=f") [(set (match_operand:XF 0 "register_operand" "=f")
(neg:XF (float_extend:XF (neg:XF (float_extend:XF
(match_operand:DF 1 "register_operand" "0"))))] (match_operand:DF 1 "register_operand" "0"))))]
...@@ -4811,7 +4815,7 @@ ...@@ -4811,7 +4815,7 @@
[(set_attr "type" "fsgn") [(set_attr "type" "fsgn")
(set_attr "ppro_uops" "few")]) (set_attr "ppro_uops" "few")])
(define_insn "" (define_insn "*negextendsfxf2"
[(set (match_operand:XF 0 "register_operand" "=f") [(set (match_operand:XF 0 "register_operand" "=f")
(neg:XF (float_extend:XF (neg:XF (float_extend:XF
(match_operand:SF 1 "register_operand" "0"))))] (match_operand:SF 1 "register_operand" "0"))))]
...@@ -4836,7 +4840,7 @@ ...@@ -4836,7 +4840,7 @@
"fabs" "fabs"
[(set_attr "type" "fsgn")]) [(set_attr "type" "fsgn")])
(define_insn "" (define_insn "*absextendsfdf2"
[(set (match_operand:DF 0 "register_operand" "=f") [(set (match_operand:DF 0 "register_operand" "=f")
(abs:DF (float_extend:DF (abs:DF (float_extend:DF
(match_operand:SF 1 "register_operand" "0"))))] (match_operand:SF 1 "register_operand" "0"))))]
...@@ -4851,7 +4855,7 @@ ...@@ -4851,7 +4855,7 @@
"fabs" "fabs"
[(set_attr "type" "fsgn")]) [(set_attr "type" "fsgn")])
(define_insn "" (define_insn "*absextenddfxf2"
[(set (match_operand:XF 0 "register_operand" "=f") [(set (match_operand:XF 0 "register_operand" "=f")
(abs:XF (float_extend:XF (abs:XF (float_extend:XF
(match_operand:DF 1 "register_operand" "0"))))] (match_operand:DF 1 "register_operand" "0"))))]
...@@ -4859,7 +4863,7 @@ ...@@ -4859,7 +4863,7 @@
"fabs" "fabs"
[(set_attr "type" "fsgn")]) [(set_attr "type" "fsgn")])
(define_insn "" (define_insn "*absextendsfxf2"
[(set (match_operand:XF 0 "register_operand" "=f") [(set (match_operand:XF 0 "register_operand" "=f")
(abs:XF (float_extend:XF (abs:XF (float_extend:XF
(match_operand:SF 1 "register_operand" "0"))))] (match_operand:SF 1 "register_operand" "0"))))]
...@@ -4876,7 +4880,7 @@ ...@@ -4876,7 +4880,7 @@
"not{l}\\t%0" "not{l}\\t%0"
[(set_attr "type" "negnot")]) [(set_attr "type" "negnot")])
(define_insn "" (define_insn "*one_cmplsi2_1"
[(set (reg:CCNO 17) [(set (reg:CCNO 17)
(compare:CCNO (not:SI (match_operand:SI 1 "nonimmediate_operand" "0")) (compare:CCNO (not:SI (match_operand:SI 1 "nonimmediate_operand" "0"))
(const_int 0))) (const_int 0)))
...@@ -4917,7 +4921,7 @@ ...@@ -4917,7 +4921,7 @@
"operands[0] = gen_lowpart (SImode, operands[0]); "operands[0] = gen_lowpart (SImode, operands[0]);
operands[1] = gen_lowpart (SImode, operands[1]);") operands[1] = gen_lowpart (SImode, operands[1]);")
(define_insn "" (define_insn "*one_cmplhi2_1"
[(set (reg:CCNO 17) [(set (reg:CCNO 17)
(compare:CCNO (not:HI (match_operand:HI 1 "nonimmediate_operand" "0")) (compare:CCNO (not:HI (match_operand:HI 1 "nonimmediate_operand" "0"))
(const_int 0))) (const_int 0)))
...@@ -4951,7 +4955,7 @@ ...@@ -4951,7 +4955,7 @@
not{l}\\t%k0" not{l}\\t%k0"
[(set_attr "type" "negnot")]) [(set_attr "type" "negnot")])
(define_insn "" (define_insn "*one_cmplqi2_1"
[(set (reg:CCNO 17) [(set (reg:CCNO 17)
(compare:CCNO (not:QI (match_operand:QI 1 "nonimmediate_operand" "0")) (compare:CCNO (not:QI (match_operand:QI 1 "nonimmediate_operand" "0"))
(const_int 0))) (const_int 0)))
...@@ -5156,7 +5160,7 @@ ...@@ -5156,7 +5160,7 @@
] ]
(const_string "ishift")))]) (const_string "ishift")))])
(define_insn "" (define_insn "*ashlsi3_cmpno"
[(set (reg:CCNO 17) [(set (reg:CCNO 17)
(compare:CCNO (compare:CCNO
(ashift:SI (match_operand:SI 1 "nonimmediate_operand" "0") (ashift:SI (match_operand:SI 1 "nonimmediate_operand" "0")
...@@ -5232,7 +5236,7 @@ ...@@ -5232,7 +5236,7 @@
"operands[0] = gen_lowpart (SImode, operands[0]); "operands[0] = gen_lowpart (SImode, operands[0]);
operands[1] = gen_lowpart (SImode, operands[1]);") operands[1] = gen_lowpart (SImode, operands[1]);")
(define_insn "" (define_insn "*ashlhi3_cmpno"
[(set (reg:CCNO 17) [(set (reg:CCNO 17)
(compare:CCNO (compare:CCNO
(ashift:HI (match_operand:HI 1 "nonimmediate_operand" "0") (ashift:HI (match_operand:HI 1 "nonimmediate_operand" "0")
...@@ -5311,7 +5315,7 @@ ...@@ -5311,7 +5315,7 @@
] ]
(const_string "ishift")))]) (const_string "ishift")))])
(define_insn "" (define_insn "*ashlqi3_cmpno"
[(set (reg:CCNO 17) [(set (reg:CCNO 17)
(compare:CCNO (compare:CCNO
(ashift:QI (match_operand:QI 1 "nonimmediate_operand" "0") (ashift:QI (match_operand:QI 1 "nonimmediate_operand" "0")
...@@ -5468,7 +5472,7 @@ ...@@ -5468,7 +5472,7 @@
sar{l}\\t{%b2, %0|%0, %b2}" sar{l}\\t{%b2, %0|%0, %b2}"
[(set_attr "type" "ishift")]) [(set_attr "type" "ishift")])
(define_insn "" (define_insn "*ashrsi3_cmpno"
[(set (reg:CCNO 17) [(set (reg:CCNO 17)
(compare:CCNO (compare:CCNO
(ashiftrt:SI (match_operand:SI 1 "nonimmediate_operand" "0,0") (ashiftrt:SI (match_operand:SI 1 "nonimmediate_operand" "0,0")
...@@ -5493,7 +5497,7 @@ ...@@ -5493,7 +5497,7 @@
sar{w}\\t{%b2, %0|%0, %b2}" sar{w}\\t{%b2, %0|%0, %b2}"
[(set_attr "type" "ishift")]) [(set_attr "type" "ishift")])
(define_insn "" (define_insn "*ashrhi3_cmpno"
[(set (reg:CCNO 17) [(set (reg:CCNO 17)
(compare:CCNO (compare:CCNO
(ashiftrt:HI (match_operand:HI 1 "nonimmediate_operand" "0,0") (ashiftrt:HI (match_operand:HI 1 "nonimmediate_operand" "0,0")
...@@ -5518,7 +5522,7 @@ ...@@ -5518,7 +5522,7 @@
sar{b}\\t{%b2, %0|%0, %b2}" sar{b}\\t{%b2, %0|%0, %b2}"
[(set_attr "type" "ishift")]) [(set_attr "type" "ishift")])
(define_insn "" (define_insn "*ashrqi3_cmpno"
[(set (reg:CCNO 17) [(set (reg:CCNO 17)
(compare:CCNO (compare:CCNO
(ashiftrt:QI (match_operand:QI 1 "nonimmediate_operand" "0,0") (ashiftrt:QI (match_operand:QI 1 "nonimmediate_operand" "0,0")
...@@ -5600,7 +5604,7 @@ ...@@ -5600,7 +5604,7 @@
shr{l}\\t{%b2, %0|%0, %b2}" shr{l}\\t{%b2, %0|%0, %b2}"
[(set_attr "type" "ishift")]) [(set_attr "type" "ishift")])
(define_insn "" (define_insn "*lshrsi3_cmpno"
[(set (reg:CCNO 17) [(set (reg:CCNO 17)
(compare:CCNO (compare:CCNO
(lshiftrt:SI (match_operand:SI 1 "nonimmediate_operand" "0,0") (lshiftrt:SI (match_operand:SI 1 "nonimmediate_operand" "0,0")
...@@ -5625,7 +5629,7 @@ ...@@ -5625,7 +5629,7 @@
shr{w}\\t{%b2, %0|%0, %b2}" shr{w}\\t{%b2, %0|%0, %b2}"
[(set_attr "type" "ishift")]) [(set_attr "type" "ishift")])
(define_insn "" (define_insn "*lshrhi3_cmpno"
[(set (reg:CCNO 17) [(set (reg:CCNO 17)
(compare:CCNO (compare:CCNO
(lshiftrt:HI (match_operand:HI 1 "nonimmediate_operand" "0,0") (lshiftrt:HI (match_operand:HI 1 "nonimmediate_operand" "0,0")
...@@ -5650,7 +5654,7 @@ ...@@ -5650,7 +5654,7 @@
shr{b}\\t{%b2, %0|%0, %b2}" shr{b}\\t{%b2, %0|%0, %b2}"
[(set_attr "type" "ishift")]) [(set_attr "type" "ishift")])
(define_insn "" (define_insn "*lshrqi2_cmpno"
[(set (reg:CCNO 17) [(set (reg:CCNO 17)
(compare:CCNO (compare:CCNO
(lshiftrt:QI (match_operand:QI 1 "nonimmediate_operand" "0,0") (lshiftrt:QI (match_operand:QI 1 "nonimmediate_operand" "0,0")
...@@ -5677,7 +5681,7 @@ ...@@ -5677,7 +5681,7 @@
rol{l}\\t{%b2, %0|%0, %b2}" rol{l}\\t{%b2, %0|%0, %b2}"
[(set_attr "type" "ishift")]) [(set_attr "type" "ishift")])
(define_insn "" (define_insn "*rotlsi3_cmpno"
[(set (reg:CCNO 17) [(set (reg:CCNO 17)
(compare:CCNO (compare:CCNO
(rotate:SI (match_operand:SI 1 "nonimmediate_operand" "0,0") (rotate:SI (match_operand:SI 1 "nonimmediate_operand" "0,0")
...@@ -5702,7 +5706,7 @@ ...@@ -5702,7 +5706,7 @@
rol{w}\\t{%b2, %0|%0, %b2}" rol{w}\\t{%b2, %0|%0, %b2}"
[(set_attr "type" "ishift")]) [(set_attr "type" "ishift")])
(define_insn "" (define_insn "*rotlhi3_cmpno"
[(set (reg:CCNO 17) [(set (reg:CCNO 17)
(compare:CCNO (compare:CCNO
(rotate:HI (match_operand:HI 1 "nonimmediate_operand" "0,0") (rotate:HI (match_operand:HI 1 "nonimmediate_operand" "0,0")
...@@ -5727,7 +5731,7 @@ ...@@ -5727,7 +5731,7 @@
rol{b}\\t{%b2, %0|%0, %b2}" rol{b}\\t{%b2, %0|%0, %b2}"
[(set_attr "type" "ishift")]) [(set_attr "type" "ishift")])
(define_insn "" (define_insn "*rotlqi3_cmpno"
[(set (reg:CCNO 17) [(set (reg:CCNO 17)
(compare:CCNO (compare:CCNO
(rotate:QI (match_operand:QI 1 "nonimmediate_operand" "0,0") (rotate:QI (match_operand:QI 1 "nonimmediate_operand" "0,0")
...@@ -5752,7 +5756,7 @@ ...@@ -5752,7 +5756,7 @@
ror{l}\\t{%b2, %0|%0, %b2}" ror{l}\\t{%b2, %0|%0, %b2}"
[(set_attr "type" "ishift")]) [(set_attr "type" "ishift")])
(define_insn "" (define_insn "*rotrsi3_cmpno"
[(set (reg:CCNO 17) [(set (reg:CCNO 17)
(compare:CCNO (compare:CCNO
(rotatert:SI (match_operand:SI 1 "nonimmediate_operand" "0,0") (rotatert:SI (match_operand:SI 1 "nonimmediate_operand" "0,0")
...@@ -5777,7 +5781,7 @@ ...@@ -5777,7 +5781,7 @@
ror{w}\\t{%b2, %0|%0, %b2}" ror{w}\\t{%b2, %0|%0, %b2}"
[(set_attr "type" "ishift")]) [(set_attr "type" "ishift")])
(define_insn "" (define_insn "*rotrhi3_cmpno"
[(set (reg:CCNO 17) [(set (reg:CCNO 17)
(compare:CCNO (compare:CCNO
(rotatert:HI (match_operand:HI 1 "nonimmediate_operand" "0,0") (rotatert:HI (match_operand:HI 1 "nonimmediate_operand" "0,0")
...@@ -5802,7 +5806,7 @@ ...@@ -5802,7 +5806,7 @@
ror{b}\\t{%b2, %0|%0, %b2}" ror{b}\\t{%b2, %0|%0, %b2}"
[(set_attr "type" "ishift")]) [(set_attr "type" "ishift")])
(define_insn "" (define_insn "*rotrqi3_cmpno"
[(set (reg:CCNO 17) [(set (reg:CCNO 17)
(compare:CCNO (compare:CCNO
(rotatert:QI (match_operand:QI 1 "nonimmediate_operand" "0,0") (rotatert:QI (match_operand:QI 1 "nonimmediate_operand" "0,0")
...@@ -6224,7 +6228,7 @@ ...@@ -6224,7 +6228,7 @@
current_function_uses_pic_offset_table = 1; current_function_uses_pic_offset_table = 1;
}") }")
(define_insn "" (define_insn "*tablejump_pic"
[(set (pc) (match_operand:SI 0 "nonimmediate_operand" "rm")) [(set (pc) (match_operand:SI 0 "nonimmediate_operand" "rm"))
(use (label_ref (match_operand 1 "" "")))] (use (label_ref (match_operand 1 "" "")))]
"" ""
...@@ -6250,7 +6254,7 @@ ...@@ -6250,7 +6254,7 @@
"TARGET_USE_LOOP" "TARGET_USE_LOOP"
"") "")
(define_insn "" (define_insn "*dbra_ne"
[(set (pc) [(set (pc)
(if_then_else (ne (match_operand:SI 1 "register_operand" "c,*r,*r") (if_then_else (ne (match_operand:SI 1 "register_operand" "c,*r,*r")
(const_int 1)) (const_int 1))
...@@ -6282,7 +6286,7 @@ ...@@ -6282,7 +6286,7 @@
(const_int 2) (const_int 2)
(const_int 16)))]) (const_int 16)))])
(define_insn "" (define_insn "*dbra_ge"
[(set (pc) [(set (pc)
(if_then_else (ge (match_operand:SI 1 "register_operand" "c,*r,*r") (if_then_else (ge (match_operand:SI 1 "register_operand" "c,*r,*r")
(const_int 0)) (const_int 0))
...@@ -6448,7 +6452,7 @@ ...@@ -6448,7 +6452,7 @@
copy_to_mode_reg (Pmode, XEXP (operands[0], 0))); copy_to_mode_reg (Pmode, XEXP (operands[0], 0)));
}") }")
(define_insn "" (define_insn "*call_pop_pic"
[(call (match_operand:QI 0 "call_insn_operand" "m") [(call (match_operand:QI 0 "call_insn_operand" "m")
(match_operand:SI 1 "general_operand" "g")) (match_operand:SI 1 "general_operand" "g"))
(set (reg:SI 7) (plus:SI (reg:SI 7) (set (reg:SI 7) (plus:SI (reg:SI 7)
...@@ -6464,7 +6468,7 @@ ...@@ -6464,7 +6468,7 @@
}" }"
[(set_attr "type" "call")]) [(set_attr "type" "call")])
(define_insn "" (define_insn "*call_pop_pic2"
[(call (match_operand:QI 0 "constant_call_address_operand" "") [(call (match_operand:QI 0 "constant_call_address_operand" "")
(match_operand:SI 1 "general_operand" "g")) (match_operand:SI 1 "general_operand" "g"))
(set (reg:SI 7) (plus:SI (reg:SI 7) (set (reg:SI 7) (plus:SI (reg:SI 7)
...@@ -6496,7 +6500,7 @@ ...@@ -6496,7 +6500,7 @@
copy_to_mode_reg (Pmode, XEXP (operands[0], 0))); copy_to_mode_reg (Pmode, XEXP (operands[0], 0)));
}") }")
(define_insn "" (define_insn "*call_pic"
[(call (match_operand:QI 0 "call_insn_operand" "m") [(call (match_operand:QI 0 "call_insn_operand" "m")
(match_operand:SI 1 "general_operand" "g"))] (match_operand:SI 1 "general_operand" "g"))]
;; Operand 1 not used on the i386. ;; Operand 1 not used on the i386.
...@@ -6511,7 +6515,7 @@ ...@@ -6511,7 +6515,7 @@
}" }"
[(set_attr "type" "call")]) [(set_attr "type" "call")])
(define_insn "" (define_insn "*call_pic2"
[(call (match_operand:QI 0 "constant_call_address_operand" "") [(call (match_operand:QI 0 "constant_call_address_operand" "")
(match_operand:SI 1 "general_operand" "g"))] (match_operand:SI 1 "general_operand" "g"))]
"!HALF_PIC_P ()" "!HALF_PIC_P ()"
...@@ -6553,7 +6557,7 @@ ...@@ -6553,7 +6557,7 @@
copy_to_mode_reg (Pmode, XEXP (operands[1], 0))); copy_to_mode_reg (Pmode, XEXP (operands[1], 0)));
}") }")
(define_insn "" (define_insn "*call_value_pop_pic"
[(set (match_operand 0 "" "=rf") [(set (match_operand 0 "" "=rf")
(call (match_operand:QI 1 "call_insn_operand" "m") (call (match_operand:QI 1 "call_insn_operand" "m")
(match_operand:SI 2 "general_operand" "g"))) (match_operand:SI 2 "general_operand" "g")))
...@@ -6570,7 +6574,7 @@ ...@@ -6570,7 +6574,7 @@
}" }"
[(set_attr "type" "callv")]) [(set_attr "type" "callv")])
(define_insn "" (define_insn "*call_value_pop_pic2"
[(set (match_operand 0 "" "=rf") [(set (match_operand 0 "" "=rf")
(call (match_operand:QI 1 "constant_call_address_operand" "") (call (match_operand:QI 1 "constant_call_address_operand" "")
(match_operand:SI 2 "general_operand" "g"))) (match_operand:SI 2 "general_operand" "g")))
...@@ -6604,7 +6608,7 @@ ...@@ -6604,7 +6608,7 @@
copy_to_mode_reg (Pmode, XEXP (operands[1], 0))); copy_to_mode_reg (Pmode, XEXP (operands[1], 0)));
}") }")
(define_insn "" (define_insn "*call_value_pic"
[(set (match_operand 0 "" "=rf") [(set (match_operand 0 "" "=rf")
(call (match_operand:QI 1 "call_insn_operand" "m") (call (match_operand:QI 1 "call_insn_operand" "m")
(match_operand:SI 2 "general_operand" "g")))] (match_operand:SI 2 "general_operand" "g")))]
...@@ -6620,7 +6624,7 @@ ...@@ -6620,7 +6624,7 @@
}" }"
[(set_attr "type" "callv")]) [(set_attr "type" "callv")])
(define_insn "" (define_insn "*call_value_pic2"
[(set (match_operand 0 "" "=rf") [(set (match_operand 0 "" "=rf")
(call (match_operand:QI 1 "constant_call_address_operand" "") (call (match_operand:QI 1 "constant_call_address_operand" "")
(match_operand:SI 2 "general_operand" "g")))] (match_operand:SI 2 "general_operand" "g")))]
...@@ -7158,7 +7162,7 @@ ...@@ -7158,7 +7162,7 @@
"fsqrt" "fsqrt"
[(set_attr "type" "fpspc")]) [(set_attr "type" "fpspc")])
(define_insn "" (define_insn "*sqrtextendsfdf2"
[(set (match_operand:DF 0 "register_operand" "=f") [(set (match_operand:DF 0 "register_operand" "=f")
(sqrt:DF (float_extend:DF (sqrt:DF (float_extend:DF
(match_operand:SF 1 "register_operand" "0"))))] (match_operand:SF 1 "register_operand" "0"))))]
...@@ -7174,7 +7178,7 @@ ...@@ -7174,7 +7178,7 @@
"fsqrt" "fsqrt"
[(set_attr "type" "fpspc")]) [(set_attr "type" "fpspc")])
(define_insn "" (define_insn "*sqrtextenddfxf2"
[(set (match_operand:XF 0 "register_operand" "=f") [(set (match_operand:XF 0 "register_operand" "=f")
(sqrt:XF (float_extend:XF (sqrt:XF (float_extend:XF
(match_operand:DF 1 "register_operand" "0"))))] (match_operand:DF 1 "register_operand" "0"))))]
...@@ -7182,7 +7186,7 @@ ...@@ -7182,7 +7186,7 @@
"fsqrt" "fsqrt"
[(set_attr "type" "fpspc")]) [(set_attr "type" "fpspc")])
(define_insn "" (define_insn "*sqrtextendsfxf2"
[(set (match_operand:XF 0 "register_operand" "=f") [(set (match_operand:XF 0 "register_operand" "=f")
(sqrt:XF (float_extend:XF (sqrt:XF (float_extend:XF
(match_operand:SF 1 "register_operand" "0"))))] (match_operand:SF 1 "register_operand" "0"))))]
...@@ -7204,7 +7208,7 @@ ...@@ -7204,7 +7208,7 @@
"fsin" "fsin"
[(set_attr "type" "fpspc")]) [(set_attr "type" "fpspc")])
(define_insn "" (define_insn "*sinextendsfdf2"
[(set (match_operand:DF 0 "register_operand" "=f") [(set (match_operand:DF 0 "register_operand" "=f")
(unspec:DF [(float_extend:DF (unspec:DF [(float_extend:DF
(match_operand:SF 1 "register_operand" "0"))] 1))] (match_operand:SF 1 "register_operand" "0"))] 1))]
...@@ -7233,7 +7237,7 @@ ...@@ -7233,7 +7237,7 @@
"fcos" "fcos"
[(set_attr "type" "fpspc")]) [(set_attr "type" "fpspc")])
(define_insn "" (define_insn "*cosextendsfdf2"
[(set (match_operand:DF 0 "register_operand" "=f") [(set (match_operand:DF 0 "register_operand" "=f")
(unspec:DF [(float_extend:DF (unspec:DF [(float_extend:DF
(match_operand:SF 1 "register_operand" "0"))] 2))] (match_operand:SF 1 "register_operand" "0"))] 2))]
...@@ -7594,7 +7598,7 @@ ...@@ -7594,7 +7598,7 @@
(set_attr "imm_disp" "false") (set_attr "imm_disp" "false")
(set_attr "length" "2")]) (set_attr "length" "2")])
(define_insn "" (define_insn "*movsicc_noc"
[(set (match_operand:SI 0 "register_operand" "=r,r") [(set (match_operand:SI 0 "register_operand" "=r,r")
(if_then_else:SI (match_operator 1 "no_comparison_operator" (if_then_else:SI (match_operator 1 "no_comparison_operator"
[(reg 17) (const_int 0)]) [(reg 17) (const_int 0)])
...@@ -7606,7 +7610,7 @@ ...@@ -7606,7 +7610,7 @@
cmov%c1\\t{%3, %0|%0, %3}" cmov%c1\\t{%3, %0|%0, %3}"
[(set_attr "type" "icmov")]) [(set_attr "type" "icmov")])
(define_insn "" (define_insn "*movsicc_c"
[(set (match_operand:SI 0 "register_operand" "=r,r") [(set (match_operand:SI 0 "register_operand" "=r,r")
(if_then_else:SI (match_operator 1 "comparison_operator" (if_then_else:SI (match_operator 1 "comparison_operator"
[(reg:CC 17) (const_int 0)]) [(reg:CC 17) (const_int 0)])
...@@ -7626,7 +7630,7 @@ ...@@ -7626,7 +7630,7 @@
"TARGET_CMOVE" "TARGET_CMOVE"
"if (!ix86_expand_int_movcc (operands)) FAIL; DONE;") "if (!ix86_expand_int_movcc (operands)) FAIL; DONE;")
(define_insn "" (define_insn "*movhicc_noc"
[(set (match_operand:HI 0 "register_operand" "=r,r") [(set (match_operand:HI 0 "register_operand" "=r,r")
(if_then_else:HI (match_operator 1 "no_comparison_operator" (if_then_else:HI (match_operator 1 "no_comparison_operator"
[(reg 17) (const_int 0)]) [(reg 17) (const_int 0)])
...@@ -7638,7 +7642,7 @@ ...@@ -7638,7 +7642,7 @@
cmov%c1\\t{%3, %0|%0, %3}" cmov%c1\\t{%3, %0|%0, %3}"
[(set_attr "type" "icmov")]) [(set_attr "type" "icmov")])
(define_insn "" (define_insn "*movhicc_c"
[(set (match_operand:HI 0 "register_operand" "=r,r") [(set (match_operand:HI 0 "register_operand" "=r,r")
(if_then_else:HI (match_operator 1 "comparison_operator" (if_then_else:HI (match_operator 1 "comparison_operator"
[(reg:CC 17) (const_int 0)]) [(reg:CC 17) (const_int 0)])
...@@ -7671,7 +7675,7 @@ ...@@ -7671,7 +7675,7 @@
"TARGET_CMOVE" "TARGET_CMOVE"
"if (! ix86_expand_fp_movcc (operands)) FAIL; DONE;") "if (! ix86_expand_fp_movcc (operands)) FAIL; DONE;")
(define_insn "" (define_insn "*movsfcc_1"
[(set (match_operand:SF 0 "register_operand" "=f,f") [(set (match_operand:SF 0 "register_operand" "=f,f")
(if_then_else:SF (match_operator 1 "fcmov_comparison_operator" (if_then_else:SF (match_operator 1 "fcmov_comparison_operator"
[(reg 17) (const_int 0)]) [(reg 17) (const_int 0)])
...@@ -7691,7 +7695,7 @@ ...@@ -7691,7 +7695,7 @@
"TARGET_CMOVE" "TARGET_CMOVE"
"if (! ix86_expand_fp_movcc (operands)) FAIL; DONE;") "if (! ix86_expand_fp_movcc (operands)) FAIL; DONE;")
(define_insn "" (define_insn "*movdfcc_1"
[(set (match_operand:DF 0 "register_operand" "=f,f") [(set (match_operand:DF 0 "register_operand" "=f,f")
(if_then_else:DF (match_operator 1 "fcmov_comparison_operator" (if_then_else:DF (match_operator 1 "fcmov_comparison_operator"
[(reg 17) (const_int 0)]) [(reg 17) (const_int 0)])
...@@ -7711,7 +7715,7 @@ ...@@ -7711,7 +7715,7 @@
"TARGET_CMOVE" "TARGET_CMOVE"
"if (! ix86_expand_fp_movcc (operands)) FAIL; DONE;") "if (! ix86_expand_fp_movcc (operands)) FAIL; DONE;")
(define_insn "" (define_insn "*movxfcc_1"
[(set (match_operand:XF 0 "register_operand" "=f,f") [(set (match_operand:XF 0 "register_operand" "=f,f")
(if_then_else:XF (match_operator 1 "fcmov_comparison_operator" (if_then_else:XF (match_operator 1 "fcmov_comparison_operator"
[(reg 17) (const_int 0)]) [(reg 17) (const_int 0)])
......
...@@ -1249,7 +1249,7 @@ mark_end_of_function_resources (trial, include_delayed_effects) ...@@ -1249,7 +1249,7 @@ mark_end_of_function_resources (trial, include_delayed_effects)
rtx rtx
find_free_register (current_insn, last_insn, class_str, mode, reg_set) find_free_register (current_insn, last_insn, class_str, mode, reg_set)
rtx current_insn, last_insn; rtx current_insn, last_insn;
char *class_str; const char *class_str;
int mode; int mode;
HARD_REG_SET *reg_set; HARD_REG_SET *reg_set;
{ {
......
...@@ -42,6 +42,6 @@ extern void incr_ticks_for_insn PROTO((rtx)); ...@@ -42,6 +42,6 @@ extern void incr_ticks_for_insn PROTO((rtx));
extern void mark_end_of_function_resources PROTO ((rtx, int)); extern void mark_end_of_function_resources PROTO ((rtx, int));
extern void init_resource_info PROTO((rtx)); extern void init_resource_info PROTO((rtx));
extern void free_resource_info PROTO((void)); extern void free_resource_info PROTO((void));
extern rtx find_free_register PROTO((rtx, rtx, char *, int, extern rtx find_free_register PROTO((rtx, rtx, const char *, int,
HARD_REG_SET *)); HARD_REG_SET *));
extern int reg_dead_p PROTO((rtx, rtx)); extern int reg_dead_p PROTO((rtx, rtx));
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment