re PR tree-optimization/35642 (short * short multiplication not vectorized on Power)
PR tree-optimization/35642 * config/rs6000/altivec.md (mulv8hi3): Implement. Co-Authored-By: Ira Rosen <irar@il.ibm.com> From-SVN: r140083
This commit is contained in:
parent
c0cf64a287
commit
cc54af2085
4 changed files with 37 additions and 1 deletions
|
@ -1,3 +1,9 @@
|
|||
2008-09-07 Dorit Nuzman <dorit@il.ibm.com>
|
||||
Ira Rosen <irar@il.ibm.com>
|
||||
|
||||
PR tree-optimization/35642
|
||||
* config/rs6000/altivec.md (mulv8hi3): Implement.
|
||||
|
||||
2008-09-06 Jeff Law <law@redhat.com>
|
||||
|
||||
* h8300.h (IRA_COVER_CLASSES): Define.
|
||||
|
|
|
@ -647,6 +647,28 @@
|
|||
DONE;
|
||||
}")
|
||||
|
||||
(define_expand "mulv8hi3"
|
||||
[(use (match_operand:V8HI 0 "register_operand" ""))
|
||||
(use (match_operand:V8HI 1 "register_operand" ""))
|
||||
(use (match_operand:V8HI 2 "register_operand" ""))]
|
||||
"TARGET_ALTIVEC"
|
||||
"
|
||||
{
|
||||
rtx odd = gen_reg_rtx (V4SImode);
|
||||
rtx even = gen_reg_rtx (V4SImode);
|
||||
rtx high = gen_reg_rtx (V4SImode);
|
||||
rtx low = gen_reg_rtx (V4SImode);
|
||||
|
||||
emit_insn (gen_altivec_vmulesh (even, operands[1], operands[2]));
|
||||
emit_insn (gen_altivec_vmulosh (odd, operands[1], operands[2]));
|
||||
|
||||
emit_insn (gen_altivec_vmrghw (high, even, odd));
|
||||
emit_insn (gen_altivec_vmrglw (low, even, odd));
|
||||
|
||||
emit_insn (gen_altivec_vpkuwum (operands[0], high, low));
|
||||
|
||||
DONE;
|
||||
}")
|
||||
|
||||
;; Fused multiply subtract
|
||||
(define_insn "altivec_vnmsubfp"
|
||||
|
|
|
@ -1,3 +1,10 @@
|
|||
2008-09-07 Dorit Nuzman <dorit@il.ibm.com>
|
||||
Ira Rosen <irar@il.ibm.com>
|
||||
|
||||
PR tree-optimization/35642
|
||||
* lib/target-supports.exp (check_effective_target_vect_short_mult):
|
||||
Add powerpc.
|
||||
|
||||
2008-09-07 Victor Kaplansky <victork@il.ibm.com>
|
||||
|
||||
PR testsuite/37334
|
||||
|
|
|
@ -2093,7 +2093,8 @@ proc check_effective_target_vect_short_mult { } {
|
|||
if { [istarget ia64-*-*]
|
||||
|| [istarget spu-*-*]
|
||||
|| [istarget i?86-*-*]
|
||||
|| [istarget x86_64-*-*] } {
|
||||
|| [istarget x86_64-*-*]
|
||||
|| [istarget powerpc*-*-*] } {
|
||||
set et_vect_short_mult_saved 1
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue