[altivec] fix abs patterns (pr 8553)
Aldy Hernandez
aldyh@redhat.com
Thu Dec 19 13:14:00 GMT 2002
On Thu, Dec 19, 2002 at 04:01:52PM -0500, David Edelsohn wrote:
> While we're on this topic, would you please explain why
>
> (define_insn "*movv4si_internal"
> [(set (match_operand:V4SI 0 "nonimmediate_operand" "=m,v,v,o,r,r")
> (match_operand:V4SI 1 "input_operand" "v,m,v,r,o,r"))]
> "TARGET_ALTIVEC"
> "@
> stvx %1,%y0
> lvx %0,%y1
> vor %0,%1,%1
> stw%U0 %1,%0\;stw %L1,%L0\;stw %Y1,%Y0\;stw %Z1,%Z0
> lwz%U1 %0,%1\;lwz %L0,%L1\;lwz %Y0,%Y1\;lwz %Z0,%Z1
> mr %0,%1\;mr %L0,%L1\;mr %Y0,%Y1\;mr %Z0,%Z1"
> [(set_attr "type" "altivec")
> (set_attr "length" "*,*,*,16,16,16")])
>
> sets the instruction attribute type to "altivec" instead of
> "vecstore,vecload,vecsimple,store,load,*" ?
When I started coding the altivec patterns I naively set everything to
"altivec". Later, Dan Berlin added some new patterns and introduced
vecstore, etc al. No one ever went back to clean up movv4si_internal
and friends.
> Also, the Altivec abs patterns probably would be more appropriatee
> as splitters.
Yup, I know. I'm just trying to fix some of the serious PRs first.
Aldy
More information about the Gcc-patches
mailing list