equal
deleted
inserted
replaced
5541 __ blendvps($dst$$XMMRegister, $tmp$$XMMRegister, $atmp$$XMMRegister, $btmp$$XMMRegister, vector_len); |
5541 __ blendvps($dst$$XMMRegister, $tmp$$XMMRegister, $atmp$$XMMRegister, $btmp$$XMMRegister, vector_len); |
5542 %} |
5542 %} |
5543 ins_pipe( pipe_slow ); |
5543 ins_pipe( pipe_slow ); |
5544 %} |
5544 %} |
5545 |
5545 |
5546 instruct maxF_reduction_reg(regF dst, regF a, regF b, regF xmmt, rRegI tmp, rFlagsReg cr) %{ |
5546 instruct maxF_reduction_reg(legRegF dst, legRegF a, legRegF b, legRegF xmmt, rRegI tmp, rFlagsReg cr) %{ |
5547 predicate(UseAVX > 0 && n->is_reduction()); |
5547 predicate(UseAVX > 0 && n->is_reduction()); |
5548 match(Set dst (MaxF a b)); |
5548 match(Set dst (MaxF a b)); |
5549 effect(USE a, USE b, TEMP xmmt, TEMP tmp, KILL cr); |
5549 effect(USE a, USE b, TEMP xmmt, TEMP tmp, KILL cr); |
5550 |
5550 |
5551 format %{ "$dst = max($a, $b)\t# intrinsic (float)" %} |
5551 format %{ "$dst = max($a, $b)\t# intrinsic (float)" %} |
5577 __ blendvpd($dst$$XMMRegister, $tmp$$XMMRegister, $atmp$$XMMRegister, $btmp$$XMMRegister, vector_len); |
5577 __ blendvpd($dst$$XMMRegister, $tmp$$XMMRegister, $atmp$$XMMRegister, $btmp$$XMMRegister, vector_len); |
5578 %} |
5578 %} |
5579 ins_pipe( pipe_slow ); |
5579 ins_pipe( pipe_slow ); |
5580 %} |
5580 %} |
5581 |
5581 |
5582 instruct maxD_reduction_reg(regD dst, regD a, regD b, regD xmmt, rRegL tmp, rFlagsReg cr) %{ |
5582 instruct maxD_reduction_reg(legRegD dst, legRegD a, legRegD b, legRegD xmmt, rRegL tmp, rFlagsReg cr) %{ |
5583 predicate(UseAVX > 0 && n->is_reduction()); |
5583 predicate(UseAVX > 0 && n->is_reduction()); |
5584 match(Set dst (MaxD a b)); |
5584 match(Set dst (MaxD a b)); |
5585 effect(USE a, USE b, TEMP xmmt, TEMP tmp, KILL cr); |
5585 effect(USE a, USE b, TEMP xmmt, TEMP tmp, KILL cr); |
5586 |
5586 |
5587 format %{ "$dst = max($a, $b)\t# intrinsic (double)" %} |
5587 format %{ "$dst = max($a, $b)\t# intrinsic (double)" %} |
5613 __ blendvps($dst$$XMMRegister, $tmp$$XMMRegister, $atmp$$XMMRegister, $btmp$$XMMRegister, vector_len); |
5613 __ blendvps($dst$$XMMRegister, $tmp$$XMMRegister, $atmp$$XMMRegister, $btmp$$XMMRegister, vector_len); |
5614 %} |
5614 %} |
5615 ins_pipe( pipe_slow ); |
5615 ins_pipe( pipe_slow ); |
5616 %} |
5616 %} |
5617 |
5617 |
5618 instruct minF_reduction_reg(regF dst, regF a, regF b, regF xmmt, rRegI tmp, rFlagsReg cr) %{ |
5618 instruct minF_reduction_reg(legRegF dst, legRegF a, legRegF b, legRegF xmmt, rRegI tmp, rFlagsReg cr) %{ |
5619 predicate(UseAVX > 0 && n->is_reduction()); |
5619 predicate(UseAVX > 0 && n->is_reduction()); |
5620 match(Set dst (MinF a b)); |
5620 match(Set dst (MinF a b)); |
5621 effect(USE a, USE b, TEMP xmmt, TEMP tmp, KILL cr); |
5621 effect(USE a, USE b, TEMP xmmt, TEMP tmp, KILL cr); |
5622 |
5622 |
5623 format %{ "$dst = min($a, $b)\t# intrinsic (float)" %} |
5623 format %{ "$dst = min($a, $b)\t# intrinsic (float)" %} |
5649 __ blendvpd($dst$$XMMRegister, $tmp$$XMMRegister, $atmp$$XMMRegister, $btmp$$XMMRegister, vector_len); |
5649 __ blendvpd($dst$$XMMRegister, $tmp$$XMMRegister, $atmp$$XMMRegister, $btmp$$XMMRegister, vector_len); |
5650 %} |
5650 %} |
5651 ins_pipe( pipe_slow ); |
5651 ins_pipe( pipe_slow ); |
5652 %} |
5652 %} |
5653 |
5653 |
5654 instruct minD_reduction_reg(regD dst, regD a, regD b, regD xmmt, rRegL tmp, rFlagsReg cr) %{ |
5654 instruct minD_reduction_reg(legRegD dst, legRegD a, legRegD b, legRegD xmmt, rRegL tmp, rFlagsReg cr) %{ |
5655 predicate(UseAVX > 0 && n->is_reduction()); |
5655 predicate(UseAVX > 0 && n->is_reduction()); |
5656 match(Set dst (MinD a b)); |
5656 match(Set dst (MinD a b)); |
5657 effect(USE a, USE b, TEMP xmmt, TEMP tmp, KILL cr); |
5657 effect(USE a, USE b, TEMP xmmt, TEMP tmp, KILL cr); |
5658 |
5658 |
5659 format %{ "$dst = min($a, $b)\t# intrinsic (double)" %} |
5659 format %{ "$dst = min($a, $b)\t# intrinsic (double)" %} |