This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [altivec] tidy up assembler code


Sorry for the delay (blame it on xmas).

This is OK.  Thank you.

I've committed the following to mainline.  It needed some massaging
wrt attributes (vecsimple vs vecperm, etc).

2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
  

	Segher Boessenkool  <segher@koffie.nl>

        * config/rs6000/altivec.md: Remove spaces from assembler
        instruction argument lists.

Index: config/rs6000/altivec.md
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/rs6000/altivec.md,v
retrieving revision 1.4
diff -c -p -r1.4 altivec.md
*** config/rs6000/altivec.md	23 Dec 2002 22:08:57 -0000	1.4
--- config/rs6000/altivec.md	7 Jan 2003 02:49:55 -0000
***************
*** 529,535 ****
  		      (match_operand:V16QI 2 "register_operand" "v")
                        (match_operand:V4SI 3 "register_operand" "v")] 65))]
    "TARGET_ALTIVEC"
!   "vmsumubm %0, %1, %2, %3"
    [(set_attr "type" "veccomplex")])
  
  (define_insn "altivec_vmsummbm"
--- 529,535 ----
  		      (match_operand:V16QI 2 "register_operand" "v")
                        (match_operand:V4SI 3 "register_operand" "v")] 65))]
    "TARGET_ALTIVEC"
!   "vmsumubm %0,%1,%2,%3"
    [(set_attr "type" "veccomplex")])
  
  (define_insn "altivec_vmsummbm"
***************
*** 538,544 ****
  		      (match_operand:V16QI 2 "register_operand" "v")
                        (match_operand:V4SI 3 "register_operand" "v")] 66))]
    "TARGET_ALTIVEC"
!   "vmsumubm %0, %1, %2, %3"
    [(set_attr "type" "veccomplex")])
  
  (define_insn "altivec_vmsumuhm"
--- 538,544 ----
  		      (match_operand:V16QI 2 "register_operand" "v")
                        (match_operand:V4SI 3 "register_operand" "v")] 66))]
    "TARGET_ALTIVEC"
!   "vmsumubm %0,%1,%2,%3"
    [(set_attr "type" "veccomplex")])
  
  (define_insn "altivec_vmsumuhm"
***************
*** 547,553 ****
  		      (match_operand:V8HI 2 "register_operand" "v")
                        (match_operand:V4SI 3 "register_operand" "v")] 67))]
    "TARGET_ALTIVEC"
!   "vmsumuhm %0, %1, %2, %3"
    [(set_attr "type" "veccomplex")])
  
  (define_insn "altivec_vmsumshm"
--- 547,553 ----
  		      (match_operand:V8HI 2 "register_operand" "v")
                        (match_operand:V4SI 3 "register_operand" "v")] 67))]
    "TARGET_ALTIVEC"
!   "vmsumuhm %0,%1,%2,%3"
    [(set_attr "type" "veccomplex")])
  
  (define_insn "altivec_vmsumshm"
***************
*** 556,562 ****
  		      (match_operand:V8HI 2 "register_operand" "v")
                        (match_operand:V4SI 3 "register_operand" "v")] 68))]
    "TARGET_ALTIVEC"
!   "vmsumshm %0, %1, %2, %3"
    [(set_attr "type" "veccomplex")])
  
  (define_insn "altivec_vmsumuhs"
--- 556,562 ----
  		      (match_operand:V8HI 2 "register_operand" "v")
                        (match_operand:V4SI 3 "register_operand" "v")] 68))]
    "TARGET_ALTIVEC"
!   "vmsumshm %0,%1,%2,%3"
    [(set_attr "type" "veccomplex")])
  
  (define_insn "altivec_vmsumuhs"
***************
*** 566,572 ****
                        (match_operand:V4SI 3 "register_operand" "v")] 69))
     (set (reg:SI 110) (unspec:SI [(const_int 0)] 213))]
    "TARGET_ALTIVEC"
!   "vmsumuhs %0, %1, %2, %3"
    [(set_attr "type" "veccomplex")])
  
  (define_insn "altivec_vmsumshs"
--- 566,572 ----
                        (match_operand:V4SI 3 "register_operand" "v")] 69))
     (set (reg:SI 110) (unspec:SI [(const_int 0)] 213))]
    "TARGET_ALTIVEC"
!   "vmsumuhs %0,%1,%2,%3"
    [(set_attr "type" "veccomplex")])
  
  (define_insn "altivec_vmsumshs"
***************
*** 576,582 ****
                        (match_operand:V4SI 3 "register_operand" "v")] 70))
     (set (reg:SI 110) (unspec:SI [(const_int 0)] 213))]
    "TARGET_ALTIVEC"
!   "vmsumshs %0, %1, %2, %3"
    [(set_attr "type" "veccomplex")])
  
  (define_insn "umaxv16qi3"
--- 576,582 ----
                        (match_operand:V4SI 3 "register_operand" "v")] 70))
     (set (reg:SI 110) (unspec:SI [(const_int 0)] 213))]
    "TARGET_ALTIVEC"
!   "vmsumshs %0,%1,%2,%3"
    [(set_attr "type" "veccomplex")])
  
  (define_insn "umaxv16qi3"
***************
*** 642,648 ****
                        (match_operand:V8HI 3 "register_operand" "v")] 71))
     (set (reg:SI 110) (unspec:SI [(const_int 0)] 213))]
    "TARGET_ALTIVEC"
!   "vmhaddshs %0, %1, %2, %3"
    [(set_attr "type" "veccomplex")])
  (define_insn "altivec_vmhraddshs"
    [(set (match_operand:V8HI 0 "register_operand" "=v")
--- 642,648 ----
                        (match_operand:V8HI 3 "register_operand" "v")] 71))
     (set (reg:SI 110) (unspec:SI [(const_int 0)] 213))]
    "TARGET_ALTIVEC"
!   "vmhaddshs %0,%1,%2,%3"
    [(set_attr "type" "veccomplex")])
  (define_insn "altivec_vmhraddshs"
    [(set (match_operand:V8HI 0 "register_operand" "=v")
***************
*** 651,657 ****
                        (match_operand:V8HI 3 "register_operand" "v")] 72))
     (set (reg:SI 110) (unspec:SI [(const_int 0)] 213))]
    "TARGET_ALTIVEC"
!   "vmhraddshs %0, %1, %2, %3"
    [(set_attr "type" "veccomplex")])
  (define_insn "altivec_vmladduhm"
    [(set (match_operand:V8HI 0 "register_operand" "=v")
--- 651,657 ----
                        (match_operand:V8HI 3 "register_operand" "v")] 72))
     (set (reg:SI 110) (unspec:SI [(const_int 0)] 213))]
    "TARGET_ALTIVEC"
!   "vmhraddshs %0,%1,%2,%3"
    [(set_attr "type" "veccomplex")])
  (define_insn "altivec_vmladduhm"
    [(set (match_operand:V8HI 0 "register_operand" "=v")
***************
*** 659,665 ****
  		      (match_operand:V8HI 2 "register_operand" "v")
                        (match_operand:V8HI 3 "register_operand" "v")] 73))]
    "TARGET_ALTIVEC"
!   "vmladduhm %0, %1, %2, %3"
    [(set_attr "type" "veccomplex")])
  
  (define_insn "altivec_vmrghb"
--- 659,665 ----
  		      (match_operand:V8HI 2 "register_operand" "v")
                        (match_operand:V8HI 3 "register_operand" "v")] 73))]
    "TARGET_ALTIVEC"
!   "vmladduhm %0,%1,%2,%3"
    [(set_attr "type" "veccomplex")])
  
  (define_insn "altivec_vmrghb"
***************
*** 1315,1349 ****
    [(set (match_operand:V16QI 0 "register_operand" "=v")
          (unspec:V16QI [(match_operand:QI 1 "immediate_operand" "i")] 139))]
    "TARGET_ALTIVEC"
!   "vspltisb %0, %1"
    [(set_attr "type" "vecperm")])
  
  (define_insn "altivec_vspltish"
    [(set (match_operand:V8HI 0 "register_operand" "=v")
          (unspec:V8HI [(match_operand:QI 1 "immediate_operand" "i")] 140))]
    "TARGET_ALTIVEC"
!   "vspltish %0, %1"
    [(set_attr "type" "vecperm")])
  
  (define_insn "altivec_vspltisw"
    [(set (match_operand:V4SI 0 "register_operand" "=v")
          (unspec:V4SI [(match_operand:QI 1 "immediate_operand" "i")] 141))]
    "TARGET_ALTIVEC"
!   "vspltisw %0, %1"
    [(set_attr "type" "vecperm")])
  
  (define_insn "altivec_vspltisw_v4sf"
    [(set (match_operand:V4SF 0 "register_operand" "=v")
          (unspec:V4SF [(match_operand:QI 1 "immediate_operand" "i")] 142))]
    "TARGET_ALTIVEC"
!   "vspltisw %0, %1"
    [(set_attr "type" "vecperm")])
  
  (define_insn "ftruncv4sf2"
    [(set (match_operand:V4SF 0 "register_operand" "=v")
    	(fix:V4SF (match_operand:V4SF 1 "register_operand" "v")))]
    "TARGET_ALTIVEC"
!   "vrfiz %0, %1"
    [(set_attr "type" "vecfloat")])
  
  (define_insn "altivec_vperm_4si"
--- 1315,1349 ----
    [(set (match_operand:V16QI 0 "register_operand" "=v")
          (unspec:V16QI [(match_operand:QI 1 "immediate_operand" "i")] 139))]
    "TARGET_ALTIVEC"
!   "vspltisb %0,%1"
    [(set_attr "type" "vecperm")])
  
  (define_insn "altivec_vspltish"
    [(set (match_operand:V8HI 0 "register_operand" "=v")
          (unspec:V8HI [(match_operand:QI 1 "immediate_operand" "i")] 140))]
    "TARGET_ALTIVEC"
!   "vspltish %0,%1"
    [(set_attr "type" "vecperm")])
  
  (define_insn "altivec_vspltisw"
    [(set (match_operand:V4SI 0 "register_operand" "=v")
          (unspec:V4SI [(match_operand:QI 1 "immediate_operand" "i")] 141))]
    "TARGET_ALTIVEC"
!   "vspltisw %0,%1"
    [(set_attr "type" "vecperm")])
  
  (define_insn "altivec_vspltisw_v4sf"
    [(set (match_operand:V4SF 0 "register_operand" "=v")
          (unspec:V4SF [(match_operand:QI 1 "immediate_operand" "i")] 142))]
    "TARGET_ALTIVEC"
!   "vspltisw %0,%1"
    [(set_attr "type" "vecperm")])
  
  (define_insn "ftruncv4sf2"
    [(set (match_operand:V4SF 0 "register_operand" "=v")
    	(fix:V4SF (match_operand:V4SF 1 "register_operand" "v")))]
    "TARGET_ALTIVEC"
!   "vrfiz %0,%1"
    [(set_attr "type" "vecfloat")])
  
  (define_insn "altivec_vperm_4si"
***************
*** 1386,1406 ****
    [(set (match_operand:V4SF 0 "register_operand" "=v")
          (unspec:V4SF [(match_operand:V4SF 1 "register_operand" "v")] 148))]
    "TARGET_ALTIVEC"
!   "vrfip %0, %1"
    [(set_attr "type" "vecfloat")])
  
  (define_insn "altivec_vrfin"
    [(set (match_operand:V4SF 0 "register_operand" "=v")
          (unspec:V4SF [(match_operand:V4SF 1 "register_operand" "v")] 149))]
    "TARGET_ALTIVEC"
!   "vrfin %0, %1"
    [(set_attr "type" "vecfloat")])
  
  (define_insn "altivec_vrfim"
    [(set (match_operand:V4SF 0 "register_operand" "=v")
          (unspec:V4SF [(match_operand:V4SF 1 "register_operand" "v")] 150))]
    "TARGET_ALTIVEC"
!   "vrfim %0, %1"
    [(set_attr "type" "vecfloat")])
  
  (define_insn "altivec_vcfux"
--- 1386,1406 ----
    [(set (match_operand:V4SF 0 "register_operand" "=v")
          (unspec:V4SF [(match_operand:V4SF 1 "register_operand" "v")] 148))]
    "TARGET_ALTIVEC"
!   "vrfip %0,%1"
    [(set_attr "type" "vecfloat")])
  
  (define_insn "altivec_vrfin"
    [(set (match_operand:V4SF 0 "register_operand" "=v")
          (unspec:V4SF [(match_operand:V4SF 1 "register_operand" "v")] 149))]
    "TARGET_ALTIVEC"
!   "vrfin %0,%1"
    [(set_attr "type" "vecfloat")])
  
  (define_insn "altivec_vrfim"
    [(set (match_operand:V4SF 0 "register_operand" "=v")
          (unspec:V4SF [(match_operand:V4SF 1 "register_operand" "v")] 150))]
    "TARGET_ALTIVEC"
!   "vrfim %0,%1"
    [(set_attr "type" "vecfloat")])
  
  (define_insn "altivec_vcfux"
***************
*** 1408,1414 ****
          (unspec:V4SF [(match_operand:V4SI 1 "register_operand" "v")
  	              (match_operand:QI 2 "immediate_operand" "i")] 151))]
    "TARGET_ALTIVEC"
