altivec.md (vec_widen_umult_hi_v16qi): Swap arguments to merge instruction for little endian.
2013-11-04 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * config/rs6000/altivec.md (vec_widen_umult_hi_v16qi): Swap arguments to merge instruction for little endian. (vec_widen_umult_lo_v16qi): Likewise. (vec_widen_smult_hi_v16qi): Likewise. (vec_widen_smult_lo_v16qi): Likewise. (vec_widen_umult_hi_v8hi): Likewise. (vec_widen_umult_lo_v8hi): Likewise. (vec_widen_smult_hi_v8hi): Likewise. (vec_widen_smult_lo_v8hi): Likewise. From-SVN: r204363
This commit is contained in:
parent
2a5145b0dd
commit
578acbf0f0
|
@ -1,3 +1,15 @@
|
|||
2013-11-04 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||||
|
||||
* config/rs6000/altivec.md (vec_widen_umult_hi_v16qi): Swap
|
||||
arguments to merge instruction for little endian.
|
||||
(vec_widen_umult_lo_v16qi): Likewise.
|
||||
(vec_widen_smult_hi_v16qi): Likewise.
|
||||
(vec_widen_smult_lo_v16qi): Likewise.
|
||||
(vec_widen_umult_hi_v8hi): Likewise.
|
||||
(vec_widen_umult_lo_v8hi): Likewise.
|
||||
(vec_widen_smult_hi_v8hi): Likewise.
|
||||
(vec_widen_smult_lo_v8hi): Likewise.
|
||||
|
||||
2013-11-04 Ian Lance Taylor <iant@google.com>
|
||||
|
||||
* builtins.def (ATTR_NOTHROWCALL_LEAF_LIST): Define.
|
||||
|
|
|
@ -2185,7 +2185,10 @@
|
|||
|
||||
emit_insn (gen_vec_widen_umult_even_v16qi (ve, operands[1], operands[2]));
|
||||
emit_insn (gen_vec_widen_umult_odd_v16qi (vo, operands[1], operands[2]));
|
||||
emit_insn (gen_altivec_vmrghh (operands[0], ve, vo));
|
||||
if (BYTES_BIG_ENDIAN)
|
||||
emit_insn (gen_altivec_vmrghh (operands[0], ve, vo));
|
||||
else
|
||||
emit_insn (gen_altivec_vmrghh (operands[0], vo, ve));
|
||||
DONE;
|
||||
}")
|
||||
|
||||
|
@ -2202,7 +2205,10 @@
|
|||
|
||||
emit_insn (gen_vec_widen_umult_even_v16qi (ve, operands[1], operands[2]));
|
||||
emit_insn (gen_vec_widen_umult_odd_v16qi (vo, operands[1], operands[2]));
|
||||
emit_insn (gen_altivec_vmrglh (operands[0], ve, vo));
|
||||
if (BYTES_BIG_ENDIAN)
|
||||
emit_insn (gen_altivec_vmrglh (operands[0], ve, vo));
|
||||
else
|
||||
emit_insn (gen_altivec_vmrglh (operands[0], vo, ve));
|
||||
DONE;
|
||||
}")
|
||||
|
||||
|
@ -2219,7 +2225,10 @@
|
|||
|
||||
emit_insn (gen_vec_widen_smult_even_v16qi (ve, operands[1], operands[2]));
|
||||
emit_insn (gen_vec_widen_smult_odd_v16qi (vo, operands[1], operands[2]));
|
||||
emit_insn (gen_altivec_vmrghh (operands[0], ve, vo));
|
||||
if (BYTES_BIG_ENDIAN)
|
||||
emit_insn (gen_altivec_vmrghh (operands[0], ve, vo));
|
||||
else
|
||||
emit_insn (gen_altivec_vmrghh (operands[0], vo, ve));
|
||||
DONE;
|
||||
}")
|
||||
|
||||
|
@ -2236,7 +2245,10 @@
|
|||
|
||||
emit_insn (gen_vec_widen_smult_even_v16qi (ve, operands[1], operands[2]));
|
||||
emit_insn (gen_vec_widen_smult_odd_v16qi (vo, operands[1], operands[2]));
|
||||
emit_insn (gen_altivec_vmrglh (operands[0], ve, vo));
|
||||
if (BYTES_BIG_ENDIAN)
|
||||
emit_insn (gen_altivec_vmrglh (operands[0], ve, vo));
|
||||
else
|
||||
emit_insn (gen_altivec_vmrglh (operands[0], vo, ve));
|
||||
DONE;
|
||||
}")
|
||||
|
||||
|
@ -2253,7 +2265,10 @@
|
|||
|
||||
emit_insn (gen_vec_widen_umult_even_v8hi (ve, operands[1], operands[2]));
|
||||
emit_insn (gen_vec_widen_umult_odd_v8hi (vo, operands[1], operands[2]));
|
||||
emit_insn (gen_altivec_vmrghw (operands[0], ve, vo));
|
||||
if (BYTES_BIG_ENDIAN)
|
||||
emit_insn (gen_altivec_vmrghw (operands[0], ve, vo));
|
||||
else
|
||||
emit_insn (gen_altivec_vmrghw (operands[0], vo, ve));
|
||||
DONE;
|
||||
}")
|
||||
|
||||
|
@ -2270,7 +2285,10 @@
|
|||
|
||||
emit_insn (gen_vec_widen_umult_even_v8hi (ve, operands[1], operands[2]));
|
||||
emit_insn (gen_vec_widen_umult_odd_v8hi (vo, operands[1], operands[2]));
|
||||
emit_insn (gen_altivec_vmrglw (operands[0], ve, vo));
|
||||
if (BYTES_BIG_ENDIAN)
|
||||
emit_insn (gen_altivec_vmrglw (operands[0], ve, vo));
|
||||
else
|
||||
emit_insn (gen_altivec_vmrglw (operands[0], vo, ve));
|
||||
DONE;
|
||||
}")
|
||||
|
||||
|
@ -2287,7 +2305,10 @@
|
|||
|
||||
emit_insn (gen_vec_widen_smult_even_v8hi (ve, operands[1], operands[2]));
|
||||
emit_insn (gen_vec_widen_smult_odd_v8hi (vo, operands[1], operands[2]));
|
||||
emit_insn (gen_altivec_vmrghw (operands[0], ve, vo));
|
||||
if (BYTES_BIG_ENDIAN)
|
||||
emit_insn (gen_altivec_vmrghw (operands[0], ve, vo));
|
||||
else
|
||||
emit_insn (gen_altivec_vmrghw (operands[0], vo, ve));
|
||||
DONE;
|
||||
}")
|
||||
|
||||
|
@ -2304,7 +2325,10 @@
|
|||
|
||||
emit_insn (gen_vec_widen_smult_even_v8hi (ve, operands[1], operands[2]));
|
||||
emit_insn (gen_vec_widen_smult_odd_v8hi (vo, operands[1], operands[2]));
|
||||
emit_insn (gen_altivec_vmrglw (operands[0], ve, vo));
|
||||
if (BYTES_BIG_ENDIAN)
|
||||
emit_insn (gen_altivec_vmrglw (operands[0], ve, vo));
|
||||
else
|
||||
emit_insn (gen_altivec_vmrglw (operands[0], vo, ve));
|
||||
DONE;
|
||||
}")
|
||||
|
||||
|
|
Loading…
Reference in New Issue