Patch to fix apparent x86 arithmetic shift right typo

John Wehle john@feith.com
Wed Apr 5 09:51:00 GMT 2000


The define_expand RTL templates for the arithmetic shift right x86
patterns use lshiftrt.  I imagine that these should be ashiftrt.
The correct RTL is generated by ix86_expand_binary_operator so the
fix is mainly cosmetic in nature.  This patch passes make bootstrap
and make check on FreeBSD-3.4 x86.

ChangeLog:

Wed Apr  5 00:58:15 EDT 2000  John Wehle  (john@feith.com)

	* i386.md (ashrsi3, ashrhi3, ashrqi3): Fix typo.

Enjoy!

-- John Wehle
------------------8<------------------------8<------------------------
*** gcc/config/i386/i386.md.ORIGINAL	Sat Apr  1 18:26:47 2000
--- gcc/config/i386/i386.md	Wed Apr  5 00:53:38 2000
***************
*** 6051,6059 ****
      (set_attr "length" "1,*")])
  
  (define_expand "ashrsi3"
    [(set (match_operand:SI 0 "nonimmediate_operand" "")
! 	(lshiftrt:SI (match_operand:SI 1 "nonimmediate_operand" "")
  		     (match_operand:QI 2 "nonmemory_operand" "")))
     (clobber (reg:CC 17))]
    ""
    "ix86_expand_binary_operator (ASHIFTRT, SImode, operands); DONE;")
--- 6051,6059 ----
      (set_attr "length" "1,*")])
  
  (define_expand "ashrsi3"
    [(set (match_operand:SI 0 "nonimmediate_operand" "")
! 	(ashiftrt:SI (match_operand:SI 1 "nonimmediate_operand" "")
  		     (match_operand:QI 2 "nonmemory_operand" "")))
     (clobber (reg:CC 17))]
    ""
    "ix86_expand_binary_operator (ASHIFTRT, SImode, operands); DONE;")
***************
*** 6087,6095 ****
    [(set_attr "type" "ishift")])
  
  (define_expand "ashrhi3"
    [(set (match_operand:HI 0 "nonimmediate_operand" "")
! 	(lshiftrt:HI (match_operand:HI 1 "nonimmediate_operand" "")
  		     (match_operand:QI 2 "nonmemory_operand" "")))
     (clobber (reg:CC 17))]
    "TARGET_HIMODE_MATH"
    "ix86_expand_binary_operator (ASHIFTRT, HImode, operands); DONE;")
--- 6087,6095 ----
    [(set_attr "type" "ishift")])
  
  (define_expand "ashrhi3"
    [(set (match_operand:HI 0 "nonimmediate_operand" "")
! 	(ashiftrt:HI (match_operand:HI 1 "nonimmediate_operand" "")
  		     (match_operand:QI 2 "nonmemory_operand" "")))
     (clobber (reg:CC 17))]
    "TARGET_HIMODE_MATH"
    "ix86_expand_binary_operator (ASHIFTRT, HImode, operands); DONE;")
***************
*** 6123,6131 ****
    [(set_attr "type" "ishift")])
  
  (define_expand "ashrqi3"
    [(set (match_operand:QI 0 "nonimmediate_operand" "")
! 	(lshiftrt:QI (match_operand:QI 1 "nonimmediate_operand" "")
  		     (match_operand:QI 2 "nonmemory_operand" "")))
     (clobber (reg:CC 17))]
    "TARGET_QIMODE_MATH"
    "ix86_expand_binary_operator (ASHIFTRT, QImode, operands); DONE;")
--- 6123,6131 ----
    [(set_attr "type" "ishift")])
  
  (define_expand "ashrqi3"
    [(set (match_operand:QI 0 "nonimmediate_operand" "")
! 	(ashiftrt:QI (match_operand:QI 1 "nonimmediate_operand" "")
  		     (match_operand:QI 2 "nonmemory_operand" "")))
     (clobber (reg:CC 17))]
    "TARGET_QIMODE_MATH"
    "ix86_expand_binary_operator (ASHIFTRT, QImode, operands); DONE;")
-------------------------------------------------------------------------
|   Feith Systems  |   Voice: 1-215-646-8000  |  Email: john@feith.com  |
|    John Wehle    |     Fax: 1-215-540-5495  |                         |
-------------------------------------------------------------------------



More information about the Gcc-patches mailing list