+2013-07-01 Sofiane Naci <sofiane.naci@arm.com>
+
+ * arm.md (attribute "wtype"): Delete. Move attribute values from here
+ to ...
+ (attribute "type"): ... here, and prefix with "wmmx_".
+ (attribute "core_cycles"): Update for attribute changes.
+ * iwmmxt.md (tbcstv8qi): Update for attribute changes.
+ (tbcstv4hi): Likewise.
+ (tbcstv2si): Likewise.
+ (iwmmxt_iordi3): Likewise.
+ (iwmmxt_xordi3): Likewise.
+ (iwmmxt_anddi3): Likewise.
+ (iwmmxt_nanddi3): Likewise.
+ (iwmmxt_arm_movdi): Likewise.
+ (iwmmxt_movsi_insn): Likewise.
+ (mov<mode>_internal): Likewise.
+ (and<mode>3_iwmmxt): Likewise.
+ (ior<mode>3_iwmmxt): Likewise.
+ (xor<mode>3_iwmmxt): Likewise.
+ (add<mode>3_iwmmxt): Likewise.
+ (ssaddv8qi3): Likewise.
+ (ssaddv4hi3): Likewise.
+ (ssaddv2si3): Likewise.
+ (usaddv8qi3): Likewise.
+ (usaddv4hi3): Likewise.
+ (usaddv2si3): Likewise.
+ (sub<mode>3_iwmmxt): Likewise.
+ (sssubv8qi3): Likewise.
+ (sssubv4hi3): Likewise.
+ (sssubv2si3): Likewise.
+ (ussubv8qi3): Likewise.
+ (ussubv4hi3): Likewise.
+ (ussubv2si3): Likewise.
+ (mulv4hi3_iwmmxt): Likewise.
+ (smulv4hi3_highpart): Likewise.
+ (umulv4hi3_highpart): Likewise.
+ (iwmmxt_wmacs): Likewise.
+ (iwmmxt_wmacsz): Likewise.
+ (iwmmxt_wmacu): Likewise.
+ (iwmmxt_wmacuz): Likewise.
+ (iwmmxt_clrdi): Likewise.
+ (iwmmxt_clrv8qi): Likewise.
+ (iwmmxt_clr4hi): Likewise.
+ (iwmmxt_clr2si): Likewise.
+ (iwmmxt_uavgrndv8qi3): Likewise.
+ (iwmmxt_uavgrndv4hi3): Likewise.
+ (iwmmxt_uavgv8qi3): Likewise.
+ (iwmmxt_uavgv4hi3): Likewise.
+ (iwmmxt_tinsrb): Likewise.
+ (iwmmxt_tinsrh): Likewise.
+ (iwmmxt_tinsrw): Likewise.
+ (iwmmxt_textrmub): Likewise.
+ (iwmmxt_textrmsb): Likewise.
+ (iwmmxt_textrmuh): Likewise.
+ (iwmmxt_textrmsh): Likewise.
+ (iwmmxt_textrmw): Likewise.
+ (iwmxxt_wshufh): Likewise.
+ (eqv8qi3): Likewise.
+ (eqv4hi3): Likewise.
+ (eqv2si3): Likewise.
+ (gtuv8qi3): Likewise.
+ (gtuv4hi3): Likewise.
+ (gtuv2si3): Likewise.
+ (gtv8qi3): Likewise.
+ (gtv4hi3): Likewise.
+ (gtv2si3): Likewise.
+ (smax<mode>3_iwmmxt): Likewise.
+ (umax<mode>3_iwmmxt): Likewise.
+ (smin<mode>3_iwmmxt): Likewise.
+ (umin<mode>3_iwmmxt): Likewise.
+ (iwmmxt_wpackhss): Likewise.
+ (iwmmxt_wpackwss): Likewise.
+ (iwmmxt_wpackdss): Likewise.
+ (iwmmxt_wpackhus): Likewise.
+ (iwmmxt_wpackwus): Likewise.
+ (iwmmxt_wpackdus): Likewise.
+ (iwmmxt_wunpckihb): Likewise.
+ (iwmmxt_wunpckihh): Likewise.
+ (iwmmxt_wunpckihw): Likewise.
+ (iwmmxt_wunpckilb): Likewise.
+ (iwmmxt_wunpckilh): Likewise.
+ (iwmmxt_wunpckilw): Likewise.
+ (iwmmxt_wunpckehub): Likewise.
+ (iwmmxt_wunpckehuh): Likewise.
+ (iwmmxt_wunpckehuw): Likewise.
+ (iwmmxt_wunpckehsb): Likewise.
+ (iwmmxt_wunpckehsh): Likewise.
+ (iwmmxt_wunpckehsw): Likewise.
+ (iwmmxt_wunpckelub): Likewise.
+ (iwmmxt_wunpckeluh): Likewise.
+ (iwmmxt_wunpckeluw): Likewise.
+ (iwmmxt_wunpckelsb): Likewise.
+ (iwmmxt_wunpckelsh): Likewise.
+ (iwmmxt_wunpckelsw): Likewise.
+ (ror<mode>3): Likewise.
+ (ashr<mode>3_iwmmxt): Likewise.
+ (lshr<mode>3_iwmmxt): Likewise.
+ (ashl<mode>3_iwmmxt): Likewise.
+ (ror<mode>3_di): Likewise.
+ (ashr<mode>3_di): Likewise.
+ (lshr<mode>3_di): Likewise.
+ (ashl<mode>3_di): Likewise.
+ (iwmmxt_wmadds): Likewise.
+ (iwmmxt_wmaddu): Likewise.
+ (iwmmxt_tmia): Likewise.
+ (iwmmxt_tmiaph): Likewise.
+ (iwmmxt_tmiabb): Likewise.
+ (iwmmxt_tmiatb): Likewise.
+ (iwmmxt_tmiabt): Likewise.
+ (iwmmxt_tmiatt): Likewise.
+ (iwmmxt_tmovmskb): Likewise.
+ (iwmmxt_tmovmskh): Likewise.
+ (iwmmxt_tmovmskw): Likewise.
+ (iwmmxt_waccb): Likewise.
+ (iwmmxt_wacch): Likewise.
+ (iwmmxt_waccw): Likewise.
+ (iwmmxt_waligni): Likewise.
+ (iwmmxt_walignr): Likewise.
+ (iwmmxt_walignr0): Likewise.
+ (iwmmxt_walignr1): Likewise.
+ (iwmmxt_walignr2): Likewise.
+ (iwmmxt_walignr3): Likewise.
+ (iwmmxt_wsadb): Likewise.
+ (iwmmxt_wsadh): Likewise.
+ (iwmmxt_wsadbz): Likewise.
+ (iwmmxt_wsadhz): Likewise.
+ * iwmmxt2.md (iwmmxt_wabs<mode>3): Update for attribute changes.
+ (iwmmxt_wabsdiffb): Likewise.
+ (iwmmxt_wabsdiffh): Likewise.
+ (iwmmxt_wabsdiffw): Likewise.
+ (iwmmxt_waddsubhx): Likewise
+ (iwmmxt_wsubaddhx): Likewise.
+ (addc<mode>3): Likewise.
+ (iwmmxt_avg4): Likewise.
+ (iwmmxt_avg4r): Likewise.
+ (iwmmxt_wmaddsx): Likewise.
+ (iwmmxt_wmaddux): Likewise.
+ (iwmmxt_wmaddsn): Likewise.
+ (iwmmxt_wmaddun): Likewise.
+ (iwmmxt_wmulwsm): Likewise.
+ (iwmmxt_wmulwum): Likewise.
+ (iwmmxt_wmulsmr): Likewise.
+ (iwmmxt_wmulumr): Likewise.
+ (iwmmxt_wmulwsmr): Likewise.
+ (iwmmxt_wmulwumr): Likewise.
+ (iwmmxt_wmulwl): Likewise.
+ (iwmmxt_wqmulm): Likewise.
+ (iwmmxt_wqmulwm): Likewise.
+ (iwmmxt_wqmulmr): Likewise.
+ (iwmmxt_wqmulwmr): Likewise.
+ (iwmmxt_waddbhusm): Likewise.
+ (iwmmxt_waddbhusl): Likewise.
+ (iwmmxt_wqmiabb): Likewise.
+ (iwmmxt_wqmiabt): Likewise.
+ (iwmmxt_wqmiatb): Likewise.
+ (iwmmxt_wqmiatt): Likewise.
+ (iwmmxt_wqmiabbn): Likewise.
+ (iwmmxt_wqmiabtn): Likewise.
+ (iwmmxt_wqmiatbn): Likewise.
+ (iwmmxt_wqmiattn): Likewise.
+ (iwmmxt_wmiabb): Likewise.
+ (iwmmxt_wmiabt): Likewise.
+ (iwmmxt_wmiatb): Likewise.
+ (iwmmxt_wmiatt): Likewise.
+ (iwmmxt_wmiabbn): Likewise.
+ (iwmmxt_wmiabtn): Likewise.
+ (iwmmxt_wmiatbn): Likewise.
+ (iwmmxt_wmiattn): Likewise.
+ (iwmmxt_wmiawbb): Likewise.
+ (iwmmxt_wmiawbt): Likewise.
+ (iwmmxt_wmiawtb): Likewise.
+ (iwmmxt_wmiawtt): Likewise.
+ (iwmmxt_wmiawbbn): Likewise.
+ (iwmmxt_wmiawbtn): Likewise.
+ (iwmmxt_wmiawtbn): Likewise.
+ (iwmmxt_wmiawttn): Likewise.
+ (iwmmxt_wmerge): Likewise.
+ (iwmmxt_tandc<mode>3): Likewise.
+ (iwmmxt_torc<mode>3): Likewise.
+ (iwmmxt_torvsc<mode>3): Likewise.
+ (iwmmxt_textrc<mode>3): Likewise.
+ * marvell-f-iwmmxt.md (wmmxt_shift): Update for attribute changes.
+ (wmmxt_pack): Likewise.
+ (wmmxt_mult_c1): Likewise.
+ (wmmxt_mult_c2): Likewise.
+ (wmmxt_alu_c1): Likewise.
+ (wmmxt_alu_c2): Likewise.
+ (wmmxt_alu_c3): Likewise.
+ (wmmxt_transfer_c1): Likewise.
+ (wmmxt_transfer_c2): Likewise.
+ (wmmxt_transfer_c3): Likewise.
+ (marvell_f_iwmmxt_wstr): Likewise.
+ (marvell_f_iwmmxt_wldr): Likewise.
+
2013-06-29 Yufeng Zhang <yufeng.zhang@arm.com>
* config/aarch64/aarch64.c: Remove junk from the beginning of the
"TARGET_REALLY_IWMMXT"
"tbcstb%?\\t%0, %1"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "tbcst")]
+ (set_attr "type" "wmmx_tbcst")]
)
(define_insn "tbcstv4hi"
"TARGET_REALLY_IWMMXT"
"tbcsth%?\\t%0, %1"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "tbcst")]
+ (set_attr "type" "wmmx_tbcst")]
)
(define_insn "tbcstv2si"
"TARGET_REALLY_IWMMXT"
"tbcstw%?\\t%0, %1"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "tbcst")]
+ (set_attr "type" "wmmx_tbcst")]
)
(define_insn "iwmmxt_iordi3"
#"
[(set_attr "predicable" "yes")
(set_attr "length" "4,8,8")
- (set_attr "wtype" "wor,none,none")]
+ (set_attr "type" "wmmx_wor,*,*")]
)
(define_insn "iwmmxt_xordi3"
#"
[(set_attr "predicable" "yes")
(set_attr "length" "4,8,8")
- (set_attr "wtype" "wxor,none,none")]
+ (set_attr "type" "wmmx_wxor,*,*")]
)
(define_insn "iwmmxt_anddi3"
#"
[(set_attr "predicable" "yes")
(set_attr "length" "4,8,8")
- (set_attr "wtype" "wand,none,none")]
+ (set_attr "type" "wmmx_wand,*,*")]
)
(define_insn "iwmmxt_nanddi3"
"TARGET_REALLY_IWMMXT"
"wandn%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wandn")]
+ (set_attr "type" "wmmx_wandn")]
)
(define_insn "*iwmmxt_arm_movdi"
(const_int 8)
(const_int 4))]
(const_int 4)))
- (set_attr "type" "*,*,*,load2,store2,*,*,*,*,*,r_2_f,f_2_r,ffarithd,f_loadd,f_stored")
+ (set_attr "type" "*,*,*,load2,store2,wmmx_wmov,wmmx_tmcrr,wmmx_tmrrc,wmmx_wldr,wmmx_wstr,r_2_f,f_2_r,ffarithd,f_loadd,f_stored")
(set_attr "arm_pool_range" "*,*,*,1020,*,*,*,*,*,*,*,*,*,1020,*")
- (set_attr "arm_neg_pool_range" "*,*,*,1008,*,*,*,*,*,*,*,*,*,1008,*")
- (set_attr "wtype" "*,*,*,*,*,wmov,tmcrr,tmrrc,wldr,wstr,*,*,*,*,*")]
+ (set_attr "arm_neg_pool_range" "*,*,*,1008,*,*,*,*,*,*,*,*,*,1008,*")]
)
(define_insn "*iwmmxt_movsi_insn"
default:
gcc_unreachable ();
}"
- [(set_attr "type" "*,*,*,*,load1,store1,*,*,*,*,r_2_f,f_2_r,fcpys,f_loads,f_stores")
+ [(set_attr "type" "*,*,*,*,load1,store1,wmmx_tmcr,wmmx_tmrc,wmmx_wldr,wmmx_wstr,r_2_f,f_2_r,fcpys,f_loads,f_stores")
(set_attr "length" "*,*,*,*,*, *,*,*, 16, *,*,*,*,*,*")
(set_attr "pool_range" "*,*,*,*,4096, *,*,*,1024, *,*,*,*,1020,*")
(set_attr "neg_pool_range" "*,*,*,*,4084, *,*,*, *, 1012,*,*,*,1008,*")
;; Also - we have to pretend that these insns clobber the condition code
;; bits as otherwise arm_final_prescan_insn() will try to conditionalize
;; them.
- (set_attr "conds" "clob")
- (set_attr "wtype" "*,*,*,*,*,*,tmcr,tmrc,wldr,wstr,*,*,*,*,*")]
+ (set_attr "conds" "clob")]
)
;; Because iwmmxt_movsi_insn is not predicable, we provide the
}"
[(set_attr "predicable" "yes")
(set_attr "length" "4, 4, 4,4,4,8, 8,8")
- (set_attr "type" "*,*,*,*,*,*,load1,store1")
+ (set_attr "type" "wmmx_wmov,wmmx_wstr,wmmx_wldr,wmmx_tmrrc,wmmx_tmcrr,*,load1,store1")
(set_attr "pool_range" "*, *, 256,*,*,*, 256,*")
- (set_attr "neg_pool_range" "*, *, 244,*,*,*, 244,*")
- (set_attr "wtype" "wmov,wstr,wldr,tmrrc,tmcrr,*,*,*")]
+ (set_attr "neg_pool_range" "*, *, 244,*,*,*, 244,*")]
)
(define_expand "iwmmxt_setwcgr0"
"TARGET_REALLY_IWMMXT"
"wand\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wand")]
+ (set_attr "type" "wmmx_wand")]
)
(define_insn "*ior<mode>3_iwmmxt"
"TARGET_REALLY_IWMMXT"
"wor\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wor")]
+ (set_attr "type" "wmmx_wor")]
)
(define_insn "*xor<mode>3_iwmmxt"
"TARGET_REALLY_IWMMXT"
"wxor\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wxor")]
+ (set_attr "type" "wmmx_wxor")]
)
"TARGET_REALLY_IWMMXT"
"wadd<MMX_char>%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wadd")]
+ (set_attr "type" "wmmx_wadd")]
)
(define_insn "ssaddv8qi3"
"TARGET_REALLY_IWMMXT"
"waddbss%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wadd")]
+ (set_attr "type" "wmmx_wadd")]
)
(define_insn "ssaddv4hi3"
"TARGET_REALLY_IWMMXT"
"waddhss%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wadd")]
+ (set_attr "type" "wmmx_wadd")]
)
(define_insn "ssaddv2si3"
"TARGET_REALLY_IWMMXT"
"waddwss%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wadd")]
+ (set_attr "type" "wmmx_wadd")]
)
(define_insn "usaddv8qi3"
"TARGET_REALLY_IWMMXT"
"waddbus%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wadd")]
+ (set_attr "type" "wmmx_wadd")]
)
(define_insn "usaddv4hi3"
"TARGET_REALLY_IWMMXT"
"waddhus%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wadd")]
+ (set_attr "type" "wmmx_wadd")]
)
(define_insn "usaddv2si3"
"TARGET_REALLY_IWMMXT"
"waddwus%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wadd")]
+ (set_attr "type" "wmmx_wadd")]
)
(define_insn "*sub<mode>3_iwmmxt"
"TARGET_REALLY_IWMMXT"
"wsub<MMX_char>%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wsub")]
+ (set_attr "type" "wmmx_wsub")]
)
(define_insn "sssubv8qi3"
"TARGET_REALLY_IWMMXT"
"wsubbss%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wsub")]
+ (set_attr "type" "wmmx_wsub")]
)
(define_insn "sssubv4hi3"
"TARGET_REALLY_IWMMXT"
"wsubhss%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wsub")]
+ (set_attr "type" "wmmx_wsub")]
)
(define_insn "sssubv2si3"
"TARGET_REALLY_IWMMXT"
"wsubwss%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wsub")]
+ (set_attr "type" "wmmx_wsub")]
)
(define_insn "ussubv8qi3"
"TARGET_REALLY_IWMMXT"
"wsubbus%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wsub")]
+ (set_attr "type" "wmmx_wsub")]
)
(define_insn "ussubv4hi3"
"TARGET_REALLY_IWMMXT"
"wsubhus%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wsub")]
+ (set_attr "type" "wmmx_wsub")]
)
(define_insn "ussubv2si3"
"TARGET_REALLY_IWMMXT"
"wsubwus%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wsub")]
+ (set_attr "type" "wmmx_wsub")]
)
(define_insn "*mulv4hi3_iwmmxt"
"TARGET_REALLY_IWMMXT"
"wmulul%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wmul")]
+ (set_attr "type" "wmmx_wmul")]
)
(define_insn "smulv4hi3_highpart"
"TARGET_REALLY_IWMMXT"
"wmulsm%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wmul")]
+ (set_attr "type" "wmmx_wmul")]
)
(define_insn "umulv4hi3_highpart"
"TARGET_REALLY_IWMMXT"
"wmulum%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wmul")]
+ (set_attr "type" "wmmx_wmul")]
)
(define_insn "iwmmxt_wmacs"
"TARGET_REALLY_IWMMXT"
"wmacs%?\\t%0, %2, %3"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wmac")]
+ (set_attr "type" "wmmx_wmac")]
)
(define_insn "iwmmxt_wmacsz"
"TARGET_REALLY_IWMMXT"
"wmacsz%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wmac")]
+ (set_attr "type" "wmmx_wmac")]
)
(define_insn "iwmmxt_wmacu"
"TARGET_REALLY_IWMMXT"
"wmacu%?\\t%0, %2, %3"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wmac")]
+ (set_attr "type" "wmmx_wmac")]
)
(define_insn "iwmmxt_wmacuz"
"TARGET_REALLY_IWMMXT"
"wmacuz%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wmac")]
+ (set_attr "type" "wmmx_wmac")]
)
;; Same as xordi3, but don't show input operands so that we don't think
"TARGET_REALLY_IWMMXT"
"wxor%?\\t%0, %0, %0"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wxor")]
+ (set_attr "type" "wmmx_wxor")]
)
;; Seems like cse likes to generate these, so we have to support them.
"TARGET_REALLY_IWMMXT"
"wxor%?\\t%0, %0, %0"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wxor")]
+ (set_attr "type" "wmmx_wxor")]
)
(define_insn "iwmmxt_clrv4hi"
"TARGET_REALLY_IWMMXT"
"wxor%?\\t%0, %0, %0"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wxor")]
+ (set_attr "type" "wmmx_wxor")]
)
(define_insn "iwmmxt_clrv2si"
"TARGET_REALLY_IWMMXT"
"wxor%?\\t%0, %0, %0"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wxor")]
+ (set_attr "type" "wmmx_wxor")]
)
;; Unsigned averages/sum of absolute differences
"TARGET_REALLY_IWMMXT"
"wavg2br%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wavg2")]
+ (set_attr "type" "wmmx_wavg2")]
)
(define_insn "iwmmxt_uavgrndv4hi3"
"TARGET_REALLY_IWMMXT"
"wavg2hr%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wavg2")]
+ (set_attr "type" "wmmx_wavg2")]
)
(define_insn "iwmmxt_uavgv8qi3"
"TARGET_REALLY_IWMMXT"
"wavg2b%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wavg2")]
+ (set_attr "type" "wmmx_wavg2")]
)
(define_insn "iwmmxt_uavgv4hi3"
"TARGET_REALLY_IWMMXT"
"wavg2h%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wavg2")]
+ (set_attr "type" "wmmx_wavg2")]
)
;; Insert/extract/shuffle
}
"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "tinsr")]
+ (set_attr "type" "wmmx_tinsr")]
)
(define_insn "iwmmxt_tinsrh"
}
"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "tinsr")]
+ (set_attr "type" "wmmx_tinsr")]
)
(define_insn "iwmmxt_tinsrw"
}
"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "tinsr")]
+ (set_attr "type" "wmmx_tinsr")]
)
(define_insn "iwmmxt_textrmub"
"TARGET_REALLY_IWMMXT"
"textrmub%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "textrm")]
+ (set_attr "type" "wmmx_textrm")]
)
(define_insn "iwmmxt_textrmsb"
"TARGET_REALLY_IWMMXT"
"textrmsb%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "textrm")]
+ (set_attr "type" "wmmx_textrm")]
)
(define_insn "iwmmxt_textrmuh"
"TARGET_REALLY_IWMMXT"
"textrmuh%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "textrm")]
+ (set_attr "type" "wmmx_textrm")]
)
(define_insn "iwmmxt_textrmsh"
"TARGET_REALLY_IWMMXT"
"textrmsh%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "textrm")]
+ (set_attr "type" "wmmx_textrm")]
)
;; There are signed/unsigned variants of this instruction, but they are
"TARGET_REALLY_IWMMXT"
"textrmsw%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "textrm")]
+ (set_attr "type" "wmmx_textrm")]
)
(define_insn "iwmmxt_wshufh"
"TARGET_REALLY_IWMMXT"
"wshufh%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wshufh")]
+ (set_attr "type" "wmmx_wshufh")]
)
;; Mask-generating comparisons
"TARGET_REALLY_IWMMXT"
"wcmpeqb%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wcmpeq")]
+ (set_attr "type" "wmmx_wcmpeq")]
)
(define_insn "eqv4hi3"
"TARGET_REALLY_IWMMXT"
"wcmpeqh%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wcmpeq")]
+ (set_attr "type" "wmmx_wcmpeq")]
)
(define_insn "eqv2si3"
"TARGET_REALLY_IWMMXT"
"wcmpeqw%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wcmpeq")]
+ (set_attr "type" "wmmx_wcmpeq")]
)
(define_insn "gtuv8qi3"
"TARGET_REALLY_IWMMXT"
"wcmpgtub%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wcmpgt")]
+ (set_attr "type" "wmmx_wcmpgt")]
)
(define_insn "gtuv4hi3"
"TARGET_REALLY_IWMMXT"
"wcmpgtuh%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wcmpgt")]
+ (set_attr "type" "wmmx_wcmpgt")]
)
(define_insn "gtuv2si3"
"TARGET_REALLY_IWMMXT"
"wcmpgtuw%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wcmpgt")]
+ (set_attr "type" "wmmx_wcmpgt")]
)
(define_insn "gtv8qi3"
"TARGET_REALLY_IWMMXT"
"wcmpgtsb%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wcmpgt")]
+ (set_attr "type" "wmmx_wcmpgt")]
)
(define_insn "gtv4hi3"
"TARGET_REALLY_IWMMXT"
"wcmpgtsh%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wcmpgt")]
+ (set_attr "type" "wmmx_wcmpgt")]
)
(define_insn "gtv2si3"
"TARGET_REALLY_IWMMXT"
"wcmpgtsw%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wcmpgt")]
+ (set_attr "type" "wmmx_wcmpgt")]
)
;; Max/min insns
"TARGET_REALLY_IWMMXT"
"wmaxs<MMX_char>%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wmax")]
+ (set_attr "type" "wmmx_wmax")]
)
(define_insn "*umax<mode>3_iwmmxt"
"TARGET_REALLY_IWMMXT"
"wmaxu<MMX_char>%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wmax")]
+ (set_attr "type" "wmmx_wmax")]
)
(define_insn "*smin<mode>3_iwmmxt"
"TARGET_REALLY_IWMMXT"
"wmins<MMX_char>%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wmin")]
+ (set_attr "type" "wmmx_wmin")]
)
(define_insn "*umin<mode>3_iwmmxt"
"TARGET_REALLY_IWMMXT"
"wminu<MMX_char>%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wmin")]
+ (set_attr "type" "wmmx_wmin")]
)
;; Pack/unpack insns.
"TARGET_REALLY_IWMMXT"
"wpackhss%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wpack")]
+ (set_attr "type" "wmmx_wpack")]
)
(define_insn "iwmmxt_wpackwss"
"TARGET_REALLY_IWMMXT"
"wpackwss%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wpack")]
+ (set_attr "type" "wmmx_wpack")]
)
(define_insn "iwmmxt_wpackdss"
"TARGET_REALLY_IWMMXT"
"wpackdss%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wpack")]
+ (set_attr "type" "wmmx_wpack")]
)
(define_insn "iwmmxt_wpackhus"
"TARGET_REALLY_IWMMXT"
"wpackhus%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wpack")]
+ (set_attr "type" "wmmx_wpack")]
)
(define_insn "iwmmxt_wpackwus"
"TARGET_REALLY_IWMMXT"
"wpackwus%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wpack")]
+ (set_attr "type" "wmmx_wpack")]
)
(define_insn "iwmmxt_wpackdus"
"TARGET_REALLY_IWMMXT"
"wpackdus%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wpack")]
+ (set_attr "type" "wmmx_wpack")]
)
(define_insn "iwmmxt_wunpckihb"
"TARGET_REALLY_IWMMXT"
"wunpckihb%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wunpckih")]
+ (set_attr "type" "wmmx_wunpckih")]
)
(define_insn "iwmmxt_wunpckihh"
"TARGET_REALLY_IWMMXT"
"wunpckihh%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wunpckih")]
+ (set_attr "type" "wmmx_wunpckih")]
)
(define_insn "iwmmxt_wunpckihw"
"TARGET_REALLY_IWMMXT"
"wunpckihw%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wunpckih")]
+ (set_attr "type" "wmmx_wunpckih")]
)
(define_insn "iwmmxt_wunpckilb"
"TARGET_REALLY_IWMMXT"
"wunpckilb%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wunpckil")]
+ (set_attr "type" "wmmx_wunpckil")]
)
(define_insn "iwmmxt_wunpckilh"
"TARGET_REALLY_IWMMXT"
"wunpckilh%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wunpckil")]
+ (set_attr "type" "wmmx_wunpckil")]
)
(define_insn "iwmmxt_wunpckilw"
"TARGET_REALLY_IWMMXT"
"wunpckilw%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wunpckil")]
+ (set_attr "type" "wmmx_wunpckil")]
)
(define_insn "iwmmxt_wunpckehub"
"TARGET_REALLY_IWMMXT"
"wunpckehub%?\\t%0, %1"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wunpckeh")]
+ (set_attr "type" "wmmx_wunpckeh")]
)
(define_insn "iwmmxt_wunpckehuh"
"TARGET_REALLY_IWMMXT"
"wunpckehuh%?\\t%0, %1"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wunpckeh")]
+ (set_attr "type" "wmmx_wunpckeh")]
)
(define_insn "iwmmxt_wunpckehuw"
"TARGET_REALLY_IWMMXT"
"wunpckehuw%?\\t%0, %1"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wunpckeh")]
+ (set_attr "type" "wmmx_wunpckeh")]
)
(define_insn "iwmmxt_wunpckehsb"
"TARGET_REALLY_IWMMXT"
"wunpckehsb%?\\t%0, %1"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wunpckeh")]
+ (set_attr "type" "wmmx_wunpckeh")]
)
(define_insn "iwmmxt_wunpckehsh"
"TARGET_REALLY_IWMMXT"
"wunpckehsh%?\\t%0, %1"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wunpckeh")]
+ (set_attr "type" "wmmx_wunpckeh")]
)
(define_insn "iwmmxt_wunpckehsw"
"TARGET_REALLY_IWMMXT"
"wunpckehsw%?\\t%0, %1"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wunpckeh")]
+ (set_attr "type" "wmmx_wunpckeh")]
)
(define_insn "iwmmxt_wunpckelub"
"TARGET_REALLY_IWMMXT"
"wunpckelub%?\\t%0, %1"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wunpckel")]
+ (set_attr "type" "wmmx_wunpckel")]
)
(define_insn "iwmmxt_wunpckeluh"
"TARGET_REALLY_IWMMXT"
"wunpckeluh%?\\t%0, %1"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wunpckel")]
+ (set_attr "type" "wmmx_wunpckel")]
)
(define_insn "iwmmxt_wunpckeluw"
"TARGET_REALLY_IWMMXT"
"wunpckeluw%?\\t%0, %1"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wunpckel")]
+ (set_attr "type" "wmmx_wunpckel")]
)
(define_insn "iwmmxt_wunpckelsb"
"TARGET_REALLY_IWMMXT"
"wunpckelsb%?\\t%0, %1"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wunpckel")]
+ (set_attr "type" "wmmx_wunpckel")]
)
(define_insn "iwmmxt_wunpckelsh"
"TARGET_REALLY_IWMMXT"
"wunpckelsh%?\\t%0, %1"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wunpckel")]
+ (set_attr "type" "wmmx_wunpckel")]
)
(define_insn "iwmmxt_wunpckelsw"
"TARGET_REALLY_IWMMXT"
"wunpckelsw%?\\t%0, %1"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wunpckel")]
+ (set_attr "type" "wmmx_wunpckel")]
)
;; Shifts
"
[(set_attr "predicable" "yes")
(set_attr "arch" "*, iwmmxt2")
- (set_attr "wtype" "wror, wror")]
+ (set_attr "type" "wmmx_wror, wmmx_wror")]
)
(define_insn "ashr<mode>3_iwmmxt"
"
[(set_attr "predicable" "yes")
(set_attr "arch" "*, iwmmxt2")
- (set_attr "wtype" "wsra, wsra")]
+ (set_attr "type" "wmmx_wsra, wmmx_wsra")]
)
(define_insn "lshr<mode>3_iwmmxt"
"
[(set_attr "predicable" "yes")
(set_attr "arch" "*, iwmmxt2")
- (set_attr "wtype" "wsrl, wsrl")]
+ (set_attr "type" "wmmx_wsrl, wmmx_wsrl")]
)
(define_insn "ashl<mode>3_iwmmxt"
"
[(set_attr "predicable" "yes")
(set_attr "arch" "*, iwmmxt2")
- (set_attr "wtype" "wsll, wsll")]
+ (set_attr "type" "wmmx_wsll, wmmx_wsll")]
)
(define_insn "ror<mode>3_di"
"
[(set_attr "predicable" "yes")
(set_attr "arch" "*, iwmmxt2")
- (set_attr "wtype" "wror, wror")]
+ (set_attr "type" "wmmx_wror, wmmx_wror")]
)
(define_insn "ashr<mode>3_di"
"
[(set_attr "predicable" "yes")
(set_attr "arch" "*, iwmmxt2")
- (set_attr "wtype" "wsra, wsra")]
+ (set_attr "type" "wmmx_wsra, wmmx_wsra")]
)
(define_insn "lshr<mode>3_di"
"
[(set_attr "predicable" "yes")
(set_attr "arch" "*, iwmmxt2")
- (set_attr "wtype" "wsrl, wsrl")]
+ (set_attr "type" "wmmx_wsrl, wmmx_wsrl")]
)
(define_insn "ashl<mode>3_di"
"
[(set_attr "predicable" "yes")
(set_attr "arch" "*, iwmmxt2")
- (set_attr "wtype" "wsll, wsll")]
+ (set_attr "type" "wmmx_wsll, wmmx_wsll")]
)
(define_insn "iwmmxt_wmadds"
"TARGET_REALLY_IWMMXT"
"wmadds%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wmadd")]
+ (set_attr "type" "wmmx_wmadd")]
)
(define_insn "iwmmxt_wmaddu"
"TARGET_REALLY_IWMMXT"
"wmaddu%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wmadd")]
+ (set_attr "type" "wmmx_wmadd")]
)
(define_insn "iwmmxt_tmia"
"TARGET_REALLY_IWMMXT"
"tmia%?\\t%0, %2, %3"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "tmia")]
+ (set_attr "type" "wmmx_tmia")]
)
(define_insn "iwmmxt_tmiaph"
"TARGET_REALLY_IWMMXT"
"tmiaph%?\\t%0, %2, %3"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "tmiaph")]
+ (set_attr "type" "wmmx_tmiaph")]
)
(define_insn "iwmmxt_tmiabb"
"TARGET_REALLY_IWMMXT"
"tmiabb%?\\t%0, %2, %3"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "tmiaxy")]
+ (set_attr "type" "wmmx_tmiaxy")]
)
(define_insn "iwmmxt_tmiatb"
"TARGET_REALLY_IWMMXT"
"tmiatb%?\\t%0, %2, %3"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "tmiaxy")]
+ (set_attr "type" "wmmx_tmiaxy")]
)
(define_insn "iwmmxt_tmiabt"
"TARGET_REALLY_IWMMXT"
"tmiabt%?\\t%0, %2, %3"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "tmiaxy")]
+ (set_attr "type" "wmmx_tmiaxy")]
)
(define_insn "iwmmxt_tmiatt"
"TARGET_REALLY_IWMMXT"
"tmiatt%?\\t%0, %2, %3"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "tmiaxy")]
+ (set_attr "type" "wmmx_tmiaxy")]
)
(define_insn "iwmmxt_tmovmskb"
"TARGET_REALLY_IWMMXT"
"tmovmskb%?\\t%0, %1"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "tmovmsk")]
+ (set_attr "type" "wmmx_tmovmsk")]
)
(define_insn "iwmmxt_tmovmskh"
"TARGET_REALLY_IWMMXT"
"tmovmskh%?\\t%0, %1"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "tmovmsk")]
+ (set_attr "type" "wmmx_tmovmsk")]
)
(define_insn "iwmmxt_tmovmskw"
"TARGET_REALLY_IWMMXT"
"tmovmskw%?\\t%0, %1"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "tmovmsk")]
+ (set_attr "type" "wmmx_tmovmsk")]
)
(define_insn "iwmmxt_waccb"
"TARGET_REALLY_IWMMXT"
"waccb%?\\t%0, %1"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wacc")]
+ (set_attr "type" "wmmx_wacc")]
)
(define_insn "iwmmxt_wacch"
"TARGET_REALLY_IWMMXT"
"wacch%?\\t%0, %1"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wacc")]
+ (set_attr "type" "wmmx_wacc")]
)
(define_insn "iwmmxt_waccw"
"TARGET_REALLY_IWMMXT"
"waccw%?\\t%0, %1"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wacc")]
+ (set_attr "type" "wmmx_wacc")]
)
;; use unspec here to prevent 8 * imm to be optimized by cse
"TARGET_REALLY_IWMMXT"
"waligni%?\\t%0, %1, %2, %3"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "waligni")]
+ (set_attr "type" "wmmx_waligni")]
)
(define_insn "iwmmxt_walignr"
"TARGET_REALLY_IWMMXT"
"walignr%U3%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "walignr")]
+ (set_attr "type" "wmmx_walignr")]
)
(define_insn "iwmmxt_walignr0"
"TARGET_REALLY_IWMMXT"
"walignr0%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "walignr")]
+ (set_attr "type" "wmmx_walignr")]
)
(define_insn "iwmmxt_walignr1"
"TARGET_REALLY_IWMMXT"
"walignr1%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "walignr")]
+ (set_attr "type" "wmmx_walignr")]
)
(define_insn "iwmmxt_walignr2"
"TARGET_REALLY_IWMMXT"
"walignr2%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "walignr")]
+ (set_attr "type" "wmmx_walignr")]
)
(define_insn "iwmmxt_walignr3"
"TARGET_REALLY_IWMMXT"
"walignr3%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "walignr")]
+ (set_attr "type" "wmmx_walignr")]
)
(define_insn "iwmmxt_wsadb"
"TARGET_REALLY_IWMMXT"
"wsadb%?\\t%0, %2, %3"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wsad")]
+ (set_attr "type" "wmmx_wsad")]
)
(define_insn "iwmmxt_wsadh"
"TARGET_REALLY_IWMMXT"
"wsadh%?\\t%0, %2, %3"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wsad")]
+ (set_attr "type" "wmmx_wsad")]
)
(define_insn "iwmmxt_wsadbz"
"TARGET_REALLY_IWMMXT"
"wsadbz%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wsad")]
+ (set_attr "type" "wmmx_wsad")]
)
(define_insn "iwmmxt_wsadhz"
"TARGET_REALLY_IWMMXT"
"wsadhz%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wsad")]
+ (set_attr "type" "wmmx_wsad")]
)
(include "iwmmxt2.md")
"TARGET_REALLY_IWMMXT"
"wabs<MMX_char>%?\\t%0, %1"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wabs")]
+ (set_attr "type" "wmmx_wabs")]
)
(define_insn "iwmmxt_wabsdiffb"
"TARGET_REALLY_IWMMXT"
"wabsdiffb%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wabsdiff")]
+ (set_attr "type" "wmmx_wabsdiff")]
)
(define_insn "iwmmxt_wabsdiffh"
"TARGET_REALLY_IWMMXT"
"wabsdiffh%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wabsdiff")]
+ (set_attr "type" "wmmx_wabsdiff")]
)
(define_insn "iwmmxt_wabsdiffw"
"TARGET_REALLY_IWMMXT"
"wabsdiffw%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wabsdiff")]
+ (set_attr "type" "wmmx_wabsdiff")]
)
(define_insn "iwmmxt_waddsubhx"
"TARGET_REALLY_IWMMXT"
"waddsubhx%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "waddsubhx")]
+ (set_attr "type" "wmmx_waddsubhx")]
)
(define_insn "iwmmxt_wsubaddhx"
"TARGET_REALLY_IWMMXT"
"wsubaddhx%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wsubaddhx")]
+ (set_attr "type" "wmmx_wsubaddhx")]
)
(define_insn "addc<mode>3"
"TARGET_REALLY_IWMMXT"
"wadd<MMX_char>c%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wadd")]
+ (set_attr "type" "wmmx_wadd")]
)
(define_insn "iwmmxt_avg4"
"TARGET_REALLY_IWMMXT"
"wavg4%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wavg4")]
+ (set_attr "type" "wmmx_wavg4")]
)
(define_insn "iwmmxt_avg4r"
"TARGET_REALLY_IWMMXT"
"wavg4r%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wavg4")]
+ (set_attr "type" "wmmx_wavg4")]
)
(define_insn "iwmmxt_wmaddsx"
"TARGET_REALLY_IWMMXT"
"wmaddsx%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wmadd")]
+ (set_attr "type" "wmmx_wmadd")]
)
(define_insn "iwmmxt_wmaddux"
"TARGET_REALLY_IWMMXT"
"wmaddux%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wmadd")]
+ (set_attr "type" "wmmx_wmadd")]
)
(define_insn "iwmmxt_wmaddsn"
"TARGET_REALLY_IWMMXT"
"wmaddsn%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wmadd")]
+ (set_attr "type" "wmmx_wmadd")]
)
(define_insn "iwmmxt_wmaddun"
"TARGET_REALLY_IWMMXT"
"wmaddun%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wmadd")]
+ (set_attr "type" "wmmx_wmadd")]
)
(define_insn "iwmmxt_wmulwsm"
"TARGET_REALLY_IWMMXT"
"wmulwsm%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wmulw")]
+ (set_attr "type" "wmmx_wmulw")]
)
(define_insn "iwmmxt_wmulwum"
"TARGET_REALLY_IWMMXT"
"wmulwum%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wmulw")]
+ (set_attr "type" "wmmx_wmulw")]
)
(define_insn "iwmmxt_wmulsmr"
"TARGET_REALLY_IWMMXT"
"wmulsmr%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wmul")]
+ (set_attr "type" "wmmx_wmul")]
)
(define_insn "iwmmxt_wmulumr"
"TARGET_REALLY_IWMMXT"
"wmulumr%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wmul")]
+ (set_attr "type" "wmmx_wmul")]
)
(define_insn "iwmmxt_wmulwsmr"
"TARGET_REALLY_IWMMXT"
"wmulwsmr%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wmul")]
+ (set_attr "type" "wmmx_wmul")]
)
(define_insn "iwmmxt_wmulwumr"
"TARGET_REALLY_IWMMXT"
"wmulwumr%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wmulw")]
+ (set_attr "type" "wmmx_wmulw")]
)
(define_insn "iwmmxt_wmulwl"
"TARGET_REALLY_IWMMXT"
"wmulwl%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wmulw")]
+ (set_attr "type" "wmmx_wmulw")]
)
(define_insn "iwmmxt_wqmulm"
"TARGET_REALLY_IWMMXT"
"wqmulm%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wqmulm")]
+ (set_attr "type" "wmmx_wqmulm")]
)
(define_insn "iwmmxt_wqmulwm"
"TARGET_REALLY_IWMMXT"
"wqmulwm%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wqmulwm")]
+ (set_attr "type" "wmmx_wqmulwm")]
)
(define_insn "iwmmxt_wqmulmr"
"TARGET_REALLY_IWMMXT"
"wqmulmr%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wqmulm")]
+ (set_attr "type" "wmmx_wqmulm")]
)
(define_insn "iwmmxt_wqmulwmr"
"TARGET_REALLY_IWMMXT"
"wqmulwmr%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wqmulwm")]
+ (set_attr "type" "wmmx_wqmulwm")]
)
(define_insn "iwmmxt_waddbhusm"
"TARGET_REALLY_IWMMXT"
"waddbhusm%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "waddbhus")]
+ (set_attr "type" "wmmx_waddbhus")]
)
(define_insn "iwmmxt_waddbhusl"
"TARGET_REALLY_IWMMXT"
"waddbhusl%?\\t%0, %1, %2"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "waddbhus")]
+ (set_attr "type" "wmmx_waddbhus")]
)
(define_insn "iwmmxt_wqmiabb"
"TARGET_REALLY_IWMMXT"
"wqmiabb%?\\t%0, %2, %3"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wqmiaxy")]
+ (set_attr "type" "wmmx_wqmiaxy")]
)
(define_insn "iwmmxt_wqmiabt"
"TARGET_REALLY_IWMMXT"
"wqmiabt%?\\t%0, %2, %3"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wqmiaxy")]
+ (set_attr "type" "wmmx_wqmiaxy")]
)
(define_insn "iwmmxt_wqmiatb"
"TARGET_REALLY_IWMMXT"
"wqmiatb%?\\t%0, %2, %3"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wqmiaxy")]
+ (set_attr "type" "wmmx_wqmiaxy")]
)
(define_insn "iwmmxt_wqmiatt"
"TARGET_REALLY_IWMMXT"
"wqmiatt%?\\t%0, %2, %3"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wqmiaxy")]
+ (set_attr "type" "wmmx_wqmiaxy")]
)
(define_insn "iwmmxt_wqmiabbn"
"TARGET_REALLY_IWMMXT"
"wqmiabbn%?\\t%0, %2, %3"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wqmiaxy")]
+ (set_attr "type" "wmmx_wqmiaxy")]
)
(define_insn "iwmmxt_wqmiabtn"
"TARGET_REALLY_IWMMXT"
"wqmiabtn%?\\t%0, %2, %3"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wqmiaxy")]
+ (set_attr "type" "wmmx_wqmiaxy")]
)
(define_insn "iwmmxt_wqmiatbn"
"TARGET_REALLY_IWMMXT"
"wqmiatbn%?\\t%0, %2, %3"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wqmiaxy")]
+ (set_attr "type" "wmmx_wqmiaxy")]
)
(define_insn "iwmmxt_wqmiattn"
"TARGET_REALLY_IWMMXT"
"wqmiattn%?\\t%0, %2, %3"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wqmiaxy")]
+ (set_attr "type" "wmmx_wqmiaxy")]
)
(define_insn "iwmmxt_wmiabb"
"TARGET_REALLY_IWMMXT"
"wmiabb%?\\t%0, %2, %3"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wmiaxy")]
+ (set_attr "type" "wmmx_wmiaxy")]
)
(define_insn "iwmmxt_wmiabt"
"TARGET_REALLY_IWMMXT"
"wmiabt%?\\t%0, %2, %3"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wmiaxy")]
+ (set_attr "type" "wmmx_wmiaxy")]
)
(define_insn "iwmmxt_wmiatb"
"TARGET_REALLY_IWMMXT"
"wmiatb%?\\t%0, %2, %3"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wmiaxy")]
+ (set_attr "type" "wmmx_wmiaxy")]
)
(define_insn "iwmmxt_wmiatt"
"TARGET_REALLY_IWMMXT"
"wmiatt%?\\t%0, %2, %3"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wmiaxy")]
+ (set_attr "type" "wmmx_wmiaxy")]
)
(define_insn "iwmmxt_wmiabbn"
"TARGET_REALLY_IWMMXT"
"wmiabbn%?\\t%0, %2, %3"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wmiaxy")]
+ (set_attr "type" "wmmx_wmiaxy")]
)
(define_insn "iwmmxt_wmiabtn"
"TARGET_REALLY_IWMMXT"
"wmiabtn%?\\t%0, %2, %3"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wmiaxy")]
+ (set_attr "type" "wmmx_wmiaxy")]
)
(define_insn "iwmmxt_wmiatbn"
"TARGET_REALLY_IWMMXT"
"wmiatbn%?\\t%0, %2, %3"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wmiaxy")]
+ (set_attr "type" "wmmx_wmiaxy")]
)
(define_insn "iwmmxt_wmiattn"
"TARGET_REALLY_IWMMXT"
"wmiattn%?\\t%0, %2, %3"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wmiaxy")]
+ (set_attr "type" "wmmx_wmiaxy")]
)
(define_insn "iwmmxt_wmiawbb"
"TARGET_REALLY_IWMMXT"
"wmiawbb%?\\t%0, %2, %3"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wmiawxy")]
+ (set_attr "type" "wmmx_wmiawxy")]
)
(define_insn "iwmmxt_wmiawbt"
"TARGET_REALLY_IWMMXT"
"wmiawbt%?\\t%0, %2, %3"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wmiawxy")]
+ (set_attr "type" "wmmx_wmiawxy")]
)
(define_insn "iwmmxt_wmiawtb"
"TARGET_REALLY_IWMMXT"
"wmiawtb%?\\t%0, %2, %3"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wmiawxy")]
+ (set_attr "type" "wmmx_wmiawxy")]
)
(define_insn "iwmmxt_wmiawtt"
"TARGET_REALLY_IWMMXT"
"wmiawtt%?\\t%0, %2, %3"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wmiawxy")]
+ (set_attr "type" "wmmx_wmiawxy")]
)
(define_insn "iwmmxt_wmiawbbn"
"TARGET_REALLY_IWMMXT"
"wmiawbbn%?\\t%0, %2, %3"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wmiawxy")]
+ (set_attr "type" "wmmx_wmiawxy")]
)
(define_insn "iwmmxt_wmiawbtn"
"TARGET_REALLY_IWMMXT"
"wmiawbtn%?\\t%0, %2, %3"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wmiawxy")]
+ (set_attr "type" "wmmx_wmiawxy")]
)
(define_insn "iwmmxt_wmiawtbn"
"TARGET_REALLY_IWMMXT"
"wmiawtbn%?\\t%0, %2, %3"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wmiawxy")]
+ (set_attr "type" "wmmx_wmiawxy")]
)
(define_insn "iwmmxt_wmiawttn"
"TARGET_REALLY_IWMMXT"
"wmiawttn%?\\t%0, %2, %3"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wmiawxy")]
+ (set_attr "type" "wmmx_wmiawxy")]
)
(define_insn "iwmmxt_wmerge"
"TARGET_REALLY_IWMMXT"
"wmerge%?\\t%0, %1, %2, %3"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "wmerge")]
+ (set_attr "type" "wmmx_wmerge")]
)
(define_insn "iwmmxt_tandc<mode>3"
"TARGET_REALLY_IWMMXT"
"tandc<MMX_char>%?\\t r15"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "tandc")]
+ (set_attr "type" "wmmx_tandc")]
)
(define_insn "iwmmxt_torc<mode>3"
"TARGET_REALLY_IWMMXT"
"torc<MMX_char>%?\\t r15"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "torc")]
+ (set_attr "type" "wmmx_torc")]
)
(define_insn "iwmmxt_torvsc<mode>3"
"TARGET_REALLY_IWMMXT"
"torvsc<MMX_char>%?\\t r15"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "torvsc")]
+ (set_attr "type" "wmmx_torvsc")]
)
(define_insn "iwmmxt_textrc<mode>3"
"TARGET_REALLY_IWMMXT"
"textrc<MMX_char>%?\\t r15, %0"
[(set_attr "predicable" "yes")
- (set_attr "wtype" "textrc")]
+ (set_attr "type" "wmmx_textrc")]
)