Commit ffb41aab by Uros Bizjak Committed by Uros Bizjak

* config/i386/i386.md: Missing file from my previous commit.

From-SVN: r255019
parent 826eccc6
2017-11-21 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.md (*bswap<mode>2_movbe): Add
integer suffix to movbe mnemonic.
(*bswaphi2_movbe): Ditto.
(bswaphi_lowpart): Merge with *bswaphi_lowpart_1.
2017-11-21 Jakub Jelinek <jakub@redhat.com>
PR c++/83045
......@@ -14074,8 +14074,8 @@
&& !(MEM_P (operands[0]) && MEM_P (operands[1]))"
"@
bswap\t%0
movbe\t{%1, %0|%0, %1}
movbe\t{%1, %0|%0, %1}"
movbe{<imodesuffix>}\t{%1, %0|%0, %1}
movbe{<imodesuffix>}\t{%1, %0|%0, %1}"
[(set_attr "type" "bitmanip,imov,imov")
(set_attr "modrm" "0,1,1")
(set_attr "prefix_0f" "*,1,1")
......@@ -14103,8 +14103,8 @@
&& !(MEM_P (operands[0]) && MEM_P (operands[1]))"
"@
xchg{b}\t{%h0, %b0|%b0, %h0}
movbe\t{%1, %0|%0, %1}
movbe\t{%1, %0|%0, %1}"
movbe{w}\t{%1, %0|%0, %1}
movbe{w}\t{%1, %0|%0, %1}"
[(set_attr "type" "imov")
(set_attr "modrm" "*,1,1")
(set_attr "prefix_0f" "*,1,1")
......@@ -14124,26 +14124,25 @@
[(parallel [(set (match_dup 0) (rotate:HI (match_dup 0) (const_int 8)))
(clobber (reg:CC FLAGS_REG))])])
(define_insn "*bswaphi_lowpart_1"
(define_insn "bswaphi_lowpart"
[(set (strict_low_part (match_operand:HI 0 "register_operand" "+Q,r"))
(bswap:HI (match_dup 0)))
(clobber (reg:CC FLAGS_REG))]
"TARGET_USE_XCHGB || optimize_function_for_size_p (cfun)"
""
"@
xchg{b}\t{%h0, %b0|%b0, %h0}
rol{w}\t{$8, %0|%0, 8}"
[(set_attr "length" "2,4")
[(set (attr "preferred_for_size")
(cond [(eq_attr "alternative" "0")
(symbol_ref "true")]
(symbol_ref "false")))
(set (attr "preferred_for_speed")
(cond [(eq_attr "alternative" "0")
(symbol_ref "TARGET_USE_XCHGB")]
(symbol_ref "!TARGET_USE_XCHGB")))
(set_attr "length" "2,4")
(set_attr "mode" "QI,HI")])
(define_insn "bswaphi_lowpart"
[(set (strict_low_part (match_operand:HI 0 "register_operand" "+r"))
(bswap:HI (match_dup 0)))
(clobber (reg:CC FLAGS_REG))]
""
"rol{w}\t{$8, %0|%0, 8}"
[(set_attr "length" "4")
(set_attr "mode" "HI")])
(define_expand "paritydi2"
[(set (match_operand:DI 0 "register_operand")
(parity:DI (match_operand:DI 1 "register_operand")))]
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment