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]

rs6000 spe.md patches


Gcc is emitting the arguments for evsplatfi and evsplati in the wrong order.
Also, evmhessiaaw is omitting the third argument.

These patches have been tested against the Motorola SPE testsuite.

These patches have not been tested with a bootstrap or a gcc testsuite run,
or anything like that, so I haven't checked them in yet.

2002-11-22  Jim Wilson  <wilson@redhat.com>

	* config/rs6000/spe.md (spu_evsplatfi, spu_evsplati): Swap operands
	in output template.

Index: spe.md
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/rs6000/spe.md,v
retrieving revision 1.4
diff -p -r1.4 spe.md
*** spe.md	1 Oct 2002 20:39:03 -0000	1.4
--- spe.md	25 Nov 2002 20:31:15 -0000
***************
*** 1071,1077 ****
     (clobber (reg:SI SPEFSCR_REGNO))
     (clobber (reg:V2SI SPE_ACC_REGNO))]
    "TARGET_SPE"
!   "evmhessiaaw %0,%1"
    [(set_attr "type" "veccomplex")
     (set_attr  "length" "4")])
  
--- 1071,1077 ----
     (clobber (reg:SI SPEFSCR_REGNO))
     (clobber (reg:V2SI SPE_ACC_REGNO))]
    "TARGET_SPE"
!   "evmhessiaaw %0,%1,%2"
    [(set_attr "type" "veccomplex")
     (set_attr  "length" "4")])
  
***************
*** 2059,2065 ****
    [(set (match_operand:V2SI 0 "gpc_reg_operand" "=r")
          (unspec:V2SI [(match_operand:QI 1 "immediate_operand" "i")] 684))]
    "TARGET_SPE"
!   "evsplatfi %1,%0"
    [(set_attr "type" "vecperm")
     (set_attr  "length" "4")])
  
--- 2059,2065 ----
    [(set (match_operand:V2SI 0 "gpc_reg_operand" "=r")
          (unspec:V2SI [(match_operand:QI 1 "immediate_operand" "i")] 684))]
    "TARGET_SPE"
!   "evsplatfi %0,%1"
    [(set_attr "type" "vecperm")
     (set_attr  "length" "4")])
  
***************
*** 2067,2073 ****
    [(set (match_operand:V2SI 0 "gpc_reg_operand" "=r")
          (unspec:V2SI [(match_operand:QI 1 "immediate_operand" "i")] 685))]
    "TARGET_SPE"
!   "evsplati %1,%0"
    [(set_attr "type" "vecperm")
     (set_attr  "length" "4")])
  
--- 2067,2073 ----
    [(set (match_operand:V2SI 0 "gpc_reg_operand" "=r")
          (unspec:V2SI [(match_operand:QI 1 "immediate_operand" "i")] 685))]
    "TARGET_SPE"
!   "evsplati %0,%1"
    [(set_attr "type" "vecperm")
     (set_attr  "length" "4")])
  


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