patch applied to sh.md

Joern Rennecke joern.rennecke@superh.com
Wed Sep 4 03:25:00 GMT 2002


-- 
--------------------------
SuperH (UK) Ltd.
2430 Aztec West / Almondsbury / BRISTOL / BS32 4AQ
T:+44 1454 462330
-------------- next part --------------
Wed Sep  4 11:22:14 2002  J"orn Rennecke <joern.rennecke@superh.com>

	* sh.md (mperm_w_little, mperm_w_big): Supply mode for zero_extract.

Index: config/sh/sh.md
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/sh/sh.md,v
retrieving revision 1.119
diff -p -F^( -r1.119 sh.md
*** config/sh/sh.md	27 Aug 2002 15:31:02 -0000	1.119
--- config/sh/sh.md	4 Sep 2002 10:22:40 -0000
*************** (define_insn "mperm_w_little"
*** 9737,9747 ****
  	(vec_select:V4HI
  	 (match_operand:V4HI 1 "arith_reg_operand" "r")
  	 (parallel
! 	  [(zero_extract (match_operand:QI 2 "extend_reg_or_0_operand" "rU")
! 			 (const_int 2) (const_int 0))
! 	   (zero_extract (match_dup 2) (const_int 2) (const_int 2))
! 	   (zero_extract (match_dup 2) (const_int 2) (const_int 4))
! 	   (zero_extract (match_dup 2) (const_int 2) (const_int 6))])))]
    "TARGET_SHMEDIA && TARGET_LITTLE_ENDIAN"
    "mperm.w	%1, %N2, %0"
    [(set_attr "type" "arith_media")])
--- 9737,9747 ----
  	(vec_select:V4HI
  	 (match_operand:V4HI 1 "arith_reg_operand" "r")
  	 (parallel
! 	  [(zero_extract:QI (match_operand:QI 2 "extend_reg_or_0_operand" "rU")
! 			    (const_int 2) (const_int 0))
! 	   (zero_extract:QI (match_dup 2) (const_int 2) (const_int 2))
! 	   (zero_extract:QI (match_dup 2) (const_int 2) (const_int 4))
! 	   (zero_extract:QI (match_dup 2) (const_int 2) (const_int 6))])))]
    "TARGET_SHMEDIA && TARGET_LITTLE_ENDIAN"
    "mperm.w	%1, %N2, %0"
    [(set_attr "type" "arith_media")])
*************** (define_insn "mperm_w_big"
*** 9751,9762 ****
  	(vec_select:V4HI
  	 (match_operand:V4HI 1 "arith_reg_operand" "r")
  	 (parallel
! 	  [(zero_extract (not:QI (match_operand:QI 2
! 				  "extend_reg_or_0_operand" "rU"))
! 			 (const_int 2) (const_int 0))
! 	   (zero_extract (not:QI (match_dup 2)) (const_int 2) (const_int 2))
! 	   (zero_extract (not:QI (match_dup 2)) (const_int 2) (const_int 4))
! 	   (zero_extract (not:QI (match_dup 2)) (const_int 2) (const_int 6))])))]
    "TARGET_SHMEDIA && ! TARGET_LITTLE_ENDIAN"
    "mperm.w	%1, %N2, %0"
    [(set_attr "type" "arith_media")])
--- 9751,9763 ----
  	(vec_select:V4HI
  	 (match_operand:V4HI 1 "arith_reg_operand" "r")
  	 (parallel
! 	  [(zero_extract:QI (not:QI (match_operand:QI 2
! 				     "extend_reg_or_0_operand" "rU"))
! 			    (const_int 2) (const_int 0))
! 	   (zero_extract:QI (not:QI (match_dup 2)) (const_int 2) (const_int 2))
! 	   (zero_extract:QI (not:QI (match_dup 2)) (const_int 2) (const_int 4))
! 	   (zero_extract:QI (not:QI (match_dup 2))
! 			    (const_int 2) (const_int 6))])))]
    "TARGET_SHMEDIA && ! TARGET_LITTLE_ENDIAN"
    "mperm.w	%1, %N2, %0"
    [(set_attr "type" "arith_media")])


More information about the Gcc-patches mailing list