(define_expand "m88k_sccs_id"
[(match_operand:SI 0 "" "")]
""
- "{ static char sccs_id[] = \"@(#)m88k.md 2.2.7.8 08/26/92 13:41:44\";
+ "{ static char sccs_id[] = \"@(#)m88k.md 2.2.12.1 09/12/92 07:08:29\";
FAIL; }")
\f
;; Attribute specifications
|| operands[1] == const0_rtx)"
"@
or %0,%#r0,%1
- ld %0,%1
- st %r1,%0
+ %V1ld %0,%1
+ %v0st %r1,%0
subu %0,%#r0,%n1
set %0,%#r0,%s1
mov.s %0,%1
mov.s %0,%1
mov %0,%1
- ld %0,%1
- st %1,%0"
+ %V1ld %0,%1
+ %v0st %1,%0"
[(set_attr "type" "arith,load,store,arith,bit,mov,mov,mov,load,store")])
(define_insn ""
|| operands[1] == const0_rtx)"
"@
or %0,%#r0,%h1
- ld.hu %0,%1
- st.h %r1,%0
+ %V1ld.hu %0,%1
+ %v0st.h %r1,%0
subu %0,%#r0,%H1"
[(set_attr "type" "arith,load,store,arith")])
|| operands[1] == const0_rtx)"
"@
or %0,%#r0,%q1
- ld.bu %0,%1
- st.b %r1,%0
+ %V1ld.bu %0,%1
+ %v0st.b %r1,%0
subu %r0,%#r0,%Q1"
[(set_attr "type" "arith,load,store,arith")])
""
"@
or %0,%#r0,%1\;or %d0,%#r0,%d1
- ld.d %0,%1
- st.d %1,%0
+ %V1ld.d %0,%1
+ %v0st.d %1,%0
mov.d %0,%1
mov.d %0,%1
mov %0,%1
- ld.d %0,%1
- st.d %1,%0"
+ %V1ld.d %0,%1
+ %v0st.d %1,%0"
[(set_attr "type" "marith,loadd,store,mov,mov,mov,loadd,store")])
(define_insn ""
; return \"or %0,%#r0,0\;or %d0,%#r0,0\";
; case 1:
; operands[1] = adj_offsettable_operand (operands[0], 4);
-; return \"st %#r0,%0\;st %#r0,%1\";
+; return \"%v0st %#r0,%0\;st %#r0,%1\";
; }
;}")
""
"@
or %0,%#r0,%1\;or %d0,%#r0,%d1
- ld.d %0,%1
- st.d %1,%0
+ %V1ld.d %0,%1
+ %v0st.d %1,%0
mov.d %0,%1
mov.d %0,%1
mov %0,%1
- ld.d %0,%1
- st.d %1,%0"
+ %V1ld.d %0,%1
+ %v0st.d %1,%0"
[(set_attr "type" "marith,loadd,store,mov,mov,mov,loadd,store")])
(define_insn ""
""
"@
or %0,%#r0,%1
- ld %0,%1
- st %r1,%0
+ %V1ld %0,%1
+ %v0st %r1,%0
mov.s %0,%1
mov.s %0,%1
mov %0,%1
- ld %0,%1
- st %r1,%0"
+ %V1ld %0,%1
+ %v0st %r1,%0"
[(set_attr "type" "arith,load,store,mov,mov,mov,load,store")])
(define_insn ""
(use (reg:SI 2))
(use (reg:SI 3))
(use (match_dup 5))
- (parallel [(call (mem:SI (match_operand 0 "" ""))
- (const_int 0))
+ (parallel [(set (reg:DI 2)
+ (call (mem:SI (match_operand 0 "" ""))
+ (const_int 0)))
(clobber (reg:SI 1))])]
""
"")
-;; Call a looping block move library function (e.g. __movstrSI64n68).
+;; Call an SImode looping block move library function (e.g. __movstrSI64n68).
;; operands 0-5 as in the non-looping interface
;; operand 6 is the loop count
-(define_expand "call_block_move_loop"
+(define_expand "call_movstrsi_loop"
[(set (reg:SI 3) (minus:SI (match_operand:SI 2 "register_operand" "")
(match_operand:SI 3 "immediate_operand" "")))
(set (match_operand:SI 5 "register_operand" "")
(use (reg:SI 3))
(use (match_dup 5))
(use (reg:SI 6))
- (parallel [(call (mem:SI (match_operand 0 "" ""))
- (const_int 0))
+ (parallel [(set (reg:DI 2)
+ (call (mem:SI (match_operand 0 "" ""))
+ (const_int 0)))
(clobber (reg:SI 1))])]
""
"")
"@
mask %0,%1,0xffff
or %0,%#r0,%h1
- ld.hu %0,%1"
+ %V1ld.hu %0,%1"
[(set_attr "type" "arith,arith,load")])
(define_expand "zero_extendqihi2"
"@
mask %0,%1,0xff
or %0,%#r0,%q1
- ld.bu %0,%1"
+ %V1ld.bu %0,%1"
[(set_attr "type" "arith,arith,load")])
(define_expand "zero_extendqisi2"
"@
mask %0,%1,0xff
or %0,%#r0,%q1
- ld.bu %0,%1"
+ %V1ld.bu %0,%1"
[(set_attr "type" "arith,arith,load")])
\f
;;- sign extension instructions
ext %0,%1,16<0>
or %0,%#r0,%h1
subu %0,%#r0,%H1
- ld.h %0,%1"
+ %V1ld.h %0,%1"
[(set_attr "type" "bit,arith,arith,load")])
(define_expand "extendqihi2"
ext %0,%1,8<0>
or %0,%#r0,%q1
subu %0,%#r0,%Q1
- ld.b %0,%1"
+ %V1ld.b %0,%1"
[(set_attr "type" "bit,arith,arith,load")])
(define_expand "extendqisi2"
ext %0,%1,8<0>
or %0,%#r0,%q1
subu %0,%#r0,%Q1
- ld.b %0,%1"
+ %V1ld.b %0,%1"
[(set_attr "type" "bit,arith,arith,load")])
\f
;; Conversions between float and double.
(ashiftrt:SI (match_operand:SI 1 "memory_operand" "m")
(const_int 24)))]
"! SCALED_ADDRESS_P (XEXP (operands[1], 0))"
- "ld.b %0,%1"
+ "%V1ld.b %0,%1"
[(set_attr "type" "load")])
(define_insn ""
(lshiftrt:SI (match_operand:SI 1 "memory_operand" "m")
(const_int 24)))]
"! SCALED_ADDRESS_P (XEXP (operands[1], 0))"
- "ld.bu %0,%1"
+ "%V1ld.bu %0,%1"
[(set_attr "type" "load")])
(define_insn ""
(ashiftrt:SI (match_operand:SI 1 "memory_operand" "m")
(const_int 16)))]
"! SCALED_ADDRESS_P (XEXP (operands[1], 0))"
- "ld.h %0,%1"
+ "%V1ld.h %0,%1"
[(set_attr "type" "load")])
(define_insn ""
(lshiftrt:SI (match_operand:SI 1 "memory_operand" "m")
(const_int 16)))]
"! SCALED_ADDRESS_P (XEXP (operands[1], 0))"
- "ld.hu %0,%1"
+ "%V1ld.hu %0,%1"
[(set_attr "type" "load")])
\f
;;- arithmetic shift instructions.