!   "vcfux %0, %1, %2"
    [(set_attr "type" "vecfloat")])
  
  (define_insn "altivec_vcfsx"
--- 1408,1414 ----
          (unspec:V4SF [(match_operand:V4SI 1 "register_operand" "v")
  	              (match_operand:QI 2 "immediate_operand" "i")] 151))]
    "TARGET_ALTIVEC"
!   "vcfux %0,%1,%2"
    [(set_attr "type" "vecfloat")])
  
  (define_insn "altivec_vcfsx"
***************
*** 1416,1422 ****
          (unspec:V4SF [(match_operand:V4SI 1 "register_operand" "v")
  	              (match_operand:QI 2 "immediate_operand" "i")] 152))]
    "TARGET_ALTIVEC"
!   "vcfsx %0, %1, %2"
    [(set_attr "type" "vecfloat")])
  
  (define_insn "altivec_vctuxs"
--- 1416,1422 ----
          (unspec:V4SF [(match_operand:V4SI 1 "register_operand" "v")
  	              (match_operand:QI 2 "immediate_operand" "i")] 152))]
    "TARGET_ALTIVEC"
!   "vcfsx %0,%1,%2"
    [(set_attr "type" "vecfloat")])
  
  (define_insn "altivec_vctuxs"
***************
*** 1425,1431 ****
                        (match_operand:QI 2 "immediate_operand" "i")] 153))
     (set (reg:SI 110) (unspec:SI [(const_int 0)] 213))]
    "TARGET_ALTIVEC"
!   "vctuxs %0, %1, %2"
    [(set_attr "type" "vecfloat")])
  
  (define_insn "altivec_vctsxs"
--- 1425,1431 ----
                        (match_operand:QI 2 "immediate_operand" "i")] 153))
     (set (reg:SI 110) (unspec:SI [(const_int 0)] 213))]
    "TARGET_ALTIVEC"
!   "vctuxs %0,%1,%2"
    [(set_attr "type" "vecfloat")])
  
  (define_insn "altivec_vctsxs"
***************
*** 1434,1468 ****
                        (match_operand:QI 2 "immediate_operand" "i")] 154))
     (set (reg:SI 110) (unspec:SI [(const_int 0)] 213))]
    "TARGET_ALTIVEC"
!   "vctsxs %0, %1, %2"
    [(set_attr "type" "vecfloat")])
  
  (define_insn "altivec_vlogefp"
    [(set (match_operand:V4SF 0 "register_operand" "=v")
          (unspec:V4SF [(match_operand:V4SF 1 "register_operand" "v")] 155))]
    "TARGET_ALTIVEC"
!   "vlogefp %0, %1"
    [(set_attr "type" "vecfloat")])
  
  (define_insn "altivec_vexptefp"
    [(set (match_operand:V4SF 0 "register_operand" "=v")
          (unspec:V4SF [(match_operand:V4SF 1 "register_operand" "v")] 156))]
    "TARGET_ALTIVEC"
!   "vexptefp %0, %1"
    [(set_attr "type" "vecfloat")])
  
  (define_insn "altivec_vrsqrtefp"
    [(set (match_operand:V4SF 0 "register_operand" "=v")
          (unspec:V4SF [(match_operand:V4SF 1 "register_operand" "v")] 157))]
    "TARGET_ALTIVEC"
!   "vrsqrtefp %0, %1"
    [(set_attr "type" "vecfloat")])
  
  (define_insn "altivec_vrefp"
    [(set (match_operand:V4SF 0 "register_operand" "=v")
          (unspec:V4SF [(match_operand:V4SF 1 "register_operand" "v")] 158))]
    "TARGET_ALTIVEC"
!   "vrefp %0, %1"
    [(set_attr "type" "vecfloat")])
  
  (define_insn "altivec_vsel_4si"
--- 1434,1468 ----
                        (match_operand:QI 2 "immediate_operand" "i")] 154))
     (set (reg:SI 110) (unspec:SI [(const_int 0)] 213))]
    "TARGET_ALTIVEC"
!   "vctsxs %0,%1,%2"
    [(set_attr "type" "vecfloat")])
  
  (define_insn "altivec_vlogefp"
    [(set (match_operand:V4SF 0 "register_operand" "=v")
          (unspec:V4SF [(match_operand:V4SF 1 "register_operand" "v")] 155))]
    "TARGET_ALTIVEC"
!   "vlogefp %0,%1"
    [(set_attr "type" "vecfloat")])
  
  (define_insn "altivec_vexptefp"
    [(set (match_operand:V4SF 0 "register_operand" "=v")
          (unspec:V4SF [(match_operand:V4SF 1 "register_operand" "v")] 156))]
    "TARGET_ALTIVEC"
!   "vexptefp %0,%1"
    [(set_attr "type" "vecfloat")])
  
  (define_insn "altivec_vrsqrtefp"
    [(set (match_operand:V4SF 0 "register_operand" "=v")
          (unspec:V4SF [(match_operand:V4SF 1 "register_operand" "v")] 157))]
    "TARGET_ALTIVEC"
!   "vrsqrtefp %0,%1"
    [(set_attr "type" "vecfloat")])
  
  (define_insn "altivec_vrefp"
    [(set (match_operand:V4SF 0 "register_operand" "=v")
          (unspec:V4SF [(match_operand:V4SF 1 "register_operand" "v")] 158))]
    "TARGET_ALTIVEC"
!   "vrefp %0,%1"
    [(set_attr "type" "vecfloat")])
  
  (define_insn "altivec_vsel_4si"
***************
*** 1507,1513 ****
  		      (match_operand:V4SI 2 "register_operand" "v")
                        (match_operand:QI 3 "immediate_operand" "i")] 163))]
    "TARGET_ALTIVEC"
!   "vsldoi %0, %1, %2, %3"
    [(set_attr "type" "vecperm")])
  
  (define_insn "altivec_vsldoi_4sf"
--- 1507,1513 ----
  		      (match_operand:V4SI 2 "register_operand" "v")
                        (match_operand:QI 3 "immediate_operand" "i")] 163))]
    "TARGET_ALTIVEC"
!   "vsldoi %0,%1,%2,%3"
    [(set_attr "type" "vecperm")])
  
  (define_insn "altivec_vsldoi_4sf"
***************
*** 1516,1522 ****
  		      (match_operand:V4SF 2 "register_operand" "v")
                        (match_operand:QI 3 "immediate_operand" "i")] 164))]
    "TARGET_ALTIVEC"
!   "vsldoi %0, %1, %2, %3"
    [(set_attr "type" "vecperm")])
  
  (define_insn "altivec_vsldoi_8hi"
--- 1516,1522 ----
  		      (match_operand:V4SF 2 "register_operand" "v")
                        (match_operand:QI 3 "immediate_operand" "i")] 164))]
    "TARGET_ALTIVEC"
!   "vsldoi %0,%1,%2,%3"
    [(set_attr "type" "vecperm")])
  
  (define_insn "altivec_vsldoi_8hi"
***************
*** 1525,1531 ****
  		      (match_operand:V8HI 2 "register_operand" "v")
                        (match_operand:QI 3 "immediate_operand" "i")] 165))]
    "TARGET_ALTIVEC"
!   "vsldoi %0, %1, %2, %3"
    [(set_attr "type" "vecperm")])
  
  (define_insn "altivec_vsldoi_16qi"
--- 1525,1531 ----
  		      (match_operand:V8HI 2 "register_operand" "v")
                        (match_operand:QI 3 "immediate_operand" "i")] 165))]
    "TARGET_ALTIVEC"
!   "vsldoi %0,%1,%2,%3"
    [(set_attr "type" "vecperm")])
  
  (define_insn "altivec_vsldoi_16qi"
***************
*** 1534,1582 ****
  		       (match_operand:V16QI 2 "register_operand" "v")
  		       (match_operand:QI 3 "immediate_operand" "i")] 166))]
    "TARGET_ALTIVEC"
