}")
(define_insn "*movstricthi_1"
- [(set (strict_low_part (match_operand:HI 0 "general_operand" "+g,r"))
+ [(set (strict_low_part (match_operand:HI 0 "nonimmediate_operand" "+m,r"))
(match_operand:HI 1 "general_operand" "rn,m"))]
"! TARGET_PARTIAL_REG_STALL
&& (GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM)"
(set_attr "length_prefix" "1")])
(define_insn "*movqi_1"
- [(set (match_operand:QI 0 "general_operand" "=q,q,*r,*r,m")
+ [(set (match_operand:QI 0 "nonimmediate_operand" "=q,q,*r,*r,m")
(match_operand:QI 1 "general_operand" "qn,qm,*rn,qm,qn"))
(clobber (reg:CC 17))]
"GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM"
"#")
(define_insn "*movdi_1"
- [(set (match_operand:DI 0 "general_operand" "=r,o")
+ [(set (match_operand:DI 0 "nonimmediate_operand" "=r,o")
(match_operand:DI 1 "general_operand" "riFo,riF"))
(clobber (reg:CC 17))]
"GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM"
"#")
(define_insn "*movdi_2"
- [(set (match_operand:DI 0 "general_operand" "=r,o")
+ [(set (match_operand:DI 0 "nonimmediate_operand" "=r,o")
(match_operand:DI 1 "general_operand" "riFo,riF"))]
"GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM"
"#")
;; %%% This multiword shite has got to go.
(define_split
- [(set (match_operand:DI 0 "general_operand" "")
+ [(set (match_operand:DI 0 "nonimmediate_operand" "")
(match_operand:DI 1 "general_operand" ""))
(clobber (reg:CC 17))]
"reload_completed"
"if (ix86_split_movdi (operands)) DONE;")
(define_split
- [(set (match_operand:DI 0 "general_operand" "")
+ [(set (match_operand:DI 0 "nonimmediate_operand" "")
(match_operand:DI 1 "general_operand" ""))]
"reload_completed"
[(set (match_dup 2) (match_dup 4))
[(set (match_operand:SF 0 "nonimmediate_operand" "=m,f")
(float_truncate:SF
(match_operand:DF 1 "register_operand" "f,0")))
- (clobber (match_operand:SF 2 "memory_operand" "m,m"))]
+ (clobber (match_operand:SF 2 "memory_operand" "=m,m"))]
"TARGET_80387"
"*
{
[(set (match_operand:SF 0 "nonimmediate_operand" "=m,f")
(float_truncate:SF
(match_operand:XF 1 "register_operand" "f,0")))
- (clobber (match_operand:SF 2 "memory_operand" "m,m"))]
+ (clobber (match_operand:SF 2 "memory_operand" "=m,m"))]
"TARGET_80387"
"*
{
[(set (match_operand:DF 0 "nonimmediate_operand" "=m,f")
(float_truncate:DF
(match_operand:XF 1 "register_operand" "f,0")))
- (clobber (match_operand:DF 2 "memory_operand" "m,m"))]
+ (clobber (match_operand:DF 2 "memory_operand" "=m,m"))]
"TARGET_80387"
"*
{
operands[3] = assign_386_stack_local (DImode, 1);")
(define_insn "*fix_truncdi_1"
- [(set (match_operand:DI 0 "nonimmediate_operand" "m,?r")
+ [(set (match_operand:DI 0 "nonimmediate_operand" "=m,?r")
(fix:DI (match_operand 1 "register_operand" "f,f")))
- (clobber (match_operand:SI 2 "memory_operand" "o,o"))
- (clobber (match_operand:DI 3 "memory_operand" "m,m"))
+ (clobber (match_operand:SI 2 "memory_operand" "=o,o"))
+ (clobber (match_operand:DI 3 "memory_operand" "=m,m"))
(clobber (match_scratch:SI 4 "=&r,=&r"))
(clobber (match_scratch:XF 5 "=f,f"))]
"TARGET_80387 && FLOAT_MODE_P (GET_MODE (operands[1]))"
operands[3] = assign_386_stack_local (SImode, 1);")
(define_insn "*fix_truncsi_1"
- [(set (match_operand:SI 0 "nonimmediate_operand" "m,?r")
+ [(set (match_operand:SI 0 "nonimmediate_operand" "=m,?r")
(fix:SI (match_operand 1 "register_operand" "f,f")))
- (clobber (match_operand:SI 2 "memory_operand" "o,o"))
- (clobber (match_operand:SI 3 "memory_operand" "m,m"))
+ (clobber (match_operand:SI 2 "memory_operand" "=o,o"))
+ (clobber (match_operand:SI 3 "memory_operand" "=m,m"))
(clobber (match_scratch:SI 4 "=&r,r"))]
"TARGET_80387 && FLOAT_MODE_P (GET_MODE (operands[1]))"
"* return output_fix_trunc (insn, operands);"
;; %% Not used yet.
(define_insn "x86_fnstcw_1"
- [(set (match_operand:HI 0 "memory_operand" "m")
- (unspec [(reg:HI 18)] 11))]
+ [(set (match_operand:HI 0 "memory_operand" "=m")
+ (unspec:HI [(reg:HI 18)] 11))]
"TARGET_80387"
"fnstcw\\t%0"
[(set_attr "length_opcode" "2")
(define_insn "x86_fldcw_1"
[(set (reg:HI 18)
- (unspec [(match_operand:HI 0 "memory_operand" "m")] 12))]
+ (unspec:HI [(match_operand:HI 0 "memory_operand" "m")] 12))]
"TARGET_80387"
"fldcw\\t%0"
[(set_attr "length_opcode" "2")
[(set (match_operand:SI 0 "register_operand" "=r")
(plus:SI (plus:SI (mult:SI (match_operand:SI 1 "reg_no_sp_operand" "r")
(match_operand:SI 2 "const248_operand" "I"))
- (match_operand 3 "register_operand" "%r"))
+ (match_operand:SI 3 "register_operand" "%r"))
(match_operand:SI 4 "immediate_operand" "i")))]
""
"*
[(set_attr "type" "alu")])
(define_insn "*addqi_low_1"
- [(set (strict_low_part (match_operand:QI 0 "register_operand" "q"))
+ [(set (strict_low_part (match_operand:QI 0 "register_operand" "+q"))
(plus:QI (match_operand:QI 1 "register_operand" "0")
(match_operand:QI 2 "general_operand" "qmn")))
(clobber (reg:CC 17))]
(define_insn "prologue_set_got"
[(set (match_operand:SI 0 "" "")
- (unspec_volatile
+ (unspec_volatile:SI
[(plus:SI (match_dup 0)
(plus:SI (match_operand:SI 1 "symbolic_operand" "")
(minus:SI (pc) (match_operand 2 "" ""))))] 1))
(define_insn "prologue_get_pc"
[(set (match_operand:SI 0 "" "")
- (unspec_volatile [(plus:SI (pc) (match_operand 1 "" ""))] 2))]
+ (unspec_volatile:SI [(plus:SI (pc) (match_operand 1 "" ""))] 2))]
""
"*
{
[(set (match_operand:SI 0 "register_operand" "=r")
(plus:SI (match_operand:SI 1 "register_operand" "0")
(match_operand:SI 2 "nonmemory_operand" "ri")))
- (set (match_operand:SI 3 "register_operand" "r")
+ (set (match_operand:SI 3 "register_operand" "=r")
(match_dup 3))
(clobber (reg:CC 17))]
""
[(set_attr "type" "alu")])
(define_insn "epilogue_deallocate_stack"
- [(set (match_operand:SI 0 "register_operand" "r")
- (match_operand:SI 1 "register_operand" "r"))
+ [(set (match_operand:SI 0 "register_operand" "=r")
+ (match_operand:SI 1 "register_operand" "+r"))
(set (match_dup 1) (match_dup 1))]
""
"mov{l}\\t{%1, %0|%0, %1}"