lxsiwzx %x0,%y1
mtvsrwz %x0,%1
xxextractuw %x0,%x1,4"
- [(set_attr "type" "fpload,fpload,mftgpr,vecexts")
+ [(set_attr "type" "fpload,fpload,mffgpr,vecexts")
(set_attr "isa" "*,p8v,p8v,p9v")])
(define_insn_and_split "floatunssi<mode>2_lfiwzx"
*, 12, *, *")
(set_attr "type"
"load, fpload, fpload, fpload, store, fpstore,
- fpstore, vecfloat, mffgpr, *")
+ fpstore, vecfloat, mftgpr, *")
(set_attr "isa"
"*, *, p9v, p8v, *, *,
p8v, p8v, p8v, *")])
UNSPEC_P8V_MTVSRWZ))]
"!TARGET_POWERPC64 && TARGET_DIRECT_MOVE"
"mtvsrwz %x0,%1"
- [(set_attr "type" "mftgpr")])
+ [(set_attr "type" "mffgpr")])
(define_insn_and_split "reload_fpr_from_gpr<mode>"
[(set (match_operand:FMOVE64X 0 "register_operand" "=d")
UNSPEC_P8V_MTVSRD))]
"TARGET_POWERPC64 && TARGET_DIRECT_MOVE"
"mtvsrd %x0,%1"
- [(set_attr "type" "mftgpr")])
+ [(set_attr "type" "mffgpr")])
(define_insn_and_split "reload_vsx_from_gprsf"
[(set (match_operand:SF 0 "register_operand" "=wa")
else
gcc_unreachable ();
}
- [(set_attr "type" "vecperm")])
+ [(set_attr "type" "vecperm,vecmove")])
;; Combiner patterns to allow creating XXPERMDI's to access either double
;; word element in a vector register.
"@
xxpermdi %x0,%x1,%x1,0
mtvsrdd %x0,%1,%1"
- [(set_attr "type" "vecperm")])
+ [(set_attr "type" "vecperm,vecmove")])
(define_insn "vsx_splat_<mode>_mem"
[(set (match_operand:VSX_D 0 "vsx_register_operand" "=wa")
(unspec:V4SF [(match_dup 0)
(const_int 0)] UNSPEC_VSX_XXSPLTW))]
""
- [(set_attr "type" "vecload,vecperm,mftgpr")
+ [(set_attr "type" "vecload,vecperm,vecperm")
(set_attr "length" "*,8,*")
(set_attr "isa" "*,p8v,*")])