Commit 31f8442b by Sofiane Naci Committed by Sofiane Naci

arm.md (attribute "wtype"): Delete.

	* 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.

From-SVN: r200576
parent 81bcd96b
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> 2013-06-29 Yufeng Zhang <yufeng.zhang@arm.com>
* config/aarch64/aarch64.c: Remove junk from the beginning of the * config/aarch64/aarch64.c: Remove junk from the beginning of the
......
...@@ -335,6 +335,70 @@ ...@@ -335,6 +335,70 @@
; umlals unsigned multiply accumulate long, flag setting. ; umlals unsigned multiply accumulate long, flag setting.
; umull unsigned multiply long. ; umull unsigned multiply long.
; umulls unsigned multiply long, flag setting. ; umulls unsigned multiply long, flag setting.
;
; The classification below is for instructions used by the Wireless MMX
; Technology. Each attribute value is used to classify an instruction of the
; same name or family.
;
; wmmx_tandc
; wmmx_tbcst
; wmmx_textrc
; wmmx_textrm
; wmmx_tinsr
; wmmx_tmcr
; wmmx_tmcrr
; wmmx_tmia
; wmmx_tmiaph
; wmmx_tmiaxy
; wmmx_tmrc
; wmmx_tmrrc
; wmmx_tmovmsk
; wmmx_torc
; wmmx_torvsc
; wmmx_wabs
; wmmx_wdiff
; wmmx_wacc
; wmmx_wadd
; wmmx_waddbhus
; wmmx_waddsubhx
; wmmx_waligni
; wmmx_walignr
; wmmx_wand
; wmmx_wandn
; wmmx_wavg2
; wmmx_wavg4
; wmmx_wcmpeq
; wmmx_wcmpgt
; wmmx_wmac
; wmmx_wmadd
; wmmx_wmax
; wmmx_wmerge
; wmmx_wmiawxy
; wmmx_wmiaxy
; wmmx_wmin
; wmmx_wmov
; wmmx_wmul
; wmmx_wmulw
; wmmx_wldr
; wmmx_wor
; wmmx_wpack
; wmmx_wqmiaxy
; wmmx_wqmulm
; wmmx_wqmulwm
; wmmx_wror
; wmmx_wsad
; wmmx_wshufh
; wmmx_wsll
; wmmx_wsra
; wmmx_wsrl
; wmmx_wstr
; wmmx_wsub
; wmmx_wsubaddhx
; wmmx_wunpckeh
; wmmx_wunpckel
; wmmx_wunpckih
; wmmx_wunpckil
; wmmx_wxor
(define_attr "type" (define_attr "type"
"simple_alu_imm,\ "simple_alu_imm,\
...@@ -419,7 +483,66 @@ ...@@ -419,7 +483,66 @@
smlald,\ smlald,\
smlsld,\ smlsld,\
sdiv,\ sdiv,\
udiv" udiv,\
wmmx_tandc,\
wmmx_tbcst,\
wmmx_textrc,\
wmmx_textrm,\
wmmx_tinsr,\
wmmx_tmcr,\
wmmx_tmcrr,\
wmmx_tmia,\
wmmx_tmiaph,\
wmmx_tmiaxy,\
wmmx_tmrc,\
wmmx_tmrrc,\
wmmx_tmovmsk,\
wmmx_torc,\
wmmx_torvsc,\
wmmx_wabs,\
wmmx_wabsdiff,\
wmmx_wacc,\
wmmx_wadd,\
wmmx_waddbhus,\
wmmx_waddsubhx,\
wmmx_waligni,\
wmmx_walignr,\
wmmx_wand,\
wmmx_wandn,\
wmmx_wavg2,\
wmmx_wavg4,\
wmmx_wcmpeq,\
wmmx_wcmpgt,\
wmmx_wmac,\
wmmx_wmadd,\
wmmx_wmax,\
wmmx_wmerge,\
wmmx_wmiawxy,\
wmmx_wmiaxy,\
wmmx_wmin,\
wmmx_wmov,\
wmmx_wmul,\
wmmx_wmulw,\
wmmx_wldr,\
wmmx_wor,\
wmmx_wpack,\
wmmx_wqmiaxy,\
wmmx_wqmulm,\
wmmx_wqmulwm,\
wmmx_wror,\
wmmx_wsad,\
wmmx_wshufh,\
wmmx_wsll,\
wmmx_wsra,\
wmmx_wsrl,\
wmmx_wstr,\
wmmx_wsub,\
wmmx_wsubaddhx,\
wmmx_wunpckeh,\
wmmx_wunpckel,\
wmmx_wunpckih,\
wmmx_wunpckil,\
wmmx_wxor"
(const_string "alu_reg")) (const_string "alu_reg"))
; Is this an (integer side) multiply with a 32-bit (or smaller) result? ; Is this an (integer side) multiply with a 32-bit (or smaller) result?
...@@ -439,10 +562,6 @@ ...@@ -439,10 +562,6 @@
(const_string "yes") (const_string "yes")
(const_string "no"))) (const_string "no")))
; wtype for WMMX insn scheduling purposes.
(define_attr "wtype"
"none,wor,wxor,wand,wandn,wmov,tmcrr,tmrrc,wldr,wstr,tmcr,tmrc,wadd,wsub,wmul,wmac,wavg2,tinsr,textrm,wshufh,wcmpeq,wcmpgt,wmax,wmin,wpack,wunpckih,wunpckil,wunpckeh,wunpckel,wror,wsra,wsrl,wsll,wmadd,tmia,tmiaph,tmiaxy,tbcst,tmovmsk,wacc,waligni,walignr,tandc,textrc,torc,torvsc,wsad,wabs,wabsdiff,waddsubhx,wsubaddhx,wavg4,wmulw,wqmulm,wqmulwm,waddbhus,wqmiaxy,wmiaxy,wmiawxy,wmerge" (const_string "none"))
; Load scheduling, set from the arm_ld_sched variable ; Load scheduling, set from the arm_ld_sched variable
; initialized by arm_option_override() ; initialized by arm_option_override()
(define_attr "ldsched" "no,yes" (const (symbol_ref "arm_ld_sched"))) (define_attr "ldsched" "no,yes" (const (symbol_ref "arm_ld_sched")))
...@@ -567,9 +686,19 @@ ...@@ -567,9 +686,19 @@
; than one on the main cpu execution unit. ; than one on the main cpu execution unit.
(define_attr "core_cycles" "single,multi" (define_attr "core_cycles" "single,multi"
(if_then_else (eq_attr "type" (if_then_else (eq_attr "type"
"simple_alu_imm,alu_reg,\ "simple_alu_imm, alu_reg,\
simple_alu_shift,alu_shift,\ simple_alu_shift, alu_shift, float, fdivd, fdivs,\
float,fdivd,fdivs") wmmx_wor, wmmx_wxor, wmmx_wand, wmmx_wandn, wmmx_wmov, wmmx_tmcrr,\
wmmx_tmrrc, wmmx_wldr, wmmx_wstr, wmmx_tmcr, wmmx_tmrc, wmmx_wadd,\
wmmx_wsub, wmmx_wmul, wmmx_wmac, wmmx_wavg2, wmmx_tinsr, wmmx_textrm,\
wmmx_wshufh, wmmx_wcmpeq, wmmx_wcmpgt, wmmx_wmax, wmmx_wmin, wmmx_wpack,\
wmmx_wunpckih, wmmx_wunpckil, wmmx_wunpckeh, wmmx_wunpckel, wmmx_wror,\
wmmx_wsra, wmmx_wsrl, wmmx_wsll, wmmx_wmadd, wmmx_tmia, wmmx_tmiaph,\
wmmx_tmiaxy, wmmx_tbcst, wmmx_tmovmsk, wmmx_wacc, wmmx_waligni,\
wmmx_walignr, wmmx_tandc, wmmx_textrc, wmmx_torc, wmmx_torvsc, wmmx_wsad,\
wmmx_wabs, wmmx_wabsdiff, wmmx_waddsubhx, wmmx_wsubaddhx, wmmx_wavg4,\
wmmx_wmulw, wmmx_wqmulm, wmmx_wqmulwm, wmmx_waddbhus, wmmx_wqmiaxy,\
wmmx_wmiaxy, wmmx_wmiawxy, wmmx_wmerge")
(const_string "single") (const_string "single")
(const_string "multi"))) (const_string "multi")))
......
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"tbcstb%?\\t%0, %1" "tbcstb%?\\t%0, %1"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "tbcst")] (set_attr "type" "wmmx_tbcst")]
) )
(define_insn "tbcstv4hi" (define_insn "tbcstv4hi"
...@@ -42,7 +42,7 @@ ...@@ -42,7 +42,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"tbcsth%?\\t%0, %1" "tbcsth%?\\t%0, %1"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "tbcst")] (set_attr "type" "wmmx_tbcst")]
) )
(define_insn "tbcstv2si" (define_insn "tbcstv2si"
...@@ -51,7 +51,7 @@ ...@@ -51,7 +51,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"tbcstw%?\\t%0, %1" "tbcstw%?\\t%0, %1"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "tbcst")] (set_attr "type" "wmmx_tbcst")]
) )
(define_insn "iwmmxt_iordi3" (define_insn "iwmmxt_iordi3"
...@@ -65,7 +65,7 @@ ...@@ -65,7 +65,7 @@
#" #"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "length" "4,8,8") (set_attr "length" "4,8,8")
(set_attr "wtype" "wor,none,none")] (set_attr "type" "wmmx_wor,*,*")]
) )
(define_insn "iwmmxt_xordi3" (define_insn "iwmmxt_xordi3"
...@@ -79,7 +79,7 @@ ...@@ -79,7 +79,7 @@
#" #"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "length" "4,8,8") (set_attr "length" "4,8,8")
(set_attr "wtype" "wxor,none,none")] (set_attr "type" "wmmx_wxor,*,*")]
) )
(define_insn "iwmmxt_anddi3" (define_insn "iwmmxt_anddi3"
...@@ -93,7 +93,7 @@ ...@@ -93,7 +93,7 @@
#" #"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "length" "4,8,8") (set_attr "length" "4,8,8")
(set_attr "wtype" "wand,none,none")] (set_attr "type" "wmmx_wand,*,*")]
) )
(define_insn "iwmmxt_nanddi3" (define_insn "iwmmxt_nanddi3"
...@@ -103,7 +103,7 @@ ...@@ -103,7 +103,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wandn%?\\t%0, %1, %2" "wandn%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wandn")] (set_attr "type" "wmmx_wandn")]
) )
(define_insn "*iwmmxt_arm_movdi" (define_insn "*iwmmxt_arm_movdi"
...@@ -155,10 +155,9 @@ ...@@ -155,10 +155,9 @@
(const_int 8) (const_int 8)
(const_int 4))] (const_int 4))]
(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_pool_range" "*,*,*,1020,*,*,*,*,*,*,*,*,*,1020,*")
(set_attr "arm_neg_pool_range" "*,*,*,1008,*,*,*,*,*,*,*,*,*,1008,*") (set_attr "arm_neg_pool_range" "*,*,*,1008,*,*,*,*,*,*,*,*,*,1008,*")]
(set_attr "wtype" "*,*,*,*,*,wmov,tmcrr,tmrrc,wldr,wstr,*,*,*,*,*")]
) )
(define_insn "*iwmmxt_movsi_insn" (define_insn "*iwmmxt_movsi_insn"
...@@ -188,7 +187,7 @@ ...@@ -188,7 +187,7 @@
default: default:
gcc_unreachable (); 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 "length" "*,*,*,*,*, *,*,*, 16, *,*,*,*,*,*")
(set_attr "pool_range" "*,*,*,*,4096, *,*,*,1024, *,*,*,*,1020,*") (set_attr "pool_range" "*,*,*,*,4096, *,*,*,1024, *,*,*,*,1020,*")
(set_attr "neg_pool_range" "*,*,*,*,4084, *,*,*, *, 1012,*,*,*,1008,*") (set_attr "neg_pool_range" "*,*,*,*,4084, *,*,*, *, 1012,*,*,*,1008,*")
...@@ -200,8 +199,7 @@ ...@@ -200,8 +199,7 @@
;; Also - we have to pretend that these insns clobber the condition code ;; Also - we have to pretend that these insns clobber the condition code
;; bits as otherwise arm_final_prescan_insn() will try to conditionalize ;; bits as otherwise arm_final_prescan_insn() will try to conditionalize
;; them. ;; them.
(set_attr "conds" "clob") (set_attr "conds" "clob")]
(set_attr "wtype" "*,*,*,*,*,*,tmcr,tmrc,wldr,wstr,*,*,*,*,*")]
) )
;; Because iwmmxt_movsi_insn is not predicable, we provide the ;; Because iwmmxt_movsi_insn is not predicable, we provide the
...@@ -249,10 +247,9 @@ ...@@ -249,10 +247,9 @@
}" }"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "length" "4, 4, 4,4,4,8, 8,8") (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 "pool_range" "*, *, 256,*,*,*, 256,*")
(set_attr "neg_pool_range" "*, *, 244,*,*,*, 244,*") (set_attr "neg_pool_range" "*, *, 244,*,*,*, 244,*")]
(set_attr "wtype" "wmov,wstr,wldr,tmrrc,tmcrr,*,*,*")]
) )
(define_expand "iwmmxt_setwcgr0" (define_expand "iwmmxt_setwcgr0"
...@@ -318,7 +315,7 @@ ...@@ -318,7 +315,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wand\\t%0, %1, %2" "wand\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wand")] (set_attr "type" "wmmx_wand")]
) )
(define_insn "*ior<mode>3_iwmmxt" (define_insn "*ior<mode>3_iwmmxt"
...@@ -328,7 +325,7 @@ ...@@ -328,7 +325,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wor\\t%0, %1, %2" "wor\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wor")] (set_attr "type" "wmmx_wor")]
) )
(define_insn "*xor<mode>3_iwmmxt" (define_insn "*xor<mode>3_iwmmxt"
...@@ -338,7 +335,7 @@ ...@@ -338,7 +335,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wxor\\t%0, %1, %2" "wxor\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wxor")] (set_attr "type" "wmmx_wxor")]
) )
...@@ -351,7 +348,7 @@ ...@@ -351,7 +348,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wadd<MMX_char>%?\\t%0, %1, %2" "wadd<MMX_char>%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wadd")] (set_attr "type" "wmmx_wadd")]
) )
(define_insn "ssaddv8qi3" (define_insn "ssaddv8qi3"
...@@ -361,7 +358,7 @@ ...@@ -361,7 +358,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"waddbss%?\\t%0, %1, %2" "waddbss%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wadd")] (set_attr "type" "wmmx_wadd")]
) )
(define_insn "ssaddv4hi3" (define_insn "ssaddv4hi3"
...@@ -371,7 +368,7 @@ ...@@ -371,7 +368,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"waddhss%?\\t%0, %1, %2" "waddhss%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wadd")] (set_attr "type" "wmmx_wadd")]
) )
(define_insn "ssaddv2si3" (define_insn "ssaddv2si3"
...@@ -381,7 +378,7 @@ ...@@ -381,7 +378,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"waddwss%?\\t%0, %1, %2" "waddwss%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wadd")] (set_attr "type" "wmmx_wadd")]
) )
(define_insn "usaddv8qi3" (define_insn "usaddv8qi3"
...@@ -391,7 +388,7 @@ ...@@ -391,7 +388,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"waddbus%?\\t%0, %1, %2" "waddbus%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wadd")] (set_attr "type" "wmmx_wadd")]
) )
(define_insn "usaddv4hi3" (define_insn "usaddv4hi3"
...@@ -401,7 +398,7 @@ ...@@ -401,7 +398,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"waddhus%?\\t%0, %1, %2" "waddhus%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wadd")] (set_attr "type" "wmmx_wadd")]
) )
(define_insn "usaddv2si3" (define_insn "usaddv2si3"
...@@ -411,7 +408,7 @@ ...@@ -411,7 +408,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"waddwus%?\\t%0, %1, %2" "waddwus%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wadd")] (set_attr "type" "wmmx_wadd")]
) )
(define_insn "*sub<mode>3_iwmmxt" (define_insn "*sub<mode>3_iwmmxt"
...@@ -421,7 +418,7 @@ ...@@ -421,7 +418,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wsub<MMX_char>%?\\t%0, %1, %2" "wsub<MMX_char>%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wsub")] (set_attr "type" "wmmx_wsub")]
) )
(define_insn "sssubv8qi3" (define_insn "sssubv8qi3"
...@@ -431,7 +428,7 @@ ...@@ -431,7 +428,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wsubbss%?\\t%0, %1, %2" "wsubbss%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wsub")] (set_attr "type" "wmmx_wsub")]
) )
(define_insn "sssubv4hi3" (define_insn "sssubv4hi3"
...@@ -441,7 +438,7 @@ ...@@ -441,7 +438,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wsubhss%?\\t%0, %1, %2" "wsubhss%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wsub")] (set_attr "type" "wmmx_wsub")]
) )
(define_insn "sssubv2si3" (define_insn "sssubv2si3"
...@@ -451,7 +448,7 @@ ...@@ -451,7 +448,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wsubwss%?\\t%0, %1, %2" "wsubwss%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wsub")] (set_attr "type" "wmmx_wsub")]
) )
(define_insn "ussubv8qi3" (define_insn "ussubv8qi3"
...@@ -461,7 +458,7 @@ ...@@ -461,7 +458,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wsubbus%?\\t%0, %1, %2" "wsubbus%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wsub")] (set_attr "type" "wmmx_wsub")]
) )
(define_insn "ussubv4hi3" (define_insn "ussubv4hi3"
...@@ -471,7 +468,7 @@ ...@@ -471,7 +468,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wsubhus%?\\t%0, %1, %2" "wsubhus%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wsub")] (set_attr "type" "wmmx_wsub")]
) )
(define_insn "ussubv2si3" (define_insn "ussubv2si3"
...@@ -481,7 +478,7 @@ ...@@ -481,7 +478,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wsubwus%?\\t%0, %1, %2" "wsubwus%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wsub")] (set_attr "type" "wmmx_wsub")]
) )
(define_insn "*mulv4hi3_iwmmxt" (define_insn "*mulv4hi3_iwmmxt"
...@@ -491,7 +488,7 @@ ...@@ -491,7 +488,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wmulul%?\\t%0, %1, %2" "wmulul%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wmul")] (set_attr "type" "wmmx_wmul")]
) )
(define_insn "smulv4hi3_highpart" (define_insn "smulv4hi3_highpart"
...@@ -504,7 +501,7 @@ ...@@ -504,7 +501,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wmulsm%?\\t%0, %1, %2" "wmulsm%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wmul")] (set_attr "type" "wmmx_wmul")]
) )
(define_insn "umulv4hi3_highpart" (define_insn "umulv4hi3_highpart"
...@@ -517,7 +514,7 @@ ...@@ -517,7 +514,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wmulum%?\\t%0, %1, %2" "wmulum%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wmul")] (set_attr "type" "wmmx_wmul")]
) )
(define_insn "iwmmxt_wmacs" (define_insn "iwmmxt_wmacs"
...@@ -528,7 +525,7 @@ ...@@ -528,7 +525,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wmacs%?\\t%0, %2, %3" "wmacs%?\\t%0, %2, %3"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wmac")] (set_attr "type" "wmmx_wmac")]
) )
(define_insn "iwmmxt_wmacsz" (define_insn "iwmmxt_wmacsz"
...@@ -538,7 +535,7 @@ ...@@ -538,7 +535,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wmacsz%?\\t%0, %1, %2" "wmacsz%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wmac")] (set_attr "type" "wmmx_wmac")]
) )
(define_insn "iwmmxt_wmacu" (define_insn "iwmmxt_wmacu"
...@@ -549,7 +546,7 @@ ...@@ -549,7 +546,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wmacu%?\\t%0, %2, %3" "wmacu%?\\t%0, %2, %3"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wmac")] (set_attr "type" "wmmx_wmac")]
) )
(define_insn "iwmmxt_wmacuz" (define_insn "iwmmxt_wmacuz"
...@@ -559,7 +556,7 @@ ...@@ -559,7 +556,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wmacuz%?\\t%0, %1, %2" "wmacuz%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(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 ;; Same as xordi3, but don't show input operands so that we don't think
...@@ -570,7 +567,7 @@ ...@@ -570,7 +567,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wxor%?\\t%0, %0, %0" "wxor%?\\t%0, %0, %0"
[(set_attr "predicable" "yes") [(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. ;; Seems like cse likes to generate these, so we have to support them.
...@@ -584,7 +581,7 @@ ...@@ -584,7 +581,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wxor%?\\t%0, %0, %0" "wxor%?\\t%0, %0, %0"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wxor")] (set_attr "type" "wmmx_wxor")]
) )
(define_insn "iwmmxt_clrv4hi" (define_insn "iwmmxt_clrv4hi"
...@@ -594,7 +591,7 @@ ...@@ -594,7 +591,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wxor%?\\t%0, %0, %0" "wxor%?\\t%0, %0, %0"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wxor")] (set_attr "type" "wmmx_wxor")]
) )
(define_insn "iwmmxt_clrv2si" (define_insn "iwmmxt_clrv2si"
...@@ -603,7 +600,7 @@ ...@@ -603,7 +600,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wxor%?\\t%0, %0, %0" "wxor%?\\t%0, %0, %0"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wxor")] (set_attr "type" "wmmx_wxor")]
) )
;; Unsigned averages/sum of absolute differences ;; Unsigned averages/sum of absolute differences
...@@ -627,7 +624,7 @@ ...@@ -627,7 +624,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wavg2br%?\\t%0, %1, %2" "wavg2br%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wavg2")] (set_attr "type" "wmmx_wavg2")]
) )
(define_insn "iwmmxt_uavgrndv4hi3" (define_insn "iwmmxt_uavgrndv4hi3"
...@@ -645,7 +642,7 @@ ...@@ -645,7 +642,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wavg2hr%?\\t%0, %1, %2" "wavg2hr%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wavg2")] (set_attr "type" "wmmx_wavg2")]
) )
(define_insn "iwmmxt_uavgv8qi3" (define_insn "iwmmxt_uavgv8qi3"
...@@ -658,7 +655,7 @@ ...@@ -658,7 +655,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wavg2b%?\\t%0, %1, %2" "wavg2b%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wavg2")] (set_attr "type" "wmmx_wavg2")]
) )
(define_insn "iwmmxt_uavgv4hi3" (define_insn "iwmmxt_uavgv4hi3"
...@@ -671,7 +668,7 @@ ...@@ -671,7 +668,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wavg2h%?\\t%0, %1, %2" "wavg2h%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wavg2")] (set_attr "type" "wmmx_wavg2")]
) )
;; Insert/extract/shuffle ;; Insert/extract/shuffle
...@@ -690,7 +687,7 @@ ...@@ -690,7 +687,7 @@
} }
" "
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "tinsr")] (set_attr "type" "wmmx_tinsr")]
) )
(define_insn "iwmmxt_tinsrh" (define_insn "iwmmxt_tinsrh"
...@@ -707,7 +704,7 @@ ...@@ -707,7 +704,7 @@
} }
" "
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "tinsr")] (set_attr "type" "wmmx_tinsr")]
) )
(define_insn "iwmmxt_tinsrw" (define_insn "iwmmxt_tinsrw"
...@@ -724,7 +721,7 @@ ...@@ -724,7 +721,7 @@
} }
" "
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "tinsr")] (set_attr "type" "wmmx_tinsr")]
) )
(define_insn "iwmmxt_textrmub" (define_insn "iwmmxt_textrmub"
...@@ -735,7 +732,7 @@ ...@@ -735,7 +732,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"textrmub%?\\t%0, %1, %2" "textrmub%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "textrm")] (set_attr "type" "wmmx_textrm")]
) )
(define_insn "iwmmxt_textrmsb" (define_insn "iwmmxt_textrmsb"
...@@ -746,7 +743,7 @@ ...@@ -746,7 +743,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"textrmsb%?\\t%0, %1, %2" "textrmsb%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "textrm")] (set_attr "type" "wmmx_textrm")]
) )
(define_insn "iwmmxt_textrmuh" (define_insn "iwmmxt_textrmuh"
...@@ -757,7 +754,7 @@ ...@@ -757,7 +754,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"textrmuh%?\\t%0, %1, %2" "textrmuh%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "textrm")] (set_attr "type" "wmmx_textrm")]
) )
(define_insn "iwmmxt_textrmsh" (define_insn "iwmmxt_textrmsh"
...@@ -768,7 +765,7 @@ ...@@ -768,7 +765,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"textrmsh%?\\t%0, %1, %2" "textrmsh%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "textrm")] (set_attr "type" "wmmx_textrm")]
) )
;; There are signed/unsigned variants of this instruction, but they are ;; There are signed/unsigned variants of this instruction, but they are
...@@ -780,7 +777,7 @@ ...@@ -780,7 +777,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"textrmsw%?\\t%0, %1, %2" "textrmsw%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "textrm")] (set_attr "type" "wmmx_textrm")]
) )
(define_insn "iwmmxt_wshufh" (define_insn "iwmmxt_wshufh"
...@@ -790,7 +787,7 @@ ...@@ -790,7 +787,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wshufh%?\\t%0, %1, %2" "wshufh%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wshufh")] (set_attr "type" "wmmx_wshufh")]
) )
;; Mask-generating comparisons ;; Mask-generating comparisons
...@@ -812,7 +809,7 @@ ...@@ -812,7 +809,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wcmpeqb%?\\t%0, %1, %2" "wcmpeqb%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wcmpeq")] (set_attr "type" "wmmx_wcmpeq")]
) )
(define_insn "eqv4hi3" (define_insn "eqv4hi3"
...@@ -823,7 +820,7 @@ ...@@ -823,7 +820,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wcmpeqh%?\\t%0, %1, %2" "wcmpeqh%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wcmpeq")] (set_attr "type" "wmmx_wcmpeq")]
) )
(define_insn "eqv2si3" (define_insn "eqv2si3"
...@@ -835,7 +832,7 @@ ...@@ -835,7 +832,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wcmpeqw%?\\t%0, %1, %2" "wcmpeqw%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wcmpeq")] (set_attr "type" "wmmx_wcmpeq")]
) )
(define_insn "gtuv8qi3" (define_insn "gtuv8qi3"
...@@ -846,7 +843,7 @@ ...@@ -846,7 +843,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wcmpgtub%?\\t%0, %1, %2" "wcmpgtub%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wcmpgt")] (set_attr "type" "wmmx_wcmpgt")]
) )
(define_insn "gtuv4hi3" (define_insn "gtuv4hi3"
...@@ -857,7 +854,7 @@ ...@@ -857,7 +854,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wcmpgtuh%?\\t%0, %1, %2" "wcmpgtuh%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wcmpgt")] (set_attr "type" "wmmx_wcmpgt")]
) )
(define_insn "gtuv2si3" (define_insn "gtuv2si3"
...@@ -868,7 +865,7 @@ ...@@ -868,7 +865,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wcmpgtuw%?\\t%0, %1, %2" "wcmpgtuw%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wcmpgt")] (set_attr "type" "wmmx_wcmpgt")]
) )
(define_insn "gtv8qi3" (define_insn "gtv8qi3"
...@@ -879,7 +876,7 @@ ...@@ -879,7 +876,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wcmpgtsb%?\\t%0, %1, %2" "wcmpgtsb%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wcmpgt")] (set_attr "type" "wmmx_wcmpgt")]
) )
(define_insn "gtv4hi3" (define_insn "gtv4hi3"
...@@ -890,7 +887,7 @@ ...@@ -890,7 +887,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wcmpgtsh%?\\t%0, %1, %2" "wcmpgtsh%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wcmpgt")] (set_attr "type" "wmmx_wcmpgt")]
) )
(define_insn "gtv2si3" (define_insn "gtv2si3"
...@@ -901,7 +898,7 @@ ...@@ -901,7 +898,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wcmpgtsw%?\\t%0, %1, %2" "wcmpgtsw%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wcmpgt")] (set_attr "type" "wmmx_wcmpgt")]
) )
;; Max/min insns ;; Max/min insns
...@@ -913,7 +910,7 @@ ...@@ -913,7 +910,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wmaxs<MMX_char>%?\\t%0, %1, %2" "wmaxs<MMX_char>%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wmax")] (set_attr "type" "wmmx_wmax")]
) )
(define_insn "*umax<mode>3_iwmmxt" (define_insn "*umax<mode>3_iwmmxt"
...@@ -923,7 +920,7 @@ ...@@ -923,7 +920,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wmaxu<MMX_char>%?\\t%0, %1, %2" "wmaxu<MMX_char>%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wmax")] (set_attr "type" "wmmx_wmax")]
) )
(define_insn "*smin<mode>3_iwmmxt" (define_insn "*smin<mode>3_iwmmxt"
...@@ -933,7 +930,7 @@ ...@@ -933,7 +930,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wmins<MMX_char>%?\\t%0, %1, %2" "wmins<MMX_char>%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wmin")] (set_attr "type" "wmmx_wmin")]
) )
(define_insn "*umin<mode>3_iwmmxt" (define_insn "*umin<mode>3_iwmmxt"
...@@ -943,7 +940,7 @@ ...@@ -943,7 +940,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wminu<MMX_char>%?\\t%0, %1, %2" "wminu<MMX_char>%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wmin")] (set_attr "type" "wmmx_wmin")]
) )
;; Pack/unpack insns. ;; Pack/unpack insns.
...@@ -956,7 +953,7 @@ ...@@ -956,7 +953,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wpackhss%?\\t%0, %1, %2" "wpackhss%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wpack")] (set_attr "type" "wmmx_wpack")]
) )
(define_insn "iwmmxt_wpackwss" (define_insn "iwmmxt_wpackwss"
...@@ -967,7 +964,7 @@ ...@@ -967,7 +964,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wpackwss%?\\t%0, %1, %2" "wpackwss%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wpack")] (set_attr "type" "wmmx_wpack")]
) )
(define_insn "iwmmxt_wpackdss" (define_insn "iwmmxt_wpackdss"
...@@ -978,7 +975,7 @@ ...@@ -978,7 +975,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wpackdss%?\\t%0, %1, %2" "wpackdss%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wpack")] (set_attr "type" "wmmx_wpack")]
) )
(define_insn "iwmmxt_wpackhus" (define_insn "iwmmxt_wpackhus"
...@@ -989,7 +986,7 @@ ...@@ -989,7 +986,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wpackhus%?\\t%0, %1, %2" "wpackhus%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wpack")] (set_attr "type" "wmmx_wpack")]
) )
(define_insn "iwmmxt_wpackwus" (define_insn "iwmmxt_wpackwus"
...@@ -1000,7 +997,7 @@ ...@@ -1000,7 +997,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wpackwus%?\\t%0, %1, %2" "wpackwus%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wpack")] (set_attr "type" "wmmx_wpack")]
) )
(define_insn "iwmmxt_wpackdus" (define_insn "iwmmxt_wpackdus"
...@@ -1011,7 +1008,7 @@ ...@@ -1011,7 +1008,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wpackdus%?\\t%0, %1, %2" "wpackdus%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wpack")] (set_attr "type" "wmmx_wpack")]
) )
(define_insn "iwmmxt_wunpckihb" (define_insn "iwmmxt_wunpckihb"
...@@ -1039,7 +1036,7 @@ ...@@ -1039,7 +1036,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wunpckihb%?\\t%0, %1, %2" "wunpckihb%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wunpckih")] (set_attr "type" "wmmx_wunpckih")]
) )
(define_insn "iwmmxt_wunpckihh" (define_insn "iwmmxt_wunpckihh"
...@@ -1059,7 +1056,7 @@ ...@@ -1059,7 +1056,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wunpckihh%?\\t%0, %1, %2" "wunpckihh%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wunpckih")] (set_attr "type" "wmmx_wunpckih")]
) )
(define_insn "iwmmxt_wunpckihw" (define_insn "iwmmxt_wunpckihw"
...@@ -1075,7 +1072,7 @@ ...@@ -1075,7 +1072,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wunpckihw%?\\t%0, %1, %2" "wunpckihw%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wunpckih")] (set_attr "type" "wmmx_wunpckih")]
) )
(define_insn "iwmmxt_wunpckilb" (define_insn "iwmmxt_wunpckilb"
...@@ -1103,7 +1100,7 @@ ...@@ -1103,7 +1100,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wunpckilb%?\\t%0, %1, %2" "wunpckilb%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wunpckil")] (set_attr "type" "wmmx_wunpckil")]
) )
(define_insn "iwmmxt_wunpckilh" (define_insn "iwmmxt_wunpckilh"
...@@ -1123,7 +1120,7 @@ ...@@ -1123,7 +1120,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wunpckilh%?\\t%0, %1, %2" "wunpckilh%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wunpckil")] (set_attr "type" "wmmx_wunpckil")]
) )
(define_insn "iwmmxt_wunpckilw" (define_insn "iwmmxt_wunpckilw"
...@@ -1139,7 +1136,7 @@ ...@@ -1139,7 +1136,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wunpckilw%?\\t%0, %1, %2" "wunpckilw%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wunpckil")] (set_attr "type" "wmmx_wunpckil")]
) )
(define_insn "iwmmxt_wunpckehub" (define_insn "iwmmxt_wunpckehub"
...@@ -1151,7 +1148,7 @@ ...@@ -1151,7 +1148,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wunpckehub%?\\t%0, %1" "wunpckehub%?\\t%0, %1"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wunpckeh")] (set_attr "type" "wmmx_wunpckeh")]
) )
(define_insn "iwmmxt_wunpckehuh" (define_insn "iwmmxt_wunpckehuh"
...@@ -1162,7 +1159,7 @@ ...@@ -1162,7 +1159,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wunpckehuh%?\\t%0, %1" "wunpckehuh%?\\t%0, %1"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wunpckeh")] (set_attr "type" "wmmx_wunpckeh")]
) )
(define_insn "iwmmxt_wunpckehuw" (define_insn "iwmmxt_wunpckehuw"
...@@ -1173,7 +1170,7 @@ ...@@ -1173,7 +1170,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wunpckehuw%?\\t%0, %1" "wunpckehuw%?\\t%0, %1"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wunpckeh")] (set_attr "type" "wmmx_wunpckeh")]
) )
(define_insn "iwmmxt_wunpckehsb" (define_insn "iwmmxt_wunpckehsb"
...@@ -1185,7 +1182,7 @@ ...@@ -1185,7 +1182,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wunpckehsb%?\\t%0, %1" "wunpckehsb%?\\t%0, %1"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wunpckeh")] (set_attr "type" "wmmx_wunpckeh")]
) )
(define_insn "iwmmxt_wunpckehsh" (define_insn "iwmmxt_wunpckehsh"
...@@ -1196,7 +1193,7 @@ ...@@ -1196,7 +1193,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wunpckehsh%?\\t%0, %1" "wunpckehsh%?\\t%0, %1"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wunpckeh")] (set_attr "type" "wmmx_wunpckeh")]
) )
(define_insn "iwmmxt_wunpckehsw" (define_insn "iwmmxt_wunpckehsw"
...@@ -1207,7 +1204,7 @@ ...@@ -1207,7 +1204,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wunpckehsw%?\\t%0, %1" "wunpckehsw%?\\t%0, %1"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wunpckeh")] (set_attr "type" "wmmx_wunpckeh")]
) )
(define_insn "iwmmxt_wunpckelub" (define_insn "iwmmxt_wunpckelub"
...@@ -1219,7 +1216,7 @@ ...@@ -1219,7 +1216,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wunpckelub%?\\t%0, %1" "wunpckelub%?\\t%0, %1"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wunpckel")] (set_attr "type" "wmmx_wunpckel")]
) )
(define_insn "iwmmxt_wunpckeluh" (define_insn "iwmmxt_wunpckeluh"
...@@ -1230,7 +1227,7 @@ ...@@ -1230,7 +1227,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wunpckeluh%?\\t%0, %1" "wunpckeluh%?\\t%0, %1"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wunpckel")] (set_attr "type" "wmmx_wunpckel")]
) )
(define_insn "iwmmxt_wunpckeluw" (define_insn "iwmmxt_wunpckeluw"
...@@ -1241,7 +1238,7 @@ ...@@ -1241,7 +1238,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wunpckeluw%?\\t%0, %1" "wunpckeluw%?\\t%0, %1"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wunpckel")] (set_attr "type" "wmmx_wunpckel")]
) )
(define_insn "iwmmxt_wunpckelsb" (define_insn "iwmmxt_wunpckelsb"
...@@ -1253,7 +1250,7 @@ ...@@ -1253,7 +1250,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wunpckelsb%?\\t%0, %1" "wunpckelsb%?\\t%0, %1"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wunpckel")] (set_attr "type" "wmmx_wunpckel")]
) )
(define_insn "iwmmxt_wunpckelsh" (define_insn "iwmmxt_wunpckelsh"
...@@ -1264,7 +1261,7 @@ ...@@ -1264,7 +1261,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wunpckelsh%?\\t%0, %1" "wunpckelsh%?\\t%0, %1"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wunpckel")] (set_attr "type" "wmmx_wunpckel")]
) )
(define_insn "iwmmxt_wunpckelsw" (define_insn "iwmmxt_wunpckelsw"
...@@ -1275,7 +1272,7 @@ ...@@ -1275,7 +1272,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wunpckelsw%?\\t%0, %1" "wunpckelsw%?\\t%0, %1"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wunpckel")] (set_attr "type" "wmmx_wunpckel")]
) )
;; Shifts ;; Shifts
...@@ -1298,7 +1295,7 @@ ...@@ -1298,7 +1295,7 @@
" "
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "arch" "*, iwmmxt2") (set_attr "arch" "*, iwmmxt2")
(set_attr "wtype" "wror, wror")] (set_attr "type" "wmmx_wror, wmmx_wror")]
) )
(define_insn "ashr<mode>3_iwmmxt" (define_insn "ashr<mode>3_iwmmxt"
...@@ -1319,7 +1316,7 @@ ...@@ -1319,7 +1316,7 @@
" "
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "arch" "*, iwmmxt2") (set_attr "arch" "*, iwmmxt2")
(set_attr "wtype" "wsra, wsra")] (set_attr "type" "wmmx_wsra, wmmx_wsra")]
) )
(define_insn "lshr<mode>3_iwmmxt" (define_insn "lshr<mode>3_iwmmxt"
...@@ -1340,7 +1337,7 @@ ...@@ -1340,7 +1337,7 @@
" "
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "arch" "*, iwmmxt2") (set_attr "arch" "*, iwmmxt2")
(set_attr "wtype" "wsrl, wsrl")] (set_attr "type" "wmmx_wsrl, wmmx_wsrl")]
) )
(define_insn "ashl<mode>3_iwmmxt" (define_insn "ashl<mode>3_iwmmxt"
...@@ -1361,7 +1358,7 @@ ...@@ -1361,7 +1358,7 @@
" "
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "arch" "*, iwmmxt2") (set_attr "arch" "*, iwmmxt2")
(set_attr "wtype" "wsll, wsll")] (set_attr "type" "wmmx_wsll, wmmx_wsll")]
) )
(define_insn "ror<mode>3_di" (define_insn "ror<mode>3_di"
...@@ -1382,7 +1379,7 @@ ...@@ -1382,7 +1379,7 @@
" "
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "arch" "*, iwmmxt2") (set_attr "arch" "*, iwmmxt2")
(set_attr "wtype" "wror, wror")] (set_attr "type" "wmmx_wror, wmmx_wror")]
) )
(define_insn "ashr<mode>3_di" (define_insn "ashr<mode>3_di"
...@@ -1403,7 +1400,7 @@ ...@@ -1403,7 +1400,7 @@
" "
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "arch" "*, iwmmxt2") (set_attr "arch" "*, iwmmxt2")
(set_attr "wtype" "wsra, wsra")] (set_attr "type" "wmmx_wsra, wmmx_wsra")]
) )
(define_insn "lshr<mode>3_di" (define_insn "lshr<mode>3_di"
...@@ -1424,7 +1421,7 @@ ...@@ -1424,7 +1421,7 @@
" "
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "arch" "*, iwmmxt2") (set_attr "arch" "*, iwmmxt2")
(set_attr "wtype" "wsrl, wsrl")] (set_attr "type" "wmmx_wsrl, wmmx_wsrl")]
) )
(define_insn "ashl<mode>3_di" (define_insn "ashl<mode>3_di"
...@@ -1445,7 +1442,7 @@ ...@@ -1445,7 +1442,7 @@
" "
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "arch" "*, iwmmxt2") (set_attr "arch" "*, iwmmxt2")
(set_attr "wtype" "wsll, wsll")] (set_attr "type" "wmmx_wsll, wmmx_wsll")]
) )
(define_insn "iwmmxt_wmadds" (define_insn "iwmmxt_wmadds"
...@@ -1464,7 +1461,7 @@ ...@@ -1464,7 +1461,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wmadds%?\\t%0, %1, %2" "wmadds%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wmadd")] (set_attr "type" "wmmx_wmadd")]
) )
(define_insn "iwmmxt_wmaddu" (define_insn "iwmmxt_wmaddu"
...@@ -1483,7 +1480,7 @@ ...@@ -1483,7 +1480,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wmaddu%?\\t%0, %1, %2" "wmaddu%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wmadd")] (set_attr "type" "wmmx_wmadd")]
) )
(define_insn "iwmmxt_tmia" (define_insn "iwmmxt_tmia"
...@@ -1496,7 +1493,7 @@ ...@@ -1496,7 +1493,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"tmia%?\\t%0, %2, %3" "tmia%?\\t%0, %2, %3"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "tmia")] (set_attr "type" "wmmx_tmia")]
) )
(define_insn "iwmmxt_tmiaph" (define_insn "iwmmxt_tmiaph"
...@@ -1514,7 +1511,7 @@ ...@@ -1514,7 +1511,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"tmiaph%?\\t%0, %2, %3" "tmiaph%?\\t%0, %2, %3"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "tmiaph")] (set_attr "type" "wmmx_tmiaph")]
) )
(define_insn "iwmmxt_tmiabb" (define_insn "iwmmxt_tmiabb"
...@@ -1527,7 +1524,7 @@ ...@@ -1527,7 +1524,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"tmiabb%?\\t%0, %2, %3" "tmiabb%?\\t%0, %2, %3"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "tmiaxy")] (set_attr "type" "wmmx_tmiaxy")]
) )
(define_insn "iwmmxt_tmiatb" (define_insn "iwmmxt_tmiatb"
...@@ -1544,7 +1541,7 @@ ...@@ -1544,7 +1541,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"tmiatb%?\\t%0, %2, %3" "tmiatb%?\\t%0, %2, %3"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "tmiaxy")] (set_attr "type" "wmmx_tmiaxy")]
) )
(define_insn "iwmmxt_tmiabt" (define_insn "iwmmxt_tmiabt"
...@@ -1561,7 +1558,7 @@ ...@@ -1561,7 +1558,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"tmiabt%?\\t%0, %2, %3" "tmiabt%?\\t%0, %2, %3"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "tmiaxy")] (set_attr "type" "wmmx_tmiaxy")]
) )
(define_insn "iwmmxt_tmiatt" (define_insn "iwmmxt_tmiatt"
...@@ -1580,7 +1577,7 @@ ...@@ -1580,7 +1577,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"tmiatt%?\\t%0, %2, %3" "tmiatt%?\\t%0, %2, %3"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "tmiaxy")] (set_attr "type" "wmmx_tmiaxy")]
) )
(define_insn "iwmmxt_tmovmskb" (define_insn "iwmmxt_tmovmskb"
...@@ -1589,7 +1586,7 @@ ...@@ -1589,7 +1586,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"tmovmskb%?\\t%0, %1" "tmovmskb%?\\t%0, %1"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "tmovmsk")] (set_attr "type" "wmmx_tmovmsk")]
) )
(define_insn "iwmmxt_tmovmskh" (define_insn "iwmmxt_tmovmskh"
...@@ -1598,7 +1595,7 @@ ...@@ -1598,7 +1595,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"tmovmskh%?\\t%0, %1" "tmovmskh%?\\t%0, %1"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "tmovmsk")] (set_attr "type" "wmmx_tmovmsk")]
) )
(define_insn "iwmmxt_tmovmskw" (define_insn "iwmmxt_tmovmskw"
...@@ -1607,7 +1604,7 @@ ...@@ -1607,7 +1604,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"tmovmskw%?\\t%0, %1" "tmovmskw%?\\t%0, %1"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "tmovmsk")] (set_attr "type" "wmmx_tmovmsk")]
) )
(define_insn "iwmmxt_waccb" (define_insn "iwmmxt_waccb"
...@@ -1616,7 +1613,7 @@ ...@@ -1616,7 +1613,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"waccb%?\\t%0, %1" "waccb%?\\t%0, %1"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wacc")] (set_attr "type" "wmmx_wacc")]
) )
(define_insn "iwmmxt_wacch" (define_insn "iwmmxt_wacch"
...@@ -1625,7 +1622,7 @@ ...@@ -1625,7 +1622,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wacch%?\\t%0, %1" "wacch%?\\t%0, %1"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wacc")] (set_attr "type" "wmmx_wacc")]
) )
(define_insn "iwmmxt_waccw" (define_insn "iwmmxt_waccw"
...@@ -1634,7 +1631,7 @@ ...@@ -1634,7 +1631,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"waccw%?\\t%0, %1" "waccw%?\\t%0, %1"
[(set_attr "predicable" "yes") [(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 ;; use unspec here to prevent 8 * imm to be optimized by cse
...@@ -1651,7 +1648,7 @@ ...@@ -1651,7 +1648,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"waligni%?\\t%0, %1, %2, %3" "waligni%?\\t%0, %1, %2, %3"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "waligni")] (set_attr "type" "wmmx_waligni")]
) )
(define_insn "iwmmxt_walignr" (define_insn "iwmmxt_walignr"
...@@ -1666,7 +1663,7 @@ ...@@ -1666,7 +1663,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"walignr%U3%?\\t%0, %1, %2" "walignr%U3%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "walignr")] (set_attr "type" "wmmx_walignr")]
) )
(define_insn "iwmmxt_walignr0" (define_insn "iwmmxt_walignr0"
...@@ -1681,7 +1678,7 @@ ...@@ -1681,7 +1678,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"walignr0%?\\t%0, %1, %2" "walignr0%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "walignr")] (set_attr "type" "wmmx_walignr")]
) )
(define_insn "iwmmxt_walignr1" (define_insn "iwmmxt_walignr1"
...@@ -1696,7 +1693,7 @@ ...@@ -1696,7 +1693,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"walignr1%?\\t%0, %1, %2" "walignr1%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "walignr")] (set_attr "type" "wmmx_walignr")]
) )
(define_insn "iwmmxt_walignr2" (define_insn "iwmmxt_walignr2"
...@@ -1711,7 +1708,7 @@ ...@@ -1711,7 +1708,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"walignr2%?\\t%0, %1, %2" "walignr2%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "walignr")] (set_attr "type" "wmmx_walignr")]
) )
(define_insn "iwmmxt_walignr3" (define_insn "iwmmxt_walignr3"
...@@ -1726,7 +1723,7 @@ ...@@ -1726,7 +1723,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"walignr3%?\\t%0, %1, %2" "walignr3%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "walignr")] (set_attr "type" "wmmx_walignr")]
) )
(define_insn "iwmmxt_wsadb" (define_insn "iwmmxt_wsadb"
...@@ -1738,7 +1735,7 @@ ...@@ -1738,7 +1735,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wsadb%?\\t%0, %2, %3" "wsadb%?\\t%0, %2, %3"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wsad")] (set_attr "type" "wmmx_wsad")]
) )
(define_insn "iwmmxt_wsadh" (define_insn "iwmmxt_wsadh"
...@@ -1750,7 +1747,7 @@ ...@@ -1750,7 +1747,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wsadh%?\\t%0, %2, %3" "wsadh%?\\t%0, %2, %3"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wsad")] (set_attr "type" "wmmx_wsad")]
) )
(define_insn "iwmmxt_wsadbz" (define_insn "iwmmxt_wsadbz"
...@@ -1760,7 +1757,7 @@ ...@@ -1760,7 +1757,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wsadbz%?\\t%0, %1, %2" "wsadbz%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wsad")] (set_attr "type" "wmmx_wsad")]
) )
(define_insn "iwmmxt_wsadhz" (define_insn "iwmmxt_wsadhz"
...@@ -1770,7 +1767,7 @@ ...@@ -1770,7 +1767,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wsadhz%?\\t%0, %1, %2" "wsadhz%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wsad")] (set_attr "type" "wmmx_wsad")]
) )
(include "iwmmxt2.md") (include "iwmmxt2.md")
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wabs<MMX_char>%?\\t%0, %1" "wabs<MMX_char>%?\\t%0, %1"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wabs")] (set_attr "type" "wmmx_wabs")]
) )
(define_insn "iwmmxt_wabsdiffb" (define_insn "iwmmxt_wabsdiffb"
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wabsdiffb%?\\t%0, %1, %2" "wabsdiffb%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wabsdiff")] (set_attr "type" "wmmx_wabsdiff")]
) )
(define_insn "iwmmxt_wabsdiffh" (define_insn "iwmmxt_wabsdiffh"
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wabsdiffh%?\\t%0, %1, %2" "wabsdiffh%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wabsdiff")] (set_attr "type" "wmmx_wabsdiff")]
) )
(define_insn "iwmmxt_wabsdiffw" (define_insn "iwmmxt_wabsdiffw"
...@@ -63,7 +63,7 @@ ...@@ -63,7 +63,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wabsdiffw%?\\t%0, %1, %2" "wabsdiffw%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wabsdiff")] (set_attr "type" "wmmx_wabsdiff")]
) )
(define_insn "iwmmxt_waddsubhx" (define_insn "iwmmxt_waddsubhx"
...@@ -81,7 +81,7 @@ ...@@ -81,7 +81,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"waddsubhx%?\\t%0, %1, %2" "waddsubhx%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "waddsubhx")] (set_attr "type" "wmmx_waddsubhx")]
) )
(define_insn "iwmmxt_wsubaddhx" (define_insn "iwmmxt_wsubaddhx"
...@@ -99,7 +99,7 @@ ...@@ -99,7 +99,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wsubaddhx%?\\t%0, %1, %2" "wsubaddhx%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wsubaddhx")] (set_attr "type" "wmmx_wsubaddhx")]
) )
(define_insn "addc<mode>3" (define_insn "addc<mode>3"
...@@ -111,7 +111,7 @@ ...@@ -111,7 +111,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wadd<MMX_char>c%?\\t%0, %1, %2" "wadd<MMX_char>c%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wadd")] (set_attr "type" "wmmx_wadd")]
) )
(define_insn "iwmmxt_avg4" (define_insn "iwmmxt_avg4"
...@@ -143,7 +143,7 @@ ...@@ -143,7 +143,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wavg4%?\\t%0, %1, %2" "wavg4%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wavg4")] (set_attr "type" "wmmx_wavg4")]
) )
(define_insn "iwmmxt_avg4r" (define_insn "iwmmxt_avg4r"
...@@ -175,7 +175,7 @@ ...@@ -175,7 +175,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wavg4r%?\\t%0, %1, %2" "wavg4r%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wavg4")] (set_attr "type" "wmmx_wavg4")]
) )
(define_insn "iwmmxt_wmaddsx" (define_insn "iwmmxt_wmaddsx"
...@@ -194,7 +194,7 @@ ...@@ -194,7 +194,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wmaddsx%?\\t%0, %1, %2" "wmaddsx%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wmadd")] (set_attr "type" "wmmx_wmadd")]
) )
(define_insn "iwmmxt_wmaddux" (define_insn "iwmmxt_wmaddux"
...@@ -213,7 +213,7 @@ ...@@ -213,7 +213,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wmaddux%?\\t%0, %1, %2" "wmaddux%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wmadd")] (set_attr "type" "wmmx_wmadd")]
) )
(define_insn "iwmmxt_wmaddsn" (define_insn "iwmmxt_wmaddsn"
...@@ -232,7 +232,7 @@ ...@@ -232,7 +232,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wmaddsn%?\\t%0, %1, %2" "wmaddsn%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wmadd")] (set_attr "type" "wmmx_wmadd")]
) )
(define_insn "iwmmxt_wmaddun" (define_insn "iwmmxt_wmaddun"
...@@ -251,7 +251,7 @@ ...@@ -251,7 +251,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wmaddun%?\\t%0, %1, %2" "wmaddun%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wmadd")] (set_attr "type" "wmmx_wmadd")]
) )
(define_insn "iwmmxt_wmulwsm" (define_insn "iwmmxt_wmulwsm"
...@@ -265,7 +265,7 @@ ...@@ -265,7 +265,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wmulwsm%?\\t%0, %1, %2" "wmulwsm%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wmulw")] (set_attr "type" "wmmx_wmulw")]
) )
(define_insn "iwmmxt_wmulwum" (define_insn "iwmmxt_wmulwum"
...@@ -279,7 +279,7 @@ ...@@ -279,7 +279,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wmulwum%?\\t%0, %1, %2" "wmulwum%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wmulw")] (set_attr "type" "wmmx_wmulw")]
) )
(define_insn "iwmmxt_wmulsmr" (define_insn "iwmmxt_wmulsmr"
...@@ -297,7 +297,7 @@ ...@@ -297,7 +297,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wmulsmr%?\\t%0, %1, %2" "wmulsmr%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wmul")] (set_attr "type" "wmmx_wmul")]
) )
(define_insn "iwmmxt_wmulumr" (define_insn "iwmmxt_wmulumr"
...@@ -316,7 +316,7 @@ ...@@ -316,7 +316,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wmulumr%?\\t%0, %1, %2" "wmulumr%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wmul")] (set_attr "type" "wmmx_wmul")]
) )
(define_insn "iwmmxt_wmulwsmr" (define_insn "iwmmxt_wmulwsmr"
...@@ -333,7 +333,7 @@ ...@@ -333,7 +333,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wmulwsmr%?\\t%0, %1, %2" "wmulwsmr%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wmul")] (set_attr "type" "wmmx_wmul")]
) )
(define_insn "iwmmxt_wmulwumr" (define_insn "iwmmxt_wmulwumr"
...@@ -350,7 +350,7 @@ ...@@ -350,7 +350,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wmulwumr%?\\t%0, %1, %2" "wmulwumr%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wmulw")] (set_attr "type" "wmmx_wmulw")]
) )
(define_insn "iwmmxt_wmulwl" (define_insn "iwmmxt_wmulwl"
...@@ -361,7 +361,7 @@ ...@@ -361,7 +361,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wmulwl%?\\t%0, %1, %2" "wmulwl%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wmulw")] (set_attr "type" "wmmx_wmulw")]
) )
(define_insn "iwmmxt_wqmulm" (define_insn "iwmmxt_wqmulm"
...@@ -371,7 +371,7 @@ ...@@ -371,7 +371,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wqmulm%?\\t%0, %1, %2" "wqmulm%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wqmulm")] (set_attr "type" "wmmx_wqmulm")]
) )
(define_insn "iwmmxt_wqmulwm" (define_insn "iwmmxt_wqmulwm"
...@@ -381,7 +381,7 @@ ...@@ -381,7 +381,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wqmulwm%?\\t%0, %1, %2" "wqmulwm%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wqmulwm")] (set_attr "type" "wmmx_wqmulwm")]
) )
(define_insn "iwmmxt_wqmulmr" (define_insn "iwmmxt_wqmulmr"
...@@ -391,7 +391,7 @@ ...@@ -391,7 +391,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wqmulmr%?\\t%0, %1, %2" "wqmulmr%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wqmulm")] (set_attr "type" "wmmx_wqmulm")]
) )
(define_insn "iwmmxt_wqmulwmr" (define_insn "iwmmxt_wqmulwmr"
...@@ -401,7 +401,7 @@ ...@@ -401,7 +401,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wqmulwmr%?\\t%0, %1, %2" "wqmulwmr%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wqmulwm")] (set_attr "type" "wmmx_wqmulwm")]
) )
(define_insn "iwmmxt_waddbhusm" (define_insn "iwmmxt_waddbhusm"
...@@ -417,7 +417,7 @@ ...@@ -417,7 +417,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"waddbhusm%?\\t%0, %1, %2" "waddbhusm%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "waddbhus")] (set_attr "type" "wmmx_waddbhus")]
) )
(define_insn "iwmmxt_waddbhusl" (define_insn "iwmmxt_waddbhusl"
...@@ -433,7 +433,7 @@ ...@@ -433,7 +433,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"waddbhusl%?\\t%0, %1, %2" "waddbhusl%?\\t%0, %1, %2"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "waddbhus")] (set_attr "type" "wmmx_waddbhus")]
) )
(define_insn "iwmmxt_wqmiabb" (define_insn "iwmmxt_wqmiabb"
...@@ -446,7 +446,7 @@ ...@@ -446,7 +446,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wqmiabb%?\\t%0, %2, %3" "wqmiabb%?\\t%0, %2, %3"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wqmiaxy")] (set_attr "type" "wmmx_wqmiaxy")]
) )
(define_insn "iwmmxt_wqmiabt" (define_insn "iwmmxt_wqmiabt"
...@@ -459,7 +459,7 @@ ...@@ -459,7 +459,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wqmiabt%?\\t%0, %2, %3" "wqmiabt%?\\t%0, %2, %3"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wqmiaxy")] (set_attr "type" "wmmx_wqmiaxy")]
) )
(define_insn "iwmmxt_wqmiatb" (define_insn "iwmmxt_wqmiatb"
...@@ -472,7 +472,7 @@ ...@@ -472,7 +472,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wqmiatb%?\\t%0, %2, %3" "wqmiatb%?\\t%0, %2, %3"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wqmiaxy")] (set_attr "type" "wmmx_wqmiaxy")]
) )
(define_insn "iwmmxt_wqmiatt" (define_insn "iwmmxt_wqmiatt"
...@@ -485,7 +485,7 @@ ...@@ -485,7 +485,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wqmiatt%?\\t%0, %2, %3" "wqmiatt%?\\t%0, %2, %3"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wqmiaxy")] (set_attr "type" "wmmx_wqmiaxy")]
) )
(define_insn "iwmmxt_wqmiabbn" (define_insn "iwmmxt_wqmiabbn"
...@@ -498,7 +498,7 @@ ...@@ -498,7 +498,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wqmiabbn%?\\t%0, %2, %3" "wqmiabbn%?\\t%0, %2, %3"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wqmiaxy")] (set_attr "type" "wmmx_wqmiaxy")]
) )
(define_insn "iwmmxt_wqmiabtn" (define_insn "iwmmxt_wqmiabtn"
...@@ -511,7 +511,7 @@ ...@@ -511,7 +511,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wqmiabtn%?\\t%0, %2, %3" "wqmiabtn%?\\t%0, %2, %3"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wqmiaxy")] (set_attr "type" "wmmx_wqmiaxy")]
) )
(define_insn "iwmmxt_wqmiatbn" (define_insn "iwmmxt_wqmiatbn"
...@@ -524,7 +524,7 @@ ...@@ -524,7 +524,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wqmiatbn%?\\t%0, %2, %3" "wqmiatbn%?\\t%0, %2, %3"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wqmiaxy")] (set_attr "type" "wmmx_wqmiaxy")]
) )
(define_insn "iwmmxt_wqmiattn" (define_insn "iwmmxt_wqmiattn"
...@@ -537,7 +537,7 @@ ...@@ -537,7 +537,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wqmiattn%?\\t%0, %2, %3" "wqmiattn%?\\t%0, %2, %3"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wqmiaxy")] (set_attr "type" "wmmx_wqmiaxy")]
) )
(define_insn "iwmmxt_wmiabb" (define_insn "iwmmxt_wmiabb"
...@@ -561,7 +561,7 @@ ...@@ -561,7 +561,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wmiabb%?\\t%0, %2, %3" "wmiabb%?\\t%0, %2, %3"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wmiaxy")] (set_attr "type" "wmmx_wmiaxy")]
) )
(define_insn "iwmmxt_wmiabt" (define_insn "iwmmxt_wmiabt"
...@@ -585,7 +585,7 @@ ...@@ -585,7 +585,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wmiabt%?\\t%0, %2, %3" "wmiabt%?\\t%0, %2, %3"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wmiaxy")] (set_attr "type" "wmmx_wmiaxy")]
) )
(define_insn "iwmmxt_wmiatb" (define_insn "iwmmxt_wmiatb"
...@@ -609,7 +609,7 @@ ...@@ -609,7 +609,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wmiatb%?\\t%0, %2, %3" "wmiatb%?\\t%0, %2, %3"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wmiaxy")] (set_attr "type" "wmmx_wmiaxy")]
) )
(define_insn "iwmmxt_wmiatt" (define_insn "iwmmxt_wmiatt"
...@@ -633,7 +633,7 @@ ...@@ -633,7 +633,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wmiatt%?\\t%0, %2, %3" "wmiatt%?\\t%0, %2, %3"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wmiaxy")] (set_attr "type" "wmmx_wmiaxy")]
) )
(define_insn "iwmmxt_wmiabbn" (define_insn "iwmmxt_wmiabbn"
...@@ -657,7 +657,7 @@ ...@@ -657,7 +657,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wmiabbn%?\\t%0, %2, %3" "wmiabbn%?\\t%0, %2, %3"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wmiaxy")] (set_attr "type" "wmmx_wmiaxy")]
) )
(define_insn "iwmmxt_wmiabtn" (define_insn "iwmmxt_wmiabtn"
...@@ -681,7 +681,7 @@ ...@@ -681,7 +681,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wmiabtn%?\\t%0, %2, %3" "wmiabtn%?\\t%0, %2, %3"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wmiaxy")] (set_attr "type" "wmmx_wmiaxy")]
) )
(define_insn "iwmmxt_wmiatbn" (define_insn "iwmmxt_wmiatbn"
...@@ -705,7 +705,7 @@ ...@@ -705,7 +705,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wmiatbn%?\\t%0, %2, %3" "wmiatbn%?\\t%0, %2, %3"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wmiaxy")] (set_attr "type" "wmmx_wmiaxy")]
) )
(define_insn "iwmmxt_wmiattn" (define_insn "iwmmxt_wmiattn"
...@@ -729,7 +729,7 @@ ...@@ -729,7 +729,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wmiattn%?\\t%0, %2, %3" "wmiattn%?\\t%0, %2, %3"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wmiaxy")] (set_attr "type" "wmmx_wmiaxy")]
) )
(define_insn "iwmmxt_wmiawbb" (define_insn "iwmmxt_wmiawbb"
...@@ -742,7 +742,7 @@ ...@@ -742,7 +742,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wmiawbb%?\\t%0, %2, %3" "wmiawbb%?\\t%0, %2, %3"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wmiawxy")] (set_attr "type" "wmmx_wmiawxy")]
) )
(define_insn "iwmmxt_wmiawbt" (define_insn "iwmmxt_wmiawbt"
...@@ -755,7 +755,7 @@ ...@@ -755,7 +755,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wmiawbt%?\\t%0, %2, %3" "wmiawbt%?\\t%0, %2, %3"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wmiawxy")] (set_attr "type" "wmmx_wmiawxy")]
) )
(define_insn "iwmmxt_wmiawtb" (define_insn "iwmmxt_wmiawtb"
...@@ -768,7 +768,7 @@ ...@@ -768,7 +768,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wmiawtb%?\\t%0, %2, %3" "wmiawtb%?\\t%0, %2, %3"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wmiawxy")] (set_attr "type" "wmmx_wmiawxy")]
) )
(define_insn "iwmmxt_wmiawtt" (define_insn "iwmmxt_wmiawtt"
...@@ -781,7 +781,7 @@ ...@@ -781,7 +781,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wmiawtt%?\\t%0, %2, %3" "wmiawtt%?\\t%0, %2, %3"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wmiawxy")] (set_attr "type" "wmmx_wmiawxy")]
) )
(define_insn "iwmmxt_wmiawbbn" (define_insn "iwmmxt_wmiawbbn"
...@@ -794,7 +794,7 @@ ...@@ -794,7 +794,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wmiawbbn%?\\t%0, %2, %3" "wmiawbbn%?\\t%0, %2, %3"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wmiawxy")] (set_attr "type" "wmmx_wmiawxy")]
) )
(define_insn "iwmmxt_wmiawbtn" (define_insn "iwmmxt_wmiawbtn"
...@@ -807,7 +807,7 @@ ...@@ -807,7 +807,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wmiawbtn%?\\t%0, %2, %3" "wmiawbtn%?\\t%0, %2, %3"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wmiawxy")] (set_attr "type" "wmmx_wmiawxy")]
) )
(define_insn "iwmmxt_wmiawtbn" (define_insn "iwmmxt_wmiawtbn"
...@@ -820,7 +820,7 @@ ...@@ -820,7 +820,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wmiawtbn%?\\t%0, %2, %3" "wmiawtbn%?\\t%0, %2, %3"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wmiawxy")] (set_attr "type" "wmmx_wmiawxy")]
) )
(define_insn "iwmmxt_wmiawttn" (define_insn "iwmmxt_wmiawttn"
...@@ -833,7 +833,7 @@ ...@@ -833,7 +833,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wmiawttn%?\\t%0, %2, %3" "wmiawttn%?\\t%0, %2, %3"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wmiawxy")] (set_attr "type" "wmmx_wmiawxy")]
) )
(define_insn "iwmmxt_wmerge" (define_insn "iwmmxt_wmerge"
...@@ -858,7 +858,7 @@ ...@@ -858,7 +858,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"wmerge%?\\t%0, %1, %2, %3" "wmerge%?\\t%0, %1, %2, %3"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "wmerge")] (set_attr "type" "wmmx_wmerge")]
) )
(define_insn "iwmmxt_tandc<mode>3" (define_insn "iwmmxt_tandc<mode>3"
...@@ -868,7 +868,7 @@ ...@@ -868,7 +868,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"tandc<MMX_char>%?\\t r15" "tandc<MMX_char>%?\\t r15"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "tandc")] (set_attr "type" "wmmx_tandc")]
) )
(define_insn "iwmmxt_torc<mode>3" (define_insn "iwmmxt_torc<mode>3"
...@@ -878,7 +878,7 @@ ...@@ -878,7 +878,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"torc<MMX_char>%?\\t r15" "torc<MMX_char>%?\\t r15"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "torc")] (set_attr "type" "wmmx_torc")]
) )
(define_insn "iwmmxt_torvsc<mode>3" (define_insn "iwmmxt_torvsc<mode>3"
...@@ -888,7 +888,7 @@ ...@@ -888,7 +888,7 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"torvsc<MMX_char>%?\\t r15" "torvsc<MMX_char>%?\\t r15"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "torvsc")] (set_attr "type" "wmmx_torvsc")]
) )
(define_insn "iwmmxt_textrc<mode>3" (define_insn "iwmmxt_textrc<mode>3"
...@@ -899,5 +899,5 @@ ...@@ -899,5 +899,5 @@
"TARGET_REALLY_IWMMXT" "TARGET_REALLY_IWMMXT"
"textrc<MMX_char>%?\\t r15, %0" "textrc<MMX_char>%?\\t r15, %0"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "wtype" "textrc")] (set_attr "type" "wmmx_textrc")]
) )
...@@ -63,52 +63,62 @@ ...@@ -63,52 +63,62 @@
;; An attribute appended to instructions for classification ;; An attribute appended to instructions for classification
(define_attr "wmmxt_shift" "yes,no" (define_attr "wmmxt_shift" "yes,no"
(if_then_else (eq_attr "wtype" "wror, wsll, wsra, wsrl") (if_then_else (eq_attr "type" "wmmx_wror, wmmx_wsll, wmmx_wsra, wmmx_wsrl")
(const_string "yes") (const_string "no")) (const_string "yes") (const_string "no"))
) )
(define_attr "wmmxt_pack" "yes,no" (define_attr "wmmxt_pack" "yes,no"
(if_then_else (eq_attr "wtype" "waligni, walignr, wmerge, wpack, wshufh, wunpckeh, wunpckih, wunpckel, wunpckil") (if_then_else (eq_attr "type" "wmmx_waligni, wmmx_walignr, wmmx_wmerge,\
wmmx_wpack, wmmx_wshufh, wmmx_wunpckeh,\
wmmx_wunpckih, wmmx_wunpckel, wmmx_wunpckil")
(const_string "yes") (const_string "no")) (const_string "yes") (const_string "no"))
) )
(define_attr "wmmxt_mult_c1" "yes,no" (define_attr "wmmxt_mult_c1" "yes,no"
(if_then_else (eq_attr "wtype" "wmac, wmadd, wmiaxy, wmiawxy, wmulw, wqmiaxy, wqmulwm") (if_then_else (eq_attr "type" "wmmx_wmac, wmmx_wmadd, wmmx_wmiaxy,\
wmmx_wmiawxy, wmmx_wmulw, wmmx_wqmiaxy,\
wmmx_wqmulwm")
(const_string "yes") (const_string "no")) (const_string "yes") (const_string "no"))
) )
(define_attr "wmmxt_mult_c2" "yes,no" (define_attr "wmmxt_mult_c2" "yes,no"
(if_then_else (eq_attr "wtype" "wmul, wqmulm") (if_then_else (eq_attr "type" "wmmx_wmul, wmmx_wqmulm")
(const_string "yes") (const_string "no")) (const_string "yes") (const_string "no"))
) )
(define_attr "wmmxt_alu_c1" "yes,no" (define_attr "wmmxt_alu_c1" "yes,no"
(if_then_else (eq_attr "wtype" "wabs, wabsdiff, wand, wandn, wmov, wor, wxor") (if_then_else (eq_attr "type" "wmmx_wabs, wmmx_wabsdiff, wmmx_wand,\
wmmx_wandn, wmmx_wmov, wmmx_wor, wmmx_wxor")
(const_string "yes") (const_string "no")) (const_string "yes") (const_string "no"))
) )
(define_attr "wmmxt_alu_c2" "yes,no" (define_attr "wmmxt_alu_c2" "yes,no"
(if_then_else (eq_attr "wtype" "wacc, wadd, waddsubhx, wavg2, wavg4, wcmpeq, wcmpgt, wmax, wmin, wsub, waddbhus, wsubaddhx") (if_then_else (eq_attr "type" "wmmx_wacc, wmmx_wadd, wmmx_waddsubhx,\
wmmx_wavg2, wmmx_wavg4, wmmx_wcmpeq,\
wmmx_wcmpgt, wmmx_wmax, wmmx_wmin,\
wmmx_wsub, wmmx_waddbhus, wmmx_wsubaddhx")
(const_string "yes") (const_string "no")) (const_string "yes") (const_string "no"))
) )
(define_attr "wmmxt_alu_c3" "yes,no" (define_attr "wmmxt_alu_c3" "yes,no"
(if_then_else (eq_attr "wtype" "wsad") (if_then_else (eq_attr "type" "wmmx_wsad")
(const_string "yes") (const_string "no")) (const_string "yes") (const_string "no"))
) )
(define_attr "wmmxt_transfer_c1" "yes,no" (define_attr "wmmxt_transfer_c1" "yes,no"
(if_then_else (eq_attr "wtype" "tbcst, tinsr, tmcr, tmcrr") (if_then_else (eq_attr "type" "wmmx_tbcst, wmmx_tinsr,\
wmmx_tmcr, wmmx_tmcrr")
(const_string "yes") (const_string "no")) (const_string "yes") (const_string "no"))
) )
(define_attr "wmmxt_transfer_c2" "yes,no" (define_attr "wmmxt_transfer_c2" "yes,no"
(if_then_else (eq_attr "wtype" "textrm, tmovmsk, tmrc, tmrrc") (if_then_else (eq_attr "type" "wmmx_textrm, wmmx_tmovmsk,\
wmmx_tmrc, wmmx_tmrrc")
(const_string "yes") (const_string "no")) (const_string "yes") (const_string "no"))
) )
(define_attr "wmmxt_transfer_c3" "yes,no" (define_attr "wmmxt_transfer_c3" "yes,no"
(if_then_else (eq_attr "wtype" "tmia, tmiaph, tmiaxy") (if_then_else (eq_attr "type" "wmmx_tmia, wmmx_tmiaph, wmmx_tmiaxy")
(const_string "yes") (const_string "no")) (const_string "yes") (const_string "no"))
) )
...@@ -169,11 +179,11 @@ ...@@ -169,11 +179,11 @@
(define_insn_reservation "marvell_f_iwmmxt_wstr" 0 (define_insn_reservation "marvell_f_iwmmxt_wstr" 0
(and (eq_attr "marvell_f_iwmmxt" "yes") (and (eq_attr "marvell_f_iwmmxt" "yes")
(eq_attr "wtype" "wstr")) (eq_attr "type" "wmmx_wstr"))
"mf_iwmmxt_pipeline") "mf_iwmmxt_pipeline")
;There is a forwarding path from MW stage ;There is a forwarding path from MW stage
(define_insn_reservation "marvell_f_iwmmxt_wldr" 5 (define_insn_reservation "marvell_f_iwmmxt_wldr" 5
(and (eq_attr "marvell_f_iwmmxt" "yes") (and (eq_attr "marvell_f_iwmmxt" "yes")
(eq_attr "wtype" "wldr")) (eq_attr "type" "wmmx_wldr"))
"mf_iwmmxt_pipeline") "mf_iwmmxt_pipeline")
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment