|
1824 | 1824 | (set_attr "mode" "DI,TI,TI")])
|
1825 | 1825 |
|
1826 | 1826 | (define_insn "*<insn><mode>3"
|
1827 |
| - [(set (match_operand:VI_32 0 "register_operand" "=x,Yw") |
1828 |
| - (sat_plusminus:VI_32 |
1829 |
| - (match_operand:VI_32 1 "register_operand" "<comm>0,Yw") |
1830 |
| - (match_operand:VI_32 2 "register_operand" "x,Yw")))] |
| 1827 | + [(set (match_operand:VI_16_32 0 "register_operand" "=x,Yw") |
| 1828 | + (sat_plusminus:VI_16_32 |
| 1829 | + (match_operand:VI_16_32 1 "register_operand" "<comm>0,Yw") |
| 1830 | + (match_operand:VI_16_32 2 "register_operand" "x,Yw")))] |
1831 | 1831 | "TARGET_SSE2"
|
1832 | 1832 | "@
|
1833 | 1833 | p<plusminus_mnemonic><mmxvecsize>\t{%2, %0|%0, %2}
|
|
2418 | 2418 | (set_attr "mode" "DI,TI,TI")])
|
2419 | 2419 |
|
2420 | 2420 | (define_insn "*eq<mode>3"
|
2421 |
| - [(set (match_operand:VI_32 0 "register_operand" "=x,x") |
2422 |
| - (eq:VI_32 |
2423 |
| - (match_operand:VI_32 1 "register_operand" "%0,x") |
2424 |
| - (match_operand:VI_32 2 "register_operand" "x,x")))] |
| 2421 | + [(set (match_operand:VI_16_32 0 "register_operand" "=x,x") |
| 2422 | + (eq:VI_16_32 |
| 2423 | + (match_operand:VI_16_32 1 "register_operand" "%0,x") |
| 2424 | + (match_operand:VI_16_32 2 "register_operand" "x,x")))] |
2425 | 2425 | "TARGET_SSE2"
|
2426 | 2426 | "@
|
2427 | 2427 | pcmpeq<mmxvecsize>\t{%2, %0|%0, %2}
|
|
2446 | 2446 | (set_attr "mode" "DI,TI,TI")])
|
2447 | 2447 |
|
2448 | 2448 | (define_insn "*gt<mode>3"
|
2449 |
| - [(set (match_operand:VI_32 0 "register_operand" "=x,x") |
2450 |
| - (gt:VI_32 |
2451 |
| - (match_operand:VI_32 1 "register_operand" "0,x") |
2452 |
| - (match_operand:VI_32 2 "register_operand" "x,x")))] |
| 2449 | + [(set (match_operand:VI_16_32 0 "register_operand" "=x,x") |
| 2450 | + (gt:VI_16_32 |
| 2451 | + (match_operand:VI_16_32 1 "register_operand" "0,x") |
| 2452 | + (match_operand:VI_16_32 2 "register_operand" "x,x")))] |
2453 | 2453 | "TARGET_SSE2"
|
2454 | 2454 | "@
|
2455 | 2455 | pcmpgt<mmxvecsize>\t{%2, %0|%0, %2}
|
|
2473 | 2473 | (set_attr "mode" "TI")])
|
2474 | 2474 |
|
2475 | 2475 | (define_insn "*xop_maskcmp<mode>3"
|
2476 |
| - [(set (match_operand:VI_32 0 "register_operand" "=x") |
2477 |
| - (match_operator:VI_32 1 "ix86_comparison_int_operator" |
2478 |
| - [(match_operand:VI_32 2 "register_operand" "x") |
2479 |
| - (match_operand:VI_32 3 "register_operand" "x")]))] |
| 2476 | + [(set (match_operand:VI_16_32 0 "register_operand" "=x") |
| 2477 | + (match_operator:VI_16_32 1 "ix86_comparison_int_operator" |
| 2478 | + [(match_operand:VI_16_32 2 "register_operand" "x") |
| 2479 | + (match_operand:VI_16_32 3 "register_operand" "x")]))] |
2480 | 2480 | "TARGET_XOP"
|
2481 | 2481 | "vpcom%Y1<mmxvecsize>\t{%3, %2, %0|%0, %2, %3}"
|
2482 | 2482 | [(set_attr "type" "sse4arg")
|
|
2501 | 2501 | (set_attr "mode" "TI")])
|
2502 | 2502 |
|
2503 | 2503 | (define_insn "*xop_maskcmp_uns<mode>3"
|
2504 |
| - [(set (match_operand:VI_32 0 "register_operand" "=x") |
2505 |
| - (match_operator:VI_32 1 "ix86_comparison_uns_operator" |
2506 |
| - [(match_operand:VI_32 2 "register_operand" "x") |
2507 |
| - (match_operand:VI_32 3 "register_operand" "x")]))] |
| 2504 | + [(set (match_operand:VI_16_32 0 "register_operand" "=x") |
| 2505 | + (match_operator:VI_16_32 1 "ix86_comparison_uns_operator" |
| 2506 | + [(match_operand:VI_16_32 2 "register_operand" "x") |
| 2507 | + (match_operand:VI_16_32 3 "register_operand" "x")]))] |
2508 | 2508 | "TARGET_XOP"
|
2509 | 2509 | "vpcom%Y1u<mmxvecsize>\t{%3, %2, %0|%0, %2, %3}"
|
2510 | 2510 | [(set_attr "type" "ssecmp")
|
|
2527 | 2527 | })
|
2528 | 2528 |
|
2529 | 2529 | (define_expand "vec_cmp<mode><mode>"
|
2530 |
| - [(set (match_operand:VI_32 0 "register_operand") |
2531 |
| - (match_operator:VI_32 1 "" |
2532 |
| - [(match_operand:VI_32 2 "register_operand") |
2533 |
| - (match_operand:VI_32 3 "register_operand")]))] |
| 2530 | + [(set (match_operand:VI_16_32 0 "register_operand") |
| 2531 | + (match_operator:VI_16_32 1 "" |
| 2532 | + [(match_operand:VI_16_32 2 "register_operand") |
| 2533 | + (match_operand:VI_16_32 3 "register_operand")]))] |
2534 | 2534 | "TARGET_SSE2"
|
2535 | 2535 | {
|
2536 | 2536 | bool ok = ix86_expand_int_vec_cmp (operands);
|
|
2551 | 2551 | })
|
2552 | 2552 |
|
2553 | 2553 | (define_expand "vec_cmpu<mode><mode>"
|
2554 |
| - [(set (match_operand:VI_32 0 "register_operand") |
2555 |
| - (match_operator:VI_32 1 "" |
2556 |
| - [(match_operand:VI_32 2 "register_operand") |
2557 |
| - (match_operand:VI_32 3 "register_operand")]))] |
| 2554 | + [(set (match_operand:VI_16_32 0 "register_operand") |
| 2555 | + (match_operator:VI_16_32 1 "" |
| 2556 | + [(match_operand:VI_16_32 2 "register_operand") |
| 2557 | + (match_operand:VI_16_32 3 "register_operand")]))] |
2558 | 2558 | "TARGET_SSE2"
|
2559 | 2559 | {
|
2560 | 2560 | bool ok = ix86_expand_int_vec_cmp (operands);
|
|
0 commit comments