OSDN Git Service

* config/i386/i386.c (struct_builtin_description)
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 441f09e..32ee2a6 100644 (file)
        ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
 
        * config/i386/sse.md
-       (*sse_movhlps): Rename from sse_movhlps insn pattern.
-       (sse_movhlps): New expander.  Use ix86_fixup_binary_operands
+       (sse_movhlps_exp): New expander.  Use ix86_fixup_binary_operands
        to handle nonimmediate operands.
-       (*sse_movlhps): Rename from sse_movlhps insn pattern.
-       (sse_movlhps): New expander.  Use ix86_fixup_binary_operands
+       (sse_movlhps_exp): New expander.  Use ix86_fixup_binary_operands
        to handle nonimmediate operands.
-       (*sse_loadhps): Rename from sse_loadhps insn pattern.
-       (sse_loadhps): New expander.  Use ix86_fixup_binary_operands
+       (sse_loadhps_exp): New expander.  Use ix86_fixup_binary_operands
        to handle nonimmediate operands.
-       (*sse_loadlps): Rename from sse_loadlps insn pattern.
-       (sse_loadlps): New expander.  Use ix86_fixup_binary_operands
+       (sse_loadlps_exp): New expander.  Use ix86_fixup_binary_operands
        to handle nonimmediate operands.
-       (*sse2_unpckhpd): Rename from sse2_unpckhpd insn pattern.
-       (sse2_unpckhpd): New expander.  Use
+       (sse2_unpckhpd_exp): New expander.  Use
        ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
-       (*sse2_unpcklpd): Rename from sse2_unpcklpd insn pattern.
-       (sse2_unpcklpd): New expander.  Use
+       (sse2_unpcklpd_exp): New expander.  Use
        ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
-       (*sse_loadhpd): Rename from sse_loadhpd insn pattern.
-       (sse_loadhpd): New expander.  Use ix86_fixup_binary_operands
+       (sse_loadhpd_exp): New expander.  Use ix86_fixup_binary_operands
        to handle nonimmediate operands.
-       (*sse_loadlpd): Rename from sse_loadlpd insn pattern.
        (sse_loadlpd): New expander.  Use ix86_fixup_binary_operands
        to handle nonimmediate operands.
        (*sse2_<plusminus_insn><mode>3): Rename from
        (ssse3_pmaddubsw128): Use register_operand for operand 1.
        (ssse3_pmaddubsw): Ditto.
 
-       * config/i386/sse.md (ix86_fixup_binary_operands): Assert that src1
+       * config/i386/i386.c (struct_builtin_description)
+       [IX86_BUILTIN_LOADHPS]: Use CODE_FOR_sse_loadhps_exp.
+       [IX86_BUILTIN_STOREHPS]: Use CODE_FOR_sse_loadlps_exp.
+       [IX86_BUILTIN_LOADHPD]: Use CODE_FOR_sse2_loadhpd_exp.
+       [IX86_BUILTIN_LOADLPD]: Use CODE_FOR_sse2_loadlpd_exp.
+       [IX86_BUILTIN_MOVHLPS]: Use CODE_FOR_sse_movhlps_exp.
+       [IX86_BUILTIN_MOVLHPS]: Use CODE_FOR_sse_movlhps_exp.
+       [IX86_BUILTIN_UNPCKHPD]: Use FOR_sse2_unpckhpd_exp.
+       [IX86_BUILTIN_UNPCKLPD]: Use FOR_sse2_unpcklpd_exp.
+       (ix86_fixup_binary_operands): Assert that src1
        and src2 must have the same mode when swapped.
        (ix86_expand_binop_builtin): Do not use ix86_fixup_binary_operands
        and ix86_binary_operator_ok.  Do not force operands in registers