+2010-04-14 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (maxmin_int): Rename code attribute from
+ maxminiprefix and update all users.
+ (maxmin_float): Ditto from maxminfprefix.
+ (logic): Ditto from logicprefix.
+ (absneg_mnemonic): Ditto from absnegprefix.
+ * config/i386/mmx.md: Update all users of maxminiprefix,
+ maxminfprefix and loficprefix for rename.
+ * config/i386/sse.md: Ditto.
+ * config/i386/sync.md (sync_<code><mode>): Update for
+ logicprefix rename.
+
2010-04-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR 42966
;; Base name for insn mnemonic.
(define_code_attr rotate [(rotate "rol") (rotatert "ror")])
-;; Mapping of shift-right operators
-(define_code_iterator any_shiftrt [lshiftrt ashiftrt])
-
-;; Base name for define_insn
-(define_code_attr shiftrt_insn [(lshiftrt "lshr") (ashiftrt "ashr")])
-
-;; Base name for insn mnemonic.
-(define_code_attr shiftrt [(lshiftrt "shr") (ashiftrt "sar")])
-
-;; Mapping of rotate operators
-(define_code_iterator any_rotate [rotate rotatert])
-
-;; Base name for define_insn
-(define_code_attr rotate_insn [(rotate "rotl") (rotatert "rotr")])
-
-;; Base name for insn mnemonic.
-(define_code_attr rotate [(rotate "rol") (rotatert "ror")])
-
;; Mapping of abs neg operators
(define_code_iterator absneg [abs neg])
(match_operand:AVXMODEF2P 2 "nonimmediate_operand" "xm")))]
"AVX_VEC_FLOAT_MODE_P (<MODE>mode)
&& ix86_binary_operator_ok (<CODE>, <MODE>mode, operands)"
-{
- if (TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL)
- return "v<logic>ps\t{%2, %1, %0|%0, %1, %2}";
- else
- return "v<logic>p<avxmodesuffixf2c>\t{%2, %1, %0|%0, %1, %2}";
-}
+ "v<logic>p<avxmodesuffixf2c>\t{%2, %1, %0|%0, %1, %2}"
[(set_attr "type" "sselog")
(set_attr "prefix" "vex")
(set_attr "mode" "<avxvecmode>")])
(match_operand:SSEMODEF2P 2 "nonimmediate_operand" "xm")))]
"SSE_VEC_FLOAT_MODE_P (<MODE>mode)
&& ix86_binary_operator_ok (<CODE>, <MODE>mode, operands)"
-{
- if (TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL)
- return "<logic>ps\t{%2, %0|%0, %2}";
- else
- return "<logic>p<ssemodesuffixf2c>\t{%2, %0|%0, %2}";
-}
+ "<logic>p<ssemodesuffixf2c>\t{%2, %0|%0, %2}"
[(set_attr "type" "sselog")
(set_attr "mode" "<MODE>")])
(match_operand:MODEF 1 "register_operand" "x")
(match_operand:MODEF 2 "register_operand" "x")))]
"AVX_FLOAT_MODE_P (<MODE>mode)"
-{
- if (TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL)
- return "v<logic>ps\t{%2, %1, %0|%0, %1, %2}";
- else
- return "v<logic>p<ssemodefsuffix>\t{%2, %1, %0|%0, %1, %2}";
-}
+ "v<logic>p<ssemodefsuffix>\t{%2, %1, %0|%0, %1, %2}"
[(set_attr "type" "sselog")
(set_attr "prefix" "vex")
(set_attr "mode" "<ssevecmode>")])
(match_operand:MODEF 1 "register_operand" "0")
(match_operand:MODEF 2 "register_operand" "x")))]
"SSE_FLOAT_MODE_P (<MODE>mode)"
-{
- if (TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL)
- return "<logic>ps\t{%2, %0|%0, %2}";
- else
- return "<logic>p<ssemodefsuffix>\t{%2, %0|%0, %2}";
-}
+ "<logic>p<ssemodefsuffix>\t{%2, %0|%0, %2}"
[(set_attr "type" "sselog")
(set_attr "mode" "<ssevecmode>")])