(HI "TARGET_HIMODE_MATH")
SI])
-;; Math-dependant integer modes with DImode (enabled for 32bit with STV).
-(define_mode_iterator SWIM1248s
+;; Math-dependant integer modes with DImode.
+(define_mode_iterator SWIM1248x
[(QI "TARGET_QIMODE_MATH")
(HI "TARGET_HIMODE_MATH")
- SI (DI "TARGET_64BIT || (TARGET_STV && TARGET_SSE2)")])
+ SI DI])
;; Math-dependant single word integer modes without QImode.
(define_mode_iterator SWIM248 [(HI "TARGET_HIMODE_MATH")
;; it should be done with splitters.
(define_expand "and<mode>3"
- [(set (match_operand:SWIM1248s 0 "nonimmediate_operand")
- (and:SWIM1248s (match_operand:SWIM1248s 1 "nonimmediate_operand")
- (match_operand:SWIM1248s 2 "<general_szext_operand>")))]
+ [(set (match_operand:SWIM1248x 0 "nonimmediate_operand")
+ (and:SWIM1248x (match_operand:SWIM1248x 1 "nonimmediate_operand")
+ (match_operand:SWIM1248x 2 "<general_szext_operand>")))]
""
{
machine_mode mode = <MODE>mode;
(match_operand:DI 1 "nonimmediate_operand")
(match_operand:DI 2 "x86_64_szext_general_operand")))
(clobber (reg:CC FLAGS_REG))]
- "!TARGET_64BIT && TARGET_STV && TARGET_SSE2
+ "!TARGET_64BIT
&& ix86_binary_operator_ok (AND, DImode, operands)
&& ix86_pre_reload_split ()"
"#"
;; If this is considered useful, it should be done with splitters.
(define_expand "<code><mode>3"
- [(set (match_operand:SWIM1248s 0 "nonimmediate_operand")
- (any_or:SWIM1248s (match_operand:SWIM1248s 1 "nonimmediate_operand")
- (match_operand:SWIM1248s 2 "<general_operand>")))]
+ [(set (match_operand:SWIM1248x 0 "nonimmediate_operand")
+ (any_or:SWIM1248x (match_operand:SWIM1248x 1 "nonimmediate_operand")
+ (match_operand:SWIM1248x 2 "<general_operand>")))]
""
"ix86_expand_binary_operator (<CODE>, <MODE>mode, operands); DONE;")
(match_operand:DI 1 "nonimmediate_operand")
(match_operand:DI 2 "x86_64_szext_general_operand")))
(clobber (reg:CC FLAGS_REG))]
- "!TARGET_64BIT && TARGET_STV && TARGET_SSE2
+ "!TARGET_64BIT
&& ix86_binary_operator_ok (<CODE>, DImode, operands)
&& ix86_pre_reload_split ()"
"#"
;; One complement instructions
(define_expand "one_cmpl<mode>2"
- [(set (match_operand:SWIM1248s 0 "nonimmediate_operand")
- (not:SWIM1248s (match_operand:SWIM1248s 1 "nonimmediate_operand")))]
+ [(set (match_operand:SWIM1248x 0 "nonimmediate_operand")
+ (not:SWIM1248x (match_operand:SWIM1248x 1 "nonimmediate_operand")))]
""
"ix86_expand_unary_operator (NOT, <MODE>mode, operands); DONE;")
(define_insn_and_split "*one_cmpldi2_doubleword"
[(set (match_operand:DI 0 "nonimmediate_operand")
(not:DI (match_operand:DI 1 "nonimmediate_operand")))]
- "!TARGET_64BIT && TARGET_STV && TARGET_SSE2
+ "!TARGET_64BIT
&& ix86_unary_operator_ok (NOT, DImode, operands)
&& ix86_pre_reload_split ()"
"#"