!   "vsldoi %0, %1, %2, %3"
    [(set_attr "type" "vecperm")])
  
  (define_insn "altivec_vupkhsb"
    [(set (match_operand:V8HI 0 "register_operand" "=v")
    	(unspec:V8HI [(match_operand:V16QI 1 "register_operand" "v")] 167))]
    "TARGET_ALTIVEC"
!   "vupkhsb %0, %1"
    [(set_attr "type" "vecperm")])
  
  (define_insn "altivec_vupkhpx"
    [(set (match_operand:V4SI 0 "register_operand" "=v")
    	(unspec:V4SI [(match_operand:V8HI 1 "register_operand" "v")] 168))]
    "TARGET_ALTIVEC"
!   "vupkhpx %0, %1"
    [(set_attr "type" "vecperm")])
  
  (define_insn "altivec_vupkhsh"
    [(set (match_operand:V4SI 0 "register_operand" "=v")
    	(unspec:V4SI [(match_operand:V8HI 1 "register_operand" "v")] 169))]
    "TARGET_ALTIVEC"
!   "vupkhsh %0, %1"
    [(set_attr "type" "vecperm")])
  
  (define_insn "altivec_vupklsb"
    [(set (match_operand:V8HI 0 "register_operand" "=v")
    	(unspec:V8HI [(match_operand:V16QI 1 "register_operand" "v")] 170))]
    "TARGET_ALTIVEC"
!   "vupklsb %0, %1"
    [(set_attr "type" "vecperm")])
  
  (define_insn "altivec_vupklpx"
    [(set (match_operand:V4SI 0 "register_operand" "=v")
    	(unspec:V4SI [(match_operand:V8HI 1 "register_operand" "v")] 171))]
    "TARGET_ALTIVEC"
!   "vupklpx %0, %1"
    [(set_attr "type" "vecperm")])
  
  (define_insn "altivec_vupklsh"
    [(set (match_operand:V4SI 0 "register_operand" "=v")
    	(unspec:V4SI [(match_operand:V8HI 1 "register_operand" "v")] 172))]
    "TARGET_ALTIVEC"
!   "vupklsh %0, %1"
    [(set_attr "type" "vecperm")])
  
  ;; AltiVec predicates.
--- 1534,1582 ----
  		       (match_operand:V16QI 2 "register_operand" "v")
  		       (match_operand:QI 3 "immediate_operand" "i")] 166))]
    "TARGET_ALTIVEC"
!   "vsldoi %0,%1,%2,%3"
    [(set_attr "type" "vecperm")])
  
  (define_insn "altivec_vupkhsb"
    [(set (match_operand:V8HI 0 "register_operand" "=v")
    	(unspec:V8HI [(match_operand:V16QI 1 "register_operand" "v")] 167))]
    "TARGET_ALTIVEC"
!   "vupkhsb %0,%1"
    [(set_attr "type" "vecperm")])
  
  (define_insn "altivec_vupkhpx"
    [(set (match_operand:V4SI 0 "register_operand" "=v")
    	(unspec:V4SI [(match_operand:V8HI 1 "register_operand" "v")] 168))]
    "TARGET_ALTIVEC"
!   "vupkhpx %0,%1"
    [(set_attr "type" "vecperm")])
  
  (define_insn "altivec_vupkhsh"
    [(set (match_operand:V4SI 0 "register_operand" "=v")
    	(unspec:V4SI [(match_operand:V8HI 1 "register_operand" "v")] 169))]
    "TARGET_ALTIVEC"
!   "vupkhsh %0,%1"
    [(set_attr "type" "vecperm")])
  
  (define_insn "altivec_vupklsb"
    [(set (match_operand:V8HI 0 "register_operand" "=v")
    	(unspec:V8HI [(match_operand:V16QI 1 "register_operand" "v")] 170))]
    "TARGET_ALTIVEC"
!   "vupklsb %0,%1"
    [(set_attr "type" "vecperm")])
  
  (define_insn "altivec_vupklpx"
    [(set (match_operand:V4SI 0 "register_operand" "=v")
    	(unspec:V4SI [(match_operand:V8HI 1 "register_operand" "v")] 171))]
    "TARGET_ALTIVEC"
!   "vupklpx %0,%1"
    [(set_attr "type" "vecperm")])
  
  (define_insn "altivec_vupklsh"
    [(set (match_operand:V4SI 0 "register_operand" "=v")
    	(unspec:V4SI [(match_operand:V8HI 1 "register_operand" "v")] 172))]
    "TARGET_ALTIVEC"
!   "vupklsh %0,%1"
    [(set_attr "type" "vecperm")])
  
  ;; AltiVec predicates.
***************
*** 1879,1885 ****
     (clobber (match_scratch:V4SF 2 "=&v"))
     (clobber (match_scratch:V4SF 3 "=&v"))]
    "TARGET_ALTIVEC"
!   "vspltisw %2, -1\;vslw %3,%2,%2\;vandc %0,%1,%3"
    [(set_attr "type" "vecsimple")
     (set_attr "length" "12")])
  
--- 1879,1885 ----
     (clobber (match_scratch:V4SF 2 "=&v"))
     (clobber (match_scratch:V4SF 3 "=&v"))]
    "TARGET_ALTIVEC"
!   "vspltisw %2,-1\;vslw %3,%2,%2\;vandc %0,%1,%3"
    [(set_attr "type" "vecsimple")
     (set_attr "length" "12")])


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]