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"