[PATCH], Improve vector int/long initialization on PowerPC
Pat Haugen
pthaugen@linux.vnet.ibm.com
Fri Aug 5 22:00:00 GMT 2016
On 08/03/2016 11:33 PM, Michael Meissner wrote:
> {
> - if (BYTES_BIG_ENDIAN)
> - return "xxpermdi %x0,%x1,%x2,0";
> + if (which_alternative == 0)
> + return (BYTES_BIG_ENDIAN
> + ? "xxpermdi %x0,%x1,%x2,0"
> + : "xxpermdi %x0,%x2,%x1,0");
> +
> + else if (which_alternative == 1)
> + return (BYTES_BIG_ENDIAN
> + ? "mtvsrdd %x0,%1,%2"
> + : "mtvsrdd %x0,%2,%1");
> +
> else
> - return "xxpermdi %x0,%x2,%x1,0";
> + gcc_unreachable ();
> }
> - [(set_attr "type" "vecperm")])
> + [(set_attr "type" "vecperm,mftgpr")
> + (set_attr "length" "4")])
mtvsrdd actually behaves like a permute, so vecperm would be best insn type for it.
-Pat
More information about the Gcc-patches
mailing list