(pushexthisi_const, movsi_const0): New names.
authorRichard Kenner <kenner@gcc.gnu.org>
Tue, 19 Mar 1996 00:48:01 +0000 (19:48 -0500)
committerRichard Kenner <kenner@gcc.gnu.org>
Tue, 19 Mar 1996 00:48:01 +0000 (19:48 -0500)
(andsi3, iorsi3): Allow only 'M', not 'K' constants, if dest is 'd'.

From-SVN: r11561

gcc/config/m68k/m68k.md

index ce78615e15f8da0569acc56f608fd6d98afe4cb0..207c7ef542c26fa1c227ab46d7d1d52b15e4a80a 100644 (file)
@@ -54,6 +54,7 @@
 ;;- 'J'  -32768 .. 32767
 ;;- 'K'  all integers EXCEPT -128 .. 127
 ;;- 'L'  -8 .. -1
+;;- 'M'  all integers EXCEPT -256 .. 255
 
 ;;- Assembler specs:
 ;;- "%."    size separator ("." or "")                 move%.l d0,d1
 
 ;; A special case in which it is not desirable
 ;; to reload the constant into a data register.
-(define_insn ""
+(define_insn "pushexthisi_const"
   [(set (match_operand:SI 0 "push_operand" "=m")
        (match_operand:SI 1 "const_int_operand" "J"))]
   "INTVAL (operands[1]) >= -0x8000 && INTVAL (operands[1]) < 0x8000"
 ;; The reason this is special is to avoid loading a zero
 ;; into a data reg with moveq in order to store it elsewhere.
    
-(define_insn ""
+(define_insn "movsi_const0"
   [(set (match_operand:SI 0 "general_operand" "=g")
        (const_int 0))]
   ;; clr insns on 68000 read before writing.
 (define_insn "andsi3"
   [(set (match_operand:SI 0 "not_sp_operand" "=m,d")
        (and:SI (match_operand:SI 1 "general_operand" "%0,0")
-               (match_operand:SI 2 "general_operand" "dKs,dmKs")))]
+               (match_operand:SI 2 "general_operand" "dKs,dmMs")))]
   ""
   "*
 {
 (define_insn "iorsi3"
   [(set (match_operand:SI 0 "general_operand" "=m,d")
        (ior:SI (match_operand:SI 1 "general_operand" "%0,0")
-               (match_operand:SI 2 "general_operand" "dKs,dmKs")))]
+               (match_operand:SI 2 "general_operand" "dKs,dmMs")))]
   ""
   "*
 {