Mercurial > hg > CbC > CbC_gcc
comparison gcc/config/score/score.md @ 55:77e2b8dfacca gcc-4.4.5
update it from 4.4.3 to 4.5.0
author | ryoma <e075725@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 12 Feb 2010 23:39:51 +0900 |
parents | a06113de4d67 |
children | f6334be47118 |
comparison
equal
deleted
inserted
replaced
52:c156f1bd5cd9 | 55:77e2b8dfacca |
---|---|
2173 ror.c\t%0, %1, %2" | 2173 ror.c\t%0, %1, %2" |
2174 [(set_attr "type" "arith") | 2174 [(set_attr "type" "arith") |
2175 (set_attr "length" "4,4") | 2175 (set_attr "length" "4,4") |
2176 (set_attr "mode" "SI")]) | 2176 (set_attr "mode" "SI")]) |
2177 | 2177 |
2178 (define_expand "cbranchsi4" | |
2179 [(set (reg:CC CC_REGNUM) | |
2180 (compare:CC (match_operand:SI 1 "score_register_operand" "") | |
2181 (match_operand:SI 2 "arith_operand" ""))) | |
2182 (set (pc) | |
2183 (if_then_else | |
2184 (match_operator 0 "ordered_comparison_operator" | |
2185 [(reg:CC CC_REGNUM) | |
2186 (const_int 0)]) | |
2187 (label_ref (match_operand 3 "" "")) | |
2188 (pc)))] | |
2189 "" | |
2190 "") | |
2191 | |
2178 (define_insn "cbrancheqz" | 2192 (define_insn "cbrancheqz" |
2179 [(set (pc) (if_then_else | 2193 [(set (pc) (if_then_else |
2180 (eq (match_operand:SI 0 "score_register_operand" "d") | 2194 (eq (match_operand:SI 0 "score_register_operand" "d") |
2181 (const_int 0)) | 2195 (const_int 0)) |
2182 (label_ref (match_operand 1 "" "")) | 2196 (label_ref (match_operand 1 "" "")) |
2257 (and (ge (minus (match_dup 2) (pc)) (const_int -504)) | 2271 (and (ge (minus (match_dup 2) (pc)) (const_int -504)) |
2258 (le (minus (match_dup 2) (pc)) (const_int 502))) | 2272 (le (minus (match_dup 2) (pc)) (const_int 502))) |
2259 (const_int 4) | 2273 (const_int 4) |
2260 (const_int 6)))]) | 2274 (const_int 6)))]) |
2261 | 2275 |
2262 (define_expand "cmpsi" | |
2263 [(match_operand:SI 0 "score_register_operand") | |
2264 (match_operand:SI 1 "arith_operand")] | |
2265 "" | |
2266 { | |
2267 cmp_op0 = operands[0]; | |
2268 cmp_op1 = operands[1]; | |
2269 DONE; | |
2270 }) | |
2271 | |
2272 (define_insn "cmpsi_nz_score7" | 2276 (define_insn "cmpsi_nz_score7" |
2273 [(set (reg:CC_NZ CC_REGNUM) | 2277 [(set (reg:CC_NZ CC_REGNUM) |
2274 (compare:CC_NZ (match_operand:SI 0 "register_operand" "d,e,d") | 2278 (compare:CC_NZ (match_operand:SI 0 "register_operand" "d,e,d") |
2275 (match_operand:SI 1 "arith_operand" "L,e,d")))] | 2279 (match_operand:SI 1 "arith_operand" "L,e,d")))] |
2276 "(TARGET_SCORE5 || TARGET_SCORE5U || TARGET_SCORE7 || TARGET_SCORE7D)" | 2280 "(TARGET_SCORE5 || TARGET_SCORE5U || TARGET_SCORE7 || TARGET_SCORE7D)" |
2372 cmp!\t%0, %1" | 2376 cmp!\t%0, %1" |
2373 [(set_attr "type" "cmp") | 2377 [(set_attr "type" "cmp") |
2374 (set_attr "length" "2,4,2") | 2378 (set_attr "length" "2,4,2") |
2375 (set_attr "up_c" "yes") | 2379 (set_attr "up_c" "yes") |
2376 (set_attr "mode" "SI")]) | 2380 (set_attr "mode" "SI")]) |
2377 | |
2378 (define_expand "beq" | |
2379 [(set (pc) | |
2380 (if_then_else (eq (reg:CC CC_REGNUM) (const_int 0)) | |
2381 (label_ref (match_operand 0 "" "")) | |
2382 (pc)))] | |
2383 "" | |
2384 { | |
2385 score_gen_cmp (CCmode); | |
2386 }) | |
2387 | |
2388 (define_expand "bne" | |
2389 [(set (pc) | |
2390 (if_then_else (ne (reg:CC CC_REGNUM) (const_int 0)) | |
2391 (label_ref (match_operand 0 "" "")) | |
2392 (pc)))] | |
2393 "" | |
2394 { | |
2395 score_gen_cmp (CCmode); | |
2396 }) | |
2397 | |
2398 (define_expand "bgt" | |
2399 [(set (pc) | |
2400 (if_then_else (gt (reg:CC CC_REGNUM) (const_int 0)) | |
2401 (label_ref (match_operand 0 "" "")) | |
2402 (pc)))] | |
2403 "" | |
2404 { | |
2405 score_gen_cmp (CCmode); | |
2406 }) | |
2407 | |
2408 (define_expand "ble" | |
2409 [(set (pc) | |
2410 (if_then_else (le (reg:CC CC_REGNUM) (const_int 0)) | |
2411 (label_ref (match_operand 0 "" "")) | |
2412 (pc)))] | |
2413 "" | |
2414 { | |
2415 score_gen_cmp (CCmode); | |
2416 }) | |
2417 | |
2418 (define_expand "bge" | |
2419 [(set (pc) | |
2420 (if_then_else (ge (reg:CC CC_REGNUM) (const_int 0)) | |
2421 (label_ref (match_operand 0 "" "")) | |
2422 (pc)))] | |
2423 "" | |
2424 { | |
2425 score_gen_cmp (CCmode); | |
2426 }) | |
2427 | |
2428 (define_expand "blt" | |
2429 [(set (pc) | |
2430 (if_then_else (lt (reg:CC CC_REGNUM) (const_int 0)) | |
2431 (label_ref (match_operand 0 "" "")) | |
2432 (pc)))] | |
2433 "" | |
2434 { | |
2435 score_gen_cmp (CCmode); | |
2436 }) | |
2437 | |
2438 (define_expand "bgtu" | |
2439 [(set (pc) | |
2440 (if_then_else (gtu (reg:CC CC_REGNUM) (const_int 0)) | |
2441 (label_ref (match_operand 0 "" "")) | |
2442 (pc)))] | |
2443 "" | |
2444 { | |
2445 score_gen_cmp (CCmode); | |
2446 }) | |
2447 | |
2448 (define_expand "bleu" | |
2449 [(set (pc) | |
2450 (if_then_else (leu (reg:CC CC_REGNUM) (const_int 0)) | |
2451 (label_ref (match_operand 0 "" "")) | |
2452 (pc)))] | |
2453 "" | |
2454 { | |
2455 score_gen_cmp (CCmode); | |
2456 }) | |
2457 | |
2458 (define_expand "bgeu" | |
2459 [(set (pc) | |
2460 (if_then_else (geu (reg:CC CC_REGNUM) (const_int 0)) | |
2461 (label_ref (match_operand 0 "" "")) | |
2462 (pc)))] | |
2463 "" | |
2464 { | |
2465 score_gen_cmp (CCmode); | |
2466 }) | |
2467 | |
2468 (define_expand "bltu" | |
2469 [(set (pc) | |
2470 (if_then_else (ltu (reg:CC CC_REGNUM) (const_int 0)) | |
2471 (label_ref (match_operand 0 "" "")) | |
2472 (pc)))] | |
2473 "" | |
2474 { | |
2475 score_gen_cmp (CCmode); | |
2476 }) | |
2477 | 2381 |
2478 (define_insn "*branch_n_score7" | 2382 (define_insn "*branch_n_score7" |
2479 [(set (pc) | 2383 [(set (pc) |
2480 (if_then_else | 2384 (if_then_else |
2481 (match_operator 0 "branch_n_operator" | 2385 (match_operator 0 "branch_n_operator